export declare const COMPANY_STATUSES: readonly ["active", "paused", "archived"]; export type CompanyStatus = (typeof COMPANY_STATUSES)[number]; export declare const DEFAULT_COMPANY_ATTACHMENT_MAX_BYTES: number; export declare const MAX_COMPANY_ATTACHMENT_MAX_BYTES: number; export declare const DEPLOYMENT_MODES: readonly ["local_trusted", "authenticated"]; export type DeploymentMode = (typeof DEPLOYMENT_MODES)[number]; export declare const DEPLOYMENT_EXPOSURES: readonly ["private", "public"]; export type DeploymentExposure = (typeof DEPLOYMENT_EXPOSURES)[number]; export declare const BIND_MODES: readonly ["loopback", "lan", "tailnet", "custom"]; export type BindMode = (typeof BIND_MODES)[number]; export declare const AUTH_BASE_URL_MODES: readonly ["auto", "explicit"]; export type AuthBaseUrlMode = (typeof AUTH_BASE_URL_MODES)[number]; export declare const AGENT_STATUSES: readonly ["active", "paused", "idle", "running", "error", "pending_approval", "terminated"]; export type AgentStatus = (typeof AGENT_STATUSES)[number]; export declare const AGENT_ADAPTER_TYPES: readonly ["process", "http", "acpx_local", "claude_local", "codex_local", "cursor_cloud", "gemini_local", "opencode_local", "pi_local", "cursor", "openclaw_gateway"]; export type AgentAdapterType = (typeof AGENT_ADAPTER_TYPES)[number] | (string & {}); export declare const AGENT_ROLES: readonly ["ceo", "cto", "cmo", "cfo", "security", "engineer", "designer", "pm", "qa", "devops", "researcher", "general"]; export type AgentRole = (typeof AGENT_ROLES)[number]; export declare const AGENT_ROLE_LABELS: Record; export declare const AGENT_DEFAULT_MAX_CONCURRENT_RUNS = 20; export declare const WORKSPACE_BRANCH_ROUTINE_VARIABLE = "workspaceBranch"; export declare const MODEL_PROFILE_KEYS: readonly ["cheap"]; export type ModelProfileKey = (typeof MODEL_PROFILE_KEYS)[number]; export declare const AGENT_ICON_NAMES: readonly ["bot", "cpu", "brain", "zap", "rocket", "code", "terminal", "shield", "eye", "search", "wrench", "hammer", "lightbulb", "sparkles", "star", "heart", "flame", "bug", "cog", "database", "globe", "lock", "mail", "message-square", "file-code", "git-branch", "package", "puzzle", "target", "wand", "atom", "circuit-board", "radar", "swords", "telescope", "microscope", "crown", "gem", "hexagon", "pentagon", "fingerprint"]; export type AgentIconName = (typeof AGENT_ICON_NAMES)[number]; /** * Curated Lucide icon set for projects (PAP-68 part 3). * * The first entry, `"folder"`, is the default for any project without an * explicit icon. The remaining entries reuse much of the agent icon set plus a * handful of folder/structure icons that read well at small tile sizes. */ export declare const PROJECT_ICON_NAMES: readonly ["folder", "rocket", "code", "terminal", "database", "globe", "package", "boxes", "box", "layers", "briefcase", "compass", "target", "flame", "zap", "star", "bug", "wrench", "hammer", "lightbulb", "sparkles", "shield", "lock", "search", "cog", "brain", "cpu", "git-branch", "file-code", "puzzle", "gem", "atom", "heart", "mail", "message-square", "crown", "radar", "telescope", "hexagon"]; export type ProjectIconName = (typeof PROJECT_ICON_NAMES)[number]; export declare const ISSUE_STATUSES: readonly ["backlog", "todo", "in_progress", "in_review", "done", "blocked", "cancelled"]; export type IssueStatus = (typeof ISSUE_STATUSES)[number]; export declare const INBOX_MINE_ISSUE_STATUSES: readonly ["backlog", "todo", "in_progress", "in_review", "blocked", "done"]; export declare const INBOX_MINE_ISSUE_STATUS_FILTER: string; export declare const ISSUE_PRIORITIES: readonly ["critical", "high", "medium", "low"]; export type IssuePriority = (typeof ISSUE_PRIORITIES)[number]; export declare const ISSUE_WORK_MODES: readonly ["standard", "planning"]; export type IssueWorkMode = (typeof ISSUE_WORK_MODES)[number]; export declare const MAX_ISSUE_REQUEST_DEPTH = 1024; export declare const ISSUE_COMMENT_AUTHOR_TYPES: readonly ["user", "agent", "system"]; export type IssueCommentAuthorType = (typeof ISSUE_COMMENT_AUTHOR_TYPES)[number]; export declare const ISSUE_COMMENT_PRESENTATION_KINDS: readonly ["message", "system_notice"]; export type IssueCommentPresentationKind = (typeof ISSUE_COMMENT_PRESENTATION_KINDS)[number]; export declare const ISSUE_COMMENT_PRESENTATION_TONES: readonly ["neutral", "info", "success", "warning", "danger"]; export type IssueCommentPresentationTone = (typeof ISSUE_COMMENT_PRESENTATION_TONES)[number]; export declare const ISSUE_COMMENT_METADATA_ROW_TYPES: readonly ["text", "code", "key_value", "issue_link", "agent_link", "run_link"]; export type IssueCommentMetadataRowType = (typeof ISSUE_COMMENT_METADATA_ROW_TYPES)[number]; export declare function clampIssueRequestDepth(value: number | null | undefined): number; export declare const ISSUE_THREAD_INTERACTION_KINDS: readonly ["suggest_tasks", "ask_user_questions", "request_confirmation", "request_checkbox_confirmation"]; export type IssueThreadInteractionKind = (typeof ISSUE_THREAD_INTERACTION_KINDS)[number]; export declare const REQUEST_CHECKBOX_CONFIRMATION_OPTION_LIMIT = 200; export declare const ISSUE_THREAD_INTERACTION_STATUSES: readonly ["pending", "accepted", "rejected", "answered", "cancelled", "expired", "failed"]; export type IssueThreadInteractionStatus = (typeof ISSUE_THREAD_INTERACTION_STATUSES)[number]; export declare const ISSUE_THREAD_INTERACTION_CONTINUATION_POLICIES: readonly ["none", "wake_assignee", "wake_assignee_on_accept"]; export type IssueThreadInteractionContinuationPolicy = (typeof ISSUE_THREAD_INTERACTION_CONTINUATION_POLICIES)[number]; export declare const ISSUE_ORIGIN_KINDS: readonly ["manual", "routine_execution", "stale_active_run_evaluation", "harness_liveness_escalation", "issue_productivity_review", "stranded_issue_recovery"]; export type BuiltInIssueOriginKind = (typeof ISSUE_ORIGIN_KINDS)[number]; export type PluginIssueOriginKind = `plugin:${string}`; export type IssueOriginKind = BuiltInIssueOriginKind | PluginIssueOriginKind; export declare const ISSUE_SURFACE_VISIBILITIES: readonly ["default", "plugin_operation"]; export type IssueSurfaceVisibility = (typeof ISSUE_SURFACE_VISIBILITIES)[number]; export declare const ISSUE_RECOVERY_ACTION_KINDS: readonly ["missing_disposition", "stranded_assigned_issue", "workspace_validation", "active_run_watchdog", "issue_graph_liveness"]; export type IssueRecoveryActionKind = (typeof ISSUE_RECOVERY_ACTION_KINDS)[number]; export declare const ISSUE_RECOVERY_ACTION_STATUSES: readonly ["active", "escalated", "resolved", "cancelled"]; export type IssueRecoveryActionStatus = (typeof ISSUE_RECOVERY_ACTION_STATUSES)[number]; export declare const ISSUE_RECOVERY_ACTION_OWNER_TYPES: readonly ["agent", "user", "board", "system"]; export type IssueRecoveryActionOwnerType = (typeof ISSUE_RECOVERY_ACTION_OWNER_TYPES)[number]; export declare const ISSUE_RECOVERY_ACTION_OUTCOMES: readonly ["restored", "delegated", "false_positive", "blocked", "escalated", "cancelled"]; export type IssueRecoveryActionOutcome = (typeof ISSUE_RECOVERY_ACTION_OUTCOMES)[number]; export declare function pluginOperationIssueOriginKind(pluginKey: string): PluginIssueOriginKind; export declare function isPluginOperationIssueOriginKind(originKind: string | null | undefined): boolean; export declare const ISSUE_RELATION_TYPES: readonly ["blocks"]; export type IssueRelationType = (typeof ISSUE_RELATION_TYPES)[number]; export declare const ISSUE_TREE_CONTROL_MODES: readonly ["pause", "resume", "cancel", "restore"]; export type IssueTreeControlMode = (typeof ISSUE_TREE_CONTROL_MODES)[number]; export declare const ISSUE_TREE_HOLD_STATUSES: readonly ["active", "released"]; export type IssueTreeHoldStatus = (typeof ISSUE_TREE_HOLD_STATUSES)[number]; export declare const ISSUE_TREE_HOLD_RELEASE_POLICY_STRATEGIES: readonly ["manual", "after_active_runs_finish"]; export type IssueTreeHoldReleasePolicyStrategy = (typeof ISSUE_TREE_HOLD_RELEASE_POLICY_STRATEGIES)[number]; export declare const ISSUE_CONTINUATION_SUMMARY_DOCUMENT_KEY: "continuation-summary"; export declare const SYSTEM_ISSUE_DOCUMENT_KEYS: readonly ["continuation-summary"]; export type SystemIssueDocumentKey = (typeof SYSTEM_ISSUE_DOCUMENT_KEYS)[number]; export declare function isSystemIssueDocumentKey(key: string): key is SystemIssueDocumentKey; export declare const ISSUE_REFERENCE_SOURCE_KINDS: readonly ["title", "description", "comment", "document"]; export type IssueReferenceSourceKind = (typeof ISSUE_REFERENCE_SOURCE_KINDS)[number]; export declare const DOCUMENT_ANNOTATION_THREAD_STATUSES: readonly ["open", "resolved"]; export type DocumentAnnotationThreadStatus = (typeof DOCUMENT_ANNOTATION_THREAD_STATUSES)[number]; export declare const DOCUMENT_ANNOTATION_ANCHOR_STATES: readonly ["active", "stale", "orphaned"]; export type DocumentAnnotationAnchorState = (typeof DOCUMENT_ANNOTATION_ANCHOR_STATES)[number]; export declare const DOCUMENT_ANNOTATION_ANCHOR_CONFIDENCES: readonly ["exact", "duplicate", "fuzzy", "ambiguous", "missing"]; export type DocumentAnnotationAnchorConfidence = (typeof DOCUMENT_ANNOTATION_ANCHOR_CONFIDENCES)[number]; export declare const ISSUE_EXECUTION_POLICY_MODES: readonly ["normal", "auto"]; export type IssueExecutionPolicyMode = (typeof ISSUE_EXECUTION_POLICY_MODES)[number]; export declare const ISSUE_EXECUTION_STAGE_TYPES: readonly ["review", "approval"]; export type IssueExecutionStageType = (typeof ISSUE_EXECUTION_STAGE_TYPES)[number]; export declare const ISSUE_MONITOR_SCHEDULED_BY: readonly ["assignee", "board"]; export type IssueMonitorScheduledBy = (typeof ISSUE_MONITOR_SCHEDULED_BY)[number]; export declare const ISSUE_EXECUTION_MONITOR_KINDS: readonly ["external_service"]; export type IssueExecutionMonitorKind = (typeof ISSUE_EXECUTION_MONITOR_KINDS)[number]; export declare const ISSUE_EXECUTION_MONITOR_RECOVERY_POLICIES: readonly ["wake_owner", "create_recovery_issue", "escalate_to_board"]; export type IssueExecutionMonitorRecoveryPolicy = (typeof ISSUE_EXECUTION_MONITOR_RECOVERY_POLICIES)[number]; export declare const ISSUE_EXECUTION_STATE_STATUSES: readonly ["idle", "pending", "changes_requested", "completed"]; export type IssueExecutionStateStatus = (typeof ISSUE_EXECUTION_STATE_STATUSES)[number]; export declare const ISSUE_EXECUTION_MONITOR_STATE_STATUSES: readonly ["scheduled", "triggered", "cleared"]; export type IssueExecutionMonitorStateStatus = (typeof ISSUE_EXECUTION_MONITOR_STATE_STATUSES)[number]; export declare const ISSUE_EXECUTION_MONITOR_CLEAR_REASONS: readonly ["manual", "triggered", "done", "cancelled", "invalid_status", "invalid_assignee", "dispatch_skipped", "timeout_exceeded", "max_attempts_exhausted"]; export type IssueExecutionMonitorClearReason = (typeof ISSUE_EXECUTION_MONITOR_CLEAR_REASONS)[number]; export declare const ISSUE_EXECUTION_DECISION_OUTCOMES: readonly ["approved", "changes_requested"]; export type IssueExecutionDecisionOutcome = (typeof ISSUE_EXECUTION_DECISION_OUTCOMES)[number]; export declare const GOAL_LEVELS: readonly ["company", "team", "agent", "task"]; export type GoalLevel = (typeof GOAL_LEVELS)[number]; export declare const GOAL_STATUSES: readonly ["planned", "active", "achieved", "cancelled"]; export type GoalStatus = (typeof GOAL_STATUSES)[number]; export declare const PROJECT_STATUSES: readonly ["backlog", "planned", "in_progress", "completed", "cancelled"]; export type ProjectStatus = (typeof PROJECT_STATUSES)[number]; export declare const ENVIRONMENT_DRIVERS: readonly ["local", "ssh", "sandbox", "plugin"]; export type EnvironmentDriver = (typeof ENVIRONMENT_DRIVERS)[number]; export declare const ENVIRONMENT_STATUSES: readonly ["active", "archived"]; export type EnvironmentStatus = (typeof ENVIRONMENT_STATUSES)[number]; export declare const ENVIRONMENT_LEASE_STATUSES: readonly ["active", "released", "expired", "failed", "retained"]; export type EnvironmentLeaseStatus = (typeof ENVIRONMENT_LEASE_STATUSES)[number]; export declare const ENVIRONMENT_LEASE_POLICIES: readonly ["ephemeral", "reuse_by_environment", "reuse_by_execution_workspace", "retain_on_failure"]; export type EnvironmentLeasePolicy = (typeof ENVIRONMENT_LEASE_POLICIES)[number]; export declare const ENVIRONMENT_LEASE_CLEANUP_STATUSES: readonly ["pending", "success", "failed"]; export type EnvironmentLeaseCleanupStatus = (typeof ENVIRONMENT_LEASE_CLEANUP_STATUSES)[number]; export declare const ROUTINE_STATUSES: readonly ["active", "paused", "archived"]; export type RoutineStatus = (typeof ROUTINE_STATUSES)[number]; export declare const ROUTINE_CONCURRENCY_POLICIES: readonly ["coalesce_if_active", "always_enqueue", "skip_if_active"]; export type RoutineConcurrencyPolicy = (typeof ROUTINE_CONCURRENCY_POLICIES)[number]; export declare const ROUTINE_CATCH_UP_POLICIES: readonly ["skip_missed", "enqueue_missed_with_cap"]; export type RoutineCatchUpPolicy = (typeof ROUTINE_CATCH_UP_POLICIES)[number]; export declare const ROUTINE_TRIGGER_KINDS: readonly ["schedule", "webhook", "api"]; export type RoutineTriggerKind = (typeof ROUTINE_TRIGGER_KINDS)[number]; export declare const ROUTINE_TRIGGER_SIGNING_MODES: readonly ["bearer", "hmac_sha256", "github_hmac", "none"]; export type RoutineTriggerSigningMode = (typeof ROUTINE_TRIGGER_SIGNING_MODES)[number]; export declare const ROUTINE_VARIABLE_TYPES: readonly ["text", "textarea", "number", "boolean", "select"]; export type RoutineVariableType = (typeof ROUTINE_VARIABLE_TYPES)[number]; export declare const ROUTINE_RUN_STATUSES: readonly ["received", "coalesced", "skipped", "issue_created", "completed", "failed"]; export type RoutineRunStatus = (typeof ROUTINE_RUN_STATUSES)[number]; export declare const ROUTINE_RUN_SOURCES: readonly ["schedule", "manual", "api", "webhook"]; export type RoutineRunSource = (typeof ROUTINE_RUN_SOURCES)[number]; export declare const PAUSE_REASONS: readonly ["manual", "budget", "system", "company_archived"]; export type PauseReason = (typeof PAUSE_REASONS)[number]; export declare const PROJECT_COLORS: readonly ["#6366f1", "#8b5cf6", "#ec4899", "#ef4444", "#f97316", "#eab308", "#22c55e", "#14b8a6", "#06b6d4", "#3b82f6"]; export declare const APPROVAL_TYPES: readonly ["hire_agent", "approve_ceo_strategy", "budget_override_required", "request_board_approval"]; export type ApprovalType = (typeof APPROVAL_TYPES)[number]; export declare const APPROVAL_STATUSES: readonly ["pending", "revision_requested", "approved", "rejected", "cancelled"]; export type ApprovalStatus = (typeof APPROVAL_STATUSES)[number]; export declare const SECRET_PROVIDERS: readonly ["local_encrypted", "aws_secrets_manager", "gcp_secret_manager", "vault"]; export type SecretProvider = (typeof SECRET_PROVIDERS)[number]; export declare const SECRET_PROVIDER_CONFIG_STATUSES: readonly ["ready", "warning", "coming_soon", "disabled"]; export type SecretProviderConfigStatus = (typeof SECRET_PROVIDER_CONFIG_STATUSES)[number]; export declare const SECRET_PROVIDER_CONFIG_HEALTH_STATUSES: readonly ["ready", "warning", "error", "coming_soon", "disabled"]; export type SecretProviderConfigHealthStatus = (typeof SECRET_PROVIDER_CONFIG_HEALTH_STATUSES)[number]; export declare const SECRET_STATUSES: readonly ["active", "disabled", "archived", "deleted"]; export type SecretStatus = (typeof SECRET_STATUSES)[number]; export declare const SECRET_MANAGED_MODES: readonly ["paperclip_managed", "external_reference"]; export type SecretManagedMode = (typeof SECRET_MANAGED_MODES)[number]; export declare const SECRET_VERSION_STATUSES: readonly ["current", "previous", "disabled", "destroyed", "failed"]; export type SecretVersionStatus = (typeof SECRET_VERSION_STATUSES)[number]; export declare const SECRET_BINDING_TARGET_TYPES: readonly ["agent", "project", "environment", "routine", "plugin", "issue", "run", "system"]; export type SecretBindingTargetType = (typeof SECRET_BINDING_TARGET_TYPES)[number]; export declare const SECRET_ACCESS_OUTCOMES: readonly ["success", "failure"]; export type SecretAccessOutcome = (typeof SECRET_ACCESS_OUTCOMES)[number]; export declare const STORAGE_PROVIDERS: readonly ["local_disk", "s3"]; export type StorageProvider = (typeof STORAGE_PROVIDERS)[number]; export declare const BILLING_TYPES: readonly ["metered_api", "subscription_included", "subscription_overage", "credits", "fixed", "unknown"]; export type BillingType = (typeof BILLING_TYPES)[number]; export declare const FINANCE_EVENT_KINDS: readonly ["inference_charge", "platform_fee", "credit_purchase", "credit_refund", "credit_expiry", "byok_fee", "gateway_overhead", "log_storage_charge", "logpush_charge", "provisioned_capacity_charge", "training_charge", "custom_model_import_charge", "custom_model_storage_charge", "manual_adjustment"]; export type FinanceEventKind = (typeof FINANCE_EVENT_KINDS)[number]; export declare const FINANCE_DIRECTIONS: readonly ["debit", "credit"]; export type FinanceDirection = (typeof FINANCE_DIRECTIONS)[number]; export declare const FINANCE_UNITS: readonly ["input_token", "output_token", "cached_input_token", "request", "credit_usd", "credit_unit", "model_unit_minute", "model_unit_hour", "gb_month", "train_token", "unknown"]; export type FinanceUnit = (typeof FINANCE_UNITS)[number]; export declare const BUDGET_SCOPE_TYPES: readonly ["company", "agent", "project"]; export type BudgetScopeType = (typeof BUDGET_SCOPE_TYPES)[number]; export declare const BUDGET_METRICS: readonly ["billed_cents"]; export type BudgetMetric = (typeof BUDGET_METRICS)[number]; export declare const BUDGET_WINDOW_KINDS: readonly ["calendar_month_utc", "lifetime"]; export type BudgetWindowKind = (typeof BUDGET_WINDOW_KINDS)[number]; export declare const BUDGET_THRESHOLD_TYPES: readonly ["soft", "hard"]; export type BudgetThresholdType = (typeof BUDGET_THRESHOLD_TYPES)[number]; export declare const BUDGET_INCIDENT_STATUSES: readonly ["open", "resolved", "dismissed"]; export type BudgetIncidentStatus = (typeof BUDGET_INCIDENT_STATUSES)[number]; export declare const BUDGET_INCIDENT_RESOLUTION_ACTIONS: readonly ["keep_paused", "raise_budget_and_resume"]; export type BudgetIncidentResolutionAction = (typeof BUDGET_INCIDENT_RESOLUTION_ACTIONS)[number]; export declare const HEARTBEAT_INVOCATION_SOURCES: readonly ["timer", "assignment", "on_demand", "automation"]; export type HeartbeatInvocationSource = (typeof HEARTBEAT_INVOCATION_SOURCES)[number]; export declare const WAKEUP_TRIGGER_DETAILS: readonly ["manual", "ping", "callback", "system"]; export type WakeupTriggerDetail = (typeof WAKEUP_TRIGGER_DETAILS)[number]; export declare const WAKEUP_REQUEST_STATUSES: readonly ["queued", "deferred_issue_execution", "claimed", "coalesced", "skipped", "completed", "failed", "cancelled"]; export type WakeupRequestStatus = (typeof WAKEUP_REQUEST_STATUSES)[number]; export declare const HEARTBEAT_RUN_STATUSES: readonly ["queued", "scheduled_retry", "running", "succeeded", "failed", "cancelled", "timed_out"]; export type HeartbeatRunStatus = (typeof HEARTBEAT_RUN_STATUSES)[number]; export declare const RUN_LIVENESS_STATES: readonly ["completed", "advanced", "plan_only", "empty_response", "blocked", "failed", "needs_followup"]; export type RunLivenessState = (typeof RUN_LIVENESS_STATES)[number]; export declare const LIVE_EVENT_TYPES: readonly ["heartbeat.run.queued", "heartbeat.run.status", "heartbeat.run.event", "heartbeat.run.log", "agent.status", "activity.logged", "plugin.ui.updated", "plugin.worker.crashed", "plugin.worker.restarted"]; export type LiveEventType = (typeof LIVE_EVENT_TYPES)[number]; export declare const PRINCIPAL_TYPES: readonly ["user", "agent"]; export type PrincipalType = (typeof PRINCIPAL_TYPES)[number]; export declare const MEMBERSHIP_STATUSES: readonly ["pending", "active", "suspended", "archived"]; export type MembershipStatus = (typeof MEMBERSHIP_STATUSES)[number]; export declare const COMPANY_MEMBERSHIP_ROLES: readonly ["owner", "admin", "operator", "viewer", "member"]; export type CompanyMembershipRole = (typeof COMPANY_MEMBERSHIP_ROLES)[number]; export declare const HUMAN_COMPANY_MEMBERSHIP_ROLES: readonly ["owner", "admin", "operator", "viewer"]; export type HumanCompanyMembershipRole = (typeof HUMAN_COMPANY_MEMBERSHIP_ROLES)[number]; export declare const HUMAN_COMPANY_MEMBERSHIP_ROLE_LABELS: Record; export declare const INSTANCE_USER_ROLES: readonly ["instance_admin"]; export type InstanceUserRole = (typeof INSTANCE_USER_ROLES)[number]; export declare const INVITE_TYPES: readonly ["company_join", "bootstrap_ceo"]; export type InviteType = (typeof INVITE_TYPES)[number]; export declare const INVITE_JOIN_TYPES: readonly ["human", "agent", "both"]; export type InviteJoinType = (typeof INVITE_JOIN_TYPES)[number]; export declare const JOIN_REQUEST_TYPES: readonly ["human", "agent"]; export type JoinRequestType = (typeof JOIN_REQUEST_TYPES)[number]; export declare const JOIN_REQUEST_STATUSES: readonly ["pending_approval", "approved", "rejected"]; export type JoinRequestStatus = (typeof JOIN_REQUEST_STATUSES)[number]; export declare const PERMISSION_KEYS: readonly ["agents:create", "environments:manage", "users:invite", "users:manage_permissions", "tasks:assign", "tasks:assign_scope", "tasks:manage_active_checkouts", "joins:approve"]; export type PermissionKey = (typeof PERMISSION_KEYS)[number]; /** * The current version of the Plugin API contract. * * Increment this value whenever a breaking change is made to the plugin API * so that the host can reject incompatible plugin manifests. * * @see PLUGIN_SPEC.md §4 — Versioning */ export declare const PLUGIN_API_VERSION: 1; /** * Lifecycle statuses for an installed plugin. * * State machine: installed → ready | error, ready → disabled | error | upgrade_pending | uninstalled, * disabled → ready | uninstalled, error → ready | uninstalled, * upgrade_pending → ready | error | uninstalled, uninstalled → installed (reinstall). * * @see {@link PluginStatus} — inferred union type * @see PLUGIN_SPEC.md §21.3 `plugins.status` */ export declare const PLUGIN_STATUSES: readonly ["installed", "ready", "disabled", "error", "upgrade_pending", "uninstalled"]; export type PluginStatus = (typeof PLUGIN_STATUSES)[number]; /** * Plugin classification categories. A plugin declares one or more categories * in its manifest to describe its primary purpose. * * @see PLUGIN_SPEC.md §6.2 */ export declare const PLUGIN_CATEGORIES: readonly ["connector", "workspace", "automation", "ui"]; export type PluginCategory = (typeof PLUGIN_CATEGORIES)[number]; /** * Named permissions the host grants to a plugin. Plugins declare required * capabilities in their manifest; the host enforces them at runtime via the * plugin capability validator. * * Grouped into: Data Read, Data Write, Plugin State, Runtime/Integration, * Agent Tools, and UI. * * @see PLUGIN_SPEC.md §15 — Capability Model */ export declare const PLUGIN_CAPABILITIES: readonly ["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"]; export type PluginCapability = (typeof PLUGIN_CAPABILITIES)[number]; export declare const PLUGIN_DATABASE_NAMESPACE_MODES: readonly ["schema"]; export type PluginDatabaseNamespaceMode = (typeof PLUGIN_DATABASE_NAMESPACE_MODES)[number]; export declare const PLUGIN_DATABASE_NAMESPACE_STATUSES: readonly ["active", "migration_failed"]; export type PluginDatabaseNamespaceStatus = (typeof PLUGIN_DATABASE_NAMESPACE_STATUSES)[number]; export declare const PLUGIN_DATABASE_MIGRATION_STATUSES: readonly ["applied", "failed"]; export type PluginDatabaseMigrationStatus = (typeof PLUGIN_DATABASE_MIGRATION_STATUSES)[number]; export declare const PLUGIN_DATABASE_CORE_READ_TABLES: readonly ["companies", "projects", "goals", "agents", "issues", "issue_documents", "issue_relations", "issue_comments", "heartbeat_runs", "cost_events", "approvals", "issue_approvals", "budget_incidents"]; export type PluginDatabaseCoreReadTable = (typeof PLUGIN_DATABASE_CORE_READ_TABLES)[number]; export declare const PLUGIN_API_ROUTE_METHODS: readonly ["GET", "POST", "PATCH", "DELETE"]; export type PluginApiRouteMethod = (typeof PLUGIN_API_ROUTE_METHODS)[number]; export declare const PLUGIN_API_ROUTE_AUTH_MODES: readonly ["board", "agent", "board-or-agent", "webhook"]; export type PluginApiRouteAuthMode = (typeof PLUGIN_API_ROUTE_AUTH_MODES)[number]; export declare const PLUGIN_API_ROUTE_CHECKOUT_POLICIES: readonly ["none", "required-for-agent-in-progress", "always-for-agent"]; export type PluginApiRouteCheckoutPolicy = (typeof PLUGIN_API_ROUTE_CHECKOUT_POLICIES)[number]; /** * UI extension slot types. Each slot type corresponds to a mount point in the * Paperclip UI where plugin components can be rendered. * * @see PLUGIN_SPEC.md §19 — UI Extension Model */ export declare const PLUGIN_UI_SLOT_TYPES: readonly ["page", "detailTab", "taskDetailView", "dashboardWidget", "sidebar", "routeSidebar", "sidebarPanel", "projectSidebarItem", "globalToolbarButton", "toolbarButton", "contextMenuItem", "commentAnnotation", "commentContextMenuItem", "settingsPage", "companySettingsPage"]; export type PluginUiSlotType = (typeof PLUGIN_UI_SLOT_TYPES)[number]; /** * Reserved company-scoped route segments that plugin page routes may not claim. * * These map to first-class host pages under `/:companyPrefix/...`. */ export declare const PLUGIN_RESERVED_COMPANY_ROUTE_SEGMENTS: readonly ["dashboard", "onboarding", "companies", "company", "settings", "plugins", "org", "agents", "projects", "issues", "goals", "approvals", "costs", "activity", "inbox", "design-guide", "tests"]; export type PluginReservedCompanyRouteSegment = (typeof PLUGIN_RESERVED_COMPANY_ROUTE_SEGMENTS)[number]; /** * Reserved route segments under `/:companyPrefix/company/settings/...` that * plugin company settings pages may not claim. */ export declare const PLUGIN_RESERVED_COMPANY_SETTINGS_ROUTE_SEGMENTS: readonly ["general", "environments", "access", "members", "invites", "secrets", "instance"]; export type PluginReservedCompanySettingsRouteSegment = (typeof PLUGIN_RESERVED_COMPANY_SETTINGS_ROUTE_SEGMENTS)[number]; /** * Launcher placement zones describe where a plugin-owned launcher can appear * in the host UI. These are intentionally aligned with current slot surfaces * so manifest authors can describe launch intent without coupling to a single * component implementation detail. */ export declare const PLUGIN_LAUNCHER_PLACEMENT_ZONES: readonly ["page", "detailTab", "taskDetailView", "dashboardWidget", "sidebar", "sidebarPanel", "projectSidebarItem", "globalToolbarButton", "toolbarButton", "contextMenuItem", "commentAnnotation", "commentContextMenuItem", "settingsPage"]; export type PluginLauncherPlacementZone = (typeof PLUGIN_LAUNCHER_PLACEMENT_ZONES)[number]; /** * Launcher action kinds describe what the launcher does when activated. */ export declare const PLUGIN_LAUNCHER_ACTIONS: readonly ["navigate", "openModal", "openDrawer", "openPopover", "performAction", "deepLink"]; export type PluginLauncherAction = (typeof PLUGIN_LAUNCHER_ACTIONS)[number]; /** * Optional size hints the host can use when rendering plugin-owned launcher * destinations such as overlays, drawers, or full page handoffs. */ export declare const PLUGIN_LAUNCHER_BOUNDS: readonly ["inline", "compact", "default", "wide", "full"]; export type PluginLauncherBounds = (typeof PLUGIN_LAUNCHER_BOUNDS)[number]; /** * Render environments describe the container a launcher expects after it is * activated. The current host may map these to concrete UI primitives. */ export declare const PLUGIN_LAUNCHER_RENDER_ENVIRONMENTS: readonly ["hostInline", "hostOverlay", "hostRoute", "external", "iframe"]; export type PluginLauncherRenderEnvironment = (typeof PLUGIN_LAUNCHER_RENDER_ENVIRONMENTS)[number]; /** * Entity types that a `detailTab` UI slot can attach to. * * @see PLUGIN_SPEC.md §19.3 — Detail Tabs */ export declare const PLUGIN_UI_SLOT_ENTITY_TYPES: readonly ["project", "issue", "agent", "goal", "run", "comment", "execution_workspace", "project_workspace"]; export type PluginUiSlotEntityType = (typeof PLUGIN_UI_SLOT_ENTITY_TYPES)[number]; /** * Scope kinds for plugin state storage. Determines the granularity at which * a plugin stores key-value state data. * * @see PLUGIN_SPEC.md §21.3 `plugin_state.scope_kind` */ export declare const PLUGIN_STATE_SCOPE_KINDS: readonly ["instance", "company", "project", "project_workspace", "agent", "issue", "goal", "run"]; export type PluginStateScopeKind = (typeof PLUGIN_STATE_SCOPE_KINDS)[number]; /** Statuses for a plugin's scheduled job definition. */ export declare const PLUGIN_JOB_STATUSES: readonly ["active", "paused", "failed"]; export type PluginJobStatus = (typeof PLUGIN_JOB_STATUSES)[number]; /** Statuses for individual job run executions. */ export declare const PLUGIN_JOB_RUN_STATUSES: readonly ["pending", "queued", "running", "succeeded", "failed", "cancelled"]; export type PluginJobRunStatus = (typeof PLUGIN_JOB_RUN_STATUSES)[number]; /** What triggered a particular job run. */ export declare const PLUGIN_JOB_RUN_TRIGGERS: readonly ["schedule", "manual", "retry"]; export type PluginJobRunTrigger = (typeof PLUGIN_JOB_RUN_TRIGGERS)[number]; /** Statuses for inbound webhook deliveries. */ export declare const PLUGIN_WEBHOOK_DELIVERY_STATUSES: readonly ["pending", "success", "failed"]; export type PluginWebhookDeliveryStatus = (typeof PLUGIN_WEBHOOK_DELIVERY_STATUSES)[number]; /** * Core domain event types that plugins can subscribe to via the * `events.subscribe` capability. * * @see PLUGIN_SPEC.md §16 — Event System */ export declare const PLUGIN_EVENT_TYPES: readonly ["company.created", "company.updated", "project.created", "project.updated", "project.workspace_created", "project.workspace_updated", "project.workspace_deleted", "issue.created", "issue.updated", "issue.comment.created", "issue.document.created", "issue.document.updated", "issue.document.deleted", "issue.relations.updated", "issue.checked_out", "issue.released", "issue.assignment_wakeup_requested", "agent.created", "agent.updated", "agent.status_changed", "agent.error_cleared", "agent.run.started", "agent.run.finished", "agent.run.failed", "agent.run.cancelled", "goal.created", "goal.updated", "approval.created", "approval.decided", "budget.incident.opened", "budget.incident.resolved", "cost_event.created", "activity.logged"]; export type PluginEventType = (typeof PLUGIN_EVENT_TYPES)[number]; /** * Error codes returned by the plugin bridge when a UI → worker call fails. * * @see PLUGIN_SPEC.md §19.7 — Error Propagation Through The Bridge */ export declare const PLUGIN_BRIDGE_ERROR_CODES: readonly ["WORKER_UNAVAILABLE", "CAPABILITY_DENIED", "INVOCATION_SCOPE_DENIED", "WORKER_ERROR", "TIMEOUT", "UNKNOWN"]; export type PluginBridgeErrorCode = (typeof PLUGIN_BRIDGE_ERROR_CODES)[number]; //# sourceMappingURL=constants.d.ts.map