@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
|
@@ -8,17 +8,23 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
10
|
import { UI_LIMITS } from "@capybara-hq/plugin-sdk";
|
|
11
|
-
import {
|
|
11
|
+
import { Controller, Get, HttpCode, Inject, Post, Req, Res } from "@nestjs/common";
|
|
12
12
|
import { z } from "zod";
|
|
13
|
-
import {
|
|
14
|
-
import { ZodPipe } from "../http/zod.pipe.js";
|
|
13
|
+
import { ApiTokenService } from "../identity/api-tokens.js";
|
|
15
14
|
import { credentialCheck } from "../identity/credential-check.js";
|
|
16
15
|
import { CurrentPrincipal, requireUser } from "../identity/principal.js";
|
|
16
|
+
import { SessionService } from "../identity/sessions.js";
|
|
17
|
+
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
18
|
+
import { ZBody, ZParam, ZQuery } from "../infra/validation/zod-params.js";
|
|
17
19
|
import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
|
|
18
|
-
import { EMBED_TOKEN_TTL_SECONDS } from "./embed-token.js";
|
|
20
|
+
import { EMBED_TOKEN_TTL_SECONDS, EmbedTokens } from "./embed-token.js";
|
|
21
|
+
import { OrgUiStreams } from "./ui-stream.js";
|
|
22
|
+
import { UiViews } from "./views.js";
|
|
19
23
|
const BEARER_RE = /^Bearer\s+(\S+)$/i;
|
|
20
24
|
const Locale = z.enum(["zh", "en"]).default("en");
|
|
21
25
|
const Id = z.string().min(1).max(100);
|
|
26
|
+
/** The contribution named in a view / action / embed path (`:plugin/:id`). */
|
|
27
|
+
const ContributionParams = z.object({ plugin: Id, id: Id });
|
|
22
28
|
const ViewQuery = z
|
|
23
29
|
.object({
|
|
24
30
|
conversationId: z.string().min(1).max(100).optional(),
|
|
@@ -65,6 +71,14 @@ const EmbedTokenBody = z
|
|
|
65
71
|
.default({});
|
|
66
72
|
/** 嵌入页的同源代理前缀(网页 `/plugin-ui/<plugin>/<rest>` → 内核 `/plugins/<plugin>/ui/<rest>`)。 */
|
|
67
73
|
const embedSrc = (plugin, path) => `/plugin-ui/${plugin}/${path.replace(/^\/ui\//, "")}`;
|
|
74
|
+
class UiContributionParamsDto extends createZodDto(ContributionParams, "UiContributionParams") {
|
|
75
|
+
}
|
|
76
|
+
class UiViewQueryDto extends createZodDto(ViewQuery, "UiViewQuery") {
|
|
77
|
+
}
|
|
78
|
+
class UiActionBodyDto extends createZodDto(ActionBody, "UiActionBody") {
|
|
79
|
+
}
|
|
80
|
+
class UiEmbedTokenBodyDto extends createZodDto(EmbedTokenBody, "UiEmbedTokenBody") {
|
|
81
|
+
}
|
|
68
82
|
/**
|
|
69
83
|
* 插件界面(第一档:渲染 schema;第二档:嵌入应用),会话鉴权、`ui.use`(只给人用,服务令牌 403):
|
|
70
84
|
* - `GET /api/v1/orgs/:orgId/ui/contributions` → `{ items: { plugin, id, title, place, legacyPlace?, kind, path?, icon }[] }`
|
|
@@ -102,7 +116,7 @@ let UiController = class UiController {
|
|
|
102
116
|
requireUser(principal);
|
|
103
117
|
return { items: await this.views.contributions(org.orgId, org.role) };
|
|
104
118
|
}
|
|
105
|
-
async view(principal, org, plugin, id, q) {
|
|
119
|
+
async view(principal, org, { plugin, id }, q) {
|
|
106
120
|
const p = requireUser(principal);
|
|
107
121
|
const view = await this.views.render({
|
|
108
122
|
orgId: org.orgId,
|
|
@@ -119,7 +133,7 @@ let UiController = class UiController {
|
|
|
119
133
|
});
|
|
120
134
|
return { view };
|
|
121
135
|
}
|
|
122
|
-
async action(principal, org, plugin, id, body) {
|
|
136
|
+
async action(principal, org, { plugin, id }, body) {
|
|
123
137
|
const p = requireUser(principal);
|
|
124
138
|
return this.views.act({
|
|
125
139
|
orgId: org.orgId,
|
|
@@ -135,7 +149,7 @@ let UiController = class UiController {
|
|
|
135
149
|
...(body.answer !== undefined && { answer: body.answer }),
|
|
136
150
|
});
|
|
137
151
|
}
|
|
138
|
-
async embedToken(principal, org, plugin, id, body) {
|
|
152
|
+
async embedToken(principal, org, { plugin, id }, body) {
|
|
139
153
|
const p = requireUser(principal);
|
|
140
154
|
const target = await this.views.embed({
|
|
141
155
|
orgId: org.orgId,
|
|
@@ -202,10 +216,6 @@ let UiController = class UiController {
|
|
|
202
216
|
res.flushHeaders();
|
|
203
217
|
handle.begin();
|
|
204
218
|
}
|
|
205
|
-
/** 停机:关闭本进程的全部组织刷新流。 */
|
|
206
|
-
onModuleDestroy() {
|
|
207
|
-
this.streams.closeAll();
|
|
208
|
-
}
|
|
209
219
|
};
|
|
210
220
|
__decorate([
|
|
211
221
|
Get("contributions"),
|
|
@@ -218,9 +228,8 @@ __decorate([
|
|
|
218
228
|
OrgAction("ui.use"),
|
|
219
229
|
__param(0, CurrentPrincipal()),
|
|
220
230
|
__param(1, CurrentOrg()),
|
|
221
|
-
__param(2,
|
|
222
|
-
__param(3,
|
|
223
|
-
__param(4, Query(new ZodPipe(ViewQuery)))
|
|
231
|
+
__param(2, ZParam(UiContributionParamsDto)),
|
|
232
|
+
__param(3, ZQuery(UiViewQueryDto))
|
|
224
233
|
], UiController.prototype, "view", null);
|
|
225
234
|
__decorate([
|
|
226
235
|
Post("actions/:plugin/:id"),
|
|
@@ -228,9 +237,8 @@ __decorate([
|
|
|
228
237
|
OrgAction("ui.use"),
|
|
229
238
|
__param(0, CurrentPrincipal()),
|
|
230
239
|
__param(1, CurrentOrg()),
|
|
231
|
-
__param(2,
|
|
232
|
-
__param(3,
|
|
233
|
-
__param(4, Body(new ZodPipe(ActionBody)))
|
|
240
|
+
__param(2, ZParam(UiContributionParamsDto)),
|
|
241
|
+
__param(3, ZBody(UiActionBodyDto))
|
|
234
242
|
], UiController.prototype, "action", null);
|
|
235
243
|
__decorate([
|
|
236
244
|
Post("embeds/:plugin/:id/token"),
|
|
@@ -238,9 +246,8 @@ __decorate([
|
|
|
238
246
|
OrgAction("ui.use"),
|
|
239
247
|
__param(0, CurrentPrincipal()),
|
|
240
248
|
__param(1, CurrentOrg()),
|
|
241
|
-
__param(2,
|
|
242
|
-
__param(3,
|
|
243
|
-
__param(4, Body(new ZodPipe(EmbedTokenBody)))
|
|
249
|
+
__param(2, ZParam(UiContributionParamsDto)),
|
|
250
|
+
__param(3, ZBody(UiEmbedTokenBodyDto))
|
|
244
251
|
], UiController.prototype, "embedToken", null);
|
|
245
252
|
__decorate([
|
|
246
253
|
Get("stream"),
|
|
@@ -252,10 +259,10 @@ __decorate([
|
|
|
252
259
|
], UiController.prototype, "stream", null);
|
|
253
260
|
UiController = __decorate([
|
|
254
261
|
Controller("api/v1/orgs/:orgId/ui"),
|
|
255
|
-
__param(0, Inject(
|
|
256
|
-
__param(1, Inject(
|
|
257
|
-
__param(2, Inject(
|
|
258
|
-
__param(3, Inject(
|
|
259
|
-
__param(4, Inject(
|
|
262
|
+
__param(0, Inject(UiViews)),
|
|
263
|
+
__param(1, Inject(OrgUiStreams)),
|
|
264
|
+
__param(2, Inject(SessionService)),
|
|
265
|
+
__param(3, Inject(ApiTokenService)),
|
|
266
|
+
__param(4, Inject(EmbedTokens))
|
|
260
267
|
], UiController);
|
|
261
268
|
export { UiController };
|
package/dist/ui/views.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { type FormAnswer, type Logger, type UiActionResult, type UiContribution, type UiIcon, type UiView } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import
|
|
3
|
-
import type {
|
|
2
|
+
import { ConversationsService } from "../conversations/conversations.service.js";
|
|
3
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
4
|
+
import { EffectiveConfigs } from "../extensions/effective-config.js";
|
|
5
|
+
import { ExtensionHost } from "../extensions/host.js";
|
|
6
|
+
import { PreviewerRegistry } from "../files/previewers.js";
|
|
7
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
4
8
|
import type { OrgRole } from "../orgs/roles.js";
|
|
9
|
+
export { callExtension } from "./call-extension.js";
|
|
5
10
|
/** 插件 render / action 的时限(spec §4.2:慢的插件只让那个标签失败)。 */
|
|
6
11
|
export declare const UI_CALL_TIMEOUT_MS = 5000;
|
|
7
12
|
/** 列出贡献接口的一项。 */
|
|
@@ -29,42 +34,6 @@ export interface UiEmbedTarget {
|
|
|
29
34
|
/** Only a `file-preview` embed: the one file the token is for. */
|
|
30
35
|
fileId?: string;
|
|
31
36
|
}
|
|
32
|
-
export interface UiViewsDeps {
|
|
33
|
-
host: Pick<ExtensionHost, "uiContributions">;
|
|
34
|
-
/** Names of the extensions enabled in the organization (`extension_org_configs.enabled` plus required bootstrap plugins, `enabled.ts`), queried every time, not cached. */
|
|
35
|
-
enabledPlugins(orgId: string): Promise<Set<string>>;
|
|
36
|
-
/** 调用者能否访问这个对话(与会话 SSE 流同一判定)。 */
|
|
37
|
-
canAccessConversation(orgId: string, conversationId: string, accountId: string): Promise<boolean>;
|
|
38
|
-
/**
|
|
39
|
-
* Throws unless the caller may write to the conversation: a sub-agent's is read-only (409
|
|
40
|
-
* `conversation.read_only`, sub-agents spec §6.1). Checked before an action (final review m3).
|
|
41
|
-
*/
|
|
42
|
-
checkWritable?(orgId: string, conversationId: string, accountId: string): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* A `file-preview` embed token: whether that extension's previewer with `embed: contribution`
|
|
45
|
-
* takes this file of the conversation (the viewer must read it; not found throws 404).
|
|
46
|
-
*/
|
|
47
|
-
previewEmbedAllowed?(t: {
|
|
48
|
-
orgId: string;
|
|
49
|
-
accountId: string;
|
|
50
|
-
conversationId: string;
|
|
51
|
-
fileId: string;
|
|
52
|
-
plugin: string;
|
|
53
|
-
contribution: string;
|
|
54
|
-
}): Promise<boolean>;
|
|
55
|
-
/**
|
|
56
|
-
* The `card` a `tool_result` of this conversation recorded for `callId` (`ToolResult.card`), or
|
|
57
|
-
* null. An inline card request is served only when it matches (the card is attested by the log).
|
|
58
|
-
*/
|
|
59
|
-
recordedCard?(conversationId: string, callId: string): Promise<{
|
|
60
|
-
plugin: string;
|
|
61
|
-
view: string;
|
|
62
|
-
key?: string;
|
|
63
|
-
} | null>;
|
|
64
|
-
log: Pick<Logger, "warn">;
|
|
65
|
-
/** 默认 {@link UI_CALL_TIMEOUT_MS}(测试可调小)。 */
|
|
66
|
-
timeoutMs?: number;
|
|
67
|
-
}
|
|
68
37
|
/** 取视图 / 执行动作的调用者与目标(身份来自内核鉴权)。 */
|
|
69
38
|
export interface UiTarget {
|
|
70
39
|
orgId: string;
|
|
@@ -87,7 +56,7 @@ export interface UiTarget {
|
|
|
87
56
|
* The card a `tool_result` of the conversation recorded for `callId`, or null (the inline-card
|
|
88
57
|
* attestation of {@link UiViewsDeps.recordedCard}). Scans one conversation's tool results.
|
|
89
58
|
*/
|
|
90
|
-
export declare function recordedCard(db:
|
|
59
|
+
export declare function recordedCard(db: KernelSchemaDb, conversationId: string, callId: string): Promise<{
|
|
91
60
|
plugin: string;
|
|
92
61
|
view: string;
|
|
93
62
|
key?: string;
|
|
@@ -106,12 +75,11 @@ export declare function dropForeignOpens(view: UiView, panels: ReadonlySet<strin
|
|
|
106
75
|
* - 调用带 5 秒时限与中止信号:render 抛错 502 `ui.render_failed`、action 抛错 502 `ui.action_failed`、
|
|
107
76
|
* 超时 504 `ui.timeout`、返回非法视图 502
|
|
108
77
|
* `ui.invalid_view`,都记告警日志、不写对话日志(这些不是模型可见的内容)。
|
|
109
|
-
*
|
|
78
|
+
* 不保存跨请求状态。
|
|
110
79
|
*/
|
|
111
80
|
export declare class UiViews {
|
|
112
81
|
private readonly d;
|
|
113
|
-
|
|
114
|
-
constructor(d: UiViewsDeps);
|
|
82
|
+
constructor(host: ExtensionHost, conversations: ConversationsService, previewers: PreviewerRegistry, db: KernelDb, log: Pick<Logger, "warn">, effective: Pick<EffectiveConfigs, "get">);
|
|
115
83
|
/** 该组织、该角色可见的界面贡献:插件已启用且已加载;kind view 的要求插件注册了 render;组织页面要 member 以上。 */
|
|
116
84
|
contributions(orgId: string, role: OrgRole): Promise<UiContributionItem[]>;
|
|
117
85
|
/**
|
|
@@ -138,18 +106,3 @@ export declare class UiViews {
|
|
|
138
106
|
/** 非法结果:记告警(列出前几条问题)并 502 `ui.invalid_view`。 */
|
|
139
107
|
private check;
|
|
140
108
|
}
|
|
141
|
-
/**
|
|
142
|
-
* Calls an extension with a time limit and an abort signal (plugin views, actions and file
|
|
143
|
-
* previewers): over the limit the signal aborts and the call is 504 `ui.timeout`; a throw is
|
|
144
|
-
* `failCode` (502) without echoing the extension's message. An `ApiError` thrown by `fn` passes.
|
|
145
|
-
*/
|
|
146
|
-
export declare function callExtension<T>(o: {
|
|
147
|
-
log: Pick<Logger, "warn">;
|
|
148
|
-
plugin: string;
|
|
149
|
-
what: string;
|
|
150
|
-
fields: Record<string, unknown>;
|
|
151
|
-
timeoutMs: number;
|
|
152
|
-
failCode: "ui.render_failed" | "ui.action_failed";
|
|
153
|
-
failMessage: string;
|
|
154
|
-
fn: (signal: AbortSignal) => Promise<T>;
|
|
155
|
-
}): Promise<T>;
|
package/dist/ui/views.js
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
1
10
|
import { normalizePlace, validateUiView, } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
2
12
|
import { sql } from "kysely";
|
|
13
|
+
import { ConversationsService } from "../conversations/conversations.service.js";
|
|
3
14
|
import { ApiError } from "../errors.js";
|
|
15
|
+
import { EffectiveConfigs, NEEDS_CONFIG_REASON } from "../extensions/effective-config.js";
|
|
16
|
+
import { ExtensionHost } from "../extensions/host.js";
|
|
17
|
+
import { PreviewerRegistry } from "../files/previewers.js";
|
|
18
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
19
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
20
|
+
import { callExtension } from "./call-extension.js";
|
|
4
21
|
import { canUsePlace, isConversationPlace, UUID_RE } from "./registry.js";
|
|
22
|
+
export { callExtension } from "./call-extension.js";
|
|
5
23
|
/** 插件 render / action 的时限(spec §4.2:慢的插件只让那个标签失败)。 */
|
|
6
24
|
export const UI_CALL_TIMEOUT_MS = 5_000;
|
|
7
25
|
/**
|
|
@@ -79,14 +97,24 @@ function actionResultProblems(r) {
|
|
|
79
97
|
* - 调用带 5 秒时限与中止信号:render 抛错 502 `ui.render_failed`、action 抛错 502 `ui.action_failed`、
|
|
80
98
|
* 超时 504 `ui.timeout`、返回非法视图 502
|
|
81
99
|
* `ui.invalid_view`,都记告警日志、不写对话日志(这些不是模型可见的内容)。
|
|
82
|
-
*
|
|
100
|
+
* 不保存跨请求状态。
|
|
83
101
|
*/
|
|
84
|
-
|
|
102
|
+
let UiViews = class UiViews {
|
|
85
103
|
d;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
104
|
+
constructor(host, conversations, previewers, db, log, effective) {
|
|
105
|
+
this.d = {
|
|
106
|
+
host,
|
|
107
|
+
effective,
|
|
108
|
+
// org config rows plus the required bootstrap plugins
|
|
109
|
+
enabledPlugins: (orgId) => host.enabledPlugins(orgId),
|
|
110
|
+
canAccessConversation: (orgId, id, accountId) => conversations.isAccessible(orgId, id, accountId),
|
|
111
|
+
checkWritable: async (orgId, id, accountId) => {
|
|
112
|
+
await conversations.writable(orgId, id, accountId);
|
|
113
|
+
},
|
|
114
|
+
previewEmbedAllowed: (t) => previewers.embedAllowed(t),
|
|
115
|
+
recordedCard: (conversationId, callId) => recordedCard(db.db, conversationId, callId),
|
|
116
|
+
log,
|
|
117
|
+
};
|
|
90
118
|
}
|
|
91
119
|
/** 该组织、该角色可见的界面贡献:插件已启用且已加载;kind view 的要求插件注册了 render;组织页面要 member 以上。 */
|
|
92
120
|
async contributions(orgId, role) {
|
|
@@ -197,7 +225,18 @@ export class UiViews {
|
|
|
197
225
|
throw notFound();
|
|
198
226
|
if (!(await this.d.enabledPlugins(t.orgId)).has(t.plugin))
|
|
199
227
|
throw notFound();
|
|
200
|
-
|
|
228
|
+
// spec A §6: the extension is not called for an org whose effective config is not valid
|
|
229
|
+
const effective = await this.d.effective.get(t.orgId, t.plugin);
|
|
230
|
+
if (!effective.ok) {
|
|
231
|
+
throw new ApiError("extension.needs_config", `Extension ${t.plugin} ${NEEDS_CONFIG_REASON}`);
|
|
232
|
+
}
|
|
233
|
+
const base = {
|
|
234
|
+
orgId: t.orgId,
|
|
235
|
+
accountId: t.accountId,
|
|
236
|
+
role: t.role,
|
|
237
|
+
locale: t.locale,
|
|
238
|
+
config: effective.config,
|
|
239
|
+
};
|
|
201
240
|
if (!isConversationPlace(entry.contribution.place)) {
|
|
202
241
|
if (t.item !== undefined || t.card !== undefined) {
|
|
203
242
|
throw new ApiError("validation_failed", "item and callId are for conversation views");
|
|
@@ -248,7 +287,7 @@ export class UiViews {
|
|
|
248
287
|
plugin: t.plugin,
|
|
249
288
|
what,
|
|
250
289
|
fields: { plugin: t.plugin, contribution: t.id, orgId: t.orgId },
|
|
251
|
-
timeoutMs:
|
|
290
|
+
timeoutMs: UI_CALL_TIMEOUT_MS,
|
|
252
291
|
failCode: what === "render" ? "ui.render_failed" : "ui.action_failed",
|
|
253
292
|
failMessage: `Plugin ${t.plugin} failed to ${what} ${t.id}`,
|
|
254
293
|
fn,
|
|
@@ -266,41 +305,14 @@ export class UiViews {
|
|
|
266
305
|
});
|
|
267
306
|
throw new ApiError("ui.invalid_view", `Plugin ${t.plugin} returned an invalid view`);
|
|
268
307
|
}
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
ac.abort(new Error(`plugin ui ${o.what} timed out`));
|
|
281
|
-
resolve("timeout");
|
|
282
|
-
}, o.timeoutMs);
|
|
283
|
-
});
|
|
284
|
-
try {
|
|
285
|
-
const r = await Promise.race([
|
|
286
|
-
Promise.resolve()
|
|
287
|
-
.then(() => o.fn(ac.signal))
|
|
288
|
-
.then((value) => ({ value })),
|
|
289
|
-
timeout,
|
|
290
|
-
]);
|
|
291
|
-
if (r === "timeout") {
|
|
292
|
-
o.log.warn(`plugin ui ${o.what} timed out`, { ...o.fields, timeoutMs: o.timeoutMs });
|
|
293
|
-
throw new ApiError("ui.timeout", `Plugin ${o.plugin} did not respond within ${o.timeoutMs / 1000}s`);
|
|
294
|
-
}
|
|
295
|
-
return r.value;
|
|
296
|
-
}
|
|
297
|
-
catch (e) {
|
|
298
|
-
if (e instanceof ApiError)
|
|
299
|
-
throw e;
|
|
300
|
-
o.log.warn(`plugin ui ${o.what} failed`, { ...o.fields, err: e });
|
|
301
|
-
throw new ApiError(o.failCode, o.failMessage);
|
|
302
|
-
}
|
|
303
|
-
finally {
|
|
304
|
-
clearTimeout(timer);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
308
|
+
};
|
|
309
|
+
UiViews = __decorate([
|
|
310
|
+
Injectable(),
|
|
311
|
+
__param(0, Inject(ExtensionHost)),
|
|
312
|
+
__param(1, Inject(ConversationsService)),
|
|
313
|
+
__param(2, Inject(PreviewerRegistry)),
|
|
314
|
+
__param(3, Inject(KernelDb)),
|
|
315
|
+
__param(4, Inject(KERNEL_LOGGER)),
|
|
316
|
+
__param(5, Inject(EffectiveConfigs))
|
|
317
|
+
], UiViews);
|
|
318
|
+
export { UiViews };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capybara-hq/kernel",
|
|
3
|
-
"version": "0.1.0-rc.
|
|
3
|
+
"version": "0.1.0-rc.11",
|
|
4
4
|
"description": "Capybara kernel: config, database, plugin host and HTTP API of the Capybara agent platform",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -31,14 +31,22 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@fastify/cookie": "^11.1.3",
|
|
34
|
+
"@fastify/static": "^9.3.0",
|
|
35
|
+
"@fastify/websocket": "^11.3.7",
|
|
34
36
|
"@langchain/core": "^1.2.18",
|
|
35
37
|
"@langchain/langgraph": "^1.5.1",
|
|
36
38
|
"@langchain/langgraph-checkpoint": "^1.2.0",
|
|
39
|
+
"@nestjs/bullmq": "12.0.0",
|
|
37
40
|
"@nestjs/common": "^12.1.3",
|
|
38
41
|
"@nestjs/core": "^12.1.3",
|
|
39
42
|
"@nestjs/platform-fastify": "^12.1.3",
|
|
43
|
+
"@nestjs/schedule": "12.0.2",
|
|
44
|
+
"@nestjs/swagger": "12.0.5",
|
|
45
|
+
"@nestjs/terminus": "12.1.0",
|
|
46
|
+
"@nestjs/throttler": "6.7.1",
|
|
40
47
|
"ajv": "^8.20.0",
|
|
41
48
|
"bullmq": "^6.3.15",
|
|
49
|
+
"cron": "4.4.0",
|
|
42
50
|
"es-module-lexer": "2.3.2",
|
|
43
51
|
"fastify": "5.12.5",
|
|
44
52
|
"find-my-way": "9.9.0",
|
|
@@ -57,14 +65,16 @@
|
|
|
57
65
|
"yaml": "^2.9.1",
|
|
58
66
|
"yauzl": "3.4.0",
|
|
59
67
|
"zod": "^4.6.7",
|
|
60
|
-
"@capybara-hq/plugin-sdk": "^0.1.0-rc.
|
|
68
|
+
"@capybara-hq/plugin-sdk": "^0.1.0-rc.8"
|
|
61
69
|
},
|
|
62
70
|
"devDependencies": {
|
|
63
71
|
"@langchain/langgraph-checkpoint-validation": "^1.2.0",
|
|
64
72
|
"@types/pg": "^8.23.1",
|
|
65
73
|
"@types/semver": "^7.8.0",
|
|
74
|
+
"@types/ws": "^8.18.2",
|
|
66
75
|
"@types/yauzl": "3.4.0",
|
|
67
|
-
"
|
|
76
|
+
"ws": "^8.22.0",
|
|
77
|
+
"@capybara-hq/testing": "0.1.0-rc.11"
|
|
68
78
|
},
|
|
69
79
|
"scripts": {
|
|
70
80
|
"build": "tsc -b"
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
-- Tool naming (spec docs/superpowers/specs/2026-10-29-tool-naming-claude-code-design.md §8.2):
|
|
2
|
+
-- the release candidates' tool keys in mutable state become the current keys. Builtins by the
|
|
3
|
+
-- frozen map of packages/kernel/src/tools/legacy-keys.ts (LEGACY_BUILTINS); an rc `<x>__<tool>`
|
|
4
|
+
-- key becomes `mcp__<x>__<tool>` when `x` is a connector of the row's org (or the row records its
|
|
5
|
+
-- connector) and `plugin__<x>__<tool>` when `x` is an extension of the deployment
|
|
6
|
+
-- (extension_installs, or extension_name_owners for config-declared ones); when both or neither,
|
|
7
|
+
-- the row stays and the kernel's startup notice `tools.legacy_key_unmapped` counts it.
|
|
8
|
+
-- Keys in the current format never match. A grant whose new key already exists for the same
|
|
9
|
+
-- owner is left as it is (the primary key). Decided approvals and answered questions are
|
|
10
|
+
-- history and stay. Logs and recordings are never rewritten (§8). Idempotent: a second run
|
|
11
|
+
-- matches nothing it could change.
|
|
12
|
+
|
|
13
|
+
-- capybara:allow-destructive rewrites rc tool keys in place (the old keys no longer name a tool; the kernel reads only the new ones)
|
|
14
|
+
UPDATE tool_grants g
|
|
15
|
+
SET tool_key = m.new_key
|
|
16
|
+
FROM (VALUES
|
|
17
|
+
('sandbox_bash', 'Bash'), ('sandbox_read', 'Read'), ('sandbox_write', 'Write'),
|
|
18
|
+
('sandbox_edit', 'Edit'), ('sandbox_glob', 'Glob'), ('sandbox_grep', 'Grep'),
|
|
19
|
+
('sandbox_deliver', 'Deliver'), ('skill_load', 'Skill'), ('skill_write', 'SkillWrite'),
|
|
20
|
+
('ask_user', 'AskUserQuestion'), ('read_tool_output', 'ReadToolOutput'),
|
|
21
|
+
('tool_search', 'ToolSearch'), ('agent', 'Agent')
|
|
22
|
+
) AS m(old_key, new_key)
|
|
23
|
+
WHERE g.tool_key = m.old_key
|
|
24
|
+
AND NOT EXISTS (
|
|
25
|
+
SELECT 1 FROM tool_grants x
|
|
26
|
+
WHERE x.org_id = g.org_id AND x.account_id = g.account_id AND x.agent_id = g.agent_id
|
|
27
|
+
AND x.tool_key = m.new_key
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
-- capybara:allow-destructive rewrites rc tool keys in place (the old keys no longer name a tool; the kernel reads only the new ones)
|
|
31
|
+
UPDATE tool_grants g
|
|
32
|
+
SET tool_key = CASE
|
|
33
|
+
WHEN g.connector_id IS NOT NULL OR (
|
|
34
|
+
EXISTS (SELECT 1 FROM connectors c
|
|
35
|
+
WHERE c.org_id = g.org_id AND c.deleted_at IS NULL
|
|
36
|
+
AND c.slug = split_part(g.tool_key, '__', 1))
|
|
37
|
+
AND split_part(g.tool_key, '__', 1) NOT IN (
|
|
38
|
+
SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
|
|
39
|
+
) THEN 'mcp__' || g.tool_key
|
|
40
|
+
ELSE 'plugin__' || g.tool_key
|
|
41
|
+
END
|
|
42
|
+
WHERE g.tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND g.tool_key !~ '^(mcp|plugin)__'
|
|
43
|
+
AND (
|
|
44
|
+
g.connector_id IS NOT NULL
|
|
45
|
+
OR (
|
|
46
|
+
EXISTS (SELECT 1 FROM connectors c
|
|
47
|
+
WHERE c.org_id = g.org_id AND c.deleted_at IS NULL
|
|
48
|
+
AND c.slug = split_part(g.tool_key, '__', 1))
|
|
49
|
+
) <> (
|
|
50
|
+
split_part(g.tool_key, '__', 1) IN (
|
|
51
|
+
SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
|
|
52
|
+
)
|
|
53
|
+
)
|
|
54
|
+
AND NOT EXISTS (
|
|
55
|
+
SELECT 1 FROM tool_grants x
|
|
56
|
+
WHERE x.org_id = g.org_id AND x.account_id = g.account_id AND x.agent_id = g.agent_id
|
|
57
|
+
AND x.tool_key IN ('mcp__' || g.tool_key, 'plugin__' || g.tool_key)
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
-- capybara:allow-destructive rewrites rc tool keys in place (the old keys no longer name a tool; the kernel reads only the new ones)
|
|
61
|
+
UPDATE conversation_tool_grants g
|
|
62
|
+
SET tool_key = m.new_key
|
|
63
|
+
FROM (VALUES
|
|
64
|
+
('sandbox_bash', 'Bash'), ('sandbox_read', 'Read'), ('sandbox_write', 'Write'),
|
|
65
|
+
('sandbox_edit', 'Edit'), ('sandbox_glob', 'Glob'), ('sandbox_grep', 'Grep'),
|
|
66
|
+
('sandbox_deliver', 'Deliver'), ('skill_load', 'Skill'), ('skill_write', 'SkillWrite'),
|
|
67
|
+
('ask_user', 'AskUserQuestion'), ('read_tool_output', 'ReadToolOutput'),
|
|
68
|
+
('tool_search', 'ToolSearch'), ('agent', 'Agent')
|
|
69
|
+
) AS m(old_key, new_key)
|
|
70
|
+
WHERE g.tool_key = m.old_key
|
|
71
|
+
AND NOT EXISTS (
|
|
72
|
+
SELECT 1 FROM conversation_tool_grants x
|
|
73
|
+
WHERE x.conversation_id = g.conversation_id AND x.tool_key = m.new_key
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
-- capybara:allow-destructive rewrites rc tool keys in place (the old keys no longer name a tool; the kernel reads only the new ones)
|
|
77
|
+
UPDATE conversation_tool_grants g
|
|
78
|
+
SET tool_key = CASE
|
|
79
|
+
WHEN g.connector_id IS NOT NULL OR (
|
|
80
|
+
EXISTS (SELECT 1 FROM connectors c
|
|
81
|
+
WHERE c.org_id = v.org_id AND c.deleted_at IS NULL
|
|
82
|
+
AND c.slug = split_part(g.tool_key, '__', 1))
|
|
83
|
+
AND split_part(g.tool_key, '__', 1) NOT IN (
|
|
84
|
+
SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
|
|
85
|
+
) THEN 'mcp__' || g.tool_key
|
|
86
|
+
ELSE 'plugin__' || g.tool_key
|
|
87
|
+
END
|
|
88
|
+
FROM conversations v
|
|
89
|
+
WHERE v.id = g.conversation_id
|
|
90
|
+
AND g.tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND g.tool_key !~ '^(mcp|plugin)__'
|
|
91
|
+
AND (
|
|
92
|
+
g.connector_id IS NOT NULL
|
|
93
|
+
OR (
|
|
94
|
+
EXISTS (SELECT 1 FROM connectors c
|
|
95
|
+
WHERE c.org_id = v.org_id AND c.deleted_at IS NULL
|
|
96
|
+
AND c.slug = split_part(g.tool_key, '__', 1))
|
|
97
|
+
) <> (
|
|
98
|
+
split_part(g.tool_key, '__', 1) IN (
|
|
99
|
+
SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
|
|
100
|
+
)
|
|
101
|
+
)
|
|
102
|
+
AND NOT EXISTS (
|
|
103
|
+
SELECT 1 FROM conversation_tool_grants x
|
|
104
|
+
WHERE x.conversation_id = g.conversation_id
|
|
105
|
+
AND x.tool_key IN ('mcp__' || g.tool_key, 'plugin__' || g.tool_key)
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
-- capybara:allow-destructive rewrites rc tool keys of pending approvals in place (resumed by run and call id, never by key)
|
|
109
|
+
UPDATE approvals a
|
|
110
|
+
SET tool_key = m.new_key
|
|
111
|
+
FROM (VALUES
|
|
112
|
+
('sandbox_bash', 'Bash'), ('sandbox_read', 'Read'), ('sandbox_write', 'Write'),
|
|
113
|
+
('sandbox_edit', 'Edit'), ('sandbox_glob', 'Glob'), ('sandbox_grep', 'Grep'),
|
|
114
|
+
('sandbox_deliver', 'Deliver'), ('skill_load', 'Skill'), ('skill_write', 'SkillWrite'),
|
|
115
|
+
('ask_user', 'AskUserQuestion'), ('read_tool_output', 'ReadToolOutput'),
|
|
116
|
+
('tool_search', 'ToolSearch'), ('agent', 'Agent')
|
|
117
|
+
) AS m(old_key, new_key)
|
|
118
|
+
WHERE a.status = 'pending' AND a.tool_key = m.old_key;
|
|
119
|
+
|
|
120
|
+
-- capybara:allow-destructive rewrites rc tool keys of pending approvals in place (resumed by run and call id, never by key)
|
|
121
|
+
UPDATE approvals a
|
|
122
|
+
SET tool_key = CASE
|
|
123
|
+
WHEN a.connector_id IS NOT NULL OR (
|
|
124
|
+
EXISTS (SELECT 1 FROM connectors c
|
|
125
|
+
WHERE c.org_id = a.org_id AND c.deleted_at IS NULL
|
|
126
|
+
AND c.slug = split_part(a.tool_key, '__', 1))
|
|
127
|
+
AND split_part(a.tool_key, '__', 1) NOT IN (
|
|
128
|
+
SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
|
|
129
|
+
) THEN 'mcp__' || a.tool_key
|
|
130
|
+
ELSE 'plugin__' || a.tool_key
|
|
131
|
+
END
|
|
132
|
+
WHERE a.status = 'pending'
|
|
133
|
+
AND a.tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND a.tool_key !~ '^(mcp|plugin)__'
|
|
134
|
+
AND (
|
|
135
|
+
a.connector_id IS NOT NULL
|
|
136
|
+
OR (
|
|
137
|
+
EXISTS (SELECT 1 FROM connectors c
|
|
138
|
+
WHERE c.org_id = a.org_id AND c.deleted_at IS NULL
|
|
139
|
+
AND c.slug = split_part(a.tool_key, '__', 1))
|
|
140
|
+
) <> (
|
|
141
|
+
split_part(a.tool_key, '__', 1) IN (
|
|
142
|
+
SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
|
|
143
|
+
)
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
-- capybara:allow-destructive rewrites rc tool keys of pending questions in place (resumed by run and call id, never by key)
|
|
147
|
+
UPDATE questions q
|
|
148
|
+
SET spec = jsonb_set(q.spec, '{toolKey}', to_jsonb(m.new_key))
|
|
149
|
+
FROM (VALUES
|
|
150
|
+
('sandbox_bash', 'Bash'), ('sandbox_read', 'Read'), ('sandbox_write', 'Write'),
|
|
151
|
+
('sandbox_edit', 'Edit'), ('sandbox_glob', 'Glob'), ('sandbox_grep', 'Grep'),
|
|
152
|
+
('sandbox_deliver', 'Deliver'), ('skill_load', 'Skill'), ('skill_write', 'SkillWrite'),
|
|
153
|
+
('ask_user', 'AskUserQuestion'), ('read_tool_output', 'ReadToolOutput'),
|
|
154
|
+
('tool_search', 'ToolSearch'), ('agent', 'Agent')
|
|
155
|
+
) AS m(old_key, new_key)
|
|
156
|
+
WHERE q.status = 'pending' AND q.spec->>'toolKey' = m.old_key;
|
|
157
|
+
|
|
158
|
+
-- capybara:allow-destructive rewrites rc tool keys of pending questions in place (resumed by run and call id, never by key)
|
|
159
|
+
UPDATE questions q
|
|
160
|
+
SET spec = jsonb_set(
|
|
161
|
+
q.spec,
|
|
162
|
+
'{toolKey}',
|
|
163
|
+
to_jsonb(CASE
|
|
164
|
+
WHEN EXISTS (SELECT 1 FROM connectors c
|
|
165
|
+
WHERE c.org_id = q.org_id AND c.deleted_at IS NULL
|
|
166
|
+
AND c.slug = split_part(q.spec->>'toolKey', '__', 1))
|
|
167
|
+
THEN 'mcp__' || (q.spec->>'toolKey')
|
|
168
|
+
ELSE 'plugin__' || (q.spec->>'toolKey')
|
|
169
|
+
END)
|
|
170
|
+
)
|
|
171
|
+
WHERE q.status = 'pending'
|
|
172
|
+
AND q.spec->>'toolKey' ~ '^[a-z0-9][a-z0-9_-]*__.' AND q.spec->>'toolKey' !~ '^(mcp|plugin)__'
|
|
173
|
+
AND (
|
|
174
|
+
EXISTS (SELECT 1 FROM connectors c
|
|
175
|
+
WHERE c.org_id = q.org_id AND c.deleted_at IS NULL
|
|
176
|
+
AND c.slug = split_part(q.spec->>'toolKey', '__', 1))
|
|
177
|
+
) <> (
|
|
178
|
+
split_part(q.spec->>'toolKey', '__', 1) IN (
|
|
179
|
+
SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
|
|
180
|
+
);
|
|
181
|
+
|
|
182
|
+
-- What the startup notice counts (rows the statements above could not map), each over a partial
|
|
183
|
+
-- index holding only such rows, so the count at every start reads nearly empty indexes. The
|
|
184
|
+
-- predicate is the one of countLegacyToolKeys (packages/kernel/src/tools/legacy-data.ts).
|
|
185
|
+
CREATE INDEX IF NOT EXISTS tool_grants_legacy_key_idx ON tool_grants (org_id)
|
|
186
|
+
WHERE (tool_key = ANY (ARRAY['sandbox_bash', 'sandbox_read', 'sandbox_write', 'sandbox_edit',
|
|
187
|
+
'sandbox_glob', 'sandbox_grep', 'sandbox_deliver', 'skill_load', 'skill_write', 'ask_user',
|
|
188
|
+
'read_tool_output', 'tool_search', 'agent']::text[])
|
|
189
|
+
OR (tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND tool_key !~ '^(mcp|plugin)__'));
|
|
190
|
+
CREATE INDEX IF NOT EXISTS conversation_tool_grants_legacy_key_idx
|
|
191
|
+
ON conversation_tool_grants (conversation_id)
|
|
192
|
+
WHERE (tool_key = ANY (ARRAY['sandbox_bash', 'sandbox_read', 'sandbox_write', 'sandbox_edit',
|
|
193
|
+
'sandbox_glob', 'sandbox_grep', 'sandbox_deliver', 'skill_load', 'skill_write', 'ask_user',
|
|
194
|
+
'read_tool_output', 'tool_search', 'agent']::text[])
|
|
195
|
+
OR (tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND tool_key !~ '^(mcp|plugin)__'));
|
|
196
|
+
CREATE INDEX IF NOT EXISTS approvals_legacy_key_idx ON approvals (org_id)
|
|
197
|
+
WHERE status = 'pending'
|
|
198
|
+
AND (tool_key = ANY (ARRAY['sandbox_bash', 'sandbox_read', 'sandbox_write', 'sandbox_edit',
|
|
199
|
+
'sandbox_glob', 'sandbox_grep', 'sandbox_deliver', 'skill_load', 'skill_write', 'ask_user',
|
|
200
|
+
'read_tool_output', 'tool_search', 'agent']::text[])
|
|
201
|
+
OR (tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND tool_key !~ '^(mcp|plugin)__'));
|
|
202
|
+
CREATE INDEX IF NOT EXISTS questions_legacy_key_idx ON questions (org_id)
|
|
203
|
+
WHERE status = 'pending'
|
|
204
|
+
AND ((spec->>'toolKey') = ANY (ARRAY['sandbox_bash', 'sandbox_read', 'sandbox_write',
|
|
205
|
+
'sandbox_edit', 'sandbox_glob', 'sandbox_grep', 'sandbox_deliver', 'skill_load', 'skill_write',
|
|
206
|
+
'ask_user', 'read_tool_output', 'tool_search', 'agent']::text[])
|
|
207
|
+
OR ((spec->>'toolKey') ~ '^[a-z0-9][a-z0-9_-]*__.' AND (spec->>'toolKey') !~ '^(mcp|plugin)__'));
|
|
208
|
+
|
|
209
|
+
-- Read before Write / Edit (spec §4.5): EventLog.latestFileState reads the latest tool_result of
|
|
210
|
+
-- a conversation whose view names a file, on every Write and Edit. Without this index it scans
|
|
211
|
+
-- the conversation's events backwards through the primary key, filtering each payload (EXPLAIN
|
|
212
|
+
-- on a 20 000-event conversation: every row removed by the filter for a path never read); with
|
|
213
|
+
-- it, one index probe. Partial: only tool_result rows. Built without CONCURRENTLY (a migration
|
|
214
|
+
-- runs in one transaction), which locks conversation_events against writes while it builds: this
|
|
215
|
+
-- assumes release-candidate-sized event tables, as the event indexes of 0025 and 0040 did. A
|
|
216
|
+
-- deployment with a large table builds it CONCURRENTLY by hand before upgrading; IF NOT EXISTS
|
|
217
|
+
-- then skips it here.
|
|
218
|
+
CREATE INDEX IF NOT EXISTS conversation_events_file_state_idx
|
|
219
|
+
ON conversation_events (conversation_id, ((payload->'view'->'file'->>'path')), seq DESC)
|
|
220
|
+
WHERE type = 'tool_result';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
-- The organization an account last chose as its current one: a new web session (login, SSO, setup,
|
|
2
|
+
-- an accepted invitation) starts in it while the account is still a member and the org is not
|
|
3
|
+
-- deleted, so people don't pick their org again at every sign-in. Written with the session's
|
|
4
|
+
-- current org by `PUT /me/current-org`; NULL = never chosen (a new session then starts in the only
|
|
5
|
+
-- org when there is exactly one). Additive: older replicas never read or write it.
|
|
6
|
+
ALTER TABLE capybara.accounts
|
|
7
|
+
ADD COLUMN IF NOT EXISTS last_org_id text REFERENCES capybara.orgs(id) ON DELETE SET NULL;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- A person archives a conversation (hidden from the default lists, still readable and unarchived
|
|
2
|
+
-- by a new message) or deletes it (soft: hidden everywhere for the owner; the event log, runs and
|
|
3
|
+
-- trajectories stay for enterprise admins).
|
|
4
|
+
ALTER TABLE capybara.conversations ADD COLUMN IF NOT EXISTS archived_at timestamptz;
|
|
5
|
+
ALTER TABLE capybara.conversations ADD COLUMN IF NOT EXISTS deleted_at timestamptz;
|
|
6
|
+
CREATE INDEX IF NOT EXISTS conversations_live_idx
|
|
7
|
+
ON capybara.conversations (org_id, account_id, updated_at DESC)
|
|
8
|
+
WHERE deleted_at IS NULL AND archived_at IS NULL;
|