mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-15 18:30:39 +09:00
83 lines
2.2 KiB
TypeScript
83 lines
2.2 KiB
TypeScript
|
|
import type { PaperclipPluginManifestV1 } from "@paperclipai/plugin-sdk";
|
||
|
|
|
||
|
|
const manifest: PaperclipPluginManifestV1 = {
|
||
|
|
id: "paperclipai.plugin-orchestration-smoke-example",
|
||
|
|
apiVersion: 1,
|
||
|
|
version: "0.1.0",
|
||
|
|
displayName: "Plugin Orchestration Smoke Example",
|
||
|
|
description: "First-party smoke plugin that exercises Paperclip orchestration-grade plugin APIs.",
|
||
|
|
author: "Paperclip",
|
||
|
|
categories: ["automation", "ui"],
|
||
|
|
capabilities: [
|
||
|
|
"api.routes.register",
|
||
|
|
"database.namespace.migrate",
|
||
|
|
"database.namespace.read",
|
||
|
|
"database.namespace.write",
|
||
|
|
"issues.read",
|
||
|
|
"issues.create",
|
||
|
|
"issues.wakeup",
|
||
|
|
"issue.relations.read",
|
||
|
|
"issue.relations.write",
|
||
|
|
"issue.documents.read",
|
||
|
|
"issue.documents.write",
|
||
|
|
"issue.subtree.read",
|
||
|
|
"issues.orchestration.read",
|
||
|
|
"ui.dashboardWidget.register",
|
||
|
|
"ui.detailTab.register",
|
||
|
|
"instance.settings.register"
|
||
|
|
],
|
||
|
|
entrypoints: {
|
||
|
|
worker: "./dist/worker.js",
|
||
|
|
ui: "./dist/ui"
|
||
|
|
},
|
||
|
|
database: {
|
||
|
|
namespaceSlug: "orchestration_smoke",
|
||
|
|
migrationsDir: "migrations",
|
||
|
|
coreReadTables: ["issues"]
|
||
|
|
},
|
||
|
|
apiRoutes: [
|
||
|
|
{
|
||
|
|
routeKey: "initialize",
|
||
|
|
method: "POST",
|
||
|
|
path: "/issues/:issueId/smoke",
|
||
|
|
auth: "board-or-agent",
|
||
|
|
capability: "api.routes.register",
|
||
|
|
checkoutPolicy: "required-for-agent-in-progress",
|
||
|
|
companyResolution: { from: "issue", param: "issueId" }
|
||
|
|
},
|
||
|
|
{
|
||
|
|
routeKey: "summary",
|
||
|
|
method: "GET",
|
||
|
|
path: "/issues/:issueId/smoke",
|
||
|
|
auth: "board-or-agent",
|
||
|
|
capability: "api.routes.register",
|
||
|
|
companyResolution: { from: "issue", param: "issueId" }
|
||
|
|
}
|
||
|
|
],
|
||
|
|
ui: {
|
||
|
|
slots: [
|
||
|
|
{
|
||
|
|
type: "dashboardWidget",
|
||
|
|
id: "health-widget",
|
||
|
|
displayName: "Orchestration Smoke Health",
|
||
|
|
exportName: "DashboardWidget"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
type: "taskDetailView",
|
||
|
|
id: "issue-panel",
|
||
|
|
displayName: "Orchestration Smoke",
|
||
|
|
exportName: "IssuePanel",
|
||
|
|
entityTypes: ["issue"]
|
||
|
|
},
|
||
|
|
{
|
||
|
|
type: "settingsPage",
|
||
|
|
id: "settings",
|
||
|
|
displayName: "Orchestration Smoke",
|
||
|
|
exportName: "SettingsPage"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
export default manifest;
|