single snapshot test

This commit is contained in:
Thea Kindinger
2026-04-08 18:42:05 -04:00
commit a272d6709f
1502 changed files with 601058 additions and 0 deletions

58
dist/schema.js vendored Normal file
View File

@@ -0,0 +1,58 @@
const hookNames = [
"mail.compose.toolbar",
"mail.compose.attachments",
"mail.sidebar.apps",
"admin.settings.panels",
"auth.post_login",
"message.pre_send",
];
export const pluginManifestSchema = {
type: "object",
required: ["id", "name", "version"],
additionalProperties: true,
properties: {
id: { type: "string", minLength: 1 },
name: { type: "string", minLength: 1 },
version: { type: "string", minLength: 1 },
description: { type: "string" },
enabledByDefault: { type: "boolean" },
permissions: { type: "array", items: { type: "string" } },
hooks: { type: "array", items: { enum: [...hookNames] } },
entrypoints: {
type: "object",
additionalProperties: false,
properties: {
menu: { type: "string" },
api: { type: "string" },
ui: { type: "string" },
},
},
contributions: {
type: "object",
additionalProperties: false,
properties: Object.fromEntries(hookNames.map((hook) => [
hook,
{
type: "array",
items: {
type: "object",
required: ["hook", "type", "id", "label"],
additionalProperties: true,
properties: {
hook: { const: hook },
type: { enum: ["button", "panel", "modal", "script"] },
id: { type: "string", minLength: 1 },
label: { type: "string", minLength: 1 },
icon: { type: "string" },
description: { type: "string" },
order: { type: "number" },
mount: { type: "string" },
css: { type: "string" },
permissions: { type: "array", items: { type: "string" } },
},
},
},
])),
},
},
};