@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.11
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 +85 -5
- package/dist/admin/admin.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +60 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -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/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +264 -0
- package/dist/catalog/catalog-content.js +430 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- 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 +290 -0
- package/dist/catalog/catalog-items.js +677 -0
- package/dist/catalog/catalog-scope.service.d.ts +286 -0
- package/dist/catalog/catalog-scope.service.js +1196 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +144 -207
- package/dist/catalog/catalog.service.js +258 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- 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 +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +366 -0
- package/dist/catalog/component-scope.service.js +1115 -0
- package/dist/catalog/component-state.d.ts +197 -0
- package/dist/catalog/component-state.js +473 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +434 -472
- 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 +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -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 +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +293 -71
- package/dist/catalog/plugin-import.js +1039 -281
- package/dist/catalog/plugin-install.d.ts +271 -66
- package/dist/catalog/plugin-install.js +1198 -344
- package/dist/catalog/plugin-package.d.ts +41 -4
- package/dist/catalog/plugin-package.js +140 -7
- package/dist/catalog/plugin-upgrade.d.ts +312 -188
- package/dist/catalog/plugin-upgrade.js +1371 -1065
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- 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 +119 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -202
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +36 -2
- package/dist/config/schema.js +226 -25
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -71
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +589 -27
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -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 +160 -2
- package/dist/errors.js +160 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -124
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +99 -36
- package/dist/extensions/bootstrap.js +290 -134
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- 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/package.d.ts +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +91 -4
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +93 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +46 -65
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +137 -38
- package/dist/identity/accounts.js +386 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +80 -33
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +69 -23
- package/dist/identity/settings.js +201 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- 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 +22 -13
- package/dist/index.js +16 -7
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -244
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-context.d.ts +2 -0
- package/dist/log-context.js +4 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +7 -0
- package/dist/models/models.module.js +36 -0
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +76 -14
- package/dist/orgs/settings.service.js +140 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -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 +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +683 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +94 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +407 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +296 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -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 +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -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 +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +40 -0
- package/dist/platform/platform-ops.module.js +127 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +66 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -137
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +43 -0
- package/dist/runtime/run-control.js +89 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -237
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- 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 +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- 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 +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +121 -83
- package/dist/runtime/usage-report.js +355 -181
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/themes/render-css.d.ts +12 -0
- package/dist/themes/render-css.js +132 -0
- package/dist/themes/theme-delivery.service.d.ts +34 -0
- package/dist/themes/theme-delivery.service.js +111 -0
- package/dist/themes/theme-state.d.ts +95 -0
- package/dist/themes/theme-state.js +203 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +28 -0
- package/dist/themes/themes-public.controller.js +92 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +137 -37
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +30 -20
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +52 -45
- 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 +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- package/dist/tools/elicitation.js +1 -1
- 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 +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +13 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- 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/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
-- Agent templates, phase 4 (spec 2026-11-05-plugin-component-management-design.md §15.2: P4-7
|
|
2
|
+
-- connector_setup requests, P4-8 provenance). Expand-only: every new column is nullable, existing
|
|
3
|
+
-- rows keep their shape, and the only dropped objects are two checks replaced in this file.
|
|
4
|
+
|
|
5
|
+
-- P4-8: where an agent came from. Display data only (no FK: the template may be deleted or
|
|
6
|
+
-- renamed later), written when an agent is created from a template.
|
|
7
|
+
ALTER TABLE agents ADD COLUMN IF NOT EXISTS created_from_template_id text;
|
|
8
|
+
ALTER TABLE agents ADD COLUMN IF NOT EXISTS created_from_template_version int;
|
|
9
|
+
ALTER TABLE agents ADD COLUMN IF NOT EXISTS created_from_template_name text;
|
|
10
|
+
|
|
11
|
+
-- P4-7: a `connector_setup` request asks an org admin to set up the connectors an agent made from a
|
|
12
|
+
-- template needs (`pending_keys`: the template's connector keys still without an instance). It
|
|
13
|
+
-- names its agent and no item or marketplace entry.
|
|
14
|
+
ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS agent_id text
|
|
15
|
+
REFERENCES agents(id) ON DELETE CASCADE;
|
|
16
|
+
ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS pending_keys jsonb;
|
|
17
|
+
|
|
18
|
+
-- capybara:allow-destructive the check is added back with `connector_setup` in the next statement; existing rows (access, import, enable) satisfy it
|
|
19
|
+
ALTER TABLE catalog_requests DROP CONSTRAINT IF EXISTS catalog_requests_kind_check;
|
|
20
|
+
ALTER TABLE catalog_requests ADD CONSTRAINT catalog_requests_kind_check
|
|
21
|
+
CHECK (kind IN ('access', 'import', 'enable', 'connector_setup'));
|
|
22
|
+
|
|
23
|
+
-- item_id is already nullable (0077). The target check of 0077 required an item for every kind but
|
|
24
|
+
-- `import`; a connector_setup row needs an agent instead.
|
|
25
|
+
-- capybara:allow-destructive the check is added back with the connector_setup branch in the next statement; existing rows satisfy its first and third branches
|
|
26
|
+
ALTER TABLE catalog_requests DROP CONSTRAINT IF EXISTS catalog_requests_target_check;
|
|
27
|
+
ALTER TABLE catalog_requests ADD CONSTRAINT catalog_requests_target_check
|
|
28
|
+
CHECK (
|
|
29
|
+
kind = 'import' AND entry_name IS NOT NULL
|
|
30
|
+
OR kind = 'connector_setup' AND agent_id IS NOT NULL
|
|
31
|
+
AND item_id IS NULL AND entry_name IS NULL
|
|
32
|
+
OR kind NOT IN ('import', 'connector_setup') AND item_id IS NOT NULL
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
-- `pending_keys` is a JSON array of keys when set.
|
|
36
|
+
ALTER TABLE catalog_requests DROP CONSTRAINT IF EXISTS catalog_requests_pending_keys_check;
|
|
37
|
+
ALTER TABLE catalog_requests ADD CONSTRAINT catalog_requests_pending_keys_check
|
|
38
|
+
CHECK (pending_keys IS NULL OR jsonb_typeof(pending_keys) = 'array');
|
|
39
|
+
|
|
40
|
+
-- At most one pending setup request per agent (P4-7).
|
|
41
|
+
CREATE UNIQUE INDEX IF NOT EXISTS catalog_requests_pending_setup_uq
|
|
42
|
+
ON catalog_requests (agent_id) WHERE kind = 'connector_setup' AND status = 'pending';
|
|
43
|
+
|
|
44
|
+
CREATE INDEX IF NOT EXISTS catalog_requests_agent_idx
|
|
45
|
+
ON catalog_requests (agent_id) WHERE agent_id IS NOT NULL;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-- Platform / org layering (spec 2026-11-07-platform-org-layering-design.md). Expand-only: two new
|
|
2
|
+
-- tables, nothing existing changes.
|
|
3
|
+
|
|
4
|
+
-- 0086, spec §5.4 / §5.8: an org's copy of an extension's overridable deployment config fields. A
|
|
5
|
+
-- row is a copy; no row means the org follows the platform ("no copy" and "a copy equal to the
|
|
6
|
+
-- platform" stay distinct). `config` holds the copy's non-secret values; its secrets live in
|
|
7
|
+
-- `secrets` under the org (namespace `kernel`, key `plugin-override:<plugin>:<path>`). Rows are kept
|
|
8
|
+
-- when the extension is disabled or uninstalled, like `extension_org_configs`.
|
|
9
|
+
CREATE TABLE IF NOT EXISTS extension_org_overrides (
|
|
10
|
+
plugin text NOT NULL,
|
|
11
|
+
org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
|
|
12
|
+
config jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
13
|
+
created_by text REFERENCES accounts(id) ON DELETE SET NULL,
|
|
14
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
15
|
+
updated_by text REFERENCES accounts(id) ON DELETE SET NULL,
|
|
16
|
+
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
17
|
+
PRIMARY KEY (plugin, org_id)
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
-- 0086, spec §7: an org admin's switch of one tool of an extension that is on in the org. No row
|
|
21
|
+
-- means the tool follows the extension (on).
|
|
22
|
+
CREATE TABLE IF NOT EXISTS org_tool_switches (
|
|
23
|
+
org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
|
|
24
|
+
plugin text NOT NULL,
|
|
25
|
+
tool text NOT NULL,
|
|
26
|
+
enabled boolean NOT NULL,
|
|
27
|
+
updated_by text REFERENCES accounts(id) ON DELETE SET NULL,
|
|
28
|
+
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
29
|
+
PRIMARY KEY (org_id, plugin, tool)
|
|
30
|
+
);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
-- Platform tool (spec 2026-11-07-platform-tool-design.md §6.2, §6.3): an approval carries the
|
|
2
|
+
-- kernel-rendered summary of the call ({zh, en}) and the scopes the person may choose. Expand-only:
|
|
3
|
+
-- both columns are nullable; null keeps today's behavior (no summary; scopes derived from the row:
|
|
4
|
+
-- "once" for a role escalation, else once / session / always).
|
|
5
|
+
ALTER TABLE approvals ADD COLUMN IF NOT EXISTS summary jsonb;
|
|
6
|
+
ALTER TABLE approvals ADD COLUMN IF NOT EXISTS scopes text[];
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
-- Environments phase 1 (spec 2026-11-07-environments-design §4.2, §10): a long-lived environment
|
|
2
|
+
-- is one sandbox instance plus a file system kept until the environment is deleted. This replaces
|
|
3
|
+
-- the per-conversation `sandboxes` table with `environment_instances`; the old table stays only
|
|
4
|
+
-- for the cleanup job that destroys its remaining instances. The CHECK lists of owner_kind and
|
|
5
|
+
-- source grow in phases 2 and 3 through new migrations.
|
|
6
|
+
CREATE TABLE IF NOT EXISTS capybara.environments (
|
|
7
|
+
id text PRIMARY KEY,
|
|
8
|
+
org_id text NOT NULL REFERENCES capybara.orgs(id) ON DELETE CASCADE,
|
|
9
|
+
owner_kind text NOT NULL CHECK (owner_kind IN ('personal')),
|
|
10
|
+
owner_account_id text NOT NULL REFERENCES capybara.accounts(id),
|
|
11
|
+
name text,
|
|
12
|
+
is_default boolean NOT NULL DEFAULT false,
|
|
13
|
+
source text NOT NULL CHECK (source IN ('cloud')),
|
|
14
|
+
provider text,
|
|
15
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
16
|
+
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
17
|
+
deleted_at timestamptz
|
|
18
|
+
);
|
|
19
|
+
CREATE UNIQUE INDEX IF NOT EXISTS environments_default_uq
|
|
20
|
+
ON capybara.environments (org_id, owner_account_id)
|
|
21
|
+
WHERE is_default AND deleted_at IS NULL;
|
|
22
|
+
CREATE UNIQUE INDEX IF NOT EXISTS environments_name_uq
|
|
23
|
+
ON capybara.environments (org_id, owner_account_id, lower(name))
|
|
24
|
+
WHERE name IS NOT NULL AND deleted_at IS NULL;
|
|
25
|
+
|
|
26
|
+
-- Same columns and meaning as the old sandboxes table (0023), keyed by environment. fs_handle and
|
|
27
|
+
-- fs_status describe the kept file system; status 'none' means no instance exists yet.
|
|
28
|
+
CREATE TABLE IF NOT EXISTS capybara.environment_instances (
|
|
29
|
+
environment_id text PRIMARY KEY REFERENCES capybara.environments(id) ON DELETE CASCADE,
|
|
30
|
+
org_id text NOT NULL,
|
|
31
|
+
provider text,
|
|
32
|
+
fs_handle jsonb,
|
|
33
|
+
fs_status text NOT NULL DEFAULT 'none' CHECK (fs_status IN ('none', 'ready', 'lost')),
|
|
34
|
+
handle jsonb,
|
|
35
|
+
status text NOT NULL DEFAULT 'none'
|
|
36
|
+
CHECK (status IN ('none', 'creating', 'running', 'suspended', 'destroyed')),
|
|
37
|
+
last_used_at timestamptz NOT NULL DEFAULT now(),
|
|
38
|
+
running_since timestamptz,
|
|
39
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
40
|
+
suspended_at timestamptz,
|
|
41
|
+
destroyed_at timestamptz,
|
|
42
|
+
generation integer NOT NULL DEFAULT 0,
|
|
43
|
+
had_instance boolean NOT NULL DEFAULT false,
|
|
44
|
+
prev_provider text,
|
|
45
|
+
prev_handle jsonb,
|
|
46
|
+
sweep_failed_at timestamptz
|
|
47
|
+
);
|
|
48
|
+
CREATE INDEX IF NOT EXISTS environment_instances_running_idx
|
|
49
|
+
ON capybara.environment_instances (last_used_at)
|
|
50
|
+
WHERE status = 'running';
|
|
51
|
+
CREATE INDEX IF NOT EXISTS environment_instances_live_idx
|
|
52
|
+
ON capybara.environment_instances (last_used_at)
|
|
53
|
+
WHERE status <> 'destroyed';
|
|
54
|
+
CREATE INDEX IF NOT EXISTS environment_instances_org_idx
|
|
55
|
+
ON capybara.environment_instances (org_id);
|
|
56
|
+
|
|
57
|
+
-- The environment a member's new conversations use when they pick none.
|
|
58
|
+
CREATE TABLE IF NOT EXISTS capybara.environment_defaults (
|
|
59
|
+
org_id text NOT NULL,
|
|
60
|
+
account_id text NOT NULL,
|
|
61
|
+
environment_id text NOT NULL REFERENCES capybara.environments(id) ON DELETE CASCADE,
|
|
62
|
+
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
63
|
+
PRIMARY KEY (org_id, account_id)
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
-- No cascade: a deleted environment is soft-deleted and the conversation keeps pointing at it.
|
|
67
|
+
ALTER TABLE capybara.conversations
|
|
68
|
+
ADD COLUMN IF NOT EXISTS environment_id text REFERENCES capybara.environments(id);
|
|
69
|
+
|
|
70
|
+
ALTER TABLE capybara.background_tasks ADD COLUMN IF NOT EXISTS environment_id text;
|
|
71
|
+
CREATE INDEX IF NOT EXISTS background_tasks_environment_running_idx
|
|
72
|
+
ON capybara.background_tasks (environment_id) WHERE status = 'running';
|
|
73
|
+
|
|
74
|
+
-- Tasks that ran in a per-conversation sandbox lose it with the move to environments (the
|
|
75
|
+
-- instances are destroyed by the cleanup job).
|
|
76
|
+
UPDATE capybara.background_tasks
|
|
77
|
+
SET status = 'lost',
|
|
78
|
+
lost_reason = COALESCE(lost_reason, 'sandbox_replaced_by_environment'),
|
|
79
|
+
finished_at = COALESCE(finished_at, now())
|
|
80
|
+
WHERE status = 'running';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
-- Model platform providers (spec 2026-11-06-model-platform-providers-design.md). Expand-only: two
|
|
2
|
+
-- new tables, nothing existing changes.
|
|
3
|
+
|
|
4
|
+
-- 0089, spec §5.3: models disabled on two layers. `org_id` null is the platform's list (the super
|
|
5
|
+
-- admin; such a model is invisible to every org), otherwise the org's own list (an org admin, among
|
|
6
|
+
-- the models the platform left on). No row means the model is enabled; a model a provider lists
|
|
7
|
+
-- later is enabled everywhere until someone disables it. Keyed on the model id, so a row applies to
|
|
8
|
+
-- whichever list the org sees (the platform's config or the org's own copy); an id the list does
|
|
9
|
+
-- not contain is kept harmlessly.
|
|
10
|
+
CREATE TABLE IF NOT EXISTS model_disabled (
|
|
11
|
+
org_id text NULL REFERENCES orgs(id) ON DELETE CASCADE,
|
|
12
|
+
provider text NOT NULL,
|
|
13
|
+
model text NOT NULL,
|
|
14
|
+
disabled_by text REFERENCES accounts(id) ON DELETE SET NULL,
|
|
15
|
+
disabled_at timestamptz NOT NULL DEFAULT now()
|
|
16
|
+
);
|
|
17
|
+
CREATE UNIQUE INDEX IF NOT EXISTS model_disabled_scope_key
|
|
18
|
+
ON model_disabled ((coalesce(org_id, '')), provider, model);
|
|
19
|
+
|
|
20
|
+
-- 0089, spec §5.4: model usage outside conversations (an extension's `ctx.models.embed` call). One
|
|
21
|
+
-- row per call; `reported_at` is set once the `usage.report` job for the row (eventId = id) has
|
|
22
|
+
-- nothing left to deliver (delivered, no subscriber, or a definite drop); `report_failed_at` once
|
|
23
|
+
-- the job gave up after its last attempt. The sweeper re-enqueues recent rows where both are null.
|
|
24
|
+
CREATE TABLE IF NOT EXISTS model_usage (
|
|
25
|
+
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
26
|
+
org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
|
|
27
|
+
extension text NOT NULL,
|
|
28
|
+
purpose text NOT NULL,
|
|
29
|
+
provider text NOT NULL,
|
|
30
|
+
model text NOT NULL,
|
|
31
|
+
input_tokens integer NOT NULL,
|
|
32
|
+
occurred_at timestamptz NOT NULL DEFAULT now(),
|
|
33
|
+
reported_at timestamptz NULL,
|
|
34
|
+
report_failed_at timestamptz NULL
|
|
35
|
+
);
|
|
36
|
+
CREATE INDEX IF NOT EXISTS model_usage_org_time ON model_usage (org_id, occurred_at DESC);
|
|
37
|
+
CREATE INDEX IF NOT EXISTS model_usage_unreported ON model_usage (occurred_at)
|
|
38
|
+
WHERE reported_at IS NULL AND report_failed_at IS NULL;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-- Platform tool phase 2 (spec 2026-11-07-platform-tool-design.md §14.5 item 2): the super admin's
|
|
2
|
+
-- agent creates an account with a kernel-generated one-time password. Expand-only.
|
|
3
|
+
--
|
|
4
|
+
-- must_change_password: the account must set its own password before anything else (the auth
|
|
5
|
+
-- guard refuses every route but the password change, /me and logout until it does).
|
|
6
|
+
ALTER TABLE capybara.accounts ADD COLUMN IF NOT EXISTS must_change_password boolean NOT NULL DEFAULT false;
|
|
7
|
+
|
|
8
|
+
-- The generated password, sealed with the master keyring (AES-256-GCM, AAD = account id), waiting
|
|
9
|
+
-- for the person who approved the creation to read it once on the web. Keyed by the account; the
|
|
10
|
+
-- tool call it came from (conversation_id, run_id, call_id: a call id is unique only within its run)
|
|
11
|
+
-- and its recipient decide who may read it. Read once (deleted as it is read), dropped when the
|
|
12
|
+
-- account changes its password, and dropped after expires_at by the hourly cleanup job.
|
|
13
|
+
CREATE TABLE IF NOT EXISTS capybara.account_initial_passwords (
|
|
14
|
+
account_id text PRIMARY KEY REFERENCES capybara.accounts(id) ON DELETE CASCADE,
|
|
15
|
+
recipient_account_id text NOT NULL REFERENCES capybara.accounts(id) ON DELETE CASCADE,
|
|
16
|
+
conversation_id text NOT NULL REFERENCES capybara.conversations(id) ON DELETE CASCADE,
|
|
17
|
+
run_id text NOT NULL,
|
|
18
|
+
call_id text NOT NULL,
|
|
19
|
+
master_key_id text NOT NULL,
|
|
20
|
+
ciphertext bytea NOT NULL,
|
|
21
|
+
expires_at timestamptz NOT NULL,
|
|
22
|
+
created_at timestamptz NOT NULL DEFAULT now()
|
|
23
|
+
);
|
|
24
|
+
CREATE INDEX IF NOT EXISTS account_initial_passwords_call_idx
|
|
25
|
+
ON capybara.account_initial_passwords (conversation_id, run_id, call_id);
|
|
26
|
+
CREATE INDEX IF NOT EXISTS account_initial_passwords_expires_idx
|
|
27
|
+
ON capybara.account_initial_passwords (expires_at);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
-- Run context (spec 2026-11-08-run-context-design.md §3.4): a person's time zone setting (IANA
|
|
2
|
+
-- name). Null, the default, follows the browser's time zone sent with each message; a set value
|
|
3
|
+
-- overrides it. Expand-only.
|
|
4
|
+
ALTER TABLE accounts ADD COLUMN IF NOT EXISTS time_zone text;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-- Tools are on by default (spec 2026-11-08-tools-default-on-design.md §3): an agent stores only
|
|
2
|
+
-- what it turns off (`disabledTools`), not an enabled list (`tools`). Every stored agent version,
|
|
3
|
+
-- older ones included (a rollback reads the same shape), becomes "nothing turned off". Idempotent:
|
|
4
|
+
-- a definition without `tools` is left alone, one without `disabledTools` gets the empty list.
|
|
5
|
+
UPDATE agent_versions
|
|
6
|
+
SET definition = (definition - 'tools') || jsonb_build_object('disabledTools', '[]'::jsonb)
|
|
7
|
+
WHERE definition ? 'tools' OR NOT definition ? 'disabledTools';
|
|
8
|
+
|
|
9
|
+
-- Org-made agent templates (saved from an agent by an org admin: no plugin, no catalog item)
|
|
10
|
+
-- lose their `tools` allowlist, so they turn nothing off either. Templates from plugin packages
|
|
11
|
+
-- keep what the package wrote.
|
|
12
|
+
UPDATE agent_template_versions AS v
|
|
13
|
+
SET definition = v.definition - 'tools'
|
|
14
|
+
FROM agent_templates AS t
|
|
15
|
+
WHERE t.id = v.template_id
|
|
16
|
+
AND t.plugin_name IS NULL
|
|
17
|
+
AND t.catalog_item_id IS NULL
|
|
18
|
+
AND v.definition ? 'tools';
|
|
19
|
+
|
|
20
|
+
UPDATE platform_agent_template_versions AS v
|
|
21
|
+
SET definition = v.definition - 'tools'
|
|
22
|
+
FROM platform_agent_templates AS t
|
|
23
|
+
WHERE t.id = v.template_id
|
|
24
|
+
AND t.plugin_name IS NULL
|
|
25
|
+
AND t.catalog_item_id IS NULL
|
|
26
|
+
AND v.object_prefix IS NULL
|
|
27
|
+
AND v.definition ? 'tools';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
-- Environments phase 2 (spec 2026-11-07-environments-design §6, §13): a person's own machine,
|
|
2
|
+
-- connected through the device program, becomes an environment with source 'device'. Expand-only:
|
|
3
|
+
-- the source CHECK list grows and a new table holds the connected machine.
|
|
4
|
+
|
|
5
|
+
-- 0088 left the CHECK unnamed, so Postgres named it environments_source_check; re-add it under
|
|
6
|
+
-- the same name with the longer list.
|
|
7
|
+
ALTER TABLE environments DROP CONSTRAINT IF EXISTS environments_source_check;
|
|
8
|
+
ALTER TABLE environments
|
|
9
|
+
ADD CONSTRAINT environments_source_check CHECK (source IN ('cloud', 'device'));
|
|
10
|
+
|
|
11
|
+
-- The machine connected to a device environment. credential_hash is a hash of the machine's
|
|
12
|
+
-- long-lived credential (cap_dev_...), never the credential itself; revoking a machine sets
|
|
13
|
+
-- revoked_at and keeps the row, so only one unrevoked machine exists per environment.
|
|
14
|
+
-- program_version, mode, roots and session_isolation are what the program reported on its last
|
|
15
|
+
-- connection; last_seen_at is the last time it connected or pinged.
|
|
16
|
+
CREATE TABLE IF NOT EXISTS environment_machines (
|
|
17
|
+
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
18
|
+
org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
|
|
19
|
+
environment_id text NOT NULL REFERENCES environments(id) ON DELETE CASCADE,
|
|
20
|
+
account_id text NOT NULL,
|
|
21
|
+
credential_hash text NOT NULL UNIQUE,
|
|
22
|
+
name text NOT NULL,
|
|
23
|
+
os text NOT NULL,
|
|
24
|
+
arch text NOT NULL,
|
|
25
|
+
program_version text,
|
|
26
|
+
mode text CHECK (mode IN ('os', 'docker')),
|
|
27
|
+
roots jsonb,
|
|
28
|
+
session_isolation boolean NOT NULL DEFAULT false,
|
|
29
|
+
last_seen_at timestamptz,
|
|
30
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
31
|
+
revoked_at timestamptz
|
|
32
|
+
);
|
|
33
|
+
CREATE UNIQUE INDEX IF NOT EXISTS environment_machines_active_uq
|
|
34
|
+
ON environment_machines (environment_id)
|
|
35
|
+
WHERE revoked_at IS NULL;
|
|
36
|
+
-- The org cascade delete looks rows up by org (as environment_instances_org_idx in 0088).
|
|
37
|
+
CREATE INDEX IF NOT EXISTS environment_machines_org_idx ON environment_machines (org_id);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
-- Environments phase 2 (spec 2026-11-07-environments-design §13.1, ruling R22): every sandbox tool
|
|
2
|
+
-- call reads the conversation's latest environment_paths event; a partial index answers it
|
|
3
|
+
-- without scanning the conversation's events backwards. Not CONCURRENTLY, like the other index
|
|
4
|
+
-- migrations (0025).
|
|
5
|
+
CREATE INDEX IF NOT EXISTS conversation_events_environment_paths_idx
|
|
6
|
+
ON conversation_events (conversation_id, seq)
|
|
7
|
+
WHERE type = 'environment_paths';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
-- How many times an environment's files were reset. A provider may give the new file system the id
|
|
2
|
+
-- of the destroyed one (sandbox-docker names its volumes after the environment), so the kernel
|
|
3
|
+
-- counts resets itself: a conversation that last used the environment under another count is told
|
|
4
|
+
-- its files were reset, not that the instance restarted on kept files.
|
|
5
|
+
ALTER TABLE capybara.environment_instances ADD COLUMN IF NOT EXISTS fs_resets integer NOT NULL DEFAULT 0;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
-- A default environment demoted by a sandbox provider switch (environments spec §4.2 item 13)
|
|
2
|
+
-- records the provider it was demoted from; NULL for every other environment. The UI names such an
|
|
3
|
+
-- environment after the default plus that provider's display name (「个人环境(Docker 沙箱)」), and
|
|
4
|
+
-- when the deployment switches back to that provider the row is restored as the person's default.
|
|
5
|
+
ALTER TABLE capybara.environments ADD COLUMN IF NOT EXISTS demoted_from_provider text;
|
|
6
|
+
|
|
7
|
+
-- Backfill: until now a demoted default was renamed `Personal (<provider>)` (` 2`, ` 3`, … when
|
|
8
|
+
-- taken). Those rows get the marker and lose the generated name. A person-made environment with
|
|
9
|
+
-- such a name is caught too; that is accepted before 0.1.0 (AGENTS.md "Before 0.1.0": no real
|
|
10
|
+
-- users yet). Idempotent: a backfilled row has a NULL name and no longer matches.
|
|
11
|
+
UPDATE capybara.environments
|
|
12
|
+
SET demoted_from_provider = substring(name FROM '^Personal \(([^)]+)\)'),
|
|
13
|
+
name = NULL
|
|
14
|
+
WHERE owner_kind = 'personal'
|
|
15
|
+
AND NOT is_default
|
|
16
|
+
AND deleted_at IS NULL
|
|
17
|
+
AND demoted_from_provider IS NULL
|
|
18
|
+
AND name ~ '^Personal \([^)]+\)( [0-9]+)?$';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
-- When an install record's desired state last became `enabled` (NULL while disabled). A
|
|
2
|
+
-- single-provider extension point (sandbox, object-store, secret-store, config-source) takes one
|
|
3
|
+
-- enabled provider; enabling a second one is refused. A deployment that already has two enabled
|
|
4
|
+
-- (enabled before that rule) loads the one enabled first on every replica and after every restart,
|
|
5
|
+
-- never the first by name. `updated_at` cannot tell: an upgrade or a source change rewrites it.
|
|
6
|
+
ALTER TABLE extension_installs ADD COLUMN IF NOT EXISTS enabled_at timestamptz;
|
|
7
|
+
|
|
8
|
+
-- Backfill the enabled rows: the latest `extension.enabled` audit of the extension (every enable
|
|
9
|
+
-- path writes one), else the install time. Idempotent: a filled row is skipped.
|
|
10
|
+
UPDATE extension_installs i
|
|
11
|
+
SET enabled_at = COALESCE(
|
|
12
|
+
(SELECT max(a.at) FROM audit_events a
|
|
13
|
+
WHERE a.action = 'extension.enabled' AND a.target = i.name),
|
|
14
|
+
i.installed_at)
|
|
15
|
+
WHERE i.desired_state = 'enabled'
|
|
16
|
+
AND i.enabled_at IS NULL;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
-- A deployment that already has two enabled providers of one single-provider extension point
|
|
2
|
+
-- (sandbox, object-store, secret-store, config-source; enabled before the second enable was
|
|
3
|
+
-- refused) loads the one with the earliest `enabled_at` (0097). 0097 backfilled it from the audit
|
|
4
|
+
-- or the install time, which can name a provider other than the one the replicas run now: the
|
|
5
|
+
-- rolling deploy would switch the provider. Prefer what is running: of the enabled providers of a
|
|
6
|
+
-- contested point, the one with a `loaded` replica status row (the most recent heartbeat) gets an
|
|
7
|
+
-- `enabled_at` just before every other provider of that point. A point with no loaded provider
|
|
8
|
+
-- keeps the 0097 values. Idempotent: once the running provider is the earliest, nothing matches.
|
|
9
|
+
WITH provided AS (
|
|
10
|
+
SELECT i.name, split_part(p.ref, '@', 1) AS point, i.enabled_at
|
|
11
|
+
FROM extension_installs i
|
|
12
|
+
JOIN extension_packages k ON k.sha256 = i.sha256
|
|
13
|
+
CROSS JOIN LATERAL jsonb_array_elements_text(
|
|
14
|
+
CASE WHEN jsonb_typeof(k.section -> 'manifest' -> 'provides') = 'array'
|
|
15
|
+
THEN k.section -> 'manifest' -> 'provides' ELSE '[]'::jsonb END) AS p(ref)
|
|
16
|
+
WHERE i.desired_state = 'enabled'
|
|
17
|
+
AND split_part(p.ref, '@', 1) IN ('sandbox', 'object-store', 'secret-store', 'config-source')
|
|
18
|
+
),
|
|
19
|
+
contested AS (
|
|
20
|
+
SELECT point FROM provided GROUP BY point HAVING count(DISTINCT name) > 1
|
|
21
|
+
),
|
|
22
|
+
running AS (
|
|
23
|
+
SELECT DISTINCT ON (pr.point) pr.point, pr.name
|
|
24
|
+
FROM provided pr
|
|
25
|
+
JOIN contested c ON c.point = pr.point
|
|
26
|
+
JOIN extension_replica_status s
|
|
27
|
+
ON s.plugin = pr.name AND s.source = 'install' AND s.state = 'loaded'
|
|
28
|
+
ORDER BY pr.point, s.heartbeat_at DESC, pr.name
|
|
29
|
+
),
|
|
30
|
+
target AS (
|
|
31
|
+
SELECT r.name, min(o.enabled_at) AS others_first
|
|
32
|
+
FROM running r
|
|
33
|
+
JOIN provided o ON o.point = r.point AND o.name <> r.name
|
|
34
|
+
GROUP BY r.name
|
|
35
|
+
)
|
|
36
|
+
UPDATE extension_installs i
|
|
37
|
+
SET enabled_at = t.others_first - interval '1 millisecond'
|
|
38
|
+
FROM target t
|
|
39
|
+
WHERE i.name = t.name
|
|
40
|
+
AND t.others_first IS NOT NULL
|
|
41
|
+
AND (i.enabled_at IS NULL OR i.enabled_at >= t.others_first);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
-- The setup guide a channel connection was last set up with (plugin setup guides spec
|
|
2
|
+
-- 2026-11-08-plugin-setup-guides-design.md §6): { guideId, version, hash, mode } of the plugin's
|
|
3
|
+
-- channel-connection guide, recorded on create, on an inbound mode switch and when an admin
|
|
4
|
+
-- confirms the platform app was updated. NULL = unknown (rows before this column, or a plugin
|
|
5
|
+
-- without a guide): no drift notice for those.
|
|
6
|
+
ALTER TABLE channel_connections ADD COLUMN IF NOT EXISTS guide_ack jsonb;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
-- Catalog display files kept in PG (bootstrap catalog files fix, 2026-11-08): a plugin's icon, its
|
|
2
|
+
-- connector templates' icons and its setup guide files, each capped at 64 KiB by the plugin format.
|
|
3
|
+
-- Content-addressed: one row per sha256, shared by every version (and org) whose
|
|
4
|
+
-- catalog_item_versions.files lists it; a reader only asks for the sha256 its version row records
|
|
5
|
+
-- and re-checks it. They are in PG, not object storage, so a bootstrap plugin's icon is stored
|
|
6
|
+
-- before any object-store extension runs (the object store's own icon included). touched_at: set
|
|
7
|
+
-- by every import that stores the file again; the staging cleanup removes rows no version or
|
|
8
|
+
-- staging lists once they are older than the staging TTL.
|
|
9
|
+
CREATE TABLE IF NOT EXISTS catalog_files (
|
|
10
|
+
sha256 text PRIMARY KEY CHECK (sha256 ~ '^[0-9a-f]{64}$'),
|
|
11
|
+
data bytea NOT NULL,
|
|
12
|
+
touched_at timestamptz NOT NULL DEFAULT now()
|
|
13
|
+
);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
-- Marketplace entry icons (maintainer decision 2026-11-08): the svg / png an entry's `icon` names
|
|
2
|
+
-- (an https URL, or a path in a git marketplace's repository), downloaded on refresh through the
|
|
3
|
+
-- marketplace network rules and kept here so the market list never hits the network per request
|
|
4
|
+
-- and every replica serves the same bytes. One row per (marketplace, icon as the entry writes it);
|
|
5
|
+
-- entries naming the same icon share it. Each is at most 64 KiB (the plugin icon limit). A URL's
|
|
6
|
+
-- content is treated as fixed (fetched once); a repository path is read again at every new commit.
|
|
7
|
+
-- Rows no entry names any more are removed by the refresh; deleting the marketplace removes them.
|
|
8
|
+
CREATE TABLE IF NOT EXISTS marketplace_icons (
|
|
9
|
+
source_id text NOT NULL REFERENCES marketplaces(id) ON DELETE CASCADE,
|
|
10
|
+
ref text NOT NULL,
|
|
11
|
+
sha256 text NOT NULL CHECK (sha256 ~ '^[0-9a-f]{64}$'),
|
|
12
|
+
content_type text NOT NULL CHECK (content_type IN ('image/svg+xml', 'image/png')),
|
|
13
|
+
data bytea NOT NULL,
|
|
14
|
+
fetched_at timestamptz NOT NULL DEFAULT now(),
|
|
15
|
+
PRIMARY KEY (source_id, ref)
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
-- Icon URLs whose last download failed (HTTP error, invalid content, refused by the network rules,
|
|
19
|
+
-- timeout): retried only after a backoff, and after the URLs never tried, so a few broken URLs never
|
|
20
|
+
-- starve the rest of a refresh's download cap. Removed when the URL is stored or no entry names it.
|
|
21
|
+
CREATE TABLE IF NOT EXISTS marketplace_icon_failures (
|
|
22
|
+
source_id text NOT NULL REFERENCES marketplaces(id) ON DELETE CASCADE,
|
|
23
|
+
ref text NOT NULL,
|
|
24
|
+
failed_at timestamptz NOT NULL DEFAULT now(),
|
|
25
|
+
attempts integer NOT NULL DEFAULT 1,
|
|
26
|
+
PRIMARY KEY (source_id, ref)
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
-- The git commit whose repository-path icons were last stored completely (null: none yet, or a
|
|
30
|
+
-- refresh that predates icons). A refresh at last_commit is not_modified only when this equals it;
|
|
31
|
+
-- otherwise the commit is read again, so a failed icon write recovers at the same commit.
|
|
32
|
+
ALTER TABLE marketplaces ADD COLUMN IF NOT EXISTS icons_commit text;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
-- Themes as a platform component kind (themes spec 2026-11-08-themes-design.md §6, §7): rows and
|
|
2
|
+
-- versions shaped like platform agent templates, with the owner columns of org-owned items; the
|
|
3
|
+
-- `theme` kind in the component scope, switch and install component tables; the person's pick on
|
|
4
|
+
-- the account. Expand-only: the only dropped objects are the three kind checks, re-added wider in
|
|
5
|
+
-- the next statement each.
|
|
6
|
+
|
|
7
|
+
CREATE TABLE IF NOT EXISTS platform_themes (
|
|
8
|
+
id text PRIMARY KEY,
|
|
9
|
+
catalog_item_id uuid REFERENCES catalog_items(id) ON DELETE SET NULL,
|
|
10
|
+
plugin_name text,
|
|
11
|
+
name text NOT NULL,
|
|
12
|
+
description text,
|
|
13
|
+
description_zh text,
|
|
14
|
+
current_version integer NOT NULL CHECK (current_version >= 1),
|
|
15
|
+
scope_mode text NOT NULL DEFAULT 'follow' CHECK (scope_mode IN ('follow', 'own')),
|
|
16
|
+
scope text NOT NULL DEFAULT 'optional' CHECK (scope IN ('all', 'optional', 'named')),
|
|
17
|
+
disabled boolean NOT NULL DEFAULT false,
|
|
18
|
+
shown_to_others boolean NOT NULL DEFAULT true,
|
|
19
|
+
scope_version integer NOT NULL DEFAULT 0,
|
|
20
|
+
-- The owning org (NULL = the platform), the org it was created in (no FK, immutable) and the
|
|
21
|
+
-- share switch, as on the other platform components (0084).
|
|
22
|
+
owner_org_id text REFERENCES orgs(id) ON DELETE SET NULL,
|
|
23
|
+
origin_org_id text,
|
|
24
|
+
shareable boolean NOT NULL DEFAULT false,
|
|
25
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
26
|
+
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
27
|
+
deleted_at timestamptz
|
|
28
|
+
);
|
|
29
|
+
CREATE UNIQUE INDEX IF NOT EXISTS platform_themes_live_name_origin_uq
|
|
30
|
+
ON platform_themes ((coalesce(plugin_name, '')), name, (coalesce(origin_org_id, '')))
|
|
31
|
+
WHERE deleted_at IS NULL;
|
|
32
|
+
|
|
33
|
+
-- One version of a theme: `definition` is the parsed theme file (`ParsedTheme`); fonts and logo
|
|
34
|
+
-- live under `object_prefix` in `deployment/` (NULL for a theme without assets).
|
|
35
|
+
CREATE TABLE IF NOT EXISTS platform_theme_versions (
|
|
36
|
+
theme_id text NOT NULL REFERENCES platform_themes(id) ON DELETE CASCADE,
|
|
37
|
+
version integer NOT NULL CHECK (version >= 1),
|
|
38
|
+
definition jsonb NOT NULL,
|
|
39
|
+
object_prefix text,
|
|
40
|
+
catalog_version text,
|
|
41
|
+
updated_on_own boolean NOT NULL DEFAULT false,
|
|
42
|
+
created_by text,
|
|
43
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
44
|
+
PRIMARY KEY (theme_id, version)
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
-- 0081 declared these checks inline, so they carry the default names.
|
|
48
|
+
-- capybara:allow-destructive the check is added back with 'theme' in the next statement; existing rows satisfy it
|
|
49
|
+
ALTER TABLE component_scope_orgs DROP CONSTRAINT IF EXISTS component_scope_orgs_kind_check;
|
|
50
|
+
ALTER TABLE component_scope_orgs ADD CONSTRAINT component_scope_orgs_kind_check
|
|
51
|
+
CHECK (kind IN ('skill', 'agent_template', 'connector_template', 'theme'));
|
|
52
|
+
-- capybara:allow-destructive the check is added back with 'theme' in the next statement; existing rows satisfy it
|
|
53
|
+
ALTER TABLE component_org_switches DROP CONSTRAINT IF EXISTS component_org_switches_kind_check;
|
|
54
|
+
ALTER TABLE component_org_switches ADD CONSTRAINT component_org_switches_kind_check
|
|
55
|
+
CHECK (kind IN ('skill', 'agent_template', 'connector_template', 'theme'));
|
|
56
|
+
-- NOT VALID as in 0053: existing rows were checked by the narrower constraint already.
|
|
57
|
+
-- capybara:allow-destructive the check is added back with 'theme' in the next statement; existing rows satisfy it
|
|
58
|
+
ALTER TABLE plugin_install_components DROP CONSTRAINT IF EXISTS plugin_install_components_kind_check;
|
|
59
|
+
ALTER TABLE plugin_install_components ADD CONSTRAINT plugin_install_components_kind_check
|
|
60
|
+
CHECK (kind IN ('extension', 'connector', 'skill', 'plugin', 'agent_template', 'theme')) NOT VALID;
|
|
61
|
+
|
|
62
|
+
-- The person's theme (§7): one value across all their orgs; NULL follows the org. No FK: a pick
|
|
63
|
+
-- that is not on in the current org (or no longer exists) is skipped, never an error.
|
|
64
|
+
ALTER TABLE accounts ADD COLUMN IF NOT EXISTS theme text;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
-- The platform default theme setting `uiTheme` (themes spec §7) always has a row: the guards that
|
|
2
|
+
-- refuse taking the default theme away from an org read it FOR SHARE, and the setting's write
|
|
3
|
+
-- locks it FOR UPDATE before checking the chosen theme, so the two serialize on this row.
|
|
4
|
+
-- `{"id": null}` is the built-in theme (the default when the key is missing).
|
|
5
|
+
INSERT INTO deployment_settings (key, value)
|
|
6
|
+
VALUES ('uiTheme', '{"id": null}'::jsonb)
|
|
7
|
+
ON CONFLICT (key) DO NOTHING;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import type { Transaction } from "kysely";
|
|
2
|
-
import type { KernelDatabase, KernelDb } from "../db/kernel-schema.js";
|
|
3
|
-
import type { ExtensionHost } from "../extensions/host.js";
|
|
4
|
-
type Trx = Transaction<KernelDatabase>;
|
|
5
|
-
/**
|
|
6
|
-
* Which versions an org may upgrade an installed plugin to (package ecosystem spec §10, Decision
|
|
7
|
-
* 10, Ruling 8):
|
|
8
|
-
* - a plugin with an extension follows the deployment: the only target is the catalog version
|
|
9
|
-
* whose extension package (sha256) is the one installed on the deployment, the newest import on
|
|
10
|
-
* ties (`1.0.0` and `1.0.0+sha256.x` can share an extension version with different bytes); an
|
|
11
|
-
* extension loaded from the startup config (config, no package) is matched by its
|
|
12
|
-
* version;
|
|
13
|
-
* - a purely declarative plugin may move to any other imported version (an older one is a
|
|
14
|
-
* rollback).
|
|
15
|
-
*/
|
|
16
|
-
/** The extension the deployment runs for a plugin name. */
|
|
17
|
-
export interface DeployedExtension {
|
|
18
|
-
/** The installed package's sha256 (null for a config extension). */
|
|
19
|
-
sha256: string | null;
|
|
20
|
-
version: string;
|
|
21
|
-
}
|
|
22
|
-
/** A catalog version row as the target rules read it. */
|
|
23
|
-
export interface TargetVersion {
|
|
24
|
-
version: string;
|
|
25
|
-
manifest: unknown;
|
|
26
|
-
extension_sha256: string | null;
|
|
27
|
-
imported_at: Date;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* The deployment's extension for plugin `name`: its install record (`extension_installs`, the
|
|
31
|
-
* deployment's desired package; disabled on the deployment counts as none), else the extension
|
|
32
|
-
* this replica loaded from the startup config; undefined when the deployment runs none (then no
|
|
33
|
-
* upgrade target and no "upgrade pending").
|
|
34
|
-
*/
|
|
35
|
-
export declare function deployedExtension(db: KernelDb | Trx, host: Pick<ExtensionHost, "manifests">, name: string): Promise<DeployedExtension | undefined>;
|
|
36
|
-
/** Whether catalog version `v` carries the deployment's extension `d`. */
|
|
37
|
-
export declare const runsDeployed: (v: TargetVersion, d: DeployedExtension) => boolean;
|
|
38
|
-
/**
|
|
39
|
-
* The catalog version an org install of an extension-bearing plugin may move to: the one carrying
|
|
40
|
-
* the deployment's extension, the newest import on ties; undefined when none does.
|
|
41
|
-
*/
|
|
42
|
-
export declare function deploymentTarget(versions: readonly TargetVersion[], d: DeployedExtension | undefined): TargetVersion | undefined;
|
|
43
|
-
/** What an install view says about upgrades (Decision 10). */
|
|
44
|
-
export interface UpgradeInfo {
|
|
45
|
-
/** The version an upgrade can move to now (the highest allowed target), null when none. */
|
|
46
|
-
upgradeAvailable: string | null;
|
|
47
|
-
/** An extension-bearing plugin whose org version is not the one the deployment runs. */
|
|
48
|
-
deploymentPending: boolean;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* The upgrade info of org installs (`itemId`, `name`, `version`), keyed by `itemId@version`; reads
|
|
52
|
-
* the items' catalog versions and the deployment's extensions in a few queries.
|
|
53
|
-
*/
|
|
54
|
-
export declare function upgradeInfo(db: KernelDb, host: Pick<ExtensionHost, "manifests">, installs: readonly {
|
|
55
|
-
itemId: string;
|
|
56
|
-
name: string;
|
|
57
|
-
version: string;
|
|
58
|
-
}[]): Promise<Map<string, UpgradeInfo>>;
|
|
59
|
-
export {};
|