@capybara-hq/kernel 0.1.0-rc.0 → 0.1.0-rc.10
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 +92 -8
- 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 +57 -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 +232 -0
- package/dist/catalog/catalog-content.js +367 -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 +676 -0
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1124 -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 +141 -206
- package/dist/catalog/catalog.service.js +237 -528
- package/dist/catalog/claude/agents.js +15 -10
- 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 +114 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +327 -0
- package/dist/catalog/component-scope.service.js +990 -0
- package/dist/catalog/component-state.d.ts +188 -0
- package/dist/catalog/component-state.js +455 -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 +431 -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 +801 -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 +223 -0
- package/dist/catalog/platform-components.js +763 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +270 -68
- package/dist/catalog/plugin-import.js +1004 -277
- package/dist/catalog/plugin-install.d.ts +251 -65
- package/dist/catalog/plugin-install.js +1128 -344
- package/dist/catalog/plugin-package.js +14 -1
- package/dist/catalog/plugin-upgrade.d.ts +301 -188
- package/dist/catalog/plugin-upgrade.js +1256 -1068
- 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 +118 -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 -201
- 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 +51 -3
- package/dist/config/schema.js +269 -27
- 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 -70
- 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/queue.js +3 -2
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +550 -25
- 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 +136 -2
- package/dist/errors.js +136 -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 -123
- 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 +136 -46
- package/dist/extensions/bootstrap.js +417 -167
- 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 +86 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +83 -52
- 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 +130 -38
- package/dist/identity/accounts.js +373 -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 +78 -33
- package/dist/identity/me.schemas.d.ts +14 -0
- package/dist/identity/me.schemas.js +17 -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 +42 -23
- package/dist/identity/settings.js +137 -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 +25 -14
- package/dist/index.js +20 -9
- 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 -241
- 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-config.d.ts +9 -0
- package/dist/log-config.js +27 -0
- package/dist/log-context.d.ts +34 -0
- package/dist/log-context.js +44 -0
- package/dist/log-loki.d.ts +34 -0
- package/dist/log-loki.js +145 -0
- package/dist/log.d.ts +53 -10
- package/dist/log.js +168 -18
- 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/net/public-address.js +3 -2
- 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 +45 -14
- package/dist/orgs/settings.service.js +110 -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 +667 -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 +90 -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 +36 -0
- package/dist/platform/ops/admin.ops.js +389 -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 +853 -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 +16 -0
- package/dist/platform/ops/org-settings.ops.js +102 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +295 -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 +28 -0
- package/dist/platform/ops/platform.ops.js +204 -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/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 +39 -0
- package/dist/platform/platform-ops.module.js +122 -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 +63 -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 -136
- 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 -236
- 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 -180
- 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/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 +142 -40
- package/dist/tools/builtins/sandbox/common.js +227 -65
- 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 +15 -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/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
package/dist/tools/info.js
CHANGED
|
@@ -1,21 +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
|
+
};
|
|
10
|
+
import { connectorToolKey, extensionToolKey, parseToolKey, } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
12
|
+
import { ConversationAccess } from "../conversations/access.js";
|
|
1
13
|
import { ApiError } from "../errors.js";
|
|
14
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
2
15
|
import { UUID_RE } from "../ui/registry.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
sandbox_glob: "search",
|
|
11
|
-
sandbox_grep: "search",
|
|
12
|
-
sandbox_deliver: "tool",
|
|
13
|
-
tool_search: "meta",
|
|
14
|
-
skill_load: "meta",
|
|
15
|
-
skill_write: "meta",
|
|
16
|
-
read_tool_output: "meta",
|
|
17
|
-
ask_user: "meta",
|
|
18
|
-
};
|
|
16
|
+
import { BUILTIN_TOOL_KINDS, SANDBOX_TOOL_NAMES } from "./builtin-names.js";
|
|
17
|
+
import { pluginDisplayNames } from "./display-names.js";
|
|
18
|
+
import { isLegacyBuiltinKey, LEGACY_BUILTINS } from "./legacy-keys.js";
|
|
19
|
+
import { toolKeyIssue } from "./naming.js";
|
|
20
|
+
import { OrgToolSwitches } from "./org-tool-switches.js";
|
|
21
|
+
import { policyFromAnnotations, ToolRegistry } from "./registry.js";
|
|
22
|
+
export { BUILTIN_TOOL_KINDS } from "./builtin-names.js";
|
|
19
23
|
/** At most this many keys per request, each at most {@link TOOL_INFO_KEY_MAX} characters. */
|
|
20
24
|
export const TOOL_INFO_MAX_KEYS = 100;
|
|
21
25
|
export const TOOL_INFO_KEY_MAX = 200;
|
|
@@ -25,7 +29,7 @@ const display = (spec) => ({
|
|
|
25
29
|
});
|
|
26
30
|
/**
|
|
27
31
|
* Presentation metadata for `keys` in this org, in request order with repeats dropped. Builtins
|
|
28
|
-
* by name;
|
|
32
|
+
* by name (a release-candidate builtin key as its current tool, with `aliasOf`); `plugin__<plugin>__<tool>` keys as a loaded extension's registration, and `mcp__<slug>__<tool>` keys as a live
|
|
29
33
|
* connector's current stored tool (its reviewed definition, never a pending one). Anything else
|
|
30
34
|
* comes back as an unknown plain tool.
|
|
31
35
|
*
|
|
@@ -42,17 +46,13 @@ const display = (spec) => ({
|
|
|
42
46
|
export async function toolInfo(deps, orgId, keys) {
|
|
43
47
|
const unique = [...new Set(keys)];
|
|
44
48
|
const builtins = new Map(deps.registry.builtinSpecs().map((s) => [s.name, s]));
|
|
45
|
-
const extensions = new Map(deps.registry.extensionToolSpecs().map((t) => [
|
|
46
|
-
const split = (key) => {
|
|
47
|
-
const i = key.indexOf(KEY_SEPARATOR);
|
|
48
|
-
return i > 0 ? [key.slice(0, i), key.slice(i + KEY_SEPARATOR.length)] : null;
|
|
49
|
-
};
|
|
49
|
+
const extensions = new Map(deps.registry.extensionToolSpecs().map((t) => [extensionToolKey(t.plugin, t.spec.name), t]));
|
|
50
50
|
const slugs = [
|
|
51
51
|
...new Set(unique.flatMap((k) => {
|
|
52
52
|
if (builtins.has(k) || extensions.has(k))
|
|
53
53
|
return [];
|
|
54
|
-
const p =
|
|
55
|
-
return p ? [p
|
|
54
|
+
const p = parseToolKey(k);
|
|
55
|
+
return p?.kind === "connector" ? [p.slug] : [];
|
|
56
56
|
})),
|
|
57
57
|
];
|
|
58
58
|
const connectorRows = slugs.length === 0
|
|
@@ -65,15 +65,37 @@ export async function toolInfo(deps, orgId, keys) {
|
|
|
65
65
|
.where("c.deleted_at", "is", null)
|
|
66
66
|
.where("c.slug", "in", slugs)
|
|
67
67
|
.execute();
|
|
68
|
-
const connectorTools = new Map(connectorRows.map((r) => [
|
|
68
|
+
const connectorTools = new Map(connectorRows.map((r) => [connectorToolKey(r.slug, r.tool), r]));
|
|
69
|
+
const displayNames = await pluginDisplayNames(deps.db, unique.flatMap((k) => {
|
|
70
|
+
const e = extensions.get(k);
|
|
71
|
+
return e ? [e.plugin] : [];
|
|
72
|
+
}));
|
|
73
|
+
const localTool = (key) => {
|
|
74
|
+
const p = parseToolKey(key);
|
|
75
|
+
return p && p.kind !== "builtin" ? p.tool : null;
|
|
76
|
+
};
|
|
77
|
+
const builtinInfo = (key, name, spec) => ({
|
|
78
|
+
key,
|
|
79
|
+
...display(spec),
|
|
80
|
+
kind: BUILTIN_TOOL_KINDS[name] ?? "tool",
|
|
81
|
+
sandbox: SANDBOX_TOOL_NAMES.includes(name),
|
|
82
|
+
tool: null,
|
|
83
|
+
source: { kind: "builtin" },
|
|
84
|
+
});
|
|
69
85
|
return unique.map((key) => {
|
|
70
86
|
const b = builtins.get(key);
|
|
71
|
-
if (b)
|
|
87
|
+
if (b)
|
|
88
|
+
return builtinInfo(key, key, b);
|
|
89
|
+
const legacy = isLegacyBuiltinKey(key) ? LEGACY_BUILTINS[key] : undefined;
|
|
90
|
+
const current = legacy && builtins.get(legacy.name);
|
|
91
|
+
if (legacy && current) {
|
|
92
|
+
// the logged input of an rc call names the old parameters: key arguments in those names
|
|
93
|
+
const oldName = new Map(Object.entries(legacy.params).map(([o, n]) => [n, o]));
|
|
94
|
+
const info = builtinInfo(key, legacy.name, current);
|
|
72
95
|
return {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
source: { kind: "builtin" },
|
|
96
|
+
...info,
|
|
97
|
+
aliasOf: legacy.name,
|
|
98
|
+
keyArgs: info.keyArgs.map((a) => oldName.get(a) ?? a),
|
|
77
99
|
};
|
|
78
100
|
}
|
|
79
101
|
const e = extensions.get(key);
|
|
@@ -82,7 +104,13 @@ export async function toolInfo(deps, orgId, keys) {
|
|
|
82
104
|
key,
|
|
83
105
|
...display(e.spec),
|
|
84
106
|
kind: "tool",
|
|
85
|
-
|
|
107
|
+
sandbox: false,
|
|
108
|
+
tool: e.spec.name,
|
|
109
|
+
source: {
|
|
110
|
+
kind: "extension",
|
|
111
|
+
name: e.plugin,
|
|
112
|
+
displayName: displayNames.get(e.plugin) ?? { zh: e.plugin, en: e.plugin },
|
|
113
|
+
},
|
|
86
114
|
};
|
|
87
115
|
const c = connectorTools.get(key);
|
|
88
116
|
if (c) {
|
|
@@ -91,23 +119,107 @@ export async function toolInfo(deps, orgId, keys) {
|
|
|
91
119
|
key,
|
|
92
120
|
...display(c.spec),
|
|
93
121
|
kind: "connector",
|
|
122
|
+
sandbox: false,
|
|
123
|
+
tool: c.tool,
|
|
94
124
|
source: { kind: "connector", id: c.id, name: c.name },
|
|
95
125
|
};
|
|
96
126
|
}
|
|
97
|
-
return {
|
|
127
|
+
return {
|
|
128
|
+
key,
|
|
129
|
+
title: null,
|
|
130
|
+
kind: "tool",
|
|
131
|
+
sandbox: false,
|
|
132
|
+
keyArgs: [],
|
|
133
|
+
tool: localTool(key),
|
|
134
|
+
source: { kind: "unknown" },
|
|
135
|
+
};
|
|
98
136
|
});
|
|
99
137
|
}
|
|
100
138
|
/** `GET /conversations/:id/tools`: {@link toolInfo} for a conversation the viewer can read. */
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
139
|
+
let ConversationToolInfo = class ConversationToolInfo {
|
|
140
|
+
db;
|
|
141
|
+
registry;
|
|
142
|
+
access;
|
|
143
|
+
constructor(db, registry,
|
|
144
|
+
/** Conversation visibility (the same rule as the events API). */
|
|
145
|
+
access) {
|
|
146
|
+
this.db = db;
|
|
147
|
+
this.registry = registry;
|
|
148
|
+
this.access = access;
|
|
105
149
|
}
|
|
106
150
|
async get(orgId, conversationId, viewerAccountId, keys) {
|
|
107
151
|
if (!UUID_RE.test(conversationId) ||
|
|
108
|
-
!(await this.
|
|
152
|
+
!(await this.access.isAccessible(orgId, conversationId, viewerAccountId))) {
|
|
109
153
|
throw new ApiError("conversation.not_found", "Conversation not found");
|
|
110
154
|
}
|
|
111
|
-
return toolInfo(this.
|
|
155
|
+
return toolInfo({ db: this.db.db, registry: this.registry }, orgId, keys);
|
|
112
156
|
}
|
|
113
|
-
}
|
|
157
|
+
};
|
|
158
|
+
ConversationToolInfo = __decorate([
|
|
159
|
+
Injectable(),
|
|
160
|
+
__param(0, Inject(KernelDb)),
|
|
161
|
+
__param(1, Inject(ToolRegistry)),
|
|
162
|
+
__param(2, Inject(ConversationAccess))
|
|
163
|
+
], ConversationToolInfo);
|
|
164
|
+
export { ConversationToolInfo };
|
|
165
|
+
/**
|
|
166
|
+
* `GET /orgs/:orgId/tools/extensions`: the tools an agent of this org can reference by
|
|
167
|
+
* `{kind:"plugin"}` and get at run time, grouped by extension: the extensions loaded on this
|
|
168
|
+
* replica and enabled in the org (`enabled.ts`, through the host), each with the tools it
|
|
169
|
+
* registered whose key is valid (`ToolRegistry.forAgent` reports the others unavailable); a tool
|
|
170
|
+
* the org turned off is listed with `switchedOff`.
|
|
171
|
+
*/
|
|
172
|
+
let OrgExtensionTools = class OrgExtensionTools {
|
|
173
|
+
db;
|
|
174
|
+
registry;
|
|
175
|
+
switches;
|
|
176
|
+
constructor(db, registry, switches) {
|
|
177
|
+
this.db = db;
|
|
178
|
+
this.registry = registry;
|
|
179
|
+
this.switches = switches;
|
|
180
|
+
}
|
|
181
|
+
async list(orgId) {
|
|
182
|
+
const [enabled, off] = await Promise.all([
|
|
183
|
+
this.registry.enabledExtensions(orgId),
|
|
184
|
+
this.switches.offKeys(orgId),
|
|
185
|
+
]);
|
|
186
|
+
const groups = new Map();
|
|
187
|
+
for (const t of this.registry.extensionToolSpecs()) {
|
|
188
|
+
if (!enabled.has(t.plugin))
|
|
189
|
+
continue;
|
|
190
|
+
const key = extensionToolKey(t.plugin, t.spec.name);
|
|
191
|
+
if (toolKeyIssue(key) !== null)
|
|
192
|
+
continue;
|
|
193
|
+
const tools = groups.get(t.plugin) ?? [];
|
|
194
|
+
if (tools.some((x) => x.name === t.spec.name))
|
|
195
|
+
continue;
|
|
196
|
+
tools.push({
|
|
197
|
+
name: t.spec.name,
|
|
198
|
+
key,
|
|
199
|
+
title: display(t.spec).title,
|
|
200
|
+
description: firstLine(t.spec.description),
|
|
201
|
+
annotations: { ...(t.spec.annotations ?? {}) },
|
|
202
|
+
defaultPolicy: t.spec.defaultPolicy ?? policyFromAnnotations(t.spec.annotations),
|
|
203
|
+
switchedOff: off.has(key),
|
|
204
|
+
});
|
|
205
|
+
groups.set(t.plugin, tools);
|
|
206
|
+
}
|
|
207
|
+
const names = await pluginDisplayNames(this.db.db, [...groups.keys()]);
|
|
208
|
+
return [...groups].map(([plugin, tools]) => ({
|
|
209
|
+
plugin,
|
|
210
|
+
displayName: names.get(plugin) ?? { zh: plugin, en: plugin },
|
|
211
|
+
tools,
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
OrgExtensionTools = __decorate([
|
|
216
|
+
Injectable(),
|
|
217
|
+
__param(0, Inject(KernelDb)),
|
|
218
|
+
__param(1, Inject(ToolRegistry)),
|
|
219
|
+
__param(2, Inject(OrgToolSwitches))
|
|
220
|
+
], OrgExtensionTools);
|
|
221
|
+
export { OrgExtensionTools };
|
|
222
|
+
const firstLine = (s) => (typeof s === "string" ? s : "")
|
|
223
|
+
.split("\n")
|
|
224
|
+
.map((l) => l.trim())
|
|
225
|
+
.find((l) => l !== "") ?? "";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** The periodic drift scan (`@LockedInterval`, tools/jobs.ts). */
|
|
2
|
+
export declare const DRIFT_SCAN_JOB = "drift-scan";
|
|
3
|
+
/** The BullMQ repeatable scheduler the scan had before it became `@LockedInterval` (retired). */
|
|
4
|
+
export declare const DRIFT_SCHEDULER_ID = "drift-scan-interval";
|
|
5
|
+
/**
|
|
6
|
+
* 单个连接器的漂移检查任务名(维护队列上的一次性任务:生产方是 `ToolDrift`,消费方是
|
|
7
|
+
* `MaintenanceProcessor`)。
|
|
8
|
+
*/
|
|
9
|
+
export declare const DRIFT_CONNECTOR_JOB = "drift-connector";
|
|
10
|
+
/** The hourly cleanup of expired tool output archives (`@LockedCron`, tools/jobs.ts). */
|
|
11
|
+
export declare const OUTPUT_CLEANUP_JOB = "output-cleanup";
|
|
12
|
+
/** The BullMQ repeatable scheduler the cleanup had before it became `@LockedCron` (retired). */
|
|
13
|
+
export declare const OUTPUT_CLEANUP_SCHEDULER_ID = "output-cleanup-hourly";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// The tools' job names and the retired scheduler ids: a leaf module (no service imports), read by
|
|
2
|
+
// the maintenance queue's retirement list.
|
|
3
|
+
/** The periodic drift scan (`@LockedInterval`, tools/jobs.ts). */
|
|
4
|
+
export const DRIFT_SCAN_JOB = "drift-scan";
|
|
5
|
+
/** The BullMQ repeatable scheduler the scan had before it became `@LockedInterval` (retired). */
|
|
6
|
+
export const DRIFT_SCHEDULER_ID = "drift-scan-interval";
|
|
7
|
+
/**
|
|
8
|
+
* 单个连接器的漂移检查任务名(维护队列上的一次性任务:生产方是 `ToolDrift`,消费方是
|
|
9
|
+
* `MaintenanceProcessor`)。
|
|
10
|
+
*/
|
|
11
|
+
export const DRIFT_CONNECTOR_JOB = "drift-connector";
|
|
12
|
+
/** The hourly cleanup of expired tool output archives (`@LockedCron`, tools/jobs.ts). */
|
|
13
|
+
export const OUTPUT_CLEANUP_JOB = "output-cleanup";
|
|
14
|
+
/** The BullMQ repeatable scheduler the cleanup had before it became `@LockedCron` (retired). */
|
|
15
|
+
export const OUTPUT_CLEANUP_SCHEDULER_ID = "output-cleanup-hourly";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
2
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
3
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
4
|
+
import type { KernelLogger } from "../log.js";
|
|
5
|
+
import { ToolDrift } from "./drift.js";
|
|
6
|
+
/**
|
|
7
|
+
* The tools' periodic jobs, each run once per tick across replicas: the tool drift scan
|
|
8
|
+
* (`drift-scan`, every `tools.driftIntervalHours` and once right after the start, as the old
|
|
9
|
+
* repeatable scheduler's first run: `@LockedInterval` with `runOnStart`; a repeated scan in the
|
|
10
|
+
* same period enqueues nothing new, its job ids are per period) and the hourly cleanup of expired
|
|
11
|
+
* tool output archives (`output-cleanup`: `@LockedCron`).
|
|
12
|
+
*/
|
|
13
|
+
export declare class ToolJobs {
|
|
14
|
+
private readonly drift;
|
|
15
|
+
private readonly db;
|
|
16
|
+
readonly config: KernelConfigService;
|
|
17
|
+
readonly lockService: LockService;
|
|
18
|
+
readonly log: KernelLogger;
|
|
19
|
+
constructor(drift: Pick<ToolDrift, "scan">, db: KernelDb, config: KernelConfigService, lockService: LockService, log: KernelLogger);
|
|
20
|
+
/** Enqueues a drift check of every active connector not checked in this period. */
|
|
21
|
+
scanDrift(): Promise<void>;
|
|
22
|
+
/** Deletes expired tool output archives (in batches, no long transaction). */
|
|
23
|
+
cleanupOutputs(): Promise<void>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
};
|
|
10
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
11
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
12
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
13
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
14
|
+
import { LockedCron } from "../infra/schedule/locked-cron.decorator.js";
|
|
15
|
+
import { LockedInterval } from "../infra/schedule/locked-interval.js";
|
|
16
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
17
|
+
import { ToolDrift } from "./drift.js";
|
|
18
|
+
import { DRIFT_SCAN_JOB, OUTPUT_CLEANUP_JOB } from "./job-ids.js";
|
|
19
|
+
import { deleteExpiredOutputs } from "./outputs.js";
|
|
20
|
+
/**
|
|
21
|
+
* The tools' periodic jobs, each run once per tick across replicas: the tool drift scan
|
|
22
|
+
* (`drift-scan`, every `tools.driftIntervalHours` and once right after the start, as the old
|
|
23
|
+
* repeatable scheduler's first run: `@LockedInterval` with `runOnStart`; a repeated scan in the
|
|
24
|
+
* same period enqueues nothing new, its job ids are per period) and the hourly cleanup of expired
|
|
25
|
+
* tool output archives (`output-cleanup`: `@LockedCron`).
|
|
26
|
+
*/
|
|
27
|
+
let ToolJobs = class ToolJobs {
|
|
28
|
+
drift;
|
|
29
|
+
db;
|
|
30
|
+
config;
|
|
31
|
+
lockService;
|
|
32
|
+
log;
|
|
33
|
+
constructor(drift, db, config, lockService, log) {
|
|
34
|
+
this.drift = drift;
|
|
35
|
+
this.db = db;
|
|
36
|
+
this.config = config;
|
|
37
|
+
this.lockService = lockService;
|
|
38
|
+
this.log = log;
|
|
39
|
+
}
|
|
40
|
+
/** Enqueues a drift check of every active connector not checked in this period. */
|
|
41
|
+
async scanDrift() {
|
|
42
|
+
const n = await this.drift.scan();
|
|
43
|
+
if (n > 0)
|
|
44
|
+
this.log.info("tool drift checks enqueued", { count: n });
|
|
45
|
+
}
|
|
46
|
+
/** Deletes expired tool output archives (in batches, no long transaction). */
|
|
47
|
+
async cleanupOutputs() {
|
|
48
|
+
const n = await deleteExpiredOutputs(this.db.db);
|
|
49
|
+
if (n > 0)
|
|
50
|
+
this.log.info("expired tool outputs deleted", { count: n });
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
__decorate([
|
|
54
|
+
LockedInterval(DRIFT_SCAN_JOB, (c) => c.tools.driftIntervalHours * 3_600_000, {
|
|
55
|
+
runOnStart: true,
|
|
56
|
+
})
|
|
57
|
+
], ToolJobs.prototype, "scanDrift", null);
|
|
58
|
+
__decorate([
|
|
59
|
+
LockedCron("0 * * * *", { name: OUTPUT_CLEANUP_JOB })
|
|
60
|
+
], ToolJobs.prototype, "cleanupOutputs", null);
|
|
61
|
+
ToolJobs = __decorate([
|
|
62
|
+
Injectable(),
|
|
63
|
+
__param(0, Inject(ToolDrift)),
|
|
64
|
+
__param(1, Inject(KernelDb)),
|
|
65
|
+
__param(2, Inject(KernelConfigService)),
|
|
66
|
+
__param(3, Inject(LockService)),
|
|
67
|
+
__param(4, Inject(KERNEL_LOGGER))
|
|
68
|
+
], ToolJobs);
|
|
69
|
+
export { ToolJobs };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type AgentDefinition } from "../agents/definition.js";
|
|
2
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
3
|
+
import type { KernelLogger } from "../log.js";
|
|
4
|
+
import { type LegacyScope } from "./legacy-keys.js";
|
|
5
|
+
/**
|
|
6
|
+
* Stored release-candidate tool keys (tool naming spec §8): the scope that reads an rc
|
|
7
|
+
* `<x>__<tool>` key in an org, the stored-definition readers that use it, and the startup notice
|
|
8
|
+
* for the rows migration 0063 could not map. No in-process state: each call reads PostgreSQL.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* What an rc `<x>__<tool>` key can name in `orgId`: the org's live connector slugs and the
|
|
12
|
+
* deployment's extension names (installed ones and config-declared ones, which claim their name
|
|
13
|
+
* in `extension_name_owners`). Migration 0063 reads the same two sources.
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadLegacyScope(db: KernelSchemaDb, orgId: string): Promise<LegacyScope>;
|
|
16
|
+
/**
|
|
17
|
+
* A stored agent definition of `orgId` with every rc key it can map read as the current key
|
|
18
|
+
* ({@link normalizeStoredDefinition}); the scope is read only when the definition holds an rc
|
|
19
|
+
* `<x>__<tool>` key.
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizeStoredDefinitionIn(db: KernelSchemaDb, orgId: string, def: unknown): Promise<AgentDefinition>;
|
|
22
|
+
/** A stored agent template (or any template-shaped value) of `orgId` in current keys. */
|
|
23
|
+
export declare function normalizeTemplateIn<T>(db: KernelSchemaDb, orgId: string, t: T): Promise<T>;
|
|
24
|
+
/**
|
|
25
|
+
* Rows still holding an rc tool key after migration 0063: grants and pending approvals and
|
|
26
|
+
* questions it could not map (an ambiguous or unknown `<x>__<tool>`). Read-only.
|
|
27
|
+
*/
|
|
28
|
+
export declare function countLegacyToolKeys(db: KernelSchemaDb): Promise<number>;
|
|
29
|
+
/**
|
|
30
|
+
* The startup notice (spec §8.2): one WARN `tools.legacy_key_unmapped` with the count of rows
|
|
31
|
+
* still holding an rc key, only when there are any. A grant that no longer matches stops applying
|
|
32
|
+
* (the person is asked again), so this is a notice, not a failure.
|
|
33
|
+
*/
|
|
34
|
+
export declare function warnLegacyToolKeys(db: KernelSchemaDb, log: Pick<KernelLogger, "warn">): Promise<void>;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { sql } from "kysely";
|
|
2
|
+
import { needsLegacyScope, normalizeStoredDefinition, normalizeToolKeys, } from "../agents/definition.js";
|
|
3
|
+
import { LEGACY_BUILTINS } from "./legacy-keys.js";
|
|
4
|
+
/**
|
|
5
|
+
* Stored release-candidate tool keys (tool naming spec §8): the scope that reads an rc
|
|
6
|
+
* `<x>__<tool>` key in an org, the stored-definition readers that use it, and the startup notice
|
|
7
|
+
* for the rows migration 0063 could not map. No in-process state: each call reads PostgreSQL.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* What an rc `<x>__<tool>` key can name in `orgId`: the org's live connector slugs and the
|
|
11
|
+
* deployment's extension names (installed ones and config-declared ones, which claim their name
|
|
12
|
+
* in `extension_name_owners`). Migration 0063 reads the same two sources.
|
|
13
|
+
*/
|
|
14
|
+
export async function loadLegacyScope(db, orgId) {
|
|
15
|
+
const [connectors, installs, owners] = await Promise.all([
|
|
16
|
+
db
|
|
17
|
+
.selectFrom("connectors")
|
|
18
|
+
.select(["id", "slug"])
|
|
19
|
+
.where("org_id", "=", orgId)
|
|
20
|
+
.where("deleted_at", "is", null)
|
|
21
|
+
.execute(),
|
|
22
|
+
db.selectFrom("extension_installs").select("name").execute(),
|
|
23
|
+
db.selectFrom("extension_name_owners").select("name").execute(),
|
|
24
|
+
]);
|
|
25
|
+
return {
|
|
26
|
+
connectorSlugs: new Set(connectors.map((r) => r.slug)),
|
|
27
|
+
connectorSlugById: new Map(connectors.map((r) => [r.id, r.slug])),
|
|
28
|
+
extensionNames: new Set([...installs, ...owners].map((r) => r.name)),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A stored agent definition of `orgId` with every rc key it can map read as the current key
|
|
33
|
+
* ({@link normalizeStoredDefinition}); the scope is read only when the definition holds an rc
|
|
34
|
+
* `<x>__<tool>` key.
|
|
35
|
+
*/
|
|
36
|
+
export async function normalizeStoredDefinitionIn(db, orgId, def) {
|
|
37
|
+
return normalizeStoredDefinition(def, needsLegacyScope(def) ? await loadLegacyScope(db, orgId) : undefined);
|
|
38
|
+
}
|
|
39
|
+
/** A stored agent template (or any template-shaped value) of `orgId` in current keys. */
|
|
40
|
+
export async function normalizeTemplateIn(db, orgId, t) {
|
|
41
|
+
return normalizeToolKeys(t, needsLegacyScope(t) ? await loadLegacyScope(db, orgId) : undefined);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The SQL test for an rc key, the predicate of migration 0063's partial indexes (so the count
|
|
45
|
+
* below reads only those, nearly empty, indexes): an old builtin name, or `<x>__<tool>` not in the
|
|
46
|
+
* current `mcp__` / `plugin__` format.
|
|
47
|
+
*/
|
|
48
|
+
const legacyKeySql = (col) => sql `(${col} = ANY (ARRAY[${sql.join(Object.keys(LEGACY_BUILTINS).map((k) => sql.lit(k)))}]::text[]) OR (${col} ~ '^[a-z0-9][a-z0-9_-]*__.' AND ${col} !~ '^(mcp|plugin)__'))`;
|
|
49
|
+
/**
|
|
50
|
+
* Rows still holding an rc tool key after migration 0063: grants and pending approvals and
|
|
51
|
+
* questions it could not map (an ambiguous or unknown `<x>__<tool>`). Read-only.
|
|
52
|
+
*/
|
|
53
|
+
export async function countLegacyToolKeys(db) {
|
|
54
|
+
const r = await sql `
|
|
55
|
+
SELECT
|
|
56
|
+
(SELECT count(*) FROM capybara.tool_grants WHERE ${legacyKeySql(sql.ref("tool_key"))})
|
|
57
|
+
+ (SELECT count(*) FROM capybara.conversation_tool_grants
|
|
58
|
+
WHERE ${legacyKeySql(sql.ref("tool_key"))})
|
|
59
|
+
+ (SELECT count(*) FROM capybara.approvals
|
|
60
|
+
WHERE status = 'pending' AND ${legacyKeySql(sql.ref("tool_key"))})
|
|
61
|
+
+ (SELECT count(*) FROM capybara.questions
|
|
62
|
+
WHERE status = 'pending' AND ${legacyKeySql(sql.raw("(spec->>'toolKey')"))})
|
|
63
|
+
AS n
|
|
64
|
+
`.execute(db);
|
|
65
|
+
return Number(r.rows[0]?.n ?? 0);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The startup notice (spec §8.2): one WARN `tools.legacy_key_unmapped` with the count of rows
|
|
69
|
+
* still holding an rc key, only when there are any. A grant that no longer matches stops applying
|
|
70
|
+
* (the person is asked again), so this is a notice, not a failure.
|
|
71
|
+
*/
|
|
72
|
+
export async function warnLegacyToolKeys(db, log) {
|
|
73
|
+
const count = await countLegacyToolKeys(db);
|
|
74
|
+
if (count > 0)
|
|
75
|
+
log.warn("tools.legacy_key_unmapped", { count });
|
|
76
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type BuiltinName } from "./builtin-names.js";
|
|
2
|
+
/**
|
|
3
|
+
* The release-candidate builtin tool names (tool naming spec §8.1). FROZEN: it describes the names
|
|
4
|
+
* of the 0.1.0 release candidates and never grows. Old keys stay in logs, recordings and stored
|
|
5
|
+
* configuration; this map is how the kernel reads them. `check:terms` exempts this file.
|
|
6
|
+
*/
|
|
7
|
+
export interface LegacyBuiltin {
|
|
8
|
+
/** The new name. */
|
|
9
|
+
name: BuiltinName;
|
|
10
|
+
/** Old parameter name -> new parameter name (only the renamed ones). */
|
|
11
|
+
params: Readonly<Record<string, string>>;
|
|
12
|
+
/** New parameters whose value is in milliseconds where the old one was in seconds (× 1000). */
|
|
13
|
+
msParams?: readonly string[];
|
|
14
|
+
}
|
|
15
|
+
export declare const LEGACY_BUILTINS: Readonly<Record<string, LegacyBuiltin>>;
|
|
16
|
+
/** Is `key` a release-candidate builtin name? */
|
|
17
|
+
export declare const isLegacyBuiltinKey: (key: string) => boolean;
|
|
18
|
+
/** What a connector slug / extension name can be, to read an old `<x>__<tool>` key. */
|
|
19
|
+
export interface LegacyScope {
|
|
20
|
+
connectorSlugs: ReadonlySet<string>;
|
|
21
|
+
extensionNames: ReadonlySet<string>;
|
|
22
|
+
/**
|
|
23
|
+
* Connector id -> slug, for reading a stored definition's connector refs when a key is
|
|
24
|
+
* ambiguous (a slug that is also an extension name); optional.
|
|
25
|
+
*/
|
|
26
|
+
connectorSlugById?: ReadonlyMap<string, string>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Is `key` an rc `<x>__<tool>` key, which only a {@link LegacyScope} can map? Keys in the current
|
|
30
|
+
* format (`mcp__…`, `plugin__…`) never are.
|
|
31
|
+
*/
|
|
32
|
+
export declare const isLegacyPrefixedKey: (key: string) => boolean;
|
|
33
|
+
/**
|
|
34
|
+
* The current key of a release-candidate key: a builtin by the frozen map; `<x>__<tool>` becomes
|
|
35
|
+
* `mcp__x__tool` when `x` is only a connector slug in `scope`, `plugin__x__tool` when only an
|
|
36
|
+
* extension name, else null (ambiguous, unknown, or not an old key; a key in the current format
|
|
37
|
+
* is never mapped again).
|
|
38
|
+
*/
|
|
39
|
+
export declare function legacyToolKey(key: string, scope?: LegacyScope): string | null;
|
|
40
|
+
/** The input of an old builtin call in the current parameter names (seconds -> milliseconds). */
|
|
41
|
+
export declare function legacyToolInput(oldKey: string, input: unknown): unknown;
|
|
42
|
+
/** The model-visible hint for a call to an old builtin key; null for any other key. */
|
|
43
|
+
export declare function legacyHint(key: string): string | null;
|
|
44
|
+
/**
|
|
45
|
+
* The current key(s) an rc key stands for, to name in a refusal when a definition is saved with
|
|
46
|
+
* it: a builtin's new name; for `<x>__<tool>`, the candidates among `known` (the agent's tool
|
|
47
|
+
* keys), else both `mcp__<x>__<tool>` and `plugin__<x>__<tool>`. Empty when `key` is no rc key.
|
|
48
|
+
*/
|
|
49
|
+
export declare function legacyKeyCandidates(key: string, known?: ReadonlySet<string>): string[];
|
|
50
|
+
/** The refusal text for saving rc key `key` (null when it is none): names the new key(s). */
|
|
51
|
+
export declare function legacyKeySaveText(key: string, known?: ReadonlySet<string>): string | null;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { BUILTIN } from "./builtin-names.js";
|
|
2
|
+
export const LEGACY_BUILTINS = Object.freeze({
|
|
3
|
+
sandbox_bash: {
|
|
4
|
+
name: BUILTIN.Bash,
|
|
5
|
+
params: { timeoutSeconds: "timeout" },
|
|
6
|
+
msParams: ["timeout"],
|
|
7
|
+
},
|
|
8
|
+
sandbox_read: { name: BUILTIN.Read, params: { path: "file_path" } },
|
|
9
|
+
sandbox_write: { name: BUILTIN.Write, params: { path: "file_path" } },
|
|
10
|
+
sandbox_edit: {
|
|
11
|
+
name: BUILTIN.Edit,
|
|
12
|
+
params: {
|
|
13
|
+
path: "file_path",
|
|
14
|
+
oldText: "old_string",
|
|
15
|
+
newText: "new_string",
|
|
16
|
+
replaceAll: "replace_all",
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
sandbox_glob: { name: BUILTIN.Glob, params: {} },
|
|
20
|
+
sandbox_grep: { name: BUILTIN.Grep, params: { ignoreCase: "-i" } },
|
|
21
|
+
sandbox_deliver: { name: BUILTIN.Deliver, params: { path: "file_path" } },
|
|
22
|
+
skill_load: { name: BUILTIN.Skill, params: { name: "skill" } },
|
|
23
|
+
skill_write: { name: BUILTIN.SkillWrite, params: {} },
|
|
24
|
+
ask_user: { name: BUILTIN.AskUserQuestion, params: {} },
|
|
25
|
+
read_tool_output: { name: BUILTIN.ReadToolOutput, params: {} },
|
|
26
|
+
tool_search: { name: BUILTIN.ToolSearch, params: { limit: "max_results" } },
|
|
27
|
+
agent: { name: BUILTIN.Agent, params: {} },
|
|
28
|
+
});
|
|
29
|
+
/** Is `key` a release-candidate builtin name? */
|
|
30
|
+
export const isLegacyBuiltinKey = (key) => Object.hasOwn(LEGACY_BUILTINS, key);
|
|
31
|
+
/** A key in the current format for connector and extension tools (`mcp__…`, `plugin__…`). */
|
|
32
|
+
const CURRENT_PREFIXED_RE = /^(mcp|plugin)__/;
|
|
33
|
+
/** An rc connector or extension key `<x>__<tool>` (the SQL of migration 0063 uses the same test). */
|
|
34
|
+
const LEGACY_PREFIXED_RE = /^[a-z0-9][a-z0-9_-]*__./;
|
|
35
|
+
/**
|
|
36
|
+
* Is `key` an rc `<x>__<tool>` key, which only a {@link LegacyScope} can map? Keys in the current
|
|
37
|
+
* format (`mcp__…`, `plugin__…`) never are.
|
|
38
|
+
*/
|
|
39
|
+
export const isLegacyPrefixedKey = (key) => LEGACY_PREFIXED_RE.test(key) && !CURRENT_PREFIXED_RE.test(key);
|
|
40
|
+
/**
|
|
41
|
+
* The current key of a release-candidate key: a builtin by the frozen map; `<x>__<tool>` becomes
|
|
42
|
+
* `mcp__x__tool` when `x` is only a connector slug in `scope`, `plugin__x__tool` when only an
|
|
43
|
+
* extension name, else null (ambiguous, unknown, or not an old key; a key in the current format
|
|
44
|
+
* is never mapped again).
|
|
45
|
+
*/
|
|
46
|
+
export function legacyToolKey(key, scope) {
|
|
47
|
+
if (isLegacyBuiltinKey(key))
|
|
48
|
+
return LEGACY_BUILTINS[key].name;
|
|
49
|
+
if (scope === undefined || !isLegacyPrefixedKey(key))
|
|
50
|
+
return null;
|
|
51
|
+
const i = key.indexOf("__");
|
|
52
|
+
if (i <= 0 || i + 2 >= key.length)
|
|
53
|
+
return null;
|
|
54
|
+
const head = key.slice(0, i);
|
|
55
|
+
const tool = key.slice(i + 2);
|
|
56
|
+
const connector = scope.connectorSlugs.has(head);
|
|
57
|
+
const extension = scope.extensionNames.has(head);
|
|
58
|
+
if (connector === extension)
|
|
59
|
+
return null;
|
|
60
|
+
return connector ? `mcp__${head}__${tool}` : `plugin__${head}__${tool}`;
|
|
61
|
+
}
|
|
62
|
+
/** The input of an old builtin call in the current parameter names (seconds -> milliseconds). */
|
|
63
|
+
export function legacyToolInput(oldKey, input) {
|
|
64
|
+
if (!isLegacyBuiltinKey(oldKey))
|
|
65
|
+
return input;
|
|
66
|
+
if (typeof input !== "object" || input === null || Array.isArray(input))
|
|
67
|
+
return input;
|
|
68
|
+
const { params, msParams } = LEGACY_BUILTINS[oldKey];
|
|
69
|
+
const out = {};
|
|
70
|
+
for (const [k, v] of Object.entries(input)) {
|
|
71
|
+
const next = Object.hasOwn(params, k) ? params[k] : k;
|
|
72
|
+
out[next] = msParams?.includes(next) === true && typeof v === "number" ? v * 1000 : v;
|
|
73
|
+
}
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
76
|
+
/** The new parameters of the builtins whose parameters were renamed (model-visible hint text). */
|
|
77
|
+
const HINT_PARAMS = {
|
|
78
|
+
Bash: "command, description, timeout in milliseconds",
|
|
79
|
+
Read: "file_path, offset, limit",
|
|
80
|
+
Write: "file_path, content",
|
|
81
|
+
Edit: "file_path, old_string, new_string, replace_all",
|
|
82
|
+
Grep: "pattern, path, glob, -i, output_mode, -n, -A, -B, -C, head_limit, offset",
|
|
83
|
+
Deliver: "file_path, name",
|
|
84
|
+
Skill: "skill, args",
|
|
85
|
+
ToolSearch: "query, max_results",
|
|
86
|
+
};
|
|
87
|
+
/** The model-visible hint for a call to an old builtin key; null for any other key. */
|
|
88
|
+
export function legacyHint(key) {
|
|
89
|
+
if (!isLegacyBuiltinKey(key))
|
|
90
|
+
return null;
|
|
91
|
+
const { name } = LEGACY_BUILTINS[key];
|
|
92
|
+
const params = HINT_PARAMS[name];
|
|
93
|
+
return `Tool "${key}" no longer exists; it is now "${name}"${params === undefined ? "" : ` (parameters: ${params})`}.`;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The current key(s) an rc key stands for, to name in a refusal when a definition is saved with
|
|
97
|
+
* it: a builtin's new name; for `<x>__<tool>`, the candidates among `known` (the agent's tool
|
|
98
|
+
* keys), else both `mcp__<x>__<tool>` and `plugin__<x>__<tool>`. Empty when `key` is no rc key.
|
|
99
|
+
*/
|
|
100
|
+
export function legacyKeyCandidates(key, known) {
|
|
101
|
+
if (isLegacyBuiltinKey(key))
|
|
102
|
+
return [LEGACY_BUILTINS[key].name];
|
|
103
|
+
if (!isLegacyPrefixedKey(key))
|
|
104
|
+
return [];
|
|
105
|
+
const all = [`mcp__${key}`, `plugin__${key}`];
|
|
106
|
+
const hit = all.filter((k) => known?.has(k) === true);
|
|
107
|
+
return hit.length > 0 ? hit : all;
|
|
108
|
+
}
|
|
109
|
+
/** The refusal text for saving rc key `key` (null when it is none): names the new key(s). */
|
|
110
|
+
export function legacyKeySaveText(key, known) {
|
|
111
|
+
const c = legacyKeyCandidates(key, known);
|
|
112
|
+
if (c.length === 0)
|
|
113
|
+
return null;
|
|
114
|
+
return `"${key}" is a release-candidate tool key; use ${c.map((x) => `"${x}"`).join(" or ")}`;
|
|
115
|
+
}
|