Spaces:
Paused
Paused
| import type { PluginLauncherRegistration } from "@paperclipai/plugin-sdk"; | |
| export const PLUGIN_ID = "paperclip-kitchen-sink-example"; | |
| export const PLUGIN_VERSION = "0.1.0"; | |
| export const PAGE_ROUTE = "kitchensink"; | |
| export const SLOT_IDS = { | |
| page: "kitchen-sink-page", | |
| settingsPage: "kitchen-sink-settings-page", | |
| dashboardWidget: "kitchen-sink-dashboard-widget", | |
| sidebar: "kitchen-sink-sidebar-link", | |
| sidebarPanel: "kitchen-sink-sidebar-panel", | |
| projectSidebarItem: "kitchen-sink-project-link", | |
| projectTab: "kitchen-sink-project-tab", | |
| issueTab: "kitchen-sink-issue-tab", | |
| taskDetailView: "kitchen-sink-task-detail", | |
| toolbarButton: "kitchen-sink-toolbar-action", | |
| contextMenuItem: "kitchen-sink-context-action", | |
| commentAnnotation: "kitchen-sink-comment-annotation", | |
| commentContextMenuItem: "kitchen-sink-comment-action", | |
| } as const; | |
| export const EXPORT_NAMES = { | |
| page: "KitchenSinkPage", | |
| settingsPage: "KitchenSinkSettingsPage", | |
| dashboardWidget: "KitchenSinkDashboardWidget", | |
| sidebar: "KitchenSinkSidebarLink", | |
| sidebarPanel: "KitchenSinkSidebarPanel", | |
| projectSidebarItem: "KitchenSinkProjectSidebarItem", | |
| projectTab: "KitchenSinkProjectTab", | |
| issueTab: "KitchenSinkIssueTab", | |
| taskDetailView: "KitchenSinkTaskDetailView", | |
| toolbarButton: "KitchenSinkToolbarButton", | |
| contextMenuItem: "KitchenSinkContextMenuItem", | |
| commentAnnotation: "KitchenSinkCommentAnnotation", | |
| commentContextMenuItem: "KitchenSinkCommentContextMenuItem", | |
| launcherModal: "KitchenSinkLauncherModal", | |
| } as const; | |
| export const JOB_KEYS = { | |
| heartbeat: "demo-heartbeat", | |
| } as const; | |
| export const WEBHOOK_KEYS = { | |
| demo: "demo-ingest", | |
| } as const; | |
| export const TOOL_NAMES = { | |
| echo: "echo", | |
| companySummary: "company-summary", | |
| createIssue: "create-issue", | |
| } as const; | |
| export const STREAM_CHANNELS = { | |
| progress: "progress", | |
| agentChat: "agent-chat", | |
| } as const; | |
| export const SAFE_COMMANDS = [ | |
| { | |
| key: "pwd", | |
| label: "Print workspace path", | |
| command: "pwd", | |
| args: [] as string[], | |
| description: "Prints the current workspace directory.", | |
| }, | |
| { | |
| key: "ls", | |
| label: "List workspace files", | |
| command: "ls", | |
| args: ["-la"] as string[], | |
| description: "Lists files in the selected workspace.", | |
| }, | |
| { | |
| key: "git-status", | |
| label: "Git status", | |
| command: "git", | |
| args: ["status", "--short", "--branch"] as string[], | |
| description: "Shows git status for the selected workspace.", | |
| }, | |
| ] as const; | |
| export type SafeCommandKey = (typeof SAFE_COMMANDS)[number]["key"]; | |
| export const DEFAULT_CONFIG = { | |
| showSidebarEntry: true, | |
| showSidebarPanel: true, | |
| showProjectSidebarItem: true, | |
| showCommentAnnotation: true, | |
| showCommentContextMenuItem: true, | |
| enableWorkspaceDemos: true, | |
| enableProcessDemos: false, | |
| secretRefExample: "", | |
| httpDemoUrl: "https://httpbin.org/anything", | |
| allowedCommands: SAFE_COMMANDS.map((command) => command.key), | |
| workspaceScratchFile: ".paperclip-kitchen-sink-demo.txt", | |
| } as const; | |
| export const RUNTIME_LAUNCHER: PluginLauncherRegistration = { | |
| id: "kitchen-sink-runtime-launcher", | |
| displayName: "Kitchen Sink Modal", | |
| description: "Demonstrates runtime launcher registration from the worker.", | |
| placementZone: "toolbarButton", | |
| entityTypes: ["project", "issue"], | |
| action: { | |
| type: "openModal", | |
| target: EXPORT_NAMES.launcherModal, | |
| }, | |
| render: { | |
| environment: "hostOverlay", | |
| bounds: "wide", | |
| }, | |
| }; | |