import { z } from "zod"; /** * Permissive validator for JSON Schema objects. Accepts any `Record` * that contains at least a `type`, `$ref`, or composition keyword (`oneOf`/`anyOf`/`allOf`). * Empty objects are also accepted. * * Used to validate `instanceConfigSchema` and `parametersSchema` fields in the * plugin manifest without fully parsing JSON Schema. * * @see PLUGIN_SPEC.md §10.1 — Manifest shape */ export declare const jsonSchemaSchema: z.ZodEffects, Record, Record>; export declare const pluginJobDeclarationSchema: z.ZodObject<{ jobKey: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; schedule: z.ZodOptional>; }, "strip", z.ZodTypeAny, { displayName: string; jobKey: string; description?: string | undefined; schedule?: string | undefined; }, { displayName: string; jobKey: string; description?: string | undefined; schedule?: string | undefined; }>; export type PluginJobDeclarationInput = z.infer; /** * Validates a {@link PluginWebhookDeclaration} — a webhook endpoint declared * in the plugin manifest. Requires `endpointKey` and `displayName`. * * @see PLUGIN_SPEC.md §18 — Webhooks */ export declare const pluginWebhookDeclarationSchema: z.ZodObject<{ endpointKey: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; }, "strip", z.ZodTypeAny, { displayName: string; endpointKey: string; description?: string | undefined; }, { displayName: string; endpointKey: string; description?: string | undefined; }>; export type PluginWebhookDeclarationInput = z.infer; /** * Validates a {@link PluginToolDeclaration} — an agent tool contributed by the * plugin. Requires `name`, `displayName`, `description`, and a valid * `parametersSchema`. Requires the `agent.tools.register` capability. * * @see PLUGIN_SPEC.md §11 — Agent Tools */ export declare const pluginToolDeclarationSchema: z.ZodObject<{ name: z.ZodString; displayName: z.ZodString; description: z.ZodString; parametersSchema: z.ZodEffects, Record, Record>; }, "strip", z.ZodTypeAny, { description: string; name: string; displayName: string; parametersSchema: Record; }, { description: string; name: string; displayName: string; parametersSchema: Record; }>; export declare const pluginEnvironmentDriverDeclarationSchema: z.ZodObject<{ driverKey: z.ZodString; kind: z.ZodOptional>; displayName: z.ZodString; description: z.ZodOptional; configSchema: z.ZodEffects, Record, Record>; }, "strip", z.ZodTypeAny, { displayName: string; driverKey: string; configSchema: Record; description?: string | undefined; kind?: "environment_driver" | "sandbox_provider" | undefined; }, { displayName: string; driverKey: string; configSchema: Record; description?: string | undefined; kind?: "environment_driver" | "sandbox_provider" | undefined; }>; export type PluginEnvironmentDriverDeclarationInput = z.infer; export type PluginToolDeclarationInput = z.infer; export declare const pluginManagedAgentDeclarationSchema: z.ZodObject<{ agentKey: z.ZodString; displayName: z.ZodString; role: z.ZodOptional; title: z.ZodOptional>; icon: z.ZodOptional>; capabilities: z.ZodOptional>; adapterType: z.ZodOptional; adapterPreference: z.ZodOptional>; adapterConfig: z.ZodOptional>; runtimeConfig: z.ZodOptional>; permissions: z.ZodOptional>; status: z.ZodOptional>; budgetMonthlyCents: z.ZodOptional; instructions: z.ZodOptional; content: z.ZodOptional; files: z.ZodOptional>; assetPath: z.ZodOptional; }, "strip", z.ZodTypeAny, { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; }, { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { displayName: string; agentKey: string; title?: string | null | undefined; status?: "paused" | "idle" | undefined; budgetMonthlyCents?: number | undefined; adapterType?: string | undefined; adapterConfig?: Record | undefined; instructions?: { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; } | undefined; role?: string | undefined; icon?: string | null | undefined; capabilities?: string | null | undefined; runtimeConfig?: Record | undefined; permissions?: Record | undefined; adapterPreference?: string[] | undefined; }, { displayName: string; agentKey: string; title?: string | null | undefined; status?: "paused" | "idle" | undefined; budgetMonthlyCents?: number | undefined; adapterType?: string | undefined; adapterConfig?: Record | undefined; instructions?: { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; } | undefined; role?: string | undefined; icon?: string | null | undefined; capabilities?: string | null | undefined; runtimeConfig?: Record | undefined; permissions?: Record | undefined; adapterPreference?: string[] | undefined; }>; export type PluginManagedAgentDeclarationInput = z.infer; export declare const pluginManagedProjectDeclarationSchema: z.ZodObject<{ projectKey: z.ZodString; displayName: z.ZodString; description: z.ZodOptional>; status: z.ZodOptional>; color: z.ZodOptional>; settings: z.ZodOptional>; }, "strip", z.ZodTypeAny, { displayName: string; projectKey: string; description?: string | null | undefined; settings?: Record | undefined; status?: "backlog" | "in_progress" | "cancelled" | "completed" | "planned" | undefined; color?: string | null | undefined; }, { displayName: string; projectKey: string; description?: string | null | undefined; settings?: Record | undefined; status?: "backlog" | "in_progress" | "cancelled" | "completed" | "planned" | undefined; color?: string | null | undefined; }>; export type PluginManagedProjectDeclarationInput = z.infer; export declare const pluginManagedRoutineDeclarationSchema: z.ZodObject<{ routineKey: z.ZodString; title: z.ZodString; description: z.ZodOptional>; assigneeRef: z.ZodOptional; resourceKey: z.ZodString; } & { resourceKind: z.ZodLiteral<"agent">; }, "strip", z.ZodTypeAny, { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; }, { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; }>>>; projectRef: z.ZodOptional; resourceKey: z.ZodString; } & { resourceKind: z.ZodLiteral<"project">; }, "strip", z.ZodTypeAny, { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; }, { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; }>>>; goalId: z.ZodOptional>; status: z.ZodOptional>; priority: z.ZodOptional>; concurrencyPolicy: z.ZodOptional>; catchUpPolicy: z.ZodOptional>; variables: z.ZodOptional>; type: z.ZodDefault>>; defaultValue: z.ZodNullable>>; required: z.ZodDefault>; options: z.ZodDefault>>; }, "strip", z.ZodTypeAny, { name: string; required: boolean; options: string[]; type: "number" | "boolean" | "text" | "textarea" | "select"; label?: string | null | undefined; defaultValue?: string | number | boolean | null | undefined; }, { name: string; label?: string | null | undefined; required?: boolean | undefined; options?: string[] | undefined; type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined; defaultValue?: string | number | boolean | null | undefined; }>, { name: string; required: boolean; options: string[]; type: "number" | "boolean" | "text" | "textarea" | "select"; label?: string | null | undefined; defaultValue?: string | number | boolean | null | undefined; }, { name: string; label?: string | null | undefined; required?: boolean | undefined; options?: string[] | undefined; type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined; defaultValue?: string | number | boolean | null | undefined; }>, "many">>; triggers: z.ZodOptional; label: z.ZodOptional>; enabled: z.ZodOptional; cronExpression: z.ZodNullable>; timezone: z.ZodNullable>; signingMode: z.ZodNullable>>; replayWindowSec: z.ZodNullable>; }, "strip", z.ZodTypeAny, { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }, { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }>, "many">>; issueTemplate: z.ZodOptional>; originId: z.ZodOptional>; billingCode: z.ZodOptional>; }, "strip", z.ZodTypeAny, { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; }, { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; }>>; }, "strip", z.ZodTypeAny, { title: string; routineKey: string; description?: string | null | undefined; status?: "active" | "paused" | "archived" | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; goalId?: string | null | undefined; concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined; catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined; variables?: { name: string; required: boolean; options: string[]; type: "number" | "boolean" | "text" | "textarea" | "select"; label?: string | null | undefined; defaultValue?: string | number | boolean | null | undefined; }[] | undefined; triggers?: { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }[] | undefined; assigneeRef?: { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; projectRef?: { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; issueTemplate?: { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; } | undefined; }, { title: string; routineKey: string; description?: string | null | undefined; status?: "active" | "paused" | "archived" | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; goalId?: string | null | undefined; concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined; catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined; variables?: { name: string; label?: string | null | undefined; required?: boolean | undefined; options?: string[] | undefined; type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined; defaultValue?: string | number | boolean | null | undefined; }[] | undefined; triggers?: { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }[] | undefined; assigneeRef?: { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; projectRef?: { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; issueTemplate?: { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; } | undefined; }>; export type PluginManagedRoutineDeclarationInput = z.infer; export declare const pluginLocalFolderDeclarationSchema: z.ZodObject<{ folderKey: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; access: z.ZodOptional>; requiredDirectories: z.ZodOptional, "many">>; requiredFiles: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { displayName: string; folderKey: string; description?: string | undefined; access?: "read" | "readWrite" | undefined; requiredDirectories?: string[] | undefined; requiredFiles?: string[] | undefined; }, { displayName: string; folderKey: string; description?: string | undefined; access?: "read" | "readWrite" | undefined; requiredDirectories?: string[] | undefined; requiredFiles?: string[] | undefined; }>; export type PluginLocalFolderDeclarationInput = z.infer; export declare const pluginManagedSkillFileDeclarationSchema: z.ZodObject<{ path: z.ZodEffects, string, string>; content: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; content: string; }, { path: string; content: string; }>; export type PluginManagedSkillFileDeclarationInput = z.infer; export declare const pluginManagedSkillDeclarationSchema: z.ZodEffects; description: z.ZodOptional>; markdown: z.ZodOptional; files: z.ZodOptional, string, string>; content: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; content: string; }, { path: string; content: string; }>, "many">>; }, "strip", z.ZodTypeAny, { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }, { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }>, { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }, { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }>; export type PluginManagedSkillDeclarationInput = z.infer; /** * Validates a {@link PluginUiSlotDeclaration} — a UI extension slot the plugin * fills with a React component. Includes `superRefine` checks for slot-specific * requirements such as `entityTypes` for context-sensitive slots. * * @see PLUGIN_SPEC.md §19 — UI Extension Model */ export declare const pluginUiSlotDeclarationSchema: z.ZodEffects; id: z.ZodString; displayName: z.ZodString; exportName: z.ZodString; entityTypes: z.ZodOptional, "many">>; routePath: z.ZodOptional; order: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }, { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }>, { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }, { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }>; export type PluginUiSlotDeclarationInput = z.infer; /** * Validates the action payload for a declarative plugin launcher. */ export declare const pluginLauncherActionDeclarationSchema: z.ZodEffects; target: z.ZodString; params: z.ZodOptional>; }, "strip", z.ZodTypeAny, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }>, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }>; export type PluginLauncherActionDeclarationInput = z.infer; /** * Validates optional render hints for a plugin launcher destination. */ export declare const pluginLauncherRenderDeclarationSchema: z.ZodEffects; bounds: z.ZodOptional>; }, "strip", z.ZodTypeAny, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }>, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }>; export type PluginLauncherRenderDeclarationInput = z.infer; /** * Validates declarative launcher metadata in a plugin manifest. */ export declare const pluginLauncherDeclarationSchema: z.ZodEffects; placementZone: z.ZodEnum<["page", "detailTab", "taskDetailView", "dashboardWidget", "sidebar", "sidebarPanel", "projectSidebarItem", "globalToolbarButton", "toolbarButton", "contextMenuItem", "commentAnnotation", "commentContextMenuItem", "settingsPage"]>; exportName: z.ZodOptional; entityTypes: z.ZodOptional, "many">>; order: z.ZodOptional; action: z.ZodEffects; target: z.ZodString; params: z.ZodOptional>; }, "strip", z.ZodTypeAny, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }>, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }>; render: z.ZodOptional; bounds: z.ZodOptional>; }, "strip", z.ZodTypeAny, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }>, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }>>; }, "strip", z.ZodTypeAny, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }>, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }>; export type PluginLauncherDeclarationInput = z.infer; export declare const pluginDatabaseDeclarationSchema: z.ZodObject<{ namespaceSlug: z.ZodOptional; migrationsDir: z.ZodEffects; coreReadTables: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { migrationsDir: string; namespaceSlug?: string | undefined; coreReadTables?: ("companies" | "projects" | "goals" | "agents" | "issues" | "issue_documents" | "issue_relations" | "issue_comments" | "heartbeat_runs" | "cost_events" | "approvals" | "issue_approvals" | "budget_incidents")[] | undefined; }, { migrationsDir: string; namespaceSlug?: string | undefined; coreReadTables?: ("companies" | "projects" | "goals" | "agents" | "issues" | "issue_documents" | "issue_relations" | "issue_comments" | "heartbeat_runs" | "cost_events" | "approvals" | "issue_approvals" | "budget_incidents")[] | undefined; }>; export type PluginDatabaseDeclarationInput = z.infer; export declare const pluginApiRouteDeclarationSchema: z.ZodObject<{ routeKey: z.ZodString; method: z.ZodEnum<["GET", "POST", "PATCH", "DELETE"]>; path: z.ZodEffects; auth: z.ZodEnum<["board", "agent", "board-or-agent", "webhook"]>; capability: z.ZodLiteral<"api.routes.register">; checkoutPolicy: z.ZodOptional>; companyResolution: z.ZodOptional; key: z.ZodString; }, "strip", z.ZodTypeAny, { key: string; from: "body"; }, { key: string; from: "body"; }>, z.ZodObject<{ from: z.ZodLiteral<"query">; key: z.ZodString; }, "strip", z.ZodTypeAny, { key: string; from: "query"; }, { key: string; from: "query"; }>, z.ZodObject<{ from: z.ZodLiteral<"issue">; param: z.ZodString; }, "strip", z.ZodTypeAny, { from: "issue"; param: string; }, { from: "issue"; param: string; }>]>>; }, "strip", z.ZodTypeAny, { path: string; routeKey: string; method: "GET" | "POST" | "PATCH" | "DELETE"; auth: "agent" | "board" | "webhook" | "board-or-agent"; capability: "api.routes.register"; checkoutPolicy?: "none" | "required-for-agent-in-progress" | "always-for-agent" | undefined; companyResolution?: { key: string; from: "body"; } | { key: string; from: "query"; } | { from: "issue"; param: string; } | undefined; }, { path: string; routeKey: string; method: "GET" | "POST" | "PATCH" | "DELETE"; auth: "agent" | "board" | "webhook" | "board-or-agent"; capability: "api.routes.register"; checkoutPolicy?: "none" | "required-for-agent-in-progress" | "always-for-agent" | undefined; companyResolution?: { key: string; from: "body"; } | { key: string; from: "query"; } | { from: "issue"; param: string; } | undefined; }>; export type PluginApiRouteDeclarationInput = z.infer; /** * Zod schema for {@link PaperclipPluginManifestV1} — the complete runtime * validator for plugin manifests read at install time. * * Field-level constraints (see PLUGIN_SPEC.md §10.1 for the normative rules): * * | Field | Type | Constraints | * |--------------------------|------------|----------------------------------------------| * | `id` | string | `^[a-z0-9][a-z0-9._-]*$` | * | `apiVersion` | literal 1 | must equal `PLUGIN_API_VERSION` | * | `version` | string | semver (`\d+\.\d+\.\d+`) | * | `displayName` | string | 1–100 chars | * | `description` | string | 1–500 chars | * | `author` | string | 1–200 chars | * | `categories` | enum[] | at least one; values from PLUGIN_CATEGORIES | * | `minimumHostVersion` | string? | semver lower bound if present, no leading `v`| * | `minimumPaperclipVersion`| string? | legacy alias of `minimumHostVersion` | * | `capabilities` | enum[] | at least one; values from PLUGIN_CAPABILITIES| * | `entrypoints.worker` | string | min 1 char | * | `entrypoints.ui` | string? | required when `ui.slots` is declared | * * Cross-field rules enforced via `superRefine`: * - `entrypoints.ui` required when `ui.slots` declared * - `agent.tools.register` capability required when `tools` declared * - `environment.drivers.register` capability required when `environmentDrivers` declared * - `jobs.schedule` capability required when `jobs` declared * - `webhooks.receive` capability required when `webhooks` declared * - duplicate `jobs[].jobKey` values are rejected * - duplicate `webhooks[].endpointKey` values are rejected * - duplicate `tools[].name` values are rejected * - duplicate `environmentDrivers[].driverKey` values are rejected * - duplicate `ui.slots[].id` values are rejected * * @see PLUGIN_SPEC.md §10.1 — Manifest shape * @see {@link PaperclipPluginManifestV1} — the inferred TypeScript type */ export declare const pluginManifestV1Schema: z.ZodEffects; version: z.ZodString; displayName: z.ZodString; description: z.ZodString; author: z.ZodString; categories: z.ZodArray, "many">; minimumHostVersion: z.ZodOptional; minimumPaperclipVersion: z.ZodOptional; capabilities: z.ZodArray, "many">; entrypoints: z.ZodObject<{ worker: z.ZodString; ui: z.ZodOptional; }, "strip", z.ZodTypeAny, { worker: string; ui?: string | undefined; }, { worker: string; ui?: string | undefined; }>; instanceConfigSchema: z.ZodOptional, Record, Record>>; jobs: z.ZodOptional; schedule: z.ZodOptional>; }, "strip", z.ZodTypeAny, { displayName: string; jobKey: string; description?: string | undefined; schedule?: string | undefined; }, { displayName: string; jobKey: string; description?: string | undefined; schedule?: string | undefined; }>, "many">>; webhooks: z.ZodOptional; }, "strip", z.ZodTypeAny, { displayName: string; endpointKey: string; description?: string | undefined; }, { displayName: string; endpointKey: string; description?: string | undefined; }>, "many">>; tools: z.ZodOptional, Record, Record>; }, "strip", z.ZodTypeAny, { description: string; name: string; displayName: string; parametersSchema: Record; }, { description: string; name: string; displayName: string; parametersSchema: Record; }>, "many">>; database: z.ZodOptional; migrationsDir: z.ZodEffects; coreReadTables: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { migrationsDir: string; namespaceSlug?: string | undefined; coreReadTables?: ("companies" | "projects" | "goals" | "agents" | "issues" | "issue_documents" | "issue_relations" | "issue_comments" | "heartbeat_runs" | "cost_events" | "approvals" | "issue_approvals" | "budget_incidents")[] | undefined; }, { migrationsDir: string; namespaceSlug?: string | undefined; coreReadTables?: ("companies" | "projects" | "goals" | "agents" | "issues" | "issue_documents" | "issue_relations" | "issue_comments" | "heartbeat_runs" | "cost_events" | "approvals" | "issue_approvals" | "budget_incidents")[] | undefined; }>>; apiRoutes: z.ZodOptional; path: z.ZodEffects; auth: z.ZodEnum<["board", "agent", "board-or-agent", "webhook"]>; capability: z.ZodLiteral<"api.routes.register">; checkoutPolicy: z.ZodOptional>; companyResolution: z.ZodOptional; key: z.ZodString; }, "strip", z.ZodTypeAny, { key: string; from: "body"; }, { key: string; from: "body"; }>, z.ZodObject<{ from: z.ZodLiteral<"query">; key: z.ZodString; }, "strip", z.ZodTypeAny, { key: string; from: "query"; }, { key: string; from: "query"; }>, z.ZodObject<{ from: z.ZodLiteral<"issue">; param: z.ZodString; }, "strip", z.ZodTypeAny, { from: "issue"; param: string; }, { from: "issue"; param: string; }>]>>; }, "strip", z.ZodTypeAny, { path: string; routeKey: string; method: "GET" | "POST" | "PATCH" | "DELETE"; auth: "agent" | "board" | "webhook" | "board-or-agent"; capability: "api.routes.register"; checkoutPolicy?: "none" | "required-for-agent-in-progress" | "always-for-agent" | undefined; companyResolution?: { key: string; from: "body"; } | { key: string; from: "query"; } | { from: "issue"; param: string; } | undefined; }, { path: string; routeKey: string; method: "GET" | "POST" | "PATCH" | "DELETE"; auth: "agent" | "board" | "webhook" | "board-or-agent"; capability: "api.routes.register"; checkoutPolicy?: "none" | "required-for-agent-in-progress" | "always-for-agent" | undefined; companyResolution?: { key: string; from: "body"; } | { key: string; from: "query"; } | { from: "issue"; param: string; } | undefined; }>, "many">>; environmentDrivers: z.ZodOptional>; displayName: z.ZodString; description: z.ZodOptional; configSchema: z.ZodEffects, Record, Record>; }, "strip", z.ZodTypeAny, { displayName: string; driverKey: string; configSchema: Record; description?: string | undefined; kind?: "environment_driver" | "sandbox_provider" | undefined; }, { displayName: string; driverKey: string; configSchema: Record; description?: string | undefined; kind?: "environment_driver" | "sandbox_provider" | undefined; }>, "many">>; agents: z.ZodOptional; title: z.ZodOptional>; icon: z.ZodOptional>; capabilities: z.ZodOptional>; adapterType: z.ZodOptional; adapterPreference: z.ZodOptional>; adapterConfig: z.ZodOptional>; runtimeConfig: z.ZodOptional>; permissions: z.ZodOptional>; status: z.ZodOptional>; budgetMonthlyCents: z.ZodOptional; instructions: z.ZodOptional; content: z.ZodOptional; files: z.ZodOptional>; assetPath: z.ZodOptional; }, "strip", z.ZodTypeAny, { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; }, { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { displayName: string; agentKey: string; title?: string | null | undefined; status?: "paused" | "idle" | undefined; budgetMonthlyCents?: number | undefined; adapterType?: string | undefined; adapterConfig?: Record | undefined; instructions?: { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; } | undefined; role?: string | undefined; icon?: string | null | undefined; capabilities?: string | null | undefined; runtimeConfig?: Record | undefined; permissions?: Record | undefined; adapterPreference?: string[] | undefined; }, { displayName: string; agentKey: string; title?: string | null | undefined; status?: "paused" | "idle" | undefined; budgetMonthlyCents?: number | undefined; adapterType?: string | undefined; adapterConfig?: Record | undefined; instructions?: { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; } | undefined; role?: string | undefined; icon?: string | null | undefined; capabilities?: string | null | undefined; runtimeConfig?: Record | undefined; permissions?: Record | undefined; adapterPreference?: string[] | undefined; }>, "many">>; projects: z.ZodOptional>; status: z.ZodOptional>; color: z.ZodOptional>; settings: z.ZodOptional>; }, "strip", z.ZodTypeAny, { displayName: string; projectKey: string; description?: string | null | undefined; settings?: Record | undefined; status?: "backlog" | "in_progress" | "cancelled" | "completed" | "planned" | undefined; color?: string | null | undefined; }, { displayName: string; projectKey: string; description?: string | null | undefined; settings?: Record | undefined; status?: "backlog" | "in_progress" | "cancelled" | "completed" | "planned" | undefined; color?: string | null | undefined; }>, "many">>; routines: z.ZodOptional>; assigneeRef: z.ZodOptional; resourceKey: z.ZodString; } & { resourceKind: z.ZodLiteral<"agent">; }, "strip", z.ZodTypeAny, { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; }, { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; }>>>; projectRef: z.ZodOptional; resourceKey: z.ZodString; } & { resourceKind: z.ZodLiteral<"project">; }, "strip", z.ZodTypeAny, { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; }, { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; }>>>; goalId: z.ZodOptional>; status: z.ZodOptional>; priority: z.ZodOptional>; concurrencyPolicy: z.ZodOptional>; catchUpPolicy: z.ZodOptional>; variables: z.ZodOptional>; type: z.ZodDefault>>; defaultValue: z.ZodNullable>>; required: z.ZodDefault>; options: z.ZodDefault>>; }, "strip", z.ZodTypeAny, { name: string; required: boolean; options: string[]; type: "number" | "boolean" | "text" | "textarea" | "select"; label?: string | null | undefined; defaultValue?: string | number | boolean | null | undefined; }, { name: string; label?: string | null | undefined; required?: boolean | undefined; options?: string[] | undefined; type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined; defaultValue?: string | number | boolean | null | undefined; }>, { name: string; required: boolean; options: string[]; type: "number" | "boolean" | "text" | "textarea" | "select"; label?: string | null | undefined; defaultValue?: string | number | boolean | null | undefined; }, { name: string; label?: string | null | undefined; required?: boolean | undefined; options?: string[] | undefined; type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined; defaultValue?: string | number | boolean | null | undefined; }>, "many">>; triggers: z.ZodOptional; label: z.ZodOptional>; enabled: z.ZodOptional; cronExpression: z.ZodNullable>; timezone: z.ZodNullable>; signingMode: z.ZodNullable>>; replayWindowSec: z.ZodNullable>; }, "strip", z.ZodTypeAny, { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }, { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }>, "many">>; issueTemplate: z.ZodOptional>; originId: z.ZodOptional>; billingCode: z.ZodOptional>; }, "strip", z.ZodTypeAny, { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; }, { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; }>>; }, "strip", z.ZodTypeAny, { title: string; routineKey: string; description?: string | null | undefined; status?: "active" | "paused" | "archived" | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; goalId?: string | null | undefined; concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined; catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined; variables?: { name: string; required: boolean; options: string[]; type: "number" | "boolean" | "text" | "textarea" | "select"; label?: string | null | undefined; defaultValue?: string | number | boolean | null | undefined; }[] | undefined; triggers?: { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }[] | undefined; assigneeRef?: { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; projectRef?: { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; issueTemplate?: { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; } | undefined; }, { title: string; routineKey: string; description?: string | null | undefined; status?: "active" | "paused" | "archived" | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; goalId?: string | null | undefined; concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined; catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined; variables?: { name: string; label?: string | null | undefined; required?: boolean | undefined; options?: string[] | undefined; type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined; defaultValue?: string | number | boolean | null | undefined; }[] | undefined; triggers?: { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }[] | undefined; assigneeRef?: { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; projectRef?: { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; issueTemplate?: { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; } | undefined; }>, "many">>; skills: z.ZodOptional; description: z.ZodOptional>; markdown: z.ZodOptional; files: z.ZodOptional, string, string>; content: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; content: string; }, { path: string; content: string; }>, "many">>; }, "strip", z.ZodTypeAny, { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }, { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }>, { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }, { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }>, "many">>; localFolders: z.ZodOptional; access: z.ZodOptional>; requiredDirectories: z.ZodOptional, "many">>; requiredFiles: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { displayName: string; folderKey: string; description?: string | undefined; access?: "read" | "readWrite" | undefined; requiredDirectories?: string[] | undefined; requiredFiles?: string[] | undefined; }, { displayName: string; folderKey: string; description?: string | undefined; access?: "read" | "readWrite" | undefined; requiredDirectories?: string[] | undefined; requiredFiles?: string[] | undefined; }>, "many">>; launchers: z.ZodOptional; placementZone: z.ZodEnum<["page", "detailTab", "taskDetailView", "dashboardWidget", "sidebar", "sidebarPanel", "projectSidebarItem", "globalToolbarButton", "toolbarButton", "contextMenuItem", "commentAnnotation", "commentContextMenuItem", "settingsPage"]>; exportName: z.ZodOptional; entityTypes: z.ZodOptional, "many">>; order: z.ZodOptional; action: z.ZodEffects; target: z.ZodString; params: z.ZodOptional>; }, "strip", z.ZodTypeAny, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }>, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }>; render: z.ZodOptional; bounds: z.ZodOptional>; }, "strip", z.ZodTypeAny, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }>, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }>>; }, "strip", z.ZodTypeAny, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }>, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }>, "many">>; ui: z.ZodOptional; id: z.ZodString; displayName: z.ZodString; exportName: z.ZodString; entityTypes: z.ZodOptional, "many">>; routePath: z.ZodOptional; order: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }, { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }>, { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }, { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }>, "many">>; launchers: z.ZodOptional; placementZone: z.ZodEnum<["page", "detailTab", "taskDetailView", "dashboardWidget", "sidebar", "sidebarPanel", "projectSidebarItem", "globalToolbarButton", "toolbarButton", "contextMenuItem", "commentAnnotation", "commentContextMenuItem", "settingsPage"]>; exportName: z.ZodOptional; entityTypes: z.ZodOptional, "many">>; order: z.ZodOptional; action: z.ZodEffects; target: z.ZodString; params: z.ZodOptional>; }, "strip", z.ZodTypeAny, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }>, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }, { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }>; render: z.ZodOptional; bounds: z.ZodOptional>; }, "strip", z.ZodTypeAny, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }>, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }, { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; }>>; }, "strip", z.ZodTypeAny, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }>, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }, { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; slots?: { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }[] | undefined; }, { launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; slots?: { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { description: string; id: string; categories: ("automation" | "connector" | "workspace" | "ui")[]; version: string; displayName: string; capabilities: ("companies.read" | "projects.read" | "project.workspaces.read" | "execution.workspaces.read" | "issues.read" | "issue.relations.read" | "issue.subtree.read" | "issue.comments.read" | "issue.documents.read" | "agents.read" | "goals.read" | "goals.create" | "goals.update" | "activity.read" | "costs.read" | "issues.orchestration.read" | "access.members.read" | "access.invites.read" | "authorization.grants.read" | "authorization.policies.read" | "authorization.audit.read" | "database.namespace.read" | "issues.create" | "issues.update" | "issue.relations.write" | "issues.checkout" | "issues.wakeup" | "issue.comments.create" | "issue.interactions.create" | "issue.documents.write" | "projects.managed" | "routines.managed" | "skills.managed" | "agents.pause" | "agents.resume" | "agents.invoke" | "agents.managed" | "access.members.write" | "access.invites.write" | "authorization.grants.write" | "authorization.policies.write" | "agent.sessions.create" | "agent.sessions.list" | "agent.sessions.send" | "agent.sessions.close" | "activity.log.write" | "metrics.write" | "telemetry.track" | "database.namespace.migrate" | "database.namespace.write" | "plugin.state.read" | "plugin.state.write" | "events.subscribe" | "events.emit" | "jobs.schedule" | "webhooks.receive" | "api.routes.register" | "http.outbound" | "secrets.read-ref" | "environment.drivers.register" | "local.folders" | "agent.tools.register" | "instance.settings.register" | "ui.sidebar.register" | "ui.page.register" | "ui.detailTab.register" | "ui.dashboardWidget.register" | "ui.commentAnnotation.register" | "ui.action.register")[]; apiVersion: 1; author: string; entrypoints: { worker: string; ui?: string | undefined; }; database?: { migrationsDir: string; namespaceSlug?: string | undefined; coreReadTables?: ("companies" | "projects" | "goals" | "agents" | "issues" | "issue_documents" | "issue_relations" | "issue_comments" | "heartbeat_runs" | "cost_events" | "approvals" | "issue_approvals" | "budget_incidents")[] | undefined; } | undefined; ui?: { launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; slots?: { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }[] | undefined; } | undefined; projects?: { displayName: string; projectKey: string; description?: string | null | undefined; settings?: Record | undefined; status?: "backlog" | "in_progress" | "cancelled" | "completed" | "planned" | undefined; color?: string | null | undefined; }[] | undefined; agents?: { displayName: string; agentKey: string; title?: string | null | undefined; status?: "paused" | "idle" | undefined; budgetMonthlyCents?: number | undefined; adapterType?: string | undefined; adapterConfig?: Record | undefined; instructions?: { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; } | undefined; role?: string | undefined; icon?: string | null | undefined; capabilities?: string | null | undefined; runtimeConfig?: Record | undefined; permissions?: Record | undefined; adapterPreference?: string[] | undefined; }[] | undefined; jobs?: { displayName: string; jobKey: string; description?: string | undefined; schedule?: string | undefined; }[] | undefined; routines?: { title: string; routineKey: string; description?: string | null | undefined; status?: "active" | "paused" | "archived" | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; goalId?: string | null | undefined; concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined; catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined; variables?: { name: string; required: boolean; options: string[]; type: "number" | "boolean" | "text" | "textarea" | "select"; label?: string | null | undefined; defaultValue?: string | number | boolean | null | undefined; }[] | undefined; triggers?: { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }[] | undefined; assigneeRef?: { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; projectRef?: { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; issueTemplate?: { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; } | undefined; }[] | undefined; skills?: { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }[] | undefined; minimumHostVersion?: string | undefined; minimumPaperclipVersion?: string | undefined; instanceConfigSchema?: Record | undefined; webhooks?: { displayName: string; endpointKey: string; description?: string | undefined; }[] | undefined; tools?: { description: string; name: string; displayName: string; parametersSchema: Record; }[] | undefined; apiRoutes?: { path: string; routeKey: string; method: "GET" | "POST" | "PATCH" | "DELETE"; auth: "agent" | "board" | "webhook" | "board-or-agent"; capability: "api.routes.register"; checkoutPolicy?: "none" | "required-for-agent-in-progress" | "always-for-agent" | undefined; companyResolution?: { key: string; from: "body"; } | { key: string; from: "query"; } | { from: "issue"; param: string; } | undefined; }[] | undefined; environmentDrivers?: { displayName: string; driverKey: string; configSchema: Record; description?: string | undefined; kind?: "environment_driver" | "sandbox_provider" | undefined; }[] | undefined; localFolders?: { displayName: string; folderKey: string; description?: string | undefined; access?: "read" | "readWrite" | undefined; requiredDirectories?: string[] | undefined; requiredFiles?: string[] | undefined; }[] | undefined; launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; }, { description: string; id: string; categories: ("automation" | "connector" | "workspace" | "ui")[]; version: string; displayName: string; capabilities: ("companies.read" | "projects.read" | "project.workspaces.read" | "execution.workspaces.read" | "issues.read" | "issue.relations.read" | "issue.subtree.read" | "issue.comments.read" | "issue.documents.read" | "agents.read" | "goals.read" | "goals.create" | "goals.update" | "activity.read" | "costs.read" | "issues.orchestration.read" | "access.members.read" | "access.invites.read" | "authorization.grants.read" | "authorization.policies.read" | "authorization.audit.read" | "database.namespace.read" | "issues.create" | "issues.update" | "issue.relations.write" | "issues.checkout" | "issues.wakeup" | "issue.comments.create" | "issue.interactions.create" | "issue.documents.write" | "projects.managed" | "routines.managed" | "skills.managed" | "agents.pause" | "agents.resume" | "agents.invoke" | "agents.managed" | "access.members.write" | "access.invites.write" | "authorization.grants.write" | "authorization.policies.write" | "agent.sessions.create" | "agent.sessions.list" | "agent.sessions.send" | "agent.sessions.close" | "activity.log.write" | "metrics.write" | "telemetry.track" | "database.namespace.migrate" | "database.namespace.write" | "plugin.state.read" | "plugin.state.write" | "events.subscribe" | "events.emit" | "jobs.schedule" | "webhooks.receive" | "api.routes.register" | "http.outbound" | "secrets.read-ref" | "environment.drivers.register" | "local.folders" | "agent.tools.register" | "instance.settings.register" | "ui.sidebar.register" | "ui.page.register" | "ui.detailTab.register" | "ui.dashboardWidget.register" | "ui.commentAnnotation.register" | "ui.action.register")[]; apiVersion: 1; author: string; entrypoints: { worker: string; ui?: string | undefined; }; database?: { migrationsDir: string; namespaceSlug?: string | undefined; coreReadTables?: ("companies" | "projects" | "goals" | "agents" | "issues" | "issue_documents" | "issue_relations" | "issue_comments" | "heartbeat_runs" | "cost_events" | "approvals" | "issue_approvals" | "budget_incidents")[] | undefined; } | undefined; ui?: { launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; slots?: { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }[] | undefined; } | undefined; projects?: { displayName: string; projectKey: string; description?: string | null | undefined; settings?: Record | undefined; status?: "backlog" | "in_progress" | "cancelled" | "completed" | "planned" | undefined; color?: string | null | undefined; }[] | undefined; agents?: { displayName: string; agentKey: string; title?: string | null | undefined; status?: "paused" | "idle" | undefined; budgetMonthlyCents?: number | undefined; adapterType?: string | undefined; adapterConfig?: Record | undefined; instructions?: { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; } | undefined; role?: string | undefined; icon?: string | null | undefined; capabilities?: string | null | undefined; runtimeConfig?: Record | undefined; permissions?: Record | undefined; adapterPreference?: string[] | undefined; }[] | undefined; jobs?: { displayName: string; jobKey: string; description?: string | undefined; schedule?: string | undefined; }[] | undefined; routines?: { title: string; routineKey: string; description?: string | null | undefined; status?: "active" | "paused" | "archived" | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; goalId?: string | null | undefined; concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined; catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined; variables?: { name: string; label?: string | null | undefined; required?: boolean | undefined; options?: string[] | undefined; type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined; defaultValue?: string | number | boolean | null | undefined; }[] | undefined; triggers?: { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }[] | undefined; assigneeRef?: { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; projectRef?: { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; issueTemplate?: { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; } | undefined; }[] | undefined; skills?: { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }[] | undefined; minimumHostVersion?: string | undefined; minimumPaperclipVersion?: string | undefined; instanceConfigSchema?: Record | undefined; webhooks?: { displayName: string; endpointKey: string; description?: string | undefined; }[] | undefined; tools?: { description: string; name: string; displayName: string; parametersSchema: Record; }[] | undefined; apiRoutes?: { path: string; routeKey: string; method: "GET" | "POST" | "PATCH" | "DELETE"; auth: "agent" | "board" | "webhook" | "board-or-agent"; capability: "api.routes.register"; checkoutPolicy?: "none" | "required-for-agent-in-progress" | "always-for-agent" | undefined; companyResolution?: { key: string; from: "body"; } | { key: string; from: "query"; } | { from: "issue"; param: string; } | undefined; }[] | undefined; environmentDrivers?: { displayName: string; driverKey: string; configSchema: Record; description?: string | undefined; kind?: "environment_driver" | "sandbox_provider" | undefined; }[] | undefined; localFolders?: { displayName: string; folderKey: string; description?: string | undefined; access?: "read" | "readWrite" | undefined; requiredDirectories?: string[] | undefined; requiredFiles?: string[] | undefined; }[] | undefined; launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; }>, { description: string; id: string; categories: ("automation" | "connector" | "workspace" | "ui")[]; version: string; displayName: string; capabilities: ("companies.read" | "projects.read" | "project.workspaces.read" | "execution.workspaces.read" | "issues.read" | "issue.relations.read" | "issue.subtree.read" | "issue.comments.read" | "issue.documents.read" | "agents.read" | "goals.read" | "goals.create" | "goals.update" | "activity.read" | "costs.read" | "issues.orchestration.read" | "access.members.read" | "access.invites.read" | "authorization.grants.read" | "authorization.policies.read" | "authorization.audit.read" | "database.namespace.read" | "issues.create" | "issues.update" | "issue.relations.write" | "issues.checkout" | "issues.wakeup" | "issue.comments.create" | "issue.interactions.create" | "issue.documents.write" | "projects.managed" | "routines.managed" | "skills.managed" | "agents.pause" | "agents.resume" | "agents.invoke" | "agents.managed" | "access.members.write" | "access.invites.write" | "authorization.grants.write" | "authorization.policies.write" | "agent.sessions.create" | "agent.sessions.list" | "agent.sessions.send" | "agent.sessions.close" | "activity.log.write" | "metrics.write" | "telemetry.track" | "database.namespace.migrate" | "database.namespace.write" | "plugin.state.read" | "plugin.state.write" | "events.subscribe" | "events.emit" | "jobs.schedule" | "webhooks.receive" | "api.routes.register" | "http.outbound" | "secrets.read-ref" | "environment.drivers.register" | "local.folders" | "agent.tools.register" | "instance.settings.register" | "ui.sidebar.register" | "ui.page.register" | "ui.detailTab.register" | "ui.dashboardWidget.register" | "ui.commentAnnotation.register" | "ui.action.register")[]; apiVersion: 1; author: string; entrypoints: { worker: string; ui?: string | undefined; }; database?: { migrationsDir: string; namespaceSlug?: string | undefined; coreReadTables?: ("companies" | "projects" | "goals" | "agents" | "issues" | "issue_documents" | "issue_relations" | "issue_comments" | "heartbeat_runs" | "cost_events" | "approvals" | "issue_approvals" | "budget_incidents")[] | undefined; } | undefined; ui?: { launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; slots?: { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }[] | undefined; } | undefined; projects?: { displayName: string; projectKey: string; description?: string | null | undefined; settings?: Record | undefined; status?: "backlog" | "in_progress" | "cancelled" | "completed" | "planned" | undefined; color?: string | null | undefined; }[] | undefined; agents?: { displayName: string; agentKey: string; title?: string | null | undefined; status?: "paused" | "idle" | undefined; budgetMonthlyCents?: number | undefined; adapterType?: string | undefined; adapterConfig?: Record | undefined; instructions?: { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; } | undefined; role?: string | undefined; icon?: string | null | undefined; capabilities?: string | null | undefined; runtimeConfig?: Record | undefined; permissions?: Record | undefined; adapterPreference?: string[] | undefined; }[] | undefined; jobs?: { displayName: string; jobKey: string; description?: string | undefined; schedule?: string | undefined; }[] | undefined; routines?: { title: string; routineKey: string; description?: string | null | undefined; status?: "active" | "paused" | "archived" | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; goalId?: string | null | undefined; concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined; catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined; variables?: { name: string; required: boolean; options: string[]; type: "number" | "boolean" | "text" | "textarea" | "select"; label?: string | null | undefined; defaultValue?: string | number | boolean | null | undefined; }[] | undefined; triggers?: { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }[] | undefined; assigneeRef?: { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; projectRef?: { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; issueTemplate?: { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; } | undefined; }[] | undefined; skills?: { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }[] | undefined; minimumHostVersion?: string | undefined; minimumPaperclipVersion?: string | undefined; instanceConfigSchema?: Record | undefined; webhooks?: { displayName: string; endpointKey: string; description?: string | undefined; }[] | undefined; tools?: { description: string; name: string; displayName: string; parametersSchema: Record; }[] | undefined; apiRoutes?: { path: string; routeKey: string; method: "GET" | "POST" | "PATCH" | "DELETE"; auth: "agent" | "board" | "webhook" | "board-or-agent"; capability: "api.routes.register"; checkoutPolicy?: "none" | "required-for-agent-in-progress" | "always-for-agent" | undefined; companyResolution?: { key: string; from: "body"; } | { key: string; from: "query"; } | { from: "issue"; param: string; } | undefined; }[] | undefined; environmentDrivers?: { displayName: string; driverKey: string; configSchema: Record; description?: string | undefined; kind?: "environment_driver" | "sandbox_provider" | undefined; }[] | undefined; localFolders?: { displayName: string; folderKey: string; description?: string | undefined; access?: "read" | "readWrite" | undefined; requiredDirectories?: string[] | undefined; requiredFiles?: string[] | undefined; }[] | undefined; launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; }, { description: string; id: string; categories: ("automation" | "connector" | "workspace" | "ui")[]; version: string; displayName: string; capabilities: ("companies.read" | "projects.read" | "project.workspaces.read" | "execution.workspaces.read" | "issues.read" | "issue.relations.read" | "issue.subtree.read" | "issue.comments.read" | "issue.documents.read" | "agents.read" | "goals.read" | "goals.create" | "goals.update" | "activity.read" | "costs.read" | "issues.orchestration.read" | "access.members.read" | "access.invites.read" | "authorization.grants.read" | "authorization.policies.read" | "authorization.audit.read" | "database.namespace.read" | "issues.create" | "issues.update" | "issue.relations.write" | "issues.checkout" | "issues.wakeup" | "issue.comments.create" | "issue.interactions.create" | "issue.documents.write" | "projects.managed" | "routines.managed" | "skills.managed" | "agents.pause" | "agents.resume" | "agents.invoke" | "agents.managed" | "access.members.write" | "access.invites.write" | "authorization.grants.write" | "authorization.policies.write" | "agent.sessions.create" | "agent.sessions.list" | "agent.sessions.send" | "agent.sessions.close" | "activity.log.write" | "metrics.write" | "telemetry.track" | "database.namespace.migrate" | "database.namespace.write" | "plugin.state.read" | "plugin.state.write" | "events.subscribe" | "events.emit" | "jobs.schedule" | "webhooks.receive" | "api.routes.register" | "http.outbound" | "secrets.read-ref" | "environment.drivers.register" | "local.folders" | "agent.tools.register" | "instance.settings.register" | "ui.sidebar.register" | "ui.page.register" | "ui.detailTab.register" | "ui.dashboardWidget.register" | "ui.commentAnnotation.register" | "ui.action.register")[]; apiVersion: 1; author: string; entrypoints: { worker: string; ui?: string | undefined; }; database?: { migrationsDir: string; namespaceSlug?: string | undefined; coreReadTables?: ("companies" | "projects" | "goals" | "agents" | "issues" | "issue_documents" | "issue_relations" | "issue_comments" | "heartbeat_runs" | "cost_events" | "approvals" | "issue_approvals" | "budget_incidents")[] | undefined; } | undefined; ui?: { launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; slots?: { id: string; type: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "routeSidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage" | "companySettingsPage"; displayName: string; exportName: string; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; routePath?: string | undefined; order?: number | undefined; }[] | undefined; } | undefined; projects?: { displayName: string; projectKey: string; description?: string | null | undefined; settings?: Record | undefined; status?: "backlog" | "in_progress" | "cancelled" | "completed" | "planned" | undefined; color?: string | null | undefined; }[] | undefined; agents?: { displayName: string; agentKey: string; title?: string | null | undefined; status?: "paused" | "idle" | undefined; budgetMonthlyCents?: number | undefined; adapterType?: string | undefined; adapterConfig?: Record | undefined; instructions?: { content?: string | undefined; files?: Record | undefined; entryFile?: string | undefined; assetPath?: string | undefined; } | undefined; role?: string | undefined; icon?: string | null | undefined; capabilities?: string | null | undefined; runtimeConfig?: Record | undefined; permissions?: Record | undefined; adapterPreference?: string[] | undefined; }[] | undefined; jobs?: { displayName: string; jobKey: string; description?: string | undefined; schedule?: string | undefined; }[] | undefined; routines?: { title: string; routineKey: string; description?: string | null | undefined; status?: "active" | "paused" | "archived" | undefined; priority?: "critical" | "high" | "medium" | "low" | undefined; goalId?: string | null | undefined; concurrencyPolicy?: "coalesce_if_active" | "always_enqueue" | "skip_if_active" | undefined; catchUpPolicy?: "skip_missed" | "enqueue_missed_with_cap" | undefined; variables?: { name: string; label?: string | null | undefined; required?: boolean | undefined; options?: string[] | undefined; type?: "number" | "boolean" | "text" | "textarea" | "select" | undefined; defaultValue?: string | number | boolean | null | undefined; }[] | undefined; triggers?: { kind: "schedule" | "webhook" | "api"; label?: string | null | undefined; enabled?: boolean | undefined; cronExpression?: string | null | undefined; timezone?: string | null | undefined; signingMode?: "none" | "bearer" | "hmac_sha256" | "github_hmac" | null | undefined; replayWindowSec?: number | null | undefined; }[] | undefined; assigneeRef?: { resourceKind: "agent"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; projectRef?: { resourceKind: "project"; resourceKey: string; pluginKey?: string | undefined; } | null | undefined; issueTemplate?: { billingCode?: string | null | undefined; surfaceVisibility?: "default" | "plugin_operation" | undefined; originId?: string | null | undefined; } | undefined; }[] | undefined; skills?: { displayName: string; skillKey: string; description?: string | null | undefined; markdown?: string | undefined; slug?: string | undefined; files?: { path: string; content: string; }[] | undefined; }[] | undefined; minimumHostVersion?: string | undefined; minimumPaperclipVersion?: string | undefined; instanceConfigSchema?: Record | undefined; webhooks?: { displayName: string; endpointKey: string; description?: string | undefined; }[] | undefined; tools?: { description: string; name: string; displayName: string; parametersSchema: Record; }[] | undefined; apiRoutes?: { path: string; routeKey: string; method: "GET" | "POST" | "PATCH" | "DELETE"; auth: "agent" | "board" | "webhook" | "board-or-agent"; capability: "api.routes.register"; checkoutPolicy?: "none" | "required-for-agent-in-progress" | "always-for-agent" | undefined; companyResolution?: { key: string; from: "body"; } | { key: string; from: "query"; } | { from: "issue"; param: string; } | undefined; }[] | undefined; environmentDrivers?: { displayName: string; driverKey: string; configSchema: Record; description?: string | undefined; kind?: "environment_driver" | "sandbox_provider" | undefined; }[] | undefined; localFolders?: { displayName: string; folderKey: string; description?: string | undefined; access?: "read" | "readWrite" | undefined; requiredDirectories?: string[] | undefined; requiredFiles?: string[] | undefined; }[] | undefined; launchers?: { id: string; action: { target: string; type: "navigate" | "openModal" | "openDrawer" | "openPopover" | "performAction" | "deepLink"; params?: Record | undefined; }; displayName: string; placementZone: "page" | "detailTab" | "taskDetailView" | "dashboardWidget" | "sidebar" | "sidebarPanel" | "projectSidebarItem" | "globalToolbarButton" | "toolbarButton" | "contextMenuItem" | "commentAnnotation" | "commentContextMenuItem" | "settingsPage"; description?: string | undefined; exportName?: string | undefined; entityTypes?: ("agent" | "comment" | "project" | "issue" | "run" | "goal" | "execution_workspace" | "project_workspace")[] | undefined; order?: number | undefined; render?: { environment: "hostInline" | "hostOverlay" | "hostRoute" | "external" | "iframe"; bounds?: "default" | "inline" | "compact" | "wide" | "full" | undefined; } | undefined; }[] | undefined; }>; export type PluginManifestV1Input = z.infer; /** * Schema for installing (registering) a plugin. * The server receives the packageName and resolves the manifest from the * installed package. */ export declare const installPluginSchema: z.ZodObject<{ packageName: z.ZodString; version: z.ZodOptional; /** Set by loader for local-path installs so the worker can be resolved. */ packagePath: z.ZodOptional; }, "strip", z.ZodTypeAny, { packageName: string; version?: string | undefined; packagePath?: string | undefined; }, { packageName: string; version?: string | undefined; packagePath?: string | undefined; }>; export type InstallPlugin = z.infer; /** * Schema for creating or updating a plugin's instance configuration. * configJson is validated permissively here; runtime validation against * the plugin's instanceConfigSchema is done at the service layer. */ export declare const upsertPluginConfigSchema: z.ZodObject<{ configJson: z.ZodRecord; }, "strip", z.ZodTypeAny, { configJson: Record; }, { configJson: Record; }>; export type UpsertPluginConfig = z.infer; /** * Schema for partially updating a plugin's instance configuration. * Allows a partial merge of config values. */ export declare const patchPluginConfigSchema: z.ZodObject<{ configJson: z.ZodRecord; }, "strip", z.ZodTypeAny, { configJson: Record; }, { configJson: Record; }>; export type PatchPluginConfig = z.infer; /** * Schema for updating a plugin's lifecycle status. Used by the lifecycle * manager to persist state transitions. * * @see {@link PLUGIN_STATUSES} for the valid status values */ export declare const updatePluginStatusSchema: z.ZodObject<{ status: z.ZodEnum<["installed", "ready", "disabled", "error", "upgrade_pending", "uninstalled"]>; lastError: z.ZodOptional>; }, "strip", z.ZodTypeAny, { status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled"; lastError?: string | null | undefined; }, { status: "error" | "ready" | "disabled" | "installed" | "upgrade_pending" | "uninstalled"; lastError?: string | null | undefined; }>; export type UpdatePluginStatus = z.infer; /** Schema for the uninstall request. `removeData` controls hard vs soft delete. */ export declare const uninstallPluginSchema: z.ZodObject<{ removeData: z.ZodDefault>; }, "strip", z.ZodTypeAny, { removeData: boolean; }, { removeData?: boolean | undefined; }>; export type UninstallPlugin = z.infer; /** * Schema for a plugin state scope key — identifies the exact location where * state is stored. Used by the `ctx.state.get()`, `ctx.state.set()`, and * `ctx.state.delete()` SDK methods. * * @see PLUGIN_SPEC.md §21.3 `plugin_state` */ export declare const pluginStateScopeKeySchema: z.ZodObject<{ scopeKind: z.ZodEnum<["instance", "company", "project", "project_workspace", "agent", "issue", "goal", "run"]>; scopeId: z.ZodOptional; namespace: z.ZodOptional; stateKey: z.ZodString; }, "strip", z.ZodTypeAny, { scopeKind: "agent" | "company" | "project" | "issue" | "run" | "instance" | "goal" | "project_workspace"; stateKey: string; scopeId?: string | undefined; namespace?: string | undefined; }, { scopeKind: "agent" | "company" | "project" | "issue" | "run" | "instance" | "goal" | "project_workspace"; stateKey: string; scopeId?: string | undefined; namespace?: string | undefined; }>; export type PluginStateScopeKey = z.infer; /** * Schema for setting a plugin state value. */ export declare const setPluginStateSchema: z.ZodObject<{ scopeKind: z.ZodEnum<["instance", "company", "project", "project_workspace", "agent", "issue", "goal", "run"]>; scopeId: z.ZodOptional; namespace: z.ZodOptional; stateKey: z.ZodString; /** JSON-serializable value to store. */ value: z.ZodUnknown; }, "strip", z.ZodTypeAny, { scopeKind: "agent" | "company" | "project" | "issue" | "run" | "instance" | "goal" | "project_workspace"; stateKey: string; value?: unknown; scopeId?: string | undefined; namespace?: string | undefined; }, { scopeKind: "agent" | "company" | "project" | "issue" | "run" | "instance" | "goal" | "project_workspace"; stateKey: string; value?: unknown; scopeId?: string | undefined; namespace?: string | undefined; }>; export type SetPluginState = z.infer; /** * Schema for querying plugin state entries. All fields are optional to allow * flexible list queries (e.g. all state for a plugin within a scope). */ export declare const listPluginStateSchema: z.ZodObject<{ scopeKind: z.ZodOptional>; scopeId: z.ZodOptional; namespace: z.ZodOptional; }, "strip", z.ZodTypeAny, { scopeId?: string | undefined; namespace?: string | undefined; scopeKind?: "agent" | "company" | "project" | "issue" | "run" | "instance" | "goal" | "project_workspace" | undefined; }, { scopeId?: string | undefined; namespace?: string | undefined; scopeKind?: "agent" | "company" | "project" | "issue" | "run" | "instance" | "goal" | "project_workspace" | undefined; }>; export type ListPluginState = z.infer; //# sourceMappingURL=plugin.d.ts.map