@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +85 -5
- package/dist/admin/admin.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +60 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +264 -0
- package/dist/catalog/catalog-content.js +430 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +677 -0
- package/dist/catalog/catalog-scope.service.d.ts +286 -0
- package/dist/catalog/catalog-scope.service.js +1196 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +144 -207
- package/dist/catalog/catalog.service.js +258 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +366 -0
- package/dist/catalog/component-scope.service.js +1115 -0
- package/dist/catalog/component-state.d.ts +197 -0
- package/dist/catalog/component-state.js +473 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +434 -472
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +293 -71
- package/dist/catalog/plugin-import.js +1039 -281
- package/dist/catalog/plugin-install.d.ts +271 -66
- package/dist/catalog/plugin-install.js +1198 -344
- package/dist/catalog/plugin-package.d.ts +41 -4
- package/dist/catalog/plugin-package.js +140 -7
- package/dist/catalog/plugin-upgrade.d.ts +312 -188
- package/dist/catalog/plugin-upgrade.js +1371 -1065
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -202
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +36 -2
- package/dist/config/schema.js +226 -25
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -71
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +589 -27
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +160 -2
- package/dist/errors.js +160 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -124
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +99 -36
- package/dist/extensions/bootstrap.js +290 -134
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +91 -4
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +93 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +46 -65
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +137 -38
- package/dist/identity/accounts.js +386 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +80 -33
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +69 -23
- package/dist/identity/settings.js +201 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +22 -13
- package/dist/index.js +16 -7
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -244
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-context.d.ts +2 -0
- package/dist/log-context.js +4 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +7 -0
- package/dist/models/models.module.js +36 -0
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +76 -14
- package/dist/orgs/settings.service.js +140 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +683 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +94 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +407 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +296 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +40 -0
- package/dist/platform/platform-ops.module.js +127 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +66 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -137
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +43 -0
- package/dist/runtime/run-control.js +89 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -237
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +121 -83
- package/dist/runtime/usage-report.js +355 -181
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/themes/render-css.d.ts +12 -0
- package/dist/themes/render-css.js +132 -0
- package/dist/themes/theme-delivery.service.d.ts +34 -0
- package/dist/themes/theme-delivery.service.js +111 -0
- package/dist/themes/theme-state.d.ts +95 -0
- package/dist/themes/theme-state.js +203 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +28 -0
- package/dist/themes/themes-public.controller.js +92 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +137 -37
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +30 -20
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +52 -45
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +13 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { SKILL_ENTRY_FILE, sanitizeParams, } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { canonicalDisabledTools, } from "../../agents/definition.js";
|
|
2
3
|
import { loadTemplates } from "../../agents/templates.js";
|
|
3
4
|
import { ApiError } from "../../errors.js";
|
|
4
5
|
import { PINNED_SKILLS_LIMITS } from "../../skills/catalog.js";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* see the child), `sandbox_deliver` (delivering files is the parent's job) and `skill_write`.
|
|
9
|
-
*/
|
|
10
|
-
export const CHILD_REMOVED_TOOLS = ["agent", "ask_user", "sandbox_deliver", "skill_write"];
|
|
6
|
+
import { selectedSkills } from "../../skills/usable.js";
|
|
7
|
+
import { AGENT_TOOL, CHILD_REMOVED_TOOLS } from "../../tools/builtin-names.js";
|
|
8
|
+
export { CHILD_REMOVED_TOOLS } from "../../tools/builtin-names.js";
|
|
11
9
|
/**
|
|
12
10
|
* The roster entry's template is gone (an inline template edited away, a plugin template
|
|
13
11
|
* uninstalled) between resolving the roster and reading it. The dispatch refuses the call as an
|
|
@@ -41,73 +39,28 @@ export function stricterPolicies(base, over) {
|
|
|
41
39
|
}
|
|
42
40
|
return out;
|
|
43
41
|
}
|
|
44
|
-
async function loadConnectors(db, orgId, refs) {
|
|
45
|
-
const ids = [...new Set(refs.flatMap((r) => (r.kind === "connector" ? [r.connectorId] : [])))];
|
|
46
|
-
const out = new Map();
|
|
47
|
-
if (ids.length === 0)
|
|
48
|
-
return out;
|
|
49
|
-
const rows = await db
|
|
50
|
-
.selectFrom("connectors")
|
|
51
|
-
.select(["id", "slug"])
|
|
52
|
-
.where("org_id", "=", orgId)
|
|
53
|
-
.where("deleted_at", "is", null)
|
|
54
|
-
.where("id", "in", ids)
|
|
55
|
-
.execute();
|
|
56
|
-
const tools = rows.length === 0
|
|
57
|
-
? []
|
|
58
|
-
: await db
|
|
59
|
-
.selectFrom("connector_tools")
|
|
60
|
-
.select(["connector_id", "name"])
|
|
61
|
-
.where("connector_id", "in", rows.map((r) => r.id))
|
|
62
|
-
.orderBy("name")
|
|
63
|
-
.execute();
|
|
64
|
-
for (const r of rows) {
|
|
65
|
-
out.set(r.id, {
|
|
66
|
-
slug: r.slug,
|
|
67
|
-
tools: tools.filter((t) => t.connector_id === r.id).map((t) => t.name),
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
return out;
|
|
71
|
-
}
|
|
72
42
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* is dropped. A connector that no longer exists keeps its ref only without an allowlist.
|
|
43
|
+
* A child's key filter (tools default-on spec §4): `deny` = the parent's own filter's (a nested
|
|
44
|
+
* child), {@link CHILD_REMOVED_TOOLS}, `Agent` when the child is at the depth limit, and the
|
|
45
|
+
* template's `disallowedTools`; `allow` = the template's `tools` allowlist met with the parent's
|
|
46
|
+
* (absent on both = everything the parent has). Keys are deduplicated in first-seen order.
|
|
78
47
|
*/
|
|
79
|
-
function
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (allow === null)
|
|
96
|
-
out.push(ref);
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
const prefix = toolKey(c.slug, "");
|
|
100
|
-
if (ref.tools === "all" && allow === null && ![...deny].some((k) => k.startsWith(prefix))) {
|
|
101
|
-
out.push(ref);
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
const names = ref.tools === "all" ? c.tools : ref.tools;
|
|
105
|
-
const kept = names.filter((name) => keep(toolKey(c.slug, name)));
|
|
106
|
-
if (kept.length > 0)
|
|
107
|
-
out.push({ ...ref, tools: kept });
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return out;
|
|
48
|
+
function childFilter(removeAgent, template, parent) {
|
|
49
|
+
const deny = [
|
|
50
|
+
...new Set([
|
|
51
|
+
...(parent?.deny ?? []),
|
|
52
|
+
...CHILD_REMOVED_TOOLS,
|
|
53
|
+
...(removeAgent ? [AGENT_TOOL] : []),
|
|
54
|
+
...(template?.disallowedTools ?? []),
|
|
55
|
+
]),
|
|
56
|
+
];
|
|
57
|
+
const own = template?.tools === undefined ? undefined : [...new Set(template.tools)];
|
|
58
|
+
const allow = own === undefined
|
|
59
|
+
? parent?.allow
|
|
60
|
+
: parent?.allow === undefined
|
|
61
|
+
? own
|
|
62
|
+
: own.filter((k) => parent.allow?.includes(k));
|
|
63
|
+
return { ...(allow !== undefined && { allow: [...allow] }), deny };
|
|
111
64
|
}
|
|
112
65
|
/**
|
|
113
66
|
* The template's skills the parent selects (its `orgSkills` or the parent agent's own skills),
|
|
@@ -116,25 +69,17 @@ function narrowTools(refs, connectors, allow, deny) {
|
|
|
116
69
|
* this order, the skill from the template's own plugin, the agent's own skill, the org skill (ties
|
|
117
70
|
* by id), with a warning. Dropped ones get a warning.
|
|
118
71
|
*/
|
|
119
|
-
async function pinnedFor(db, a, refs, byName
|
|
120
|
-
|
|
72
|
+
async function pinnedFor(db, a, refs, byName,
|
|
73
|
+
/** Further names the template lists (`selectedSkills`): resolved the same way, never pinned. */
|
|
74
|
+
selected = []) {
|
|
75
|
+
if (refs.length === 0 && selected.length === 0)
|
|
121
76
|
return { pinned: [], warnings: [] };
|
|
122
|
-
|
|
123
|
-
const rows = (await db
|
|
124
|
-
.
|
|
125
|
-
|
|
126
|
-
.
|
|
127
|
-
|
|
128
|
-
.where("s.org_id", "=", a.orgId)
|
|
129
|
-
.where("s.deleted_at", "is", null)
|
|
130
|
-
.where((eb) => {
|
|
131
|
-
const own = eb.and([eb("s.scope", "=", "agent"), eb("s.agent_id", "=", a.parentAgentId)]);
|
|
132
|
-
return orgSkills.length === 0
|
|
133
|
-
? own
|
|
134
|
-
: eb.or([own, eb.and([eb("s.scope", "=", "org"), eb("s.id", "in", orgSkills)])]);
|
|
135
|
-
})
|
|
136
|
-
.orderBy("s.id")
|
|
137
|
-
.execute()).map((r) => ({
|
|
77
|
+
// org and agent skills, linked org copies and platform skills on in the org (phase 2), by id
|
|
78
|
+
const rows = (await selectedSkills(db, {
|
|
79
|
+
orgId: a.orgId,
|
|
80
|
+
agentId: a.parentAgentId,
|
|
81
|
+
orgSkills: a.parent.skills?.orgSkills ?? [],
|
|
82
|
+
})).map((r) => ({
|
|
138
83
|
id: r.id,
|
|
139
84
|
name: r.name,
|
|
140
85
|
scope: r.scope,
|
|
@@ -180,12 +125,19 @@ async function pinnedFor(db, a, refs, byName) {
|
|
|
180
125
|
total += r.bytes;
|
|
181
126
|
pinned.push(r.id);
|
|
182
127
|
}
|
|
128
|
+
for (const ref of selected) {
|
|
129
|
+
if (refs.includes(ref))
|
|
130
|
+
continue;
|
|
131
|
+
if (!match(ref)) {
|
|
132
|
+
warnings.push(`The skill "${ref}" is not available: the agent does not select it.`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
183
135
|
return { pinned, warnings };
|
|
184
136
|
}
|
|
185
137
|
/** The `effort` declaration of `model`, or null (or when the model cannot be resolved). */
|
|
186
|
-
async function effortDecl(registry, model) {
|
|
138
|
+
async function effortDecl(registry, orgId, model) {
|
|
187
139
|
try {
|
|
188
|
-
const { info } = await registry.resolve(model);
|
|
140
|
+
const { info } = await registry.resolve(orgId, model);
|
|
189
141
|
return info.parameters.find((p) => p.standard === "effort") ?? null;
|
|
190
142
|
}
|
|
191
143
|
catch {
|
|
@@ -221,6 +173,7 @@ async function resolveTier(d, orgId, parent, tier) {
|
|
|
221
173
|
}
|
|
222
174
|
/** `"{parent name} › {agent type}"`, within the 80-character name limit. */
|
|
223
175
|
const childName = (parent, type) => `${parent} › ${type}`.slice(0, 80);
|
|
176
|
+
const atMaxDepth = (a) => a.childDepth >= a.maxDepth;
|
|
224
177
|
function orgAgentDefinition(d, a) {
|
|
225
178
|
// the version the gates checked (checkOrgAgent), never read again here: a version saved in
|
|
226
179
|
// between could be one the gates never saw (batch 3 review M1)
|
|
@@ -229,11 +182,17 @@ function orgAgentDefinition(d, a) {
|
|
|
229
182
|
}
|
|
230
183
|
const agentId = a.entry.agentId ?? "";
|
|
231
184
|
const own = a.orgAgent.definition;
|
|
232
|
-
|
|
185
|
+
// prompt files are authoring data: the child's model sees only `instructions` (their join), and
|
|
186
|
+
// `subagent_started.definition` keeps its shape (spec 2026-11-04 §3.3); its own `subagents`
|
|
187
|
+
// block stays: it is the roster the child dispatches from (agent map spec §4.1); pending
|
|
188
|
+
// connectors are authoring data too (ruling P4-6)
|
|
189
|
+
const { skills, instructionFiles: _files, pendingConnectors: _pending, ...rest } = own;
|
|
190
|
+
const { subagentTools: _filter, ...ownRest } = rest;
|
|
233
191
|
const definition = {
|
|
234
|
-
...
|
|
192
|
+
...ownRest,
|
|
235
193
|
// its own tools, not intersected with the parent's; only the child-removed ones go
|
|
236
|
-
|
|
194
|
+
disabledTools: own.disabledTools ?? [],
|
|
195
|
+
subagentTools: childFilter(atMaxDepth(a), null),
|
|
237
196
|
// its policies, then the parent's on top, stricter wins (keys outside its tools are inert)
|
|
238
197
|
toolPolicies: stricterPolicies(own.toolPolicies ?? {}, a.parent.toolPolicies ?? {}),
|
|
239
198
|
...(skills !== undefined && {
|
|
@@ -246,7 +205,7 @@ function orgAgentDefinition(d, a) {
|
|
|
246
205
|
return {
|
|
247
206
|
definition,
|
|
248
207
|
template: { source: "agent", id: agentId, version: a.orgAgent.version },
|
|
249
|
-
maxSteps: d.config().runtime.maxSteps,
|
|
208
|
+
maxSteps: d.config.get().runtime.maxSteps,
|
|
250
209
|
warnings: [],
|
|
251
210
|
model: own.model,
|
|
252
211
|
tierFallback: false,
|
|
@@ -262,13 +221,15 @@ function orgAgentDefinition(d, a) {
|
|
|
262
221
|
* (`tierFallback`); a template `effort` is set when the resolved model declares it;
|
|
263
222
|
* - `agent`: the org agent's version that passed the gates (`orgAgent`, from {@link checkOrgAgent}),
|
|
264
223
|
* its own tools minus the child-removed ones, its policies with the parent's on top (stricter
|
|
265
|
-
* wins), its skills and
|
|
266
|
-
*
|
|
224
|
+
* wins), its skills, model and `subagents` block; `tier` ignored.
|
|
225
|
+
* Nesting (agent map spec §4.1): `Agent` stays unless the child is at `maxDepth`; the frozen
|
|
226
|
+
* definition keeps a `subagents` block, the roster the child dispatches from: an org agent's own,
|
|
227
|
+
* otherwise the parent definition's (a general-purpose, inline or plugin child inherits it).
|
|
267
228
|
*/
|
|
268
229
|
export async function effectiveDefinition(d, a) {
|
|
269
230
|
if (a.entry.source === "agent")
|
|
270
231
|
return orgAgentDefinition(d, a);
|
|
271
|
-
const runtimeMax = d.config().runtime.maxSteps;
|
|
232
|
+
const runtimeMax = d.config.get().runtime.maxSteps;
|
|
272
233
|
const { parent, entry } = a;
|
|
273
234
|
let template = null;
|
|
274
235
|
let ref = { source: entry.source };
|
|
@@ -282,17 +243,21 @@ export async function effectiveDefinition(d, a) {
|
|
|
282
243
|
if (!row)
|
|
283
244
|
throw new SubagentTypeGoneError(entry.type);
|
|
284
245
|
template = row.template;
|
|
285
|
-
ref = {
|
|
246
|
+
ref = {
|
|
247
|
+
source: "plugin",
|
|
248
|
+
id: row.id,
|
|
249
|
+
version: row.version,
|
|
250
|
+
...(row.plugin ? { plugin: row.plugin } : {}),
|
|
251
|
+
...(row.platformTemplateId !== undefined && { platformTemplateId: row.platformTemplateId }),
|
|
252
|
+
};
|
|
286
253
|
}
|
|
287
|
-
const connectors = await loadConnectors(d.db, a.orgId, parent.tools);
|
|
288
|
-
const tools = narrowTools(parent.tools, connectors, template?.tools !== undefined ? new Set(template.tools) : null, new Set(template?.disallowedTools ?? []));
|
|
289
254
|
const toolPolicies = stricterPolicies(parent.toolPolicies ?? {}, template?.toolPolicies ?? {});
|
|
290
|
-
const { pinned, warnings } = await pinnedFor(d.db, a, template?.skills ?? [], entry.source === "plugin" ? { plugin: entry.plugin } : null);
|
|
255
|
+
const { pinned, warnings } = await pinnedFor(d.db, a, template?.skills ?? [], entry.source === "plugin" ? { plugin: entry.plugin } : null, template?.selectedSkills ?? []);
|
|
291
256
|
const tier = a.tier ?? template?.model ?? "inherit";
|
|
292
257
|
const m = await resolveTier(d, a.orgId, parent, tier);
|
|
293
258
|
let modelParams = m.modelParams;
|
|
294
259
|
if (template?.effort !== undefined) {
|
|
295
|
-
const decl = await effortDecl(d.registry, m.model);
|
|
260
|
+
const decl = await effortDecl(d.registry, a.orgId, m.model);
|
|
296
261
|
if (decl) {
|
|
297
262
|
const v = sanitizeParams([decl], { [decl.key]: template.effort }).value[decl.key];
|
|
298
263
|
if (v !== undefined)
|
|
@@ -308,7 +273,8 @@ export async function effectiveDefinition(d, a) {
|
|
|
308
273
|
fallback: m.fallback,
|
|
309
274
|
modelParams,
|
|
310
275
|
fallbackParams: m.fallbackParams,
|
|
311
|
-
|
|
276
|
+
disabledTools: parent.disabledTools ?? [],
|
|
277
|
+
subagentTools: childFilter(atMaxDepth(a), template, parent.subagentTools),
|
|
312
278
|
toolPolicies,
|
|
313
279
|
...((parentSkills !== undefined || pinned.length > 0) && {
|
|
314
280
|
skills: {
|
|
@@ -316,6 +282,7 @@ export async function effectiveDefinition(d, a) {
|
|
|
316
282
|
...(pinned.length > 0 && { pinned }),
|
|
317
283
|
},
|
|
318
284
|
}),
|
|
285
|
+
...(parent.subagents !== undefined && { subagents: parent.subagents }),
|
|
319
286
|
};
|
|
320
287
|
return {
|
|
321
288
|
definition,
|
|
@@ -326,57 +293,32 @@ export async function effectiveDefinition(d, a) {
|
|
|
326
293
|
tierFallback: m.tierFallback,
|
|
327
294
|
};
|
|
328
295
|
}
|
|
329
|
-
/**
|
|
330
|
-
* The refs of `frozen` that `current` still has: a builtin or plugin tool by name, a connector by
|
|
331
|
-
* id; a connector's `all` meets the other side's names (`all` on both stays `all`), and a
|
|
332
|
-
* connector left with no names is dropped. Pure: a connector `current` lists is not looked up.
|
|
333
|
-
*/
|
|
334
|
-
export function intersectTools(frozen, current) {
|
|
335
|
-
const out = [];
|
|
336
|
-
for (const ref of frozen) {
|
|
337
|
-
if (ref.kind === "builtin") {
|
|
338
|
-
if (current.some((c) => c.kind === "builtin" && c.name === ref.name))
|
|
339
|
-
out.push(ref);
|
|
340
|
-
}
|
|
341
|
-
else if (ref.kind === "plugin") {
|
|
342
|
-
if (current.some((c) => c.kind === "plugin" && c.plugin === ref.plugin && c.name === ref.name)) {
|
|
343
|
-
out.push(ref);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
else {
|
|
347
|
-
const c = current.find((x) => x.kind === "connector" && x.connectorId === ref.connectorId);
|
|
348
|
-
if (!c)
|
|
349
|
-
continue;
|
|
350
|
-
if (c.tools === "all") {
|
|
351
|
-
out.push(ref);
|
|
352
|
-
continue;
|
|
353
|
-
}
|
|
354
|
-
const names = ref.tools === "all" ? c.tools : ref.tools.filter((n) => c.tools.includes(n));
|
|
355
|
-
if (names.length > 0)
|
|
356
|
-
out.push({ ...ref, tools: names });
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
return out;
|
|
360
|
-
}
|
|
361
296
|
/**
|
|
362
297
|
* The narrowing of a follow-up (final review I1): `frozen` (the child's `subagent_started`
|
|
363
298
|
* definition) against `current`, the definition a fresh dispatch would read now: the dispatching
|
|
364
299
|
* parent run's version for `general` / inline / plugin children, the dispatched org agent's
|
|
365
300
|
* current version for an org agent child (whose tools are its own at dispatch too, §5.5). Its
|
|
366
|
-
* `orgSkills` keep only those `current` still
|
|
367
|
-
* skills goes with it (the agent's own skills
|
|
301
|
+
* `disabledTools` are both lists together; its `orgSkills` keep only those `current` still
|
|
302
|
+
* selects; a pinned id that was one of the frozen org skills goes with it (the agent's own skills
|
|
303
|
+
* stay).
|
|
368
304
|
*/
|
|
369
305
|
export function narrowFollowUp(frozen, current) {
|
|
370
|
-
const
|
|
306
|
+
const disabledTools = canonicalDisabledTools([
|
|
307
|
+
...(frozen.disabledTools ?? []),
|
|
308
|
+
...(current.disabledTools ?? []),
|
|
309
|
+
]);
|
|
371
310
|
if (frozen.skills === undefined)
|
|
372
|
-
return {
|
|
311
|
+
return { disabledTools };
|
|
373
312
|
const frozenOrg = new Set(frozen.skills.orgSkills);
|
|
374
313
|
const now = new Set(current.skills?.orgSkills ?? []);
|
|
375
314
|
const orgSkills = frozen.skills.orgSkills.filter((id) => now.has(id));
|
|
376
315
|
const pinned = frozen.skills.pinned?.filter((id) => !frozenOrg.has(id) || now.has(id));
|
|
377
|
-
return {
|
|
316
|
+
return { disabledTools, skills: { orgSkills, ...(pinned !== undefined && { pinned }) } };
|
|
378
317
|
}
|
|
379
|
-
/**
|
|
318
|
+
/**
|
|
319
|
+
* The definition a child run uses: the frozen one with its trigger's follow-up narrowing. A
|
|
320
|
+
* narrowing logged before tools were on by default (no `disabledTools`) narrows only skills.
|
|
321
|
+
*/
|
|
380
322
|
export function childRunDefinition(frozen, narrowed) {
|
|
381
323
|
if (narrowed === undefined)
|
|
382
324
|
return frozen;
|
|
@@ -388,5 +330,9 @@ export function childRunDefinition(frozen, narrowed) {
|
|
|
388
330
|
orgSkills: narrowed.skills.orgSkills,
|
|
389
331
|
...(narrowed.skills.pinned !== undefined && { pinned: narrowed.skills.pinned }),
|
|
390
332
|
};
|
|
391
|
-
return {
|
|
333
|
+
return {
|
|
334
|
+
...rest,
|
|
335
|
+
...(Array.isArray(narrowed.disabledTools) && { disabledTools: narrowed.disabledTools }),
|
|
336
|
+
...(kept !== undefined && { skills: kept }),
|
|
337
|
+
};
|
|
392
338
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { EventLog } from "../../conversations/event-log.js";
|
|
2
|
+
import type { EventPayload } from "../../conversations/events.js";
|
|
3
|
+
import { KernelDb } from "../../infra/database/kernel-db.js";
|
|
4
|
+
import { TransactionHost } from "../../infra/database/transaction-host.js";
|
|
5
|
+
import { KernelEvents } from "../../infra/events/kernel-events.js";
|
|
6
|
+
import type { KernelLogger } from "../../log.js";
|
|
7
|
+
import { type DispatchRow } from "./child.js";
|
|
8
|
+
/** What a caller of {@link SubagentDeliveries.deliverIn} gives; the rest comes from the dispatch. */
|
|
9
|
+
export type DeliveryInput = Omit<EventPayload<"subagent_delivery">, "subagentId" | "childRunId" | "description" | "triggerAccountId">;
|
|
10
|
+
/** Idempotency key of a child run's finished delivery (one per child run). */
|
|
11
|
+
export declare const finishedDeliveryIdemKey: (childRunId: string) => string;
|
|
12
|
+
/**
|
|
13
|
+
* Deliveries from a sub-agent to its parent conversation (agent map spec §4.5, §5.2): each is one
|
|
14
|
+
* model-visible, absorbable `subagent_delivery` event in the parent's log. A parent run that is
|
|
15
|
+
* active absorbs it at its next model call; an idle parent is woken from the `subagent.delivered`
|
|
16
|
+
* domain event (emitted after the commit, with the log's notify).
|
|
17
|
+
*
|
|
18
|
+
* A background child's run reaching a terminal state ({@link childFinished}) writes the
|
|
19
|
+
* display-only `subagent_finished` and a `finished` delivery in one transaction, both idempotent by
|
|
20
|
+
* the child run, so of two finishers (the worker and a stop, the orphan sweep) exactly one writes
|
|
21
|
+
* them. A run that handed back a report and then completed writes no delivery (acceptance
|
|
22
|
+
* 2026-11-07): the report already told the parent everything, and a content-free "completed" line
|
|
23
|
+
* only woke an idle parent for nothing and pushed the report away from the end of its request. Fork invocations (phase D, `for_skill`) do not deliver: their parent run waits on the child
|
|
24
|
+
* and writes the report itself (`advanceSkillForks`).
|
|
25
|
+
*/
|
|
26
|
+
export declare class SubagentDeliveries {
|
|
27
|
+
private readonly kdb;
|
|
28
|
+
private readonly eventLog;
|
|
29
|
+
private readonly events;
|
|
30
|
+
private readonly log;
|
|
31
|
+
readonly txHost: TransactionHost;
|
|
32
|
+
constructor(kdb: KernelDb, eventLog: EventLog, events: KernelEvents, log: Pick<KernelLogger, "warn">, txHost: TransactionHost);
|
|
33
|
+
/** The context's handle (the transaction of a `@Transactional` method, else the pool). */
|
|
34
|
+
private get db();
|
|
35
|
+
/**
|
|
36
|
+
* Appends one delivery of the dispatch `row` to the parent log, in the caller's transaction or
|
|
37
|
+
* one of its own: the description is the dispatch's (`subagent_dispatched`), the trigger account
|
|
38
|
+
* the child run's (a wake runs as that person, §7). Idempotent by `opts.idemKey` (a finish's
|
|
39
|
+
* default is {@link finishedDeliveryIdemKey}; a report or a note must name its own): under the
|
|
40
|
+
* parent conversation's row lock, an existing delivery returns null and writes nothing. After
|
|
41
|
+
* the commit: the log's notify and `subagent.delivered`. Returns the new event's seq.
|
|
42
|
+
*/
|
|
43
|
+
deliverIn(row: DispatchRow, d: DeliveryInput, opts?: {
|
|
44
|
+
idemKey?: string;
|
|
45
|
+
}): Promise<number | null>;
|
|
46
|
+
/**
|
|
47
|
+
* A background child run reached a terminal state (agent map spec §4.5, §5.2): appends the
|
|
48
|
+
* parent's `subagent_finished` (display only) and a `finished` delivery in one transaction, for
|
|
49
|
+
* every run of a child conversation (dispatched, sent a message or woken;
|
|
50
|
+
* {@link deliveryRowOfChildRun}), each once by its run. The delivery
|
|
51
|
+
* carries the final reply when the run handed back no report, else no text and `handedBack`; a
|
|
52
|
+
* failed run's error message and code, an aborted run who stopped it. A run that handed back and
|
|
53
|
+
* then `completed` gets only `subagent_finished` (not model-visible, wakes nothing); the log's
|
|
54
|
+
* notify still announces it to viewers. A run of a conversation never dispatched, a fork
|
|
55
|
+
* invocation's child, or not terminal yet is left alone. True when this call wrote the finish.
|
|
56
|
+
*/
|
|
57
|
+
childFinished(childRunId: string): Promise<boolean>;
|
|
58
|
+
/** {@link childFinished}'s transaction. */
|
|
59
|
+
private finishIn;
|
|
60
|
+
/**
|
|
61
|
+
* {@link finishIn} for a run that handed back and completed: only `subagent_finished`, written
|
|
62
|
+
* once under the parent conversation's row lock (idempotent by the child run), then the log's
|
|
63
|
+
* notify after the commit. No `subagent.delivered`: nothing model-visible arrived, so no wake.
|
|
64
|
+
* True when this call wrote it.
|
|
65
|
+
*/
|
|
66
|
+
private finishSilentlyIn;
|
|
67
|
+
/** Whether the child run handed back a report (`SubagentHandback`) before it finished. */
|
|
68
|
+
private handedBack;
|
|
69
|
+
/** The dispatch's task label (`subagent_dispatched.description`), else the child's title. */
|
|
70
|
+
private descriptionOf;
|
|
71
|
+
}
|
|
@@ -0,0 +1,228 @@
|
|
|
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 { sql } from "kysely";
|
|
12
|
+
import { EventLog } from "../../conversations/event-log.js";
|
|
13
|
+
import { afterCommit } from "../../infra/database/after-commit.js";
|
|
14
|
+
import { KernelDb } from "../../infra/database/kernel-db.js";
|
|
15
|
+
import { TransactionHost } from "../../infra/database/transaction-host.js";
|
|
16
|
+
import { Transactional } from "../../infra/database/transactional.decorator.js";
|
|
17
|
+
import { KernelEvents } from "../../infra/events/kernel-events.js";
|
|
18
|
+
import { KERNEL_LOGGER } from "../../infra/tokens.js";
|
|
19
|
+
import { TERMINAL_STATUSES } from "../run-finish.js";
|
|
20
|
+
import { childResult, deliveryRowOfChildRun, finishedEvent } from "./child.js";
|
|
21
|
+
import { dispatchedIdemKey } from "./dispatch.js";
|
|
22
|
+
/** Idempotency key of a child run's finished delivery (one per child run). */
|
|
23
|
+
export const finishedDeliveryIdemKey = (childRunId) => `subagent_delivery:${childRunId}:finished`;
|
|
24
|
+
/** The longest `subagent_delivery.text` (the event schema's bound). */
|
|
25
|
+
const DELIVERY_TEXT_MAX = 200_000;
|
|
26
|
+
/**
|
|
27
|
+
* Deliveries from a sub-agent to its parent conversation (agent map spec §4.5, §5.2): each is one
|
|
28
|
+
* model-visible, absorbable `subagent_delivery` event in the parent's log. A parent run that is
|
|
29
|
+
* active absorbs it at its next model call; an idle parent is woken from the `subagent.delivered`
|
|
30
|
+
* domain event (emitted after the commit, with the log's notify).
|
|
31
|
+
*
|
|
32
|
+
* A background child's run reaching a terminal state ({@link childFinished}) writes the
|
|
33
|
+
* display-only `subagent_finished` and a `finished` delivery in one transaction, both idempotent by
|
|
34
|
+
* the child run, so of two finishers (the worker and a stop, the orphan sweep) exactly one writes
|
|
35
|
+
* them. A run that handed back a report and then completed writes no delivery (acceptance
|
|
36
|
+
* 2026-11-07): the report already told the parent everything, and a content-free "completed" line
|
|
37
|
+
* only woke an idle parent for nothing and pushed the report away from the end of its request. Fork invocations (phase D, `for_skill`) do not deliver: their parent run waits on the child
|
|
38
|
+
* and writes the report itself (`advanceSkillForks`).
|
|
39
|
+
*/
|
|
40
|
+
let SubagentDeliveries = class SubagentDeliveries {
|
|
41
|
+
kdb;
|
|
42
|
+
eventLog;
|
|
43
|
+
events;
|
|
44
|
+
log;
|
|
45
|
+
txHost;
|
|
46
|
+
constructor(kdb, eventLog, events, log, txHost) {
|
|
47
|
+
this.kdb = kdb;
|
|
48
|
+
this.eventLog = eventLog;
|
|
49
|
+
this.events = events;
|
|
50
|
+
this.log = log;
|
|
51
|
+
this.txHost = txHost;
|
|
52
|
+
}
|
|
53
|
+
/** The context's handle (the transaction of a `@Transactional` method, else the pool). */
|
|
54
|
+
get db() {
|
|
55
|
+
return this.kdb.db;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Appends one delivery of the dispatch `row` to the parent log, in the caller's transaction or
|
|
59
|
+
* one of its own: the description is the dispatch's (`subagent_dispatched`), the trigger account
|
|
60
|
+
* the child run's (a wake runs as that person, §7). Idempotent by `opts.idemKey` (a finish's
|
|
61
|
+
* default is {@link finishedDeliveryIdemKey}; a report or a note must name its own): under the
|
|
62
|
+
* parent conversation's row lock, an existing delivery returns null and writes nothing. After
|
|
63
|
+
* the commit: the log's notify and `subagent.delivered`. Returns the new event's seq.
|
|
64
|
+
*/
|
|
65
|
+
async deliverIn(row, d, opts = {}) {
|
|
66
|
+
const idemKey = opts.idemKey ?? (d.kind === "finished" ? finishedDeliveryIdemKey(row.childRunId) : undefined);
|
|
67
|
+
if (idemKey === undefined)
|
|
68
|
+
throw new Error(`a ${d.kind} delivery needs its idempotency key`);
|
|
69
|
+
const t = this.db;
|
|
70
|
+
const parent = row.parentConversationId;
|
|
71
|
+
await t
|
|
72
|
+
.selectFrom("conversations")
|
|
73
|
+
.select("id")
|
|
74
|
+
.where("id", "=", parent)
|
|
75
|
+
.forUpdate()
|
|
76
|
+
.executeTakeFirst();
|
|
77
|
+
const existing = await t
|
|
78
|
+
.selectFrom("conversation_events")
|
|
79
|
+
.select("seq")
|
|
80
|
+
.where("conversation_id", "=", parent)
|
|
81
|
+
.where("idem_key", "=", idemKey)
|
|
82
|
+
.executeTakeFirst();
|
|
83
|
+
if (existing)
|
|
84
|
+
return null;
|
|
85
|
+
const run = await t
|
|
86
|
+
.selectFrom("runs")
|
|
87
|
+
.select("trigger_account_id")
|
|
88
|
+
.where("id", "=", row.childRunId)
|
|
89
|
+
.executeTakeFirstOrThrow();
|
|
90
|
+
const [event] = await this.eventLog.appendIn(parent, [
|
|
91
|
+
{
|
|
92
|
+
type: "subagent_delivery",
|
|
93
|
+
idemKey,
|
|
94
|
+
payload: {
|
|
95
|
+
subagentId: row.childConversationId,
|
|
96
|
+
childRunId: row.childRunId,
|
|
97
|
+
description: await this.descriptionOf(row),
|
|
98
|
+
...d,
|
|
99
|
+
text: d.text.length > DELIVERY_TEXT_MAX ? d.text.slice(0, DELIVERY_TEXT_MAX) : d.text,
|
|
100
|
+
triggerAccountId: run.trigger_account_id,
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
]);
|
|
104
|
+
if (!event)
|
|
105
|
+
return null;
|
|
106
|
+
afterCommit(async () => {
|
|
107
|
+
await this.eventLog.notify(parent, event.seq);
|
|
108
|
+
await this.events.emit("subagent.delivered", { conversationId: parent });
|
|
109
|
+
});
|
|
110
|
+
return event.seq;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* A background child run reached a terminal state (agent map spec §4.5, §5.2): appends the
|
|
114
|
+
* parent's `subagent_finished` (display only) and a `finished` delivery in one transaction, for
|
|
115
|
+
* every run of a child conversation (dispatched, sent a message or woken;
|
|
116
|
+
* {@link deliveryRowOfChildRun}), each once by its run. The delivery
|
|
117
|
+
* carries the final reply when the run handed back no report, else no text and `handedBack`; a
|
|
118
|
+
* failed run's error message and code, an aborted run who stopped it. A run that handed back and
|
|
119
|
+
* then `completed` gets only `subagent_finished` (not model-visible, wakes nothing); the log's
|
|
120
|
+
* notify still announces it to viewers. A run of a conversation never dispatched, a fork
|
|
121
|
+
* invocation's child, or not terminal yet is left alone. True when this call wrote the finish.
|
|
122
|
+
*/
|
|
123
|
+
async childFinished(childRunId) {
|
|
124
|
+
const row = await deliveryRowOfChildRun(this.db, childRunId);
|
|
125
|
+
if (!row || row.forSkill === true)
|
|
126
|
+
return false;
|
|
127
|
+
const run = await this.db
|
|
128
|
+
.selectFrom("runs")
|
|
129
|
+
.select("status")
|
|
130
|
+
.where("id", "=", childRunId)
|
|
131
|
+
.executeTakeFirst();
|
|
132
|
+
if (!run || !TERMINAL_STATUSES.has(run.status))
|
|
133
|
+
return false;
|
|
134
|
+
const r = await childResult(this.eventLog, row);
|
|
135
|
+
if (!r) {
|
|
136
|
+
this.log.warn("sub-agent run is terminal without a terminal event", { childRunId });
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
return this.finishIn(row, r);
|
|
140
|
+
}
|
|
141
|
+
/** {@link childFinished}'s transaction. */
|
|
142
|
+
async finishIn(row, r) {
|
|
143
|
+
const { status, errorCode } = r.finished;
|
|
144
|
+
const handedBack = await this.handedBack(row);
|
|
145
|
+
if (handedBack && status === "completed")
|
|
146
|
+
return this.finishSilentlyIn(row, r.finished);
|
|
147
|
+
await this.eventLog.appendIn(row.parentConversationId, [finishedEvent(row, r.finished)]);
|
|
148
|
+
const text = handedBack
|
|
149
|
+
? ""
|
|
150
|
+
: status === "failed"
|
|
151
|
+
? (r.errorMessage ?? "")
|
|
152
|
+
: status === "aborted" || status === "timed_out"
|
|
153
|
+
? ""
|
|
154
|
+
: r.reply;
|
|
155
|
+
const seq = await this.deliverIn(row, {
|
|
156
|
+
kind: "finished",
|
|
157
|
+
status,
|
|
158
|
+
text,
|
|
159
|
+
...(handedBack && { handedBack: true }),
|
|
160
|
+
...(errorCode !== undefined && { errorCode }),
|
|
161
|
+
...(r.abortedBy !== undefined && { abortedBy: r.abortedBy }),
|
|
162
|
+
});
|
|
163
|
+
return seq !== null;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* {@link finishIn} for a run that handed back and completed: only `subagent_finished`, written
|
|
167
|
+
* once under the parent conversation's row lock (idempotent by the child run), then the log's
|
|
168
|
+
* notify after the commit. No `subagent.delivered`: nothing model-visible arrived, so no wake.
|
|
169
|
+
* True when this call wrote it.
|
|
170
|
+
*/
|
|
171
|
+
async finishSilentlyIn(row, finished) {
|
|
172
|
+
const parent = row.parentConversationId;
|
|
173
|
+
const event = finishedEvent(row, finished);
|
|
174
|
+
await this.db
|
|
175
|
+
.selectFrom("conversations")
|
|
176
|
+
.select("id")
|
|
177
|
+
.where("id", "=", parent)
|
|
178
|
+
.forUpdate()
|
|
179
|
+
.executeTakeFirst();
|
|
180
|
+
if (event.idemKey !== undefined && (await this.eventLog.findByIdem(parent, event.idemKey)))
|
|
181
|
+
return false;
|
|
182
|
+
const [written] = await this.eventLog.appendIn(parent, [event]);
|
|
183
|
+
if (!written)
|
|
184
|
+
return false;
|
|
185
|
+
afterCommit(() => this.eventLog.notify(parent, written.seq));
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
/** Whether the child run handed back a report (`SubagentHandback`) before it finished. */
|
|
189
|
+
async handedBack(row) {
|
|
190
|
+
const hit = await this.db
|
|
191
|
+
.selectFrom("conversation_events")
|
|
192
|
+
.select("seq")
|
|
193
|
+
.where("conversation_id", "=", row.parentConversationId)
|
|
194
|
+
.where("type", "=", "subagent_delivery")
|
|
195
|
+
.where(sql `payload ->> 'childRunId'`, "=", row.childRunId)
|
|
196
|
+
.where(sql `payload ->> 'kind'`, "=", "report")
|
|
197
|
+
.limit(1)
|
|
198
|
+
.executeTakeFirst();
|
|
199
|
+
return hit !== undefined;
|
|
200
|
+
}
|
|
201
|
+
/** The dispatch's task label (`subagent_dispatched.description`), else the child's title. */
|
|
202
|
+
async descriptionOf(row) {
|
|
203
|
+
const dispatched = await this.eventLog.findByIdem(row.parentConversationId, dispatchedIdemKey(row.parentRunId, row.parentCallId));
|
|
204
|
+
if (dispatched?.type === "subagent_dispatched")
|
|
205
|
+
return dispatched.payload.description;
|
|
206
|
+
const conv = await this.db
|
|
207
|
+
.selectFrom("conversations")
|
|
208
|
+
.select("title")
|
|
209
|
+
.where("id", "=", row.childConversationId)
|
|
210
|
+
.executeTakeFirst();
|
|
211
|
+
return conv?.title ?? "";
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
__decorate([
|
|
215
|
+
Transactional()
|
|
216
|
+
], SubagentDeliveries.prototype, "deliverIn", null);
|
|
217
|
+
__decorate([
|
|
218
|
+
Transactional()
|
|
219
|
+
], SubagentDeliveries.prototype, "finishIn", null);
|
|
220
|
+
SubagentDeliveries = __decorate([
|
|
221
|
+
Injectable(),
|
|
222
|
+
__param(0, Inject(KernelDb)),
|
|
223
|
+
__param(1, Inject(EventLog)),
|
|
224
|
+
__param(2, Inject(KernelEvents)),
|
|
225
|
+
__param(3, Inject(KERNEL_LOGGER)),
|
|
226
|
+
__param(4, Inject(TransactionHost))
|
|
227
|
+
], SubagentDeliveries);
|
|
228
|
+
export { SubagentDeliveries };
|