81 lines
2.3 KiB
TypeScript
81 lines
2.3 KiB
TypeScript
import type { PaperclipPluginManifestV1 } from "@paperclipai/plugin-sdk";
|
|
|
|
const PLUGIN_ID = "paperclip.plugin-agent-inbox-config";
|
|
const PLUGIN_VERSION = "0.1.0";
|
|
|
|
/**
|
|
* Plugin that provides per-agent inbox-lite configuration via UI toggles.
|
|
* Allows configuring which issues appear in each agent's inbox without code changes.
|
|
*/
|
|
const manifest: PaperclipPluginManifestV1 = {
|
|
id: PLUGIN_ID,
|
|
apiVersion: 1,
|
|
version: PLUGIN_VERSION,
|
|
displayName: "Agent Inbox Configuration",
|
|
description: "Configure per-agent inbox-lite filters via UI toggles. Control which issues appear in each agent's inbox based on status, project, goal, labels, and search queries.",
|
|
author: "Paperclip",
|
|
categories: ["ui", "automation"],
|
|
capabilities: [
|
|
"agents.read",
|
|
"projects.read",
|
|
"goals.read",
|
|
"issues.read",
|
|
"plugin.state.read",
|
|
"plugin.state.write",
|
|
"http.outbound",
|
|
"ui.detailTab.register",
|
|
"ui.page.register",
|
|
],
|
|
entrypoints: {
|
|
worker: "./dist/worker.js",
|
|
ui: "./dist/ui",
|
|
},
|
|
instanceConfigSchema: {
|
|
type: "object",
|
|
title: "Agent Inbox Config Plugin Settings",
|
|
description: "Default inbox configuration settings for agents.",
|
|
properties: {
|
|
defaultStatuses: {
|
|
type: "string",
|
|
title: "Default Statuses",
|
|
description: "Default statuses to include in inbox (comma-separated). Override per-agent via agent settings.",
|
|
default: "todo,in_progress,blocked",
|
|
},
|
|
includeBacklog: {
|
|
type: "boolean",
|
|
title: "Include Backlog by Default",
|
|
description: "Whether backlog issues are included by default.",
|
|
default: false,
|
|
},
|
|
maxIssuesPerAgent: {
|
|
type: "integer",
|
|
title: "Max Issues Per Agent",
|
|
description: "Maximum number of issues to return per agent inbox.",
|
|
default: 50,
|
|
minimum: 1,
|
|
maximum: 500,
|
|
},
|
|
},
|
|
},
|
|
ui: {
|
|
slots: [
|
|
{
|
|
type: "page",
|
|
id: "agent-inbox-config-page",
|
|
displayName: "Agent Inbox Configuration",
|
|
exportName: "InboxConfigPage",
|
|
routePath: "inbox-config",
|
|
},
|
|
{
|
|
type: "detailTab",
|
|
id: "agent-inbox-tab",
|
|
displayName: "Inbox Settings",
|
|
exportName: "AgentInboxSettingsTab",
|
|
entityTypes: ["agent"],
|
|
},
|
|
],
|
|
},
|
|
};
|
|
|
|
export default manifest;
|