@capybara-hq/kernel 0.1.0-rc.4 → 0.1.0-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +61 -5
- package/dist/admin/admin.controller.d.ts +39 -13
- package/dist/admin/admin.controller.js +33 -17
- package/dist/admin/extensions.controller.d.ts +16 -2
- package/dist/admin/extensions.controller.js +26 -6
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/agents/agent-lookup.d.ts +16 -0
- package/dist/agents/agent-lookup.js +11 -0
- package/dist/agents/agents.controller.d.ts +76 -1
- package/dist/agents/agents.controller.js +90 -11
- package/dist/agents/agents.module.d.ts +4 -1
- package/dist/agents/agents.module.js +32 -6
- package/dist/agents/agents.service.d.ts +51 -22
- package/dist/agents/agents.service.js +172 -70
- package/dist/agents/definition.d.ts +49 -0
- package/dist/agents/definition.js +45 -0
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +649 -0
- package/dist/agents/from-template.service.d.ts +60 -0
- package/dist/agents/from-template.service.js +161 -0
- package/dist/agents/org-templates.d.ts +176 -0
- package/dist/agents/org-templates.js +827 -0
- package/dist/agents/pending-connector-requests.d.ts +77 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/templates.controller.d.ts +86 -5
- package/dist/agents/templates.controller.js +171 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +475 -52
- package/dist/background/background.module.js +8 -1
- package/dist/background/finish.d.ts +3 -2
- package/dist/background/launch-lock.d.ts +4 -3
- package/dist/background/launch-lock.js +4 -3
- package/dist/background/poll.job.d.ts +9 -6
- package/dist/background/poll.job.js +30 -22
- package/dist/background/session.d.ts +13 -2
- package/dist/background/session.js +13 -0
- package/dist/background/stop.d.ts +12 -6
- package/dist/background/stop.js +57 -39
- package/dist/background/store.d.ts +18 -6
- package/dist/background/store.js +12 -6
- package/dist/background/tasks.service.d.ts +15 -5
- package/dist/background/tasks.service.js +42 -17
- package/dist/background/wake-rules.d.ts +27 -18
- package/dist/background/wake-rules.js +52 -22
- package/dist/background/wake.d.ts +13 -11
- package/dist/background/wake.js +20 -14
- package/dist/catalog/admin-catalog.controller.d.ts +129 -30
- package/dist/catalog/admin-catalog.controller.js +213 -42
- package/dist/catalog/catalog-content.d.ts +58 -32
- package/dist/catalog/catalog-content.js +34 -8
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +111 -7
- package/dist/catalog/catalog-items.js +279 -13
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1116 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +41 -31
- package/dist/catalog/catalog.service.d.ts +101 -29
- package/dist/catalog/catalog.service.js +104 -106
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +26 -1
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +152 -0
- package/dist/catalog/component-scope.controller.js +287 -0
- package/dist/catalog/component-scope.service.d.ts +303 -0
- package/dist/catalog/component-scope.service.js +936 -0
- package/dist/catalog/component-state.d.ts +174 -0
- package/dist/catalog/component-state.js +437 -0
- package/dist/catalog/job-ids.d.ts +30 -0
- package/dist/catalog/job-ids.js +25 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplaces.controller.d.ts +22 -5
- package/dist/catalog/marketplaces.controller.js +56 -7
- package/dist/catalog/marketplaces.service.d.ts +54 -14
- package/dist/catalog/marketplaces.service.js +71 -22
- package/dist/catalog/org-catalog.controller.d.ts +125 -34
- package/dist/catalog/org-catalog.controller.js +181 -65
- package/dist/catalog/org-catalog.service.d.ts +65 -33
- package/dist/catalog/org-catalog.service.js +324 -157
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +119 -0
- package/dist/catalog/org-extension.controller.js +266 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +98 -0
- package/dist/catalog/org-plugin-uploads.controller.js +213 -0
- package/dist/catalog/org-plugin-uploads.d.ts +63 -0
- package/dist/catalog/org-plugin-uploads.js +116 -0
- package/dist/catalog/owned-items.d.ts +184 -0
- package/dist/catalog/owned-items.js +789 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +221 -0
- package/dist/catalog/platform-components.js +761 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +178 -34
- package/dist/catalog/plugin-import.js +622 -82
- package/dist/catalog/plugin-install.d.ts +185 -41
- package/dist/catalog/plugin-install.js +758 -126
- package/dist/catalog/plugin-upgrade.d.ts +260 -225
- package/dist/catalog/plugin-upgrade.js +1147 -1136
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +193 -118
- package/dist/catalog/requests.service.js +526 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +118 -0
- package/dist/channels/actions.js +1 -0
- package/dist/channels/cards.js +20 -2
- package/dist/channels/channels.module.js +2 -0
- package/dist/channels/inbound.d.ts +9 -1
- package/dist/channels/inbound.js +67 -5
- package/dist/channels/phrases.d.ts +35 -0
- package/dist/channels/phrases.js +29 -0
- package/dist/config/docs.js +3 -1
- package/dist/config/schema.d.ts +6 -2
- package/dist/config/schema.js +46 -22
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +27 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/conversations.controller.d.ts +43 -18
- package/dist/conversations/conversations.controller.js +79 -38
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +7 -7
- package/dist/conversations/conversations.service.d.ts +69 -12
- package/dist/conversations/conversations.service.js +106 -27
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +20 -5
- package/dist/conversations/event-log.js +60 -0
- package/dist/conversations/events.d.ts +84 -2
- package/dist/conversations/events.js +91 -17
- package/dist/conversations/queue.service.d.ts +1 -1
- package/dist/conversations/queue.service.js +5 -0
- package/dist/conversations/titles.d.ts +5 -3
- package/dist/conversations/titles.js +21 -8
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +5 -0
- package/dist/ctx/create-ctx.js +15 -5
- package/dist/db/kernel-schema.d.ts +362 -18
- package/dist/environments/access.d.ts +41 -0
- package/dist/environments/access.js +77 -0
- package/dist/environments/conversation-environments.d.ts +61 -0
- package/dist/environments/conversation-environments.js +170 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +33 -0
- package/dist/environments/environments.controller.js +110 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +27 -0
- package/dist/environments/environments.service.d.ts +153 -0
- package/dist/environments/environments.service.js +541 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +82 -2
- package/dist/errors.js +82 -2
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +26 -7
- package/dist/evals/run-replay.d.ts +4 -2
- package/dist/evals/run-replay.js +16 -4
- package/dist/evals/step-replay.d.ts +2 -5
- package/dist/evals/step-replay.js +1 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +36 -10
- package/dist/extensions/admin-ops.js +65 -42
- package/dist/extensions/admin-view.d.ts +37 -10
- package/dist/extensions/admin-view.js +103 -20
- package/dist/extensions/bootstrap.d.ts +17 -4
- package/dist/extensions/bootstrap.js +70 -9
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/deployment-config.d.ts +28 -5
- package/dist/extensions/deployment-config.js +48 -7
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/extensions.module.js +8 -2
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +19 -1
- package/dist/extensions/host.js +30 -7
- package/dist/extensions/installs.d.ts +20 -8
- package/dist/extensions/installs.js +37 -15
- package/dist/extensions/org-config.d.ts +75 -6
- package/dist/extensions/org-config.js +184 -32
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/permission-view.d.ts +16 -4
- package/dist/extensions/permission-view.js +4 -4
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.d.ts +12 -5
- package/dist/extensions/point-defaults.js +37 -9
- package/dist/extensions/resolve.d.ts +5 -1
- package/dist/extensions/resolve.js +15 -2
- package/dist/files/previewers.d.ts +8 -1
- package/dist/files/previewers.js +35 -6
- package/dist/http/api.module.js +23 -3
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/identity/accounts.d.ts +29 -29
- package/dist/identity/accounts.js +47 -47
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +26 -9
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +4 -4
- package/dist/identity/me.controller.js +1 -1
- package/dist/identity/principal.d.ts +3 -3
- package/dist/identity/principal.js +3 -3
- package/dist/identity/settings.d.ts +22 -11
- package/dist/identity/settings.js +53 -18
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.service.d.ts +62 -3
- package/dist/inbox/inbox.service.js +74 -4
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +21 -1
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +11 -2
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/kernel.module.js +6 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +1 -1
- package/dist/lifecycle/kernel-lifecycle.js +4 -4
- package/dist/models/prices.d.ts +5 -5
- package/dist/models/prices.js +4 -4
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +20 -9
- package/dist/models/purposes.js +17 -8
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +9 -7
- package/dist/orgs/offboarding.js +28 -17
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.module.js +3 -0
- package/dist/orgs/orgs.service.d.ts +20 -7
- package/dist/orgs/orgs.service.js +32 -12
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +15 -3
- package/dist/orgs/settings.service.js +6 -2
- package/dist/overrides.d.ts +3 -0
- package/dist/overrides.js +2 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +11 -0
- package/dist/platform/errors.js +26 -0
- package/dist/platform/exclusions.d.ts +12 -0
- package/dist/platform/exclusions.js +1387 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +92 -0
- package/dist/platform/operation.js +35 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +14 -0
- package/dist/platform/ops/agent-templates.ops.js +92 -0
- package/dist/platform/ops/agents.ops.d.ts +19 -0
- package/dist/platform/ops/agents.ops.js +294 -0
- package/dist/platform/ops/connectors.ops.d.ts +15 -0
- package/dist/platform/ops/connectors.ops.js +126 -0
- package/dist/platform/ops/errors.d.ts +11 -0
- package/dist/platform/ops/errors.js +22 -0
- package/dist/platform/ops/extensions.ops.d.ts +19 -0
- package/dist/platform/ops/extensions.ops.js +116 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +16 -0
- package/dist/platform/ops/marketplaces.ops.js +157 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +23 -0
- package/dist/platform/ops/platform.ops.js +158 -0
- package/dist/platform/ops/plugins.ops.d.ts +33 -0
- package/dist/platform/ops/plugins.ops.js +377 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +153 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +13 -0
- package/dist/platform/ops/skills.ops.js +98 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/platform-ops.module.d.ts +7 -0
- package/dist/platform/platform-ops.module.js +55 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/redact-orgs.d.ts +7 -0
- package/dist/platform/redact-orgs.js +52 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +9 -1
- package/dist/runtime/context/build.d.ts +6 -4
- package/dist/runtime/context/build.js +26 -7
- package/dist/runtime/context/claude-tools.d.ts +2 -1
- package/dist/runtime/context/claude-tools.js +5 -4
- package/dist/runtime/context/compaction.js +9 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/skills.js +9 -2
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/hook-calls.js +2 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +35 -17
- package/dist/runtime/loop.d.ts +32 -4
- package/dist/runtime/maintenance.d.ts +7 -4
- package/dist/runtime/maintenance.js +23 -8
- package/dist/runtime/model-call.d.ts +30 -8
- package/dist/runtime/model-call.js +69 -19
- package/dist/runtime/run-control.d.ts +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +3 -7
- package/dist/runtime/run-queue.d.ts +37 -3
- package/dist/runtime/run-queue.js +188 -11
- package/dist/runtime/run-worker.d.ts +11 -5
- package/dist/runtime/run-worker.js +54 -31
- package/dist/runtime/runtime.module.js +3 -0
- package/dist/runtime/step-log.d.ts +9 -4
- package/dist/runtime/step-log.js +8 -5
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +12 -3
- package/dist/runtime/subagents/definition.js +43 -29
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +115 -26
- package/dist/runtime/subagents/dispatch.js +212 -141
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +24 -7
- package/dist/runtime/subagents/roster.js +47 -11
- package/dist/runtime/subagents/skill-fork.d.ts +3 -2
- package/dist/runtime/subagents/skill-fork.js +8 -4
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +7 -4
- package/dist/runtime/subagents/subagents.service.js +11 -6
- package/dist/runtime/usage-report.js +17 -12
- package/dist/runtime/waits.d.ts +140 -37
- package/dist/runtime/waits.js +394 -106
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +2 -2
- package/dist/sandbox/providers.js +1 -1
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +4 -3
- package/dist/sandbox/sandbox.service.d.ts +229 -134
- package/dist/sandbox/sandbox.service.js +630 -409
- package/dist/skills/catalog.d.ts +3 -2
- package/dist/skills/catalog.js +21 -43
- package/dist/skills/changes.controller.d.ts +7 -0
- package/dist/skills/changes.controller.js +19 -1
- package/dist/skills/invoke.js +8 -3
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +39 -4
- package/dist/skills/skills.controller.js +88 -10
- package/dist/skills/skills.module.js +10 -1
- package/dist/skills/skills.service.d.ts +106 -26
- package/dist/skills/skills.service.js +421 -75
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/tools/approvals.service.d.ts +20 -2
- package/dist/tools/approvals.service.js +23 -4
- package/dist/tools/builtin-names.d.ts +21 -5
- package/dist/tools/builtin-names.js +30 -5
- package/dist/tools/builtins/agent.d.ts +23 -21
- package/dist/tools/builtins/agent.js +62 -55
- package/dist/tools/builtins/builtin-tools.d.ts +6 -2
- package/dist/tools/builtins/builtin-tools.js +37 -12
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +34 -0
- package/dist/tools/builtins/platform.js +362 -0
- package/dist/tools/builtins/sandbox/bash.js +13 -3
- package/dist/tools/builtins/sandbox/common.d.ts +43 -24
- package/dist/tools/builtins/sandbox/common.js +80 -45
- package/dist/tools/builtins/sandbox/edit.js +2 -2
- package/dist/tools/builtins/sandbox/glob.js +2 -2
- package/dist/tools/builtins/sandbox/grep.js +2 -4
- package/dist/tools/builtins/sandbox/index.d.ts +1 -1
- package/dist/tools/builtins/sandbox/index.js +1 -1
- package/dist/tools/builtins/sandbox/read.js +1 -1
- package/dist/tools/builtins/sandbox/task-output.d.ts +14 -3
- package/dist/tools/builtins/sandbox/task-output.js +30 -5
- package/dist/tools/builtins/sandbox/task-stop.js +2 -1
- package/dist/tools/builtins/sandbox/write.js +2 -2
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +22 -14
- package/dist/tools/builtins/skill-load.js +86 -57
- package/dist/tools/builtins/skill-write.js +1 -1
- package/dist/tools/builtins/web/extract.js +5 -1
- package/dist/tools/builtins/web/fetch.js +1 -0
- package/dist/tools/builtins/web/search.js +1 -0
- package/dist/tools/connectors.controller.d.ts +10 -0
- package/dist/tools/connectors.controller.js +12 -0
- package/dist/tools/connectors.service.d.ts +46 -5
- package/dist/tools/connectors.service.js +94 -15
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +42 -1
- package/dist/tools/info.js +64 -1
- package/dist/tools/org-tool-switches.d.ts +74 -0
- package/dist/tools/org-tool-switches.js +184 -0
- package/dist/tools/pipeline.d.ts +46 -40
- package/dist/tools/pipeline.js +187 -364
- package/dist/tools/policy.d.ts +1 -1
- package/dist/tools/policy.js +36 -16
- package/dist/tools/registry.d.ts +98 -5
- package/dist/tools/registry.js +87 -9
- package/dist/tools/tools.module.js +12 -2
- package/dist/ui/views.d.ts +2 -1
- package/dist/ui/views.js +17 -3
- package/package.json +3 -3
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -32
- package/dist/extensions/org-config.controller.js +0 -70
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SkillInvocation } from "@capybara-hq/plugin-sdk";
|
|
1
|
+
import type { FileSystemHandle, SkillInvocation } from "@capybara-hq/plugin-sdk";
|
|
2
2
|
import type { ColumnType, Generated, Kysely } from "kysely";
|
|
3
3
|
/** 带默认值的时间戳列:插入可省略,读出为 Date。 */
|
|
4
4
|
type Ts = ColumnType<Date, Date | string | undefined, Date | string>;
|
|
@@ -11,7 +11,7 @@ export interface AccountsTable {
|
|
|
11
11
|
email: string | null;
|
|
12
12
|
email_verified: Generated<boolean>;
|
|
13
13
|
status: Generated<"active" | "disabled">;
|
|
14
|
-
|
|
14
|
+
is_super_admin: Generated<boolean>;
|
|
15
15
|
created_at: Ts;
|
|
16
16
|
updated_at: Ts;
|
|
17
17
|
/** 0064: the org the account last chose as current; a new session starts in it. */
|
|
@@ -113,6 +113,26 @@ export interface ExtensionOrgConfigsTable {
|
|
|
113
113
|
updated_by: string | null;
|
|
114
114
|
updated_at: Ts;
|
|
115
115
|
}
|
|
116
|
+
/** An org's copy of an extension's overridable deployment config fields (0086, spec A §5.4). */
|
|
117
|
+
export interface ExtensionOrgOverridesTable {
|
|
118
|
+
plugin: string;
|
|
119
|
+
org_id: string;
|
|
120
|
+
/** The copy's non-secret values (its secrets are in `secrets`). */
|
|
121
|
+
config: ColumnType<Record<string, unknown>, string | undefined, string>;
|
|
122
|
+
created_by: string | null;
|
|
123
|
+
created_at: Ts;
|
|
124
|
+
updated_by: string | null;
|
|
125
|
+
updated_at: Ts;
|
|
126
|
+
}
|
|
127
|
+
/** An org admin's switch of one extension tool (0086, spec A §7). */
|
|
128
|
+
export interface OrgToolSwitchesTable {
|
|
129
|
+
org_id: string;
|
|
130
|
+
plugin: string;
|
|
131
|
+
tool: string;
|
|
132
|
+
enabled: boolean;
|
|
133
|
+
updated_by: string | null;
|
|
134
|
+
updated_at: Ts;
|
|
135
|
+
}
|
|
116
136
|
export interface AuditEventsTable {
|
|
117
137
|
id: Generated<string>;
|
|
118
138
|
at: Ts;
|
|
@@ -156,6 +176,10 @@ export interface AgentsTable {
|
|
|
156
176
|
profile_description: Generated<string>;
|
|
157
177
|
profile_quick_actions: ColumnType<unknown[], string | undefined, string>;
|
|
158
178
|
profile_updated_at: Ts;
|
|
179
|
+
/** 0085: the template the agent was created from (display only, no FK). */
|
|
180
|
+
created_from_template_id: NullableCol<string>;
|
|
181
|
+
created_from_template_version: NullableCol<number>;
|
|
182
|
+
created_from_template_name: NullableCol<string>;
|
|
159
183
|
created_at: Ts;
|
|
160
184
|
updated_at: Ts;
|
|
161
185
|
deleted_at: TsNullable;
|
|
@@ -210,6 +234,10 @@ export interface ConversationsTable {
|
|
|
210
234
|
archived_at: ColumnType<Date | null, Date | string | null | undefined, Date | string | null>;
|
|
211
235
|
/** 0065: when the owner deleted it (soft delete: hidden everywhere for the owner); null = live. */
|
|
212
236
|
deleted_at: ColumnType<Date | null, Date | string | null | undefined, Date | string | null>;
|
|
237
|
+
/** 0074: levels below the root conversation (0 = a root; a sub-agent's is its parent's + 1). */
|
|
238
|
+
subagent_depth: ColumnType<number, number | undefined, number>;
|
|
239
|
+
/** 0088: the environment the conversation runs in; null = not chosen yet. */
|
|
240
|
+
environment_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
213
241
|
}
|
|
214
242
|
/** 0060: an org's order of file-preview@1 previewers (UI refresh B Task 11). */
|
|
215
243
|
export interface FilePreviewersTable {
|
|
@@ -288,6 +316,11 @@ export interface RunsTable {
|
|
|
288
316
|
subagent_tokens_used: Int8;
|
|
289
317
|
/** 0054: when this run's `subagents` wait expires (set while it waits on sub-agents). */
|
|
290
318
|
wait_expires_at: TsNullable;
|
|
319
|
+
/**
|
|
320
|
+
* 0074: the person-triggered root run whose budget window this run counts against (dispatches
|
|
321
|
+
* and its descendants' tokens, agent map spec §6); null = the run is its own budget run.
|
|
322
|
+
*/
|
|
323
|
+
budget_run_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
291
324
|
}
|
|
292
325
|
/** 0053: one row per sub-agent dispatch (an `Agent` call of a parent run). */
|
|
293
326
|
export interface SubagentDispatchesTable {
|
|
@@ -300,19 +333,29 @@ export interface SubagentDispatchesTable {
|
|
|
300
333
|
/** A follow-up to an existing sub-agent, not a new one. */
|
|
301
334
|
resumed: ColumnType<boolean, boolean | undefined, boolean>;
|
|
302
335
|
created_at: Ts;
|
|
336
|
+
/** 0074: the budget run the dispatch counts against (`runs.budget_run_id` of the tree). */
|
|
337
|
+
budget_run_id: string;
|
|
338
|
+
/** 0074: the dispatch of a `context: fork` skill invocation (phase D). */
|
|
339
|
+
for_skill: ColumnType<boolean, boolean | undefined, boolean>;
|
|
303
340
|
}
|
|
304
341
|
/** 0053: an agent template installed in an org from a plugin. */
|
|
305
342
|
export interface AgentTemplatesTable {
|
|
306
343
|
id: string;
|
|
344
|
+
/** 0084: the owner shares this template with other orgs. */
|
|
345
|
+
shareable: Dflt<boolean>;
|
|
307
346
|
org_id: string;
|
|
308
347
|
name: string;
|
|
309
348
|
catalog_item_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
310
|
-
/** The plugin that installed it
|
|
311
|
-
plugin_name: string
|
|
349
|
+
/** The plugin that installed it: the roster type is `<plugin>:<name>`; null (0081, nullable) = the bare `<name>`. */
|
|
350
|
+
plugin_name: ColumnType<string | null, string | null | undefined, string | null>;
|
|
312
351
|
current_version: number;
|
|
313
352
|
deleted_at: TsNullable;
|
|
314
353
|
created_at: Ts;
|
|
315
354
|
updated_at: Ts;
|
|
355
|
+
/** 0081: the platform template this copy links to (null = none). */
|
|
356
|
+
platform_template_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
357
|
+
/** 0081: a pin keeps the copy on its own stored version (ruling B2). */
|
|
358
|
+
pinned_version: ColumnType<number | null, number | null | undefined, number | null>;
|
|
316
359
|
}
|
|
317
360
|
/** 0053: one version of an agent template; `definition` is the parsed frontmatter and body. */
|
|
318
361
|
export interface AgentTemplateVersionsTable {
|
|
@@ -353,6 +396,8 @@ export interface ConnectorsTable {
|
|
|
353
396
|
catalog_version: ColumnType<string | null, string | null | undefined, string | null>;
|
|
354
397
|
/** 0037:模板的 defaultToolPolicies(授权码连接器在首个快照时应用)。 */
|
|
355
398
|
template_tool_policies: ColumnType<Record<string, "allow" | "ask" | "deny"> | null, string | null | undefined, string | null>;
|
|
399
|
+
/** 0081: the platform connector template this connector was made from (null = none). */
|
|
400
|
+
platform_template_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
356
401
|
}
|
|
357
402
|
/** 0010_tools.sql(0033 由 `app_tools` 改名):连接器暴露的工具。 */
|
|
358
403
|
export interface ConnectorToolsTable {
|
|
@@ -419,6 +464,13 @@ export interface ApprovalsTable {
|
|
|
419
464
|
attempt: Generated<number>;
|
|
420
465
|
/** 0056: the reason given with a denial (null without one). */
|
|
421
466
|
deny_reason: Generated<string | null>;
|
|
467
|
+
/** 0086: the kernel-rendered summary of the call (per-call policies; null without one). */
|
|
468
|
+
summary: ColumnType<{
|
|
469
|
+
zh: string;
|
|
470
|
+
en: string;
|
|
471
|
+
} | null, string | null | undefined, string | null>;
|
|
472
|
+
/** 0086: the scopes the person may choose (null: derived, see `approvals.service.ts`). */
|
|
473
|
+
scopes: ColumnType<("once" | "session" | "always")[] | null, ("once" | "session" | "always")[] | null | undefined, ("once" | "session" | "always")[] | null>;
|
|
422
474
|
}
|
|
423
475
|
/** 0010_tools.sql:AskUserQuestion 提问。 */
|
|
424
476
|
export interface QuestionsTable {
|
|
@@ -591,13 +643,16 @@ export interface SkillManifest {
|
|
|
591
643
|
/** 0024_skills.sql:技能(组织技能库 / agent 自己的技能)。 */
|
|
592
644
|
export interface SkillsTable {
|
|
593
645
|
id: string;
|
|
646
|
+
/** 0084: the owner shares this copy with other orgs. */
|
|
647
|
+
shareable: Dflt<boolean>;
|
|
594
648
|
org_id: string;
|
|
595
649
|
scope: "org" | "agent";
|
|
596
650
|
agent_id: string | null;
|
|
597
651
|
name: string;
|
|
598
652
|
description: string;
|
|
599
653
|
current_version: number;
|
|
600
|
-
|
|
654
|
+
/** 0076: null for a skill the kernel created (the plugin scope sync). */
|
|
655
|
+
created_by: string | null;
|
|
601
656
|
created_at: Ts;
|
|
602
657
|
updated_at: Ts;
|
|
603
658
|
deleted_at: TsNullable;
|
|
@@ -607,6 +662,10 @@ export interface SkillsTable {
|
|
|
607
662
|
*/
|
|
608
663
|
catalog_item_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
609
664
|
catalog_version: ColumnType<string | null, string | null | undefined, string | null>;
|
|
665
|
+
/** 0081: the platform skill this copy links to (null = none). */
|
|
666
|
+
platform_skill_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
667
|
+
/** 0081: a pin keeps the copy on its own stored version (ruling B2). */
|
|
668
|
+
pinned_version: ColumnType<number | null, number | null | undefined, number | null>;
|
|
610
669
|
}
|
|
611
670
|
/** 0024_skills.sql:技能的版本。 */
|
|
612
671
|
export interface SkillVersionsTable {
|
|
@@ -614,10 +673,11 @@ export interface SkillVersionsTable {
|
|
|
614
673
|
version: number;
|
|
615
674
|
manifest: Json<SkillManifest>;
|
|
616
675
|
object_prefix: string;
|
|
617
|
-
|
|
676
|
+
/** 0076: null for a version the kernel created (the plugin scope sync). */
|
|
677
|
+
created_by: string | null;
|
|
618
678
|
created_at: Ts;
|
|
619
679
|
/**
|
|
620
|
-
* 0037, renamed in 0042: this version's
|
|
680
|
+
* 0037, renamed in 0042: this version's platform catalog source (NULL for custom uploads /
|
|
621
681
|
* agent skills).
|
|
622
682
|
*/
|
|
623
683
|
catalog_item_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
@@ -678,9 +738,11 @@ export interface BackgroundTasksTable {
|
|
|
678
738
|
read_offset: ColumnType<string, number | string | undefined, number | string>;
|
|
679
739
|
/** Set while a stop is under way (0072); the poller skips such a task. */
|
|
680
740
|
stopping_at: ColumnType<Date | null, Date | string | null | undefined, Date | string | null>;
|
|
741
|
+
/** 0088: the environment the task runs in. */
|
|
742
|
+
environment_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
681
743
|
}
|
|
682
|
-
/** 0023_sandboxes.sql
|
|
683
|
-
export interface
|
|
744
|
+
/** 0023_sandboxes.sql: the legacy per-conversation sandbox; kept only for the cleanup job (0088). */
|
|
745
|
+
export interface LegacySandboxesTable {
|
|
684
746
|
conversation_id: string;
|
|
685
747
|
org_id: string;
|
|
686
748
|
provider: string;
|
|
@@ -707,6 +769,55 @@ export interface SandboxesTable {
|
|
|
707
769
|
} | null, string | null | undefined, string | null>;
|
|
708
770
|
sweep_failed_at: TsNullable;
|
|
709
771
|
}
|
|
772
|
+
type InstanceHandle = ColumnType<{
|
|
773
|
+
id: string;
|
|
774
|
+
[k: string]: unknown;
|
|
775
|
+
} | null, string | null | undefined, string | null>;
|
|
776
|
+
/** 0088_environments.sql: a long-lived environment (one instance plus a kept file system). */
|
|
777
|
+
export interface EnvironmentsTable {
|
|
778
|
+
id: string;
|
|
779
|
+
org_id: string;
|
|
780
|
+
owner_kind: "personal";
|
|
781
|
+
owner_account_id: string;
|
|
782
|
+
name: ColumnType<string | null, string | null | undefined, string | null>;
|
|
783
|
+
is_default: ColumnType<boolean, boolean | undefined, boolean>;
|
|
784
|
+
source: "cloud";
|
|
785
|
+
provider: ColumnType<string | null, string | null | undefined, string | null>;
|
|
786
|
+
created_at: Ts;
|
|
787
|
+
updated_at: Ts;
|
|
788
|
+
deleted_at: TsNullable;
|
|
789
|
+
}
|
|
790
|
+
/** 0088_environments.sql: the instance and file system of an environment (replaces sandboxes). */
|
|
791
|
+
export interface EnvironmentInstancesTable {
|
|
792
|
+
environment_id: string;
|
|
793
|
+
org_id: string;
|
|
794
|
+
provider: ColumnType<string | null, string | null | undefined, string | null>;
|
|
795
|
+
/** The provider's `FileSystemHandle`; null before the file system exists or after a reset. */
|
|
796
|
+
fs_handle: ColumnType<FileSystemHandle | null, string | null | undefined, string | null>;
|
|
797
|
+
fs_status: ColumnType<"none" | "ready" | "lost", "none" | "ready" | "lost" | undefined, "none" | "ready" | "lost">;
|
|
798
|
+
handle: InstanceHandle;
|
|
799
|
+
status: ColumnType<"none" | "creating" | "running" | "suspended" | "destroyed", "none" | "creating" | "running" | "suspended" | "destroyed" | undefined, "none" | "creating" | "running" | "suspended" | "destroyed">;
|
|
800
|
+
last_used_at: Ts;
|
|
801
|
+
running_since: TsNullable;
|
|
802
|
+
created_at: Ts;
|
|
803
|
+
suspended_at: TsNullable;
|
|
804
|
+
destroyed_at: TsNullable;
|
|
805
|
+
/** Fencing number: every status / handle write under the lock compares and increments it. */
|
|
806
|
+
generation: ColumnType<number, number | undefined, number>;
|
|
807
|
+
/** An instance was created at least once (only ever set to true). */
|
|
808
|
+
had_instance: ColumnType<boolean, boolean | undefined, boolean>;
|
|
809
|
+
/** The old provider's instance left behind by a provider change. */
|
|
810
|
+
prev_provider: ColumnType<string | null, string | null | undefined, string | null>;
|
|
811
|
+
prev_handle: InstanceHandle;
|
|
812
|
+
sweep_failed_at: TsNullable;
|
|
813
|
+
}
|
|
814
|
+
/** 0088_environments.sql: the environment a member's new conversations use by default. */
|
|
815
|
+
export interface EnvironmentDefaultsTable {
|
|
816
|
+
org_id: string;
|
|
817
|
+
account_id: string;
|
|
818
|
+
environment_id: string;
|
|
819
|
+
updated_at: Ts;
|
|
820
|
+
}
|
|
710
821
|
/** pg numeric:驱动读出为字符串(精确小数),读取方自行 `Number()`。 */
|
|
711
822
|
type Numeric = ColumnType<string, number | string, number | string>;
|
|
712
823
|
type NumericNullable = ColumnType<string | null, number | string | null, number | string | null>;
|
|
@@ -860,7 +971,7 @@ export interface ExtensionInstallsTable {
|
|
|
860
971
|
installed_at: Ts;
|
|
861
972
|
updated_by: string | null;
|
|
862
973
|
updated_at: Ts;
|
|
863
|
-
/** 0034 (F-AA): the source item when installed through the
|
|
974
|
+
/** 0034 (F-AA): the source item when installed through the platform catalog. */
|
|
864
975
|
catalog_item_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
865
976
|
/**
|
|
866
977
|
* 0050: a required bootstrap plugin (enabled in every org without an org config row; cannot be
|
|
@@ -912,6 +1023,8 @@ export interface KernelDatabase {
|
|
|
912
1023
|
api_tokens: ApiTokensTable;
|
|
913
1024
|
deployment_settings: DeploymentSettingsTable;
|
|
914
1025
|
extension_org_configs: ExtensionOrgConfigsTable;
|
|
1026
|
+
extension_org_overrides: ExtensionOrgOverridesTable;
|
|
1027
|
+
org_tool_switches: OrgToolSwitchesTable;
|
|
915
1028
|
audit_events: AuditEventsTable;
|
|
916
1029
|
secrets: SecretsTable;
|
|
917
1030
|
agents: AgentsTable;
|
|
@@ -944,7 +1057,10 @@ export interface KernelDatabase {
|
|
|
944
1057
|
org_anonymous_accounts: OrgAnonymousAccountsTable;
|
|
945
1058
|
directory_exclusions: DirectoryExclusionsTable;
|
|
946
1059
|
attachments: AttachmentsTable;
|
|
947
|
-
sandboxes:
|
|
1060
|
+
sandboxes: LegacySandboxesTable;
|
|
1061
|
+
environments: EnvironmentsTable;
|
|
1062
|
+
environment_instances: EnvironmentInstancesTable;
|
|
1063
|
+
environment_defaults: EnvironmentDefaultsTable;
|
|
948
1064
|
background_tasks: BackgroundTasksTable;
|
|
949
1065
|
skills: SkillsTable;
|
|
950
1066
|
skill_versions: SkillVersionsTable;
|
|
@@ -969,10 +1085,70 @@ export interface KernelDatabase {
|
|
|
969
1085
|
plugin_import_staging: PluginImportStagingTable;
|
|
970
1086
|
catalog_requests: CatalogRequestsTable;
|
|
971
1087
|
catalog_org_grants: CatalogOrgGrantsTable;
|
|
1088
|
+
catalog_item_scope_orgs: CatalogItemScopeOrgsTable;
|
|
1089
|
+
catalog_item_org_switches: CatalogItemOrgSwitchesTable;
|
|
1090
|
+
platform_skills: PlatformSkillsTable;
|
|
1091
|
+
platform_skill_versions: PlatformSkillVersionsTable;
|
|
1092
|
+
platform_agent_templates: PlatformAgentTemplatesTable;
|
|
1093
|
+
platform_agent_template_versions: PlatformAgentTemplateVersionsTable;
|
|
1094
|
+
platform_connector_templates: PlatformConnectorTemplatesTable;
|
|
1095
|
+
component_scope_orgs: ComponentScopeOrgsTable;
|
|
1096
|
+
component_org_switches: ComponentOrgSwitchesTable;
|
|
972
1097
|
plugin_installs: PluginInstallsTable;
|
|
973
1098
|
plugin_install_components: PluginInstallComponentsTable;
|
|
974
1099
|
extension_catalog_sources: ExtensionCatalogSourcesTable;
|
|
975
1100
|
bootstrap_runs: BootstrapRunsTable;
|
|
1101
|
+
platform_migration_runs: PlatformMigrationRunsTable;
|
|
1102
|
+
org_notices: OrgNoticesTable;
|
|
1103
|
+
platform_notices: PlatformNoticesTable;
|
|
1104
|
+
plugin_scope_sync_failures: PluginScopeSyncFailuresTable;
|
|
1105
|
+
}
|
|
1106
|
+
/** 0082: one run of the platform components migration job (`catalog/platform-migration.ts`). */
|
|
1107
|
+
export interface PlatformMigrationRunsTable {
|
|
1108
|
+
id: string;
|
|
1109
|
+
started_at: Ts;
|
|
1110
|
+
finished_at: TsNullable;
|
|
1111
|
+
stats: Json<Record<string, unknown>>;
|
|
1112
|
+
}
|
|
1113
|
+
/** 0082: the kinds of {@link OrgNoticesTable}. */
|
|
1114
|
+
export type OrgNoticeKind = "skill_renamed" | "item_shared" | "shared_item_updated" | "upload_confirmed" | "upload_rejected";
|
|
1115
|
+
/** 0082: a notice for an org's admins (an inbox item), until one of them dismisses it. */
|
|
1116
|
+
export interface OrgNoticesTable {
|
|
1117
|
+
id: string;
|
|
1118
|
+
org_id: string;
|
|
1119
|
+
kind: OrgNoticeKind;
|
|
1120
|
+
/** `skill_renamed`: `{ skillId, from, to, platformSkillId, plugin }`. */
|
|
1121
|
+
detail: Json<Record<string, unknown>>;
|
|
1122
|
+
created_at: Ts;
|
|
1123
|
+
dismissed_at: TsNullable;
|
|
1124
|
+
dismissed_by: NullableCol<string>;
|
|
1125
|
+
}
|
|
1126
|
+
/** 0084: a notice for the super admins (platform inbox), until one of them dismisses it. */
|
|
1127
|
+
export interface PlatformNoticesTable {
|
|
1128
|
+
id: string;
|
|
1129
|
+
kind: "ownership_transferred";
|
|
1130
|
+
detail: Json<Record<string, unknown>>;
|
|
1131
|
+
created_at: Ts;
|
|
1132
|
+
dismissed_at: TsNullable;
|
|
1133
|
+
dismissed_by: NullableCol<string>;
|
|
1134
|
+
}
|
|
1135
|
+
/**
|
|
1136
|
+
* 0083: what a failed scope sync attempt was doing: turning the plugin on, off, or installing the
|
|
1137
|
+
* dependencies a platform update added to a live install.
|
|
1138
|
+
*/
|
|
1139
|
+
export type ScopeSyncOp = "install" | "uninstall" | "dependencies";
|
|
1140
|
+
/**
|
|
1141
|
+
* 0083: an open failure of the plugin scope sync for one (item, org): its last attempt failed; the
|
|
1142
|
+
* next sync of the pair that does not fail deletes the row.
|
|
1143
|
+
*/
|
|
1144
|
+
export interface PluginScopeSyncFailuresTable {
|
|
1145
|
+
item_id: string;
|
|
1146
|
+
org_id: string;
|
|
1147
|
+
op: ScopeSyncOp;
|
|
1148
|
+
/** The `ApiError` code, else `internal`. */
|
|
1149
|
+
code: string;
|
|
1150
|
+
message: string;
|
|
1151
|
+
failed_at: Ts;
|
|
976
1152
|
}
|
|
977
1153
|
/** 0050: one row per bootstrap manifest the bootstrap step completed. */
|
|
978
1154
|
export interface BootstrapRunsTable {
|
|
@@ -981,7 +1157,7 @@ export interface BootstrapRunsTable {
|
|
|
981
1157
|
completed_at: Ts;
|
|
982
1158
|
results: ColumnType<unknown, string, string>;
|
|
983
1159
|
}
|
|
984
|
-
/** 0034_directory.sql, renamed in 0042, one kind (plugin) since 0044:
|
|
1160
|
+
/** 0034_directory.sql, renamed in 0042, one kind (plugin) since 0044: platform catalog items. */
|
|
985
1161
|
export interface CatalogItemsTable {
|
|
986
1162
|
id: string;
|
|
987
1163
|
/** The plugin name (one live item per name). */
|
|
@@ -1002,9 +1178,151 @@ export interface CatalogItemsTable {
|
|
|
1002
1178
|
deleted_at: ColumnType<Date | null, Date | string | null | undefined, Date | string | null>;
|
|
1003
1179
|
/** 0035, renamed in 0042: the marketplace it was imported from (null once that is deleted). */
|
|
1004
1180
|
marketplace_id: ColumnType<string | null, string | null | undefined, string | null>;
|
|
1181
|
+
/** 0075: who the plugin is offered to (`named`: the rows of `catalog_item_scope_orgs`). */
|
|
1182
|
+
scope: ColumnType<"all" | "optional" | "named", "all" | "optional" | "named" | undefined, "all" | "optional" | "named">;
|
|
1183
|
+
/** 0075: shipped with the deployment (required bootstrap plugins); always scope `all`. */
|
|
1184
|
+
builtin: ColumnType<boolean, boolean | undefined, boolean>;
|
|
1185
|
+
/** 0075: switched off for every org by the super admin. */
|
|
1186
|
+
disabled: ColumnType<boolean, boolean | undefined, boolean>;
|
|
1187
|
+
/** 0075: bumped on every scope change. */
|
|
1188
|
+
scope_version: ColumnType<number, number | undefined, number>;
|
|
1189
|
+
/** 0077: orgs outside a `named` item's list see it as requestable (never usable). */
|
|
1190
|
+
shown_to_others: ColumnType<boolean, boolean | undefined, boolean>;
|
|
1191
|
+
/** 0082: the version its platform components were last written from (null: never). */
|
|
1192
|
+
platform_synced_version: NullableCol<string>;
|
|
1193
|
+
/** 0084: the owning org (null = the platform). */
|
|
1194
|
+
owner_org_id: NullableDflt<string>;
|
|
1195
|
+
/** 0084: the owner shares it with other orgs (the gate is `owner_org_id IS NULL OR shareable`). */
|
|
1196
|
+
shareable: Dflt<boolean>;
|
|
1197
|
+
/** 0084: an upload waits for the super admin's confirmation of its permission digest. */
|
|
1198
|
+
awaiting_confirmation: Dflt<boolean>;
|
|
1199
|
+
/** 0084: the uploaded version not yet confirmed. */
|
|
1200
|
+
pending_version: NullableDflt<string>;
|
|
1201
|
+
pending_by: NullableDflt<string>;
|
|
1202
|
+
pending_at: NullableDflt<Date | string>;
|
|
1203
|
+
}
|
|
1204
|
+
/** 0075: the orgs a `named` item is offered to. */
|
|
1205
|
+
export interface CatalogItemScopeOrgsTable {
|
|
1206
|
+
item_id: string;
|
|
1207
|
+
org_id: string;
|
|
1208
|
+
}
|
|
1209
|
+
/** 0075: an org's on / off switch of an item's components. */
|
|
1210
|
+
export interface CatalogItemOrgSwitchesTable {
|
|
1211
|
+
item_id: string;
|
|
1212
|
+
org_id: string;
|
|
1213
|
+
enabled: boolean;
|
|
1214
|
+
updated_by: NullableCol<string>;
|
|
1215
|
+
updated_at: Ts;
|
|
1216
|
+
}
|
|
1217
|
+
type ScopeMode = "follow" | "own";
|
|
1218
|
+
type ComponentScope = "all" | "optional" | "named";
|
|
1219
|
+
type ComponentKind = "skill" | "agent_template" | "connector_template";
|
|
1220
|
+
type Dflt<T> = ColumnType<T, T | undefined, T>;
|
|
1221
|
+
type NullableDflt<T> = ColumnType<T | null, T | null | undefined, T | null>;
|
|
1222
|
+
/** 0081: the scope columns every platform component carries (ruling C2). */
|
|
1223
|
+
interface PlatformScopeColumns {
|
|
1224
|
+
scope_mode: Dflt<ScopeMode>;
|
|
1225
|
+
scope: Dflt<ComponentScope>;
|
|
1226
|
+
disabled: Dflt<boolean>;
|
|
1227
|
+
shown_to_others: Dflt<boolean>;
|
|
1228
|
+
scope_version: Dflt<number>;
|
|
1229
|
+
}
|
|
1230
|
+
/** 0081: a skill owned by the deployment (ruling A2). */
|
|
1231
|
+
export interface PlatformSkillsTable extends PlatformScopeColumns {
|
|
1232
|
+
id: string;
|
|
1233
|
+
/** 0084: the owning org (null = the platform). */
|
|
1234
|
+
owner_org_id: NullableDflt<string>;
|
|
1235
|
+
/** 0084: the org it was created in; never changed (F27). */
|
|
1236
|
+
origin_org_id: NullableDflt<string>;
|
|
1237
|
+
/** 0084: the owner shares it with other orgs. */
|
|
1238
|
+
shareable: Dflt<boolean>;
|
|
1239
|
+
catalog_item_id: NullableDflt<string>;
|
|
1240
|
+
plugin_name: NullableDflt<string>;
|
|
1241
|
+
name: string;
|
|
1242
|
+
description: string;
|
|
1243
|
+
description_zh: NullableDflt<string>;
|
|
1244
|
+
current_version: number;
|
|
1245
|
+
created_at: Ts;
|
|
1246
|
+
updated_at: Ts;
|
|
1247
|
+
deleted_at: TsNullable;
|
|
1248
|
+
}
|
|
1249
|
+
/** 0081: one version of a platform skill; files live under `object_prefix` in `deployment/`. */
|
|
1250
|
+
export interface PlatformSkillVersionsTable {
|
|
1251
|
+
skill_id: string;
|
|
1252
|
+
version: number;
|
|
1253
|
+
manifest: Json<SkillManifest>;
|
|
1254
|
+
object_prefix: string;
|
|
1255
|
+
catalog_version: NullableDflt<string>;
|
|
1256
|
+
source_format: Dflt<SourceFormat>;
|
|
1257
|
+
suggest_pinned: Dflt<boolean>;
|
|
1258
|
+
updated_on_own: Dflt<boolean>;
|
|
1259
|
+
created_by: NullableDflt<string>;
|
|
1260
|
+
created_at: Ts;
|
|
1261
|
+
}
|
|
1262
|
+
/** 0081: an agent template owned by the deployment. */
|
|
1263
|
+
export interface PlatformAgentTemplatesTable extends PlatformScopeColumns {
|
|
1264
|
+
id: string;
|
|
1265
|
+
/** 0084: the owning org (null = the platform). */
|
|
1266
|
+
owner_org_id: NullableDflt<string>;
|
|
1267
|
+
/** 0084: the org it was created in; never changed (F27). */
|
|
1268
|
+
origin_org_id: NullableDflt<string>;
|
|
1269
|
+
/** 0084: the owner shares it with other orgs. */
|
|
1270
|
+
shareable: Dflt<boolean>;
|
|
1271
|
+
catalog_item_id: NullableDflt<string>;
|
|
1272
|
+
plugin_name: NullableDflt<string>;
|
|
1273
|
+
name: string;
|
|
1274
|
+
description: NullableDflt<string>;
|
|
1275
|
+
description_zh: NullableDflt<string>;
|
|
1276
|
+
current_version: number;
|
|
1277
|
+
created_at: Ts;
|
|
1278
|
+
updated_at: Ts;
|
|
1279
|
+
deleted_at: TsNullable;
|
|
1280
|
+
}
|
|
1281
|
+
/** 0081: one version of a platform agent template. */
|
|
1282
|
+
export interface PlatformAgentTemplateVersionsTable {
|
|
1283
|
+
template_id: string;
|
|
1284
|
+
version: number;
|
|
1285
|
+
definition: Json<unknown>;
|
|
1286
|
+
object_prefix: NullableDflt<string>;
|
|
1287
|
+
catalog_version: NullableDflt<string>;
|
|
1288
|
+
source_format: Dflt<SourceFormat>;
|
|
1289
|
+
suggest_pinned: Dflt<boolean>;
|
|
1290
|
+
updated_on_own: Dflt<boolean>;
|
|
1291
|
+
created_by: NullableDflt<string>;
|
|
1292
|
+
created_at: Ts;
|
|
1293
|
+
}
|
|
1294
|
+
/** 0081: a connector template of a catalog item, with its own scope; connectors stay per org. */
|
|
1295
|
+
export interface PlatformConnectorTemplatesTable extends PlatformScopeColumns {
|
|
1296
|
+
id: string;
|
|
1297
|
+
/** 0084: the owning org (null = the platform). */
|
|
1298
|
+
owner_org_id: NullableDflt<string>;
|
|
1299
|
+
/** 0084: the owner shares it with other orgs. */
|
|
1300
|
+
shareable: Dflt<boolean>;
|
|
1301
|
+
catalog_item_id: string;
|
|
1302
|
+
template_id: string;
|
|
1303
|
+
current_version: string;
|
|
1304
|
+
file: Json<unknown>;
|
|
1305
|
+
created_at: Ts;
|
|
1306
|
+
updated_at: Ts;
|
|
1307
|
+
deleted_at: TsNullable;
|
|
1308
|
+
}
|
|
1309
|
+
/** 0081: the orgs an own-scope `named` component is offered to. */
|
|
1310
|
+
export interface ComponentScopeOrgsTable {
|
|
1311
|
+
kind: ComponentKind;
|
|
1312
|
+
component_id: string;
|
|
1313
|
+
org_id: string;
|
|
1314
|
+
}
|
|
1315
|
+
/** 0081: an org's on / off switch of a component. */
|
|
1316
|
+
export interface ComponentOrgSwitchesTable {
|
|
1317
|
+
kind: ComponentKind;
|
|
1318
|
+
component_id: string;
|
|
1319
|
+
org_id: string;
|
|
1320
|
+
enabled: boolean;
|
|
1321
|
+
updated_by: NullableCol<string>;
|
|
1322
|
+
updated_at: Ts;
|
|
1005
1323
|
}
|
|
1006
1324
|
/**
|
|
1007
|
-
* 0034, renamed in 0042, reshaped in 0044: the versions of
|
|
1325
|
+
* 0034, renamed in 0042, reshaped in 0044: the versions of a platform catalog item. `manifest` is
|
|
1008
1326
|
* the normalized plugin.json (skills and connector templates listed explicitly); `extension_sha256`
|
|
1009
1327
|
* the plugin's extension package in `extension_packages` (null without an extension); `files` the
|
|
1010
1328
|
* files stored under `object_prefix` (skills, connector templates, icons).
|
|
@@ -1038,8 +1356,15 @@ export interface CatalogItemVersionsTable {
|
|
|
1038
1356
|
license_text: ColumnType<string | null, string | null | undefined, string | null>;
|
|
1039
1357
|
/** 0051: the root LICENSE was too long (or not UTF-8) to store. */
|
|
1040
1358
|
license_truncated: ColumnType<boolean, boolean | undefined, boolean>;
|
|
1359
|
+
/**
|
|
1360
|
+
* 0084 (ruling P3-52): when the version was applied or confirmed (default: written; an org's
|
|
1361
|
+
* upload writes null until applied). Only applied, not rejected versions serve other orgs.
|
|
1362
|
+
*/
|
|
1363
|
+
applied_at: TsNullable;
|
|
1364
|
+
/** 0084 (ruling P3-52): when the super admin rejected this pending org version. */
|
|
1365
|
+
rejected_at: TsNullable;
|
|
1041
1366
|
}
|
|
1042
|
-
/** 0035_catalogs.sql, renamed in 0042: marketplaces (official /
|
|
1367
|
+
/** 0035_catalogs.sql, renamed in 0042: marketplaces (official / custom). */
|
|
1043
1368
|
export interface MarketplacesTable {
|
|
1044
1369
|
id: string;
|
|
1045
1370
|
name: string;
|
|
@@ -1092,6 +1417,8 @@ export interface MarketplaceEntriesTable {
|
|
|
1092
1417
|
*/
|
|
1093
1418
|
export interface PluginImportStagingTable {
|
|
1094
1419
|
id: string;
|
|
1420
|
+
/** 0084: the org whose upload this is (null: the super admin's import). */
|
|
1421
|
+
org_id: NullableDflt<string>;
|
|
1095
1422
|
review: Json<unknown>;
|
|
1096
1423
|
manifest: Json<unknown>;
|
|
1097
1424
|
object_prefix: string | null;
|
|
@@ -1102,14 +1429,31 @@ export interface PluginImportStagingTable {
|
|
|
1102
1429
|
}
|
|
1103
1430
|
type NullableCol<T> = ColumnType<T | null, T | null | undefined, T | null>;
|
|
1104
1431
|
/**
|
|
1105
|
-
* 0037, renamed in 0042: an org's catalog requests
|
|
1106
|
-
*
|
|
1432
|
+
* 0037, renamed in 0042, kinds since 0077: an org's catalog requests. `stage` (org / deployment) is
|
|
1433
|
+
* still written (`enable` -> org, else deployment) but no longer read.
|
|
1107
1434
|
*/
|
|
1108
1435
|
export interface CatalogRequestsTable {
|
|
1109
1436
|
id: string;
|
|
1110
1437
|
org_id: string;
|
|
1111
|
-
|
|
1438
|
+
/** 0077: null for an `import` request until its confirm writes the item. */
|
|
1439
|
+
item_id: NullableCol<string>;
|
|
1112
1440
|
version: NullableCol<string>;
|
|
1441
|
+
/** 0077: what the request asks for (spec §5.1). */
|
|
1442
|
+
kind: ColumnType<"access" | "import" | "enable" | "connector_setup", "access" | "import" | "enable" | "connector_setup" | undefined, "access" | "import" | "enable" | "connector_setup">;
|
|
1443
|
+
/** 0085: the agent of a `connector_setup` request (cascades with the agent). */
|
|
1444
|
+
agent_id: NullableCol<string>;
|
|
1445
|
+
/** 0085: the template connector keys a `connector_setup` request still waits for. */
|
|
1446
|
+
pending_keys: ColumnType<string[] | null, string | null | undefined, string | null>;
|
|
1447
|
+
/** 0077: the marketplace entry of an `import` request (null once the marketplace is deleted). */
|
|
1448
|
+
marketplace_id: NullableCol<string>;
|
|
1449
|
+
entry_name: NullableCol<string>;
|
|
1450
|
+
entry_version: NullableCol<string>;
|
|
1451
|
+
/** 0077: the optional reason of a rejection. */
|
|
1452
|
+
reason: NullableCol<string>;
|
|
1453
|
+
/** 0077: the prepared import of an approved `import` request. */
|
|
1454
|
+
staging_id: NullableCol<string>;
|
|
1455
|
+
/** 0077: the requester dismissed the decision from the inbox. */
|
|
1456
|
+
dismissed_at: NullableCol<Date>;
|
|
1113
1457
|
stage: "org" | "deployment";
|
|
1114
1458
|
requested_by: string | null;
|
|
1115
1459
|
note: ColumnType<string, string | undefined, string>;
|
|
@@ -1129,7 +1473,7 @@ export interface ExtensionCatalogSourcesTable {
|
|
|
1129
1473
|
item_id: string;
|
|
1130
1474
|
created_at: Generated<Date>;
|
|
1131
1475
|
}
|
|
1132
|
-
/** 0037, renamed in 0042:
|
|
1476
|
+
/** 0037, renamed in 0042: a super admin's approval for an org to install a needs_approval item. */
|
|
1133
1477
|
export interface CatalogOrgGrantsTable {
|
|
1134
1478
|
item_id: string;
|
|
1135
1479
|
org_id: string;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ApiError } from "../errors.js";
|
|
2
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
3
|
+
import { SandboxProviders } from "../sandbox/providers.js";
|
|
4
|
+
/** What decides an environment's provider: its own record and its instance row's (if any). */
|
|
5
|
+
export interface ProviderFacts {
|
|
6
|
+
/** `environments.provider`: the provider current when it was created. */
|
|
7
|
+
provider: string | null;
|
|
8
|
+
/** `environment_instances.provider`; null without an instance row. */
|
|
9
|
+
instanceProvider: string | null;
|
|
10
|
+
/** The instance row's `fs_status`; null without an instance row. */
|
|
11
|
+
fsStatus: "none" | "ready" | "lost" | null;
|
|
12
|
+
/** The instance row records an instance handle. */
|
|
13
|
+
hasInstance: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The provider an environment works with: the one keeping its files or instance once it has any
|
|
17
|
+
* (they are never migrated, spec §4.2 item 13); before that, the current provider (its first use
|
|
18
|
+
* creates them there), else the one recorded at creation. The same rule as `SandboxService`'s use.
|
|
19
|
+
*/
|
|
20
|
+
export declare function environmentProvider(f: ProviderFacts, current: string | undefined): string | null;
|
|
21
|
+
/** The environment's provider is not the current one, or there is no provider (503). */
|
|
22
|
+
export declare const environmentUnavailable: (provider: string | null) => ApiError;
|
|
23
|
+
/**
|
|
24
|
+
* Who may use an environment (spec §4.2 item 12): in phase 1 only the owner of a personal
|
|
25
|
+
* environment. Anyone else gets `environment.not_found`, never `forbidden`, so ids cannot be
|
|
26
|
+
* probed. Read live on every call (PG, no cache); phase 3 adds project membership.
|
|
27
|
+
*/
|
|
28
|
+
export declare class EnvironmentAccess {
|
|
29
|
+
private readonly db;
|
|
30
|
+
private readonly providers;
|
|
31
|
+
constructor(db: KernelDb, providers: Pick<SandboxProviders, "current">);
|
|
32
|
+
/**
|
|
33
|
+
* The environment if `accountId` may use it in `orgId` now: `environment.not_found` when it is
|
|
34
|
+
* missing, deleted, in another org or someone else's; `environment.unavailable` when its
|
|
35
|
+
* provider is not the current one (or there is none).
|
|
36
|
+
*/
|
|
37
|
+
usable(orgId: string, accountId: string, environmentId: string): Promise<{
|
|
38
|
+
id: string;
|
|
39
|
+
provider: string | null;
|
|
40
|
+
}>;
|
|
41
|
+
}
|