@capybara-hq/kernel 0.1.0-rc.0 → 0.1.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +92 -8
- package/dist/admin/admin.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +57 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +232 -0
- package/dist/catalog/catalog-content.js +367 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +676 -0
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1124 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +141 -206
- package/dist/catalog/catalog.service.js +237 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +114 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +327 -0
- package/dist/catalog/component-scope.service.js +990 -0
- package/dist/catalog/component-state.d.ts +188 -0
- package/dist/catalog/component-state.js +455 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +431 -472
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +801 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +223 -0
- package/dist/catalog/platform-components.js +763 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +270 -68
- package/dist/catalog/plugin-import.js +1004 -277
- package/dist/catalog/plugin-install.d.ts +251 -65
- package/dist/catalog/plugin-install.js +1128 -344
- package/dist/catalog/plugin-package.js +14 -1
- package/dist/catalog/plugin-upgrade.d.ts +301 -188
- package/dist/catalog/plugin-upgrade.js +1256 -1068
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +118 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -201
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +51 -3
- package/dist/config/schema.js +269 -27
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -70
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/queue.js +3 -2
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +550 -25
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +136 -2
- package/dist/errors.js +136 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -123
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +136 -46
- package/dist/extensions/bootstrap.js +417 -167
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +91 -4
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +86 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +83 -52
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +130 -38
- package/dist/identity/accounts.js +373 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +78 -33
- package/dist/identity/me.schemas.d.ts +14 -0
- package/dist/identity/me.schemas.js +17 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +42 -23
- package/dist/identity/settings.js +137 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +25 -14
- package/dist/index.js +20 -9
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -241
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-config.d.ts +9 -0
- package/dist/log-config.js +27 -0
- package/dist/log-context.d.ts +34 -0
- package/dist/log-context.js +44 -0
- package/dist/log-loki.d.ts +34 -0
- package/dist/log-loki.js +145 -0
- package/dist/log.d.ts +53 -10
- package/dist/log.js +168 -18
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +7 -0
- package/dist/models/models.module.js +36 -0
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/net/public-address.js +3 -2
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +45 -14
- package/dist/orgs/settings.service.js +110 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +667 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +90 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +36 -0
- package/dist/platform/ops/admin.ops.js +389 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +853 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +16 -0
- package/dist/platform/ops/org-settings.ops.js +102 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +295 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +28 -0
- package/dist/platform/ops/platform.ops.js +204 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +39 -0
- package/dist/platform/platform-ops.module.js +122 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +63 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -136
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +43 -0
- package/dist/runtime/run-control.js +89 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -236
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +121 -83
- package/dist/runtime/usage-report.js +355 -180
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +142 -40
- package/dist/tools/builtins/sandbox/common.js +227 -65
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +30 -20
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +52 -45
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +15 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
package/dist/runtime/stream.js
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
|
-
|
|
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, Optional } from "@nestjs/common";
|
|
11
|
+
import { ConversationAccess } from "../conversations/access.js";
|
|
12
|
+
import { CONVERSATION_CHANGES, conversationTopic, EventLog, } from "../conversations/event-log.js";
|
|
2
13
|
import { ApiError } from "../errors.js";
|
|
14
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
15
|
+
import { GracefulShutdown } from "../infra/lifecycle/graceful-shutdown.service.js";
|
|
16
|
+
import { KERNEL_BUS, KERNEL_LOGGER } from "../infra/tokens.js";
|
|
3
17
|
import { isUiBusMessage, uiFrame } from "../ui/registry.js";
|
|
18
|
+
import { RunDrafts } from "./run-drafts.js";
|
|
4
19
|
/** 补读事件的分页大小。 */
|
|
5
20
|
const PAGE = 500;
|
|
6
21
|
/** 慢客户端的积压上限:超过即关闭流,客户端带 Last-Event-ID 重连补读。 */
|
|
@@ -41,16 +56,36 @@ function isBusMessage(m) {
|
|
|
41
56
|
return k === "delta" && typeof m.runId === "string";
|
|
42
57
|
}
|
|
43
58
|
const eventFrame = (e) => `id: ${e.seq}\nevent: event\ndata: ${JSON.stringify(e)}\n\n`;
|
|
59
|
+
const draftFrame = (d) => `event: draft\ndata: ${JSON.stringify({ runId: d.runId, step: d.step, text: d.text, thinking: d.thinking })}\n\n`;
|
|
44
60
|
/**
|
|
45
61
|
* 会话事件流(SSE):本进程持有的连接集合,停机时一并关闭。
|
|
46
62
|
* 跨副本的数据只经 PG(事件日志)与内核 bus(`conv.<id>`)流动,进程内只保存连接本身的资源
|
|
47
63
|
* (订阅、心跳与复核定时器)。
|
|
48
64
|
*/
|
|
49
|
-
|
|
50
|
-
d;
|
|
65
|
+
let ConversationStreams = class ConversationStreams {
|
|
51
66
|
active = new Set();
|
|
52
|
-
|
|
53
|
-
|
|
67
|
+
/** Set by {@link closeAll}: streams opened afterwards end as soon as they begin. */
|
|
68
|
+
closing = false;
|
|
69
|
+
d;
|
|
70
|
+
/**
|
|
71
|
+
* Closes the streams when the shutdown begins (readiness answers 503 from that moment) and
|
|
72
|
+
* latches: streams opened afterwards end at once, so the HTTP phase of the stop never waits on
|
|
73
|
+
* an event stream. Without `GracefulShutdown` (a standalone HTTP application, tests only) the
|
|
74
|
+
* streams end with their connections.
|
|
75
|
+
*/
|
|
76
|
+
constructor(eventLog, bus, access, config, log, drafts, shutdown) {
|
|
77
|
+
this.d = {
|
|
78
|
+
eventLog,
|
|
79
|
+
bus,
|
|
80
|
+
access: (orgId, conversationId, viewer) => access.isAccessible(orgId, conversationId, viewer),
|
|
81
|
+
config,
|
|
82
|
+
log,
|
|
83
|
+
drafts: (conversationId) => drafts.live(conversationId),
|
|
84
|
+
};
|
|
85
|
+
if (shutdown?.signal.aborted)
|
|
86
|
+
this.closeAll();
|
|
87
|
+
else
|
|
88
|
+
shutdown?.signal.addEventListener("abort", () => this.closeAll(), { once: true });
|
|
54
89
|
}
|
|
55
90
|
/**
|
|
56
91
|
* 复核凭据与可见性,并先订阅会话频道(之后再回放,避免遗漏两者之间提交的事件)。
|
|
@@ -60,6 +95,8 @@ export class ConversationStreams {
|
|
|
60
95
|
const denied = await authorize(this.d, p);
|
|
61
96
|
if (denied !== null)
|
|
62
97
|
throw new ApiError(denied, DENIAL_MESSAGES[denied] ?? "Access denied");
|
|
98
|
+
if (this.closing)
|
|
99
|
+
return endedStream(out);
|
|
63
100
|
const conn = new Connection(this.d, p, out, () => this.active.delete(conn));
|
|
64
101
|
this.active.add(conn);
|
|
65
102
|
try {
|
|
@@ -69,10 +106,19 @@ export class ConversationStreams {
|
|
|
69
106
|
conn.close();
|
|
70
107
|
throw e;
|
|
71
108
|
}
|
|
109
|
+
// closeAll ran while subscribing: the connection is closed, the response must still end
|
|
110
|
+
if (this.closing) {
|
|
111
|
+
conn.close();
|
|
112
|
+
return endedStream(out);
|
|
113
|
+
}
|
|
72
114
|
return conn;
|
|
73
115
|
}
|
|
74
|
-
/**
|
|
116
|
+
/**
|
|
117
|
+
* Closes every stream of this process (at shutdown) and latches: a stream opened afterwards ends
|
|
118
|
+
* right after its headers, so a reconnecting client cannot hold the HTTP close open.
|
|
119
|
+
*/
|
|
75
120
|
closeAll() {
|
|
121
|
+
this.closing = true;
|
|
76
122
|
for (const c of [...this.active])
|
|
77
123
|
c.close();
|
|
78
124
|
}
|
|
@@ -80,6 +126,35 @@ export class ConversationStreams {
|
|
|
80
126
|
get size() {
|
|
81
127
|
return this.active.size;
|
|
82
128
|
}
|
|
129
|
+
};
|
|
130
|
+
ConversationStreams = __decorate([
|
|
131
|
+
Injectable(),
|
|
132
|
+
__param(0, Inject(EventLog)),
|
|
133
|
+
__param(1, Inject(KERNEL_BUS)),
|
|
134
|
+
__param(2, Inject(ConversationAccess)),
|
|
135
|
+
__param(3, Inject(KernelConfigService)),
|
|
136
|
+
__param(4, Inject(KERNEL_LOGGER)),
|
|
137
|
+
__param(5, Inject(RunDrafts)),
|
|
138
|
+
__param(6, Optional()),
|
|
139
|
+
__param(6, Inject(GracefulShutdown))
|
|
140
|
+
], ConversationStreams);
|
|
141
|
+
export { ConversationStreams };
|
|
142
|
+
/**
|
|
143
|
+
* The handle of a stream opened after shutdown began: `begin` (the headers are written) ends the
|
|
144
|
+
* response at once; the client reconnects with `Last-Event-ID`, to a replica that is still ready.
|
|
145
|
+
*/
|
|
146
|
+
export function endedStream(out) {
|
|
147
|
+
return {
|
|
148
|
+
begin: () => {
|
|
149
|
+
try {
|
|
150
|
+
out.end();
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// the connection is already gone
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
close: () => { },
|
|
157
|
+
};
|
|
83
158
|
}
|
|
84
159
|
class Connection {
|
|
85
160
|
d;
|
|
@@ -105,6 +180,9 @@ class Connection {
|
|
|
105
180
|
this.openGate = resolve;
|
|
106
181
|
});
|
|
107
182
|
this.enqueue(() => this.catchUp());
|
|
183
|
+
// live drafts (spec 2026-11-07 §3.2): after the catch-up, before any delta (deltas are queued
|
|
184
|
+
// behind this); a delta also in the draft is dropped by the client by its offset
|
|
185
|
+
this.enqueue(() => this.sendDrafts());
|
|
108
186
|
}
|
|
109
187
|
async subscribe() {
|
|
110
188
|
const un = await this.d.bus.subscribe(conversationTopic(this.p.conversationId), (m) => this.onMessage(m));
|
|
@@ -117,7 +195,7 @@ class Connection {
|
|
|
117
195
|
if (this.closed)
|
|
118
196
|
return;
|
|
119
197
|
this.begun = true;
|
|
120
|
-
const { sseHeartbeatMs, sseRecheckMs } = this.d.config().runtime;
|
|
198
|
+
const { sseHeartbeatMs, sseRecheckMs } = this.d.config.get().runtime;
|
|
121
199
|
this.timers.push(setInterval(() => this.write(": ping\n\n"), sseHeartbeatMs), setInterval(() => void this.recheck(), sseRecheckMs));
|
|
122
200
|
this.openGate();
|
|
123
201
|
}
|
|
@@ -211,6 +289,23 @@ class Connection {
|
|
|
211
289
|
return;
|
|
212
290
|
}
|
|
213
291
|
}
|
|
292
|
+
/** One `event: draft` per step of the running run whose `assistant_message` is not logged. */
|
|
293
|
+
async sendDrafts() {
|
|
294
|
+
let drafts;
|
|
295
|
+
try {
|
|
296
|
+
drafts = await this.d.drafts(this.p.conversationId);
|
|
297
|
+
}
|
|
298
|
+
catch (err) {
|
|
299
|
+
// a convenience: without it the client resumes from the next delta (and asks for the draft)
|
|
300
|
+
this.d.log.warn("conversation stream cannot read live drafts", {
|
|
301
|
+
conversationId: this.p.conversationId,
|
|
302
|
+
err,
|
|
303
|
+
});
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
for (const d of drafts)
|
|
307
|
+
this.write(draftFrame(d));
|
|
308
|
+
}
|
|
214
309
|
/** 发最后一帧错误并关闭(未发完的排队输出随关闭丢弃)。 */
|
|
215
310
|
fail(code) {
|
|
216
311
|
if (this.closed)
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import type { Logger } from "@capybara-hq/plugin-sdk";
|
|
2
1
|
import type { AppendEvent, EventLog } from "../../conversations/event-log.js";
|
|
3
2
|
import type { EventPayload } from "../../conversations/events.js";
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import { type RunQueue } from "../run-queue.js";
|
|
7
|
-
import type { Waits } from "../waits.js";
|
|
3
|
+
import type { KernelSchemaDb } from "../../db/kernel-schema.js";
|
|
4
|
+
import type { SubagentAbortedBy } from "./status.js";
|
|
8
5
|
/** Idempotency key of the parent's `subagent_finished` event. */
|
|
9
6
|
export declare const finishedIdemKey: (childRunId: string) => string;
|
|
10
7
|
/** A dispatch row, by its child run. */
|
|
@@ -14,67 +11,77 @@ export interface DispatchRow {
|
|
|
14
11
|
parentConversationId: string;
|
|
15
12
|
childConversationId: string;
|
|
16
13
|
childRunId: string;
|
|
14
|
+
/** The budget run the dispatch counts against (agent map spec §6); set when read from the row. */
|
|
15
|
+
budgetRunId?: string;
|
|
16
|
+
/**
|
|
17
|
+
* A person's fork invocation (phase D, `subagent_dispatches.for_skill`): the parent run waits on
|
|
18
|
+
* it (`subagents` wait); every other dispatch runs in the background (agent map spec §5.4).
|
|
19
|
+
*/
|
|
20
|
+
forSkill?: boolean;
|
|
17
21
|
}
|
|
18
22
|
/** The dispatch that started `childRunId`, or null (not a sub-agent run). */
|
|
19
|
-
export declare function dispatchOfChildRun(db:
|
|
23
|
+
export declare function dispatchOfChildRun(db: KernelSchemaDb, childRunId: string): Promise<DispatchRow | null>;
|
|
24
|
+
/**
|
|
25
|
+
* The dispatch row a finished child run reports through (agent map spec §5.2: every run of a child
|
|
26
|
+
* conversation that ends appends one `finished` delivery to its parent): the run's own dispatch
|
|
27
|
+
* (`Agent`, `SendMessage`), else, for a run nobody dispatched (a wake run, §5.3), the newest dispatch
|
|
28
|
+
* of its conversation with `childRunId` set to this run, `forSkill` false (a wake run of a fork's
|
|
29
|
+
* child is delivered like any background run; no parent run waits on it) and the run's own budget
|
|
30
|
+
* run. Null when the run is unknown or its conversation was never dispatched.
|
|
31
|
+
*/
|
|
32
|
+
export declare function deliveryRowOfChildRun(db: KernelSchemaDb, childRunId: string): Promise<DispatchRow | null>;
|
|
20
33
|
/** The dispatch of the parent call `(runId, callId)`, or null (not dispatched yet). */
|
|
21
|
-
export declare function dispatchOfCall(db:
|
|
34
|
+
export declare function dispatchOfCall(db: KernelSchemaDb, runId: string, callId: string): Promise<DispatchRow | null>;
|
|
35
|
+
/**
|
|
36
|
+
* The root conversation of `conversationId`'s tree (agent map spec §6): the first ancestor without
|
|
37
|
+
* a parent, or `conversationId` itself for a root (or an unknown id).
|
|
38
|
+
*/
|
|
39
|
+
export declare function rootConversationOf(db: KernelSchemaDb, conversationId: string): Promise<string>;
|
|
40
|
+
/** Where a sub-agent's request for a person is shown: see {@link rootSurfaceOf}. */
|
|
41
|
+
export interface RootSurface {
|
|
42
|
+
/** The root conversation of the sub-agent's tree. */
|
|
43
|
+
conversationId: string;
|
|
44
|
+
/** The root run the event is logged under: the one that last dispatched the branch. */
|
|
45
|
+
runId: string;
|
|
46
|
+
/** Child conversation ids from the root's child down to the sub-agent itself. */
|
|
47
|
+
path: string[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Where the sub-agent conversation `conversationId`, in its run `runId`, shows a request for a
|
|
51
|
+
* person (`subagent_waiting`: an approval, a question or a connect card; agent map spec §7): the
|
|
52
|
+
* **root** conversation of its tree, the only one a person looks at, with the path from the root's
|
|
53
|
+
* child down to it, under the root run that last dispatched (or messaged) the root's child on that
|
|
54
|
+
* path (for a child of the root, the run's own dispatch first). `parent`, when the caller knows the
|
|
55
|
+
* run's dispatch and it was made by the root (`depth` 0), answers without a read. Null for a root
|
|
56
|
+
* conversation, or a branch the root never dispatched.
|
|
57
|
+
*/
|
|
58
|
+
export declare function rootSurfaceOf(db: KernelSchemaDb, conversationId: string, runId: string, parent?: {
|
|
59
|
+
conversationId: string;
|
|
60
|
+
runId: string;
|
|
61
|
+
depth: number;
|
|
62
|
+
}): Promise<RootSurface | null>;
|
|
22
63
|
/**
|
|
23
|
-
* The
|
|
24
|
-
*
|
|
64
|
+
* The result of a finished child run (spec §4.4) and its `subagent_finished` payload, from the
|
|
65
|
+
* child's log only: the status from its terminal event, the reply from its last
|
|
25
66
|
* `assistant_message` (text blocks), the tool call count from its `tool_result` events, the usage
|
|
26
67
|
* from its `usage` events (compaction included) and the duration from `run_started` to the
|
|
27
|
-
* terminal event. Null while the run has no terminal event.
|
|
68
|
+
* terminal event. Null while the run has no terminal event. `content` is the fork report's text
|
|
69
|
+
* (`agentResultText`); `reply`, `errorMessage` and `abortedBy` are what a background child's
|
|
70
|
+
* finished `subagent_delivery` carries.
|
|
28
71
|
*
|
|
29
72
|
* `modelGiven`: the parent's call named a `model`; for an org agent, which runs on its own model
|
|
30
73
|
* (§5.4, §5.5), the status line then says `model: the agent's own`.
|
|
31
74
|
*/
|
|
32
|
-
export declare function childResult(eventLog: EventLog, row: DispatchRow,
|
|
33
|
-
/** `forSkill`: a fork invocation's report (no resume hint, see `agentResultText`). */
|
|
34
|
-
opts?: {
|
|
75
|
+
export declare function childResult(eventLog: EventLog, row: DispatchRow, opts?: {
|
|
35
76
|
modelGiven?: boolean;
|
|
36
|
-
forSkill?: boolean;
|
|
37
77
|
}): Promise<{
|
|
38
78
|
content: string;
|
|
39
79
|
isError: boolean;
|
|
80
|
+
/** The text of the child's last `assistant_message`. */
|
|
81
|
+
reply: string;
|
|
82
|
+
errorMessage?: string;
|
|
83
|
+
abortedBy?: SubagentAbortedBy;
|
|
40
84
|
finished: EventPayload<"subagent_finished">;
|
|
41
85
|
} | null>;
|
|
42
86
|
/** The parent's `subagent_finished` event for a finished child (idempotent by its key). */
|
|
43
87
|
export declare const finishedEvent: (row: DispatchRow, finished: EventPayload<"subagent_finished">) => AppendEvent;
|
|
44
|
-
export interface ChildDeps {
|
|
45
|
-
db: KernelDb;
|
|
46
|
-
eventLog: EventLog;
|
|
47
|
-
waits: Pick<Waits, "resume">;
|
|
48
|
-
log: Pick<Logger, "warn">;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* After a child run's terminal state committed (spec §7.3): appends `subagent_finished` to the
|
|
52
|
-
* parent log (idempotent; allowed while the parent waits, it is not model-visible) and tries
|
|
53
|
-
* `Waits.resume(parentRunId, childRunId)`. Every finishing child tries; the conditional resume lets
|
|
54
|
-
* exactly one succeed, the last to see all its siblings terminal. A run that is not a dispatched
|
|
55
|
-
* child, or not terminal yet, is left alone. A crash in between is repaired by the wait sweep and
|
|
56
|
-
* by the parent's tools node, which writes a missing `subagent_finished` itself.
|
|
57
|
-
*/
|
|
58
|
-
export declare function onChildFinished(d: ChildDeps, childRunId: string): Promise<void>;
|
|
59
|
-
export interface StopChildrenDeps extends ChildDeps {
|
|
60
|
-
waits: Pick<Waits, "resume" | "abortWaiting">;
|
|
61
|
-
runQueue: Pick<RunQueue, "abortIfOrphaned">;
|
|
62
|
-
abort: Pick<RunAbort, "request">;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Stops the active children of a parent run (sub-agents spec §12), or only those dispatched in
|
|
66
|
-
* `opts.step`: a `waiting` child through its own `abortWaiting`, a `queued` / `running` one that
|
|
67
|
-
* no worker holds directly (`abortIfOrphaned`), any other through `RunAbort.request` (the
|
|
68
|
-
* cross-replica broadcast plus the marker key, so a child that starts later still sees it), after
|
|
69
|
-
* which a child found `waiting` is stopped through `abortWaiting` too. A child stopped here is
|
|
70
|
-
* reported to the parent at once (by `abortWaiting` itself, or {@link onChildFinished} after
|
|
71
|
-
* `abortIfOrphaned`); one stopped by its worker is reported by that worker. Returns the number of
|
|
72
|
-
* children asked to stop.
|
|
73
|
-
*
|
|
74
|
-
* `byAccountId` is the person whose action stops them, or null when the kernel stops them on the
|
|
75
|
-
* parent's behalf; a child stopped with null reports the §4.4 "parent's stop" text.
|
|
76
|
-
*/
|
|
77
|
-
export declare function stopChildren(d: StopChildrenDeps, parentRunId: string, byAccountId: string | null, opts?: {
|
|
78
|
-
step?: number;
|
|
79
|
-
detail?: RunAbortDetail;
|
|
80
|
-
}): Promise<number>;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { usageTokens } from "../../evals/budget.js";
|
|
2
2
|
import { agentResultText } from "../../tools/builtins/agent.js";
|
|
3
|
-
import { TERMINAL_STATUSES } from "../run-finish.js";
|
|
4
|
-
import { ACTIVE_RUN_STATUSES } from "../run-queue.js";
|
|
5
3
|
/** Idempotency key of the parent's `subagent_finished` event. */
|
|
6
4
|
export const finishedIdemKey = (childRunId) => `subagent_finished:${childRunId}`;
|
|
7
5
|
const DISPATCH_COLUMNS = [
|
|
@@ -10,6 +8,8 @@ const DISPATCH_COLUMNS = [
|
|
|
10
8
|
"parent_conversation_id",
|
|
11
9
|
"child_conversation_id",
|
|
12
10
|
"child_run_id",
|
|
11
|
+
"budget_run_id",
|
|
12
|
+
"for_skill",
|
|
13
13
|
];
|
|
14
14
|
const toRow = (r) => ({
|
|
15
15
|
parentRunId: r.parent_run_id,
|
|
@@ -17,6 +17,8 @@ const toRow = (r) => ({
|
|
|
17
17
|
parentConversationId: r.parent_conversation_id,
|
|
18
18
|
childConversationId: r.child_conversation_id,
|
|
19
19
|
childRunId: r.child_run_id,
|
|
20
|
+
budgetRunId: r.budget_run_id,
|
|
21
|
+
forSkill: r.for_skill,
|
|
20
22
|
});
|
|
21
23
|
/** The dispatch that started `childRunId`, or null (not a sub-agent run). */
|
|
22
24
|
export async function dispatchOfChildRun(db, childRunId) {
|
|
@@ -27,6 +29,41 @@ export async function dispatchOfChildRun(db, childRunId) {
|
|
|
27
29
|
.executeTakeFirst();
|
|
28
30
|
return r ? toRow(r) : null;
|
|
29
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* The dispatch row a finished child run reports through (agent map spec §5.2: every run of a child
|
|
34
|
+
* conversation that ends appends one `finished` delivery to its parent): the run's own dispatch
|
|
35
|
+
* (`Agent`, `SendMessage`), else, for a run nobody dispatched (a wake run, §5.3), the newest dispatch
|
|
36
|
+
* of its conversation with `childRunId` set to this run, `forSkill` false (a wake run of a fork's
|
|
37
|
+
* child is delivered like any background run; no parent run waits on it) and the run's own budget
|
|
38
|
+
* run. Null when the run is unknown or its conversation was never dispatched.
|
|
39
|
+
*/
|
|
40
|
+
export async function deliveryRowOfChildRun(db, childRunId) {
|
|
41
|
+
const own = await dispatchOfChildRun(db, childRunId);
|
|
42
|
+
if (own)
|
|
43
|
+
return own;
|
|
44
|
+
const run = await db
|
|
45
|
+
.selectFrom("runs")
|
|
46
|
+
.select(["conversation_id", "budget_run_id"])
|
|
47
|
+
.where("id", "=", childRunId)
|
|
48
|
+
.executeTakeFirst();
|
|
49
|
+
if (!run)
|
|
50
|
+
return null;
|
|
51
|
+
const latest = await db
|
|
52
|
+
.selectFrom("subagent_dispatches")
|
|
53
|
+
.select(DISPATCH_COLUMNS)
|
|
54
|
+
.where("child_conversation_id", "=", run.conversation_id)
|
|
55
|
+
.orderBy("created_at", "desc")
|
|
56
|
+
.limit(1)
|
|
57
|
+
.executeTakeFirst();
|
|
58
|
+
if (!latest)
|
|
59
|
+
return null;
|
|
60
|
+
return {
|
|
61
|
+
...toRow(latest),
|
|
62
|
+
childRunId,
|
|
63
|
+
forSkill: false,
|
|
64
|
+
...(run.budget_run_id !== null && { budgetRunId: run.budget_run_id }),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
30
67
|
/** The dispatch of the parent call `(runId, callId)`, or null (not dispatched yet). */
|
|
31
68
|
export async function dispatchOfCall(db, runId, callId) {
|
|
32
69
|
const r = await db
|
|
@@ -37,6 +74,63 @@ export async function dispatchOfCall(db, runId, callId) {
|
|
|
37
74
|
.executeTakeFirst();
|
|
38
75
|
return r ? toRow(r) : null;
|
|
39
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* `conversationId` and its ancestors, nearest first, ending at the root of its tree (the first
|
|
79
|
+
* conversation without a parent); just `[conversationId]` for a root or an unknown id. Walks at
|
|
80
|
+
* most 16 levels, far above `subagents.maxDepth`'s bound of 5.
|
|
81
|
+
*/
|
|
82
|
+
async function ancestryOf(db, conversationId) {
|
|
83
|
+
const chain = [conversationId];
|
|
84
|
+
for (let i = 0; i < 16; i++) {
|
|
85
|
+
const row = await db
|
|
86
|
+
.selectFrom("conversations")
|
|
87
|
+
.select("parent_conversation_id")
|
|
88
|
+
.where("id", "=", chain[chain.length - 1])
|
|
89
|
+
.executeTakeFirst();
|
|
90
|
+
if (!row?.parent_conversation_id)
|
|
91
|
+
return chain;
|
|
92
|
+
chain.push(row.parent_conversation_id);
|
|
93
|
+
}
|
|
94
|
+
return chain;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The root conversation of `conversationId`'s tree (agent map spec §6): the first ancestor without
|
|
98
|
+
* a parent, or `conversationId` itself for a root (or an unknown id).
|
|
99
|
+
*/
|
|
100
|
+
export async function rootConversationOf(db, conversationId) {
|
|
101
|
+
return (await ancestryOf(db, conversationId)).at(-1);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Where the sub-agent conversation `conversationId`, in its run `runId`, shows a request for a
|
|
105
|
+
* person (`subagent_waiting`: an approval, a question or a connect card; agent map spec §7): the
|
|
106
|
+
* **root** conversation of its tree, the only one a person looks at, with the path from the root's
|
|
107
|
+
* child down to it, under the root run that last dispatched (or messaged) the root's child on that
|
|
108
|
+
* path (for a child of the root, the run's own dispatch first). `parent`, when the caller knows the
|
|
109
|
+
* run's dispatch and it was made by the root (`depth` 0), answers without a read. Null for a root
|
|
110
|
+
* conversation, or a branch the root never dispatched.
|
|
111
|
+
*/
|
|
112
|
+
export async function rootSurfaceOf(db, conversationId, runId, parent) {
|
|
113
|
+
if (parent?.depth === 0) {
|
|
114
|
+
return { conversationId: parent.conversationId, runId: parent.runId, path: [conversationId] };
|
|
115
|
+
}
|
|
116
|
+
const chain = await ancestryOf(db, conversationId);
|
|
117
|
+
if (chain.length < 2)
|
|
118
|
+
return null;
|
|
119
|
+
const root = chain.at(-1);
|
|
120
|
+
const path = chain.slice(0, -1).reverse();
|
|
121
|
+
const top = path[0];
|
|
122
|
+
const own = path.length === 1 ? await dispatchOfChildRun(db, runId) : null;
|
|
123
|
+
const dispatch = own ??
|
|
124
|
+
(await db
|
|
125
|
+
.selectFrom("subagent_dispatches")
|
|
126
|
+
.select(["parent_run_id as parentRunId"])
|
|
127
|
+
.where("child_conversation_id", "=", top)
|
|
128
|
+
.where("parent_conversation_id", "=", root)
|
|
129
|
+
.orderBy("created_at", "desc")
|
|
130
|
+
.limit(1)
|
|
131
|
+
.executeTakeFirst());
|
|
132
|
+
return dispatch ? { conversationId: root, runId: dispatch.parentRunId, path } : null;
|
|
133
|
+
}
|
|
40
134
|
/** All events of one run of a conversation, by seq. */
|
|
41
135
|
async function runEvents(eventLog, conversationId, runId) {
|
|
42
136
|
const out = [];
|
|
@@ -51,18 +145,18 @@ async function runEvents(eventLog, conversationId, runId) {
|
|
|
51
145
|
}
|
|
52
146
|
}
|
|
53
147
|
/**
|
|
54
|
-
* The
|
|
55
|
-
*
|
|
148
|
+
* The result of a finished child run (spec §4.4) and its `subagent_finished` payload, from the
|
|
149
|
+
* child's log only: the status from its terminal event, the reply from its last
|
|
56
150
|
* `assistant_message` (text blocks), the tool call count from its `tool_result` events, the usage
|
|
57
151
|
* from its `usage` events (compaction included) and the duration from `run_started` to the
|
|
58
|
-
* terminal event. Null while the run has no terminal event.
|
|
152
|
+
* terminal event. Null while the run has no terminal event. `content` is the fork report's text
|
|
153
|
+
* (`agentResultText`); `reply`, `errorMessage` and `abortedBy` are what a background child's
|
|
154
|
+
* finished `subagent_delivery` carries.
|
|
59
155
|
*
|
|
60
156
|
* `modelGiven`: the parent's call named a `model`; for an org agent, which runs on its own model
|
|
61
157
|
* (§5.4, §5.5), the status line then says `model: the agent's own`.
|
|
62
158
|
*/
|
|
63
|
-
export async function childResult(eventLog, row,
|
|
64
|
-
/** `forSkill`: a fork invocation's report (no resume hint, see `agentResultText`). */
|
|
65
|
-
opts = {}) {
|
|
159
|
+
export async function childResult(eventLog, row, opts = {}) {
|
|
66
160
|
const events = await runEvents(eventLog, row.childConversationId, row.childRunId);
|
|
67
161
|
const terminal = events.find((e) => e.type === "run_finished" || e.type === "run_failed" || e.type === "run_aborted");
|
|
68
162
|
if (!terminal)
|
|
@@ -123,10 +217,12 @@ opts = {}) {
|
|
|
123
217
|
tokens: usageTokens(usage),
|
|
124
218
|
...(abortedBy !== undefined && { abortedBy }),
|
|
125
219
|
...(ownModel && { ownModel }),
|
|
126
|
-
...(opts.forSkill === true && { noResumeHint: true }),
|
|
127
220
|
});
|
|
128
221
|
return {
|
|
129
222
|
...text,
|
|
223
|
+
reply,
|
|
224
|
+
...(errorMessage !== undefined && { errorMessage }),
|
|
225
|
+
...(abortedBy !== undefined && { abortedBy }),
|
|
130
226
|
finished: {
|
|
131
227
|
subagentId: row.childConversationId,
|
|
132
228
|
childRunId: row.childRunId,
|
|
@@ -146,80 +242,3 @@ export const finishedEvent = (row, finished) => ({
|
|
|
146
242
|
idemKey: finishedIdemKey(row.childRunId),
|
|
147
243
|
payload: finished,
|
|
148
244
|
});
|
|
149
|
-
/**
|
|
150
|
-
* After a child run's terminal state committed (spec §7.3): appends `subagent_finished` to the
|
|
151
|
-
* parent log (idempotent; allowed while the parent waits, it is not model-visible) and tries
|
|
152
|
-
* `Waits.resume(parentRunId, childRunId)`. Every finishing child tries; the conditional resume lets
|
|
153
|
-
* exactly one succeed, the last to see all its siblings terminal. A run that is not a dispatched
|
|
154
|
-
* child, or not terminal yet, is left alone. A crash in between is repaired by the wait sweep and
|
|
155
|
-
* by the parent's tools node, which writes a missing `subagent_finished` itself.
|
|
156
|
-
*/
|
|
157
|
-
export async function onChildFinished(d, childRunId) {
|
|
158
|
-
const row = await dispatchOfChildRun(d.db, childRunId);
|
|
159
|
-
if (!row)
|
|
160
|
-
return;
|
|
161
|
-
const run = await d.db
|
|
162
|
-
.selectFrom("runs")
|
|
163
|
-
.select("status")
|
|
164
|
-
.where("id", "=", childRunId)
|
|
165
|
-
.executeTakeFirst();
|
|
166
|
-
if (!run || !TERMINAL_STATUSES.has(run.status))
|
|
167
|
-
return;
|
|
168
|
-
const r = await childResult(d.eventLog, row);
|
|
169
|
-
if (!r) {
|
|
170
|
-
d.log.warn("sub-agent run is terminal without a terminal event", { childRunId });
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
await d.eventLog.append(row.parentConversationId, [finishedEvent(row, r.finished)]);
|
|
174
|
-
await d.waits.resume(row.parentRunId, childRunId);
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Stops the active children of a parent run (sub-agents spec §12), or only those dispatched in
|
|
178
|
-
* `opts.step`: a `waiting` child through its own `abortWaiting`, a `queued` / `running` one that
|
|
179
|
-
* no worker holds directly (`abortIfOrphaned`), any other through `RunAbort.request` (the
|
|
180
|
-
* cross-replica broadcast plus the marker key, so a child that starts later still sees it), after
|
|
181
|
-
* which a child found `waiting` is stopped through `abortWaiting` too. A child stopped here is
|
|
182
|
-
* reported to the parent at once (by `abortWaiting` itself, or {@link onChildFinished} after
|
|
183
|
-
* `abortIfOrphaned`); one stopped by its worker is reported by that worker. Returns the number of
|
|
184
|
-
* children asked to stop.
|
|
185
|
-
*
|
|
186
|
-
* `byAccountId` is the person whose action stops them, or null when the kernel stops them on the
|
|
187
|
-
* parent's behalf; a child stopped with null reports the §4.4 "parent's stop" text.
|
|
188
|
-
*/
|
|
189
|
-
export async function stopChildren(d, parentRunId, byAccountId, opts = {}) {
|
|
190
|
-
let q = d.db
|
|
191
|
-
.selectFrom("subagent_dispatches as sd")
|
|
192
|
-
.innerJoin("runs as cr", "cr.id", "sd.child_run_id")
|
|
193
|
-
.select(["sd.child_conversation_id", "sd.child_run_id", "cr.status"])
|
|
194
|
-
.where("sd.parent_run_id", "=", parentRunId)
|
|
195
|
-
.where("cr.status", "in", ACTIVE_RUN_STATUSES);
|
|
196
|
-
if (opts.step !== undefined)
|
|
197
|
-
q = q.where("sd.step", "=", opts.step);
|
|
198
|
-
const children = await q.execute();
|
|
199
|
-
for (const c of children) {
|
|
200
|
-
const conv = c.child_conversation_id;
|
|
201
|
-
const runId = c.child_run_id;
|
|
202
|
-
// abortWaiting reports the stopped child to the parent itself (Waits.subagents.finished)
|
|
203
|
-
if (c.status === "waiting" &&
|
|
204
|
-
(await d.waits.abortWaiting(conv, runId, byAccountId, opts.detail))) {
|
|
205
|
-
continue;
|
|
206
|
-
}
|
|
207
|
-
if (await d.runQueue.abortIfOrphaned(conv, runId, byAccountId, opts.detail)) {
|
|
208
|
-
await onChildFinished(d, runId);
|
|
209
|
-
continue;
|
|
210
|
-
}
|
|
211
|
-
await d.abort.request(runId, byAccountId, opts.detail);
|
|
212
|
-
// the suspend handshake (see Waits.suspend): a child that became `waiting` after the read
|
|
213
|
-
// above may have checked the marker before it was set, so check `waiting` again after setting
|
|
214
|
-
// it (review M1)
|
|
215
|
-
const now = await d.db
|
|
216
|
-
.selectFrom("runs")
|
|
217
|
-
.select("status")
|
|
218
|
-
.where("id", "=", runId)
|
|
219
|
-
.executeTakeFirst();
|
|
220
|
-
if (now?.status === "waiting") {
|
|
221
|
-
await d.waits.abortWaiting(conv, runId, byAccountId, opts.detail);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
return children.length;
|
|
225
|
-
}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { type AgentTemplateTier } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import type
|
|
3
|
-
import type { KernelConfig } from "../../config/schema.js";
|
|
2
|
+
import { type AgentDefinition, type DisabledToolRef, type ModelRef } from "../../agents/definition.js";
|
|
4
3
|
import type { EventPayload } from "../../conversations/events.js";
|
|
5
|
-
import type {
|
|
4
|
+
import type { KernelSchemaDb } from "../../db/kernel-schema.js";
|
|
5
|
+
import type { KernelConfigService } from "../../infra/config/kernel-config.service.js";
|
|
6
6
|
import type { ModelPurposesService } from "../../models/purposes.js";
|
|
7
7
|
import type { ProviderRegistry } from "../providers.js";
|
|
8
8
|
import type { RosterEntry } from "./roster.js";
|
|
9
|
-
|
|
10
|
-
* Tools a sub-agent never gets (spec §5.3, §5.5): `agent` (depth 1), `ask_user` (the person does not
|
|
11
|
-
* see the child), `sandbox_deliver` (delivering files is the parent's job) and `skill_write`.
|
|
12
|
-
*/
|
|
13
|
-
export declare const CHILD_REMOVED_TOOLS: readonly ["agent", "ask_user", "sandbox_deliver", "skill_write"];
|
|
9
|
+
export { CHILD_REMOVED_TOOLS } from "../../tools/builtin-names.js";
|
|
14
10
|
/**
|
|
15
11
|
* The roster entry's template is gone (an inline template edited away, a plugin template
|
|
16
12
|
* uninstalled) between resolving the roster and reading it. The dispatch refuses the call as an
|
|
@@ -29,11 +25,11 @@ export interface EffectiveDefinition {
|
|
|
29
25
|
warnings: string[];
|
|
30
26
|
}
|
|
31
27
|
export interface EffectiveDefinitionDeps {
|
|
32
|
-
db:
|
|
28
|
+
db: KernelSchemaDb;
|
|
33
29
|
purposes: Pick<ModelPurposesService, "resolve">;
|
|
34
30
|
/** Reads the resolved model's parameter declarations (a template `effort`). */
|
|
35
31
|
registry: Pick<ProviderRegistry, "resolve">;
|
|
36
|
-
config:
|
|
32
|
+
config: Pick<KernelConfigService, "get">;
|
|
37
33
|
}
|
|
38
34
|
type Policy = "ask" | "deny";
|
|
39
35
|
/**
|
|
@@ -46,6 +42,13 @@ export interface CheckedOrgAgent {
|
|
|
46
42
|
version: number;
|
|
47
43
|
definition: AgentDefinition;
|
|
48
44
|
}
|
|
45
|
+
/** Where a new child sits (agent map spec §6): its depth below the root and the tree's limit. */
|
|
46
|
+
export interface ChildDepth {
|
|
47
|
+
/** The child's depth: 1 for a child of a root conversation. */
|
|
48
|
+
childDepth: number;
|
|
49
|
+
/** `subagents.maxDepth` for the organization; a child at it never gets `Agent`. */
|
|
50
|
+
maxDepth: number;
|
|
51
|
+
}
|
|
49
52
|
/**
|
|
50
53
|
* The effective definition of a sub-agent at its first dispatch (spec §5.3–§5.5):
|
|
51
54
|
* - `general` / `inline` / `plugin`: the parent's definition narrowed by the template (tools by
|
|
@@ -56,10 +59,12 @@ export interface CheckedOrgAgent {
|
|
|
56
59
|
* (`tierFallback`); a template `effort` is set when the resolved model declares it;
|
|
57
60
|
* - `agent`: the org agent's version that passed the gates (`orgAgent`, from {@link checkOrgAgent}),
|
|
58
61
|
* its own tools minus the child-removed ones, its policies with the parent's on top (stricter
|
|
59
|
-
* wins), its skills and
|
|
60
|
-
*
|
|
62
|
+
* wins), its skills, model and `subagents` block; `tier` ignored.
|
|
63
|
+
* Nesting (agent map spec §4.1): `Agent` stays unless the child is at `maxDepth`; the frozen
|
|
64
|
+
* definition keeps a `subagents` block, the roster the child dispatches from: an org agent's own,
|
|
65
|
+
* otherwise the parent definition's (a general-purpose, inline or plugin child inherits it).
|
|
61
66
|
*/
|
|
62
|
-
export declare function effectiveDefinition(d: EffectiveDefinitionDeps, a: {
|
|
67
|
+
export declare function effectiveDefinition(d: EffectiveDefinitionDeps, a: ChildDepth & {
|
|
63
68
|
orgId: string;
|
|
64
69
|
parent: AgentDefinition;
|
|
65
70
|
parentAgentId: string;
|
|
@@ -72,32 +77,31 @@ export declare function effectiveDefinition(d: EffectiveDefinitionDeps, a: {
|
|
|
72
77
|
tierFallback: boolean;
|
|
73
78
|
}>;
|
|
74
79
|
/**
|
|
75
|
-
* What a follow-up (`resume`) may still use (final review I1, spec §5.3): the frozen
|
|
76
|
-
*
|
|
77
|
-
*
|
|
80
|
+
* What a follow-up (`resume`) may still use (final review I1, spec §5.3): the frozen definition's
|
|
81
|
+
* turned-off tools together with the current version's (it can lose tools, never gain them), and
|
|
82
|
+
* the frozen org skills intersected with the current ones. Recorded on the follow-up's task message
|
|
83
|
+
* (`user_message.dispatch.narrowed`), so the run and its replay read it from the log.
|
|
78
84
|
*/
|
|
79
85
|
export interface FollowUpNarrowing {
|
|
80
|
-
tools
|
|
86
|
+
/** Absent in logs from before tools were on by default (no tool narrowing then). */
|
|
87
|
+
disabledTools?: DisabledToolRef[] | undefined;
|
|
81
88
|
skills?: {
|
|
82
89
|
orgSkills: string[];
|
|
83
90
|
pinned?: string[] | undefined;
|
|
84
91
|
} | undefined;
|
|
85
92
|
}
|
|
86
|
-
/**
|
|
87
|
-
* The refs of `frozen` that `current` still has: a builtin or plugin tool by name, a connector by
|
|
88
|
-
* id; a connector's `all` meets the other side's names (`all` on both stays `all`), and a
|
|
89
|
-
* connector left with no names is dropped. Pure: a connector `current` lists is not looked up.
|
|
90
|
-
*/
|
|
91
|
-
export declare function intersectTools(frozen: readonly AgentToolRef[], current: readonly AgentToolRef[]): AgentToolRef[];
|
|
92
93
|
/**
|
|
93
94
|
* The narrowing of a follow-up (final review I1): `frozen` (the child's `subagent_started`
|
|
94
95
|
* definition) against `current`, the definition a fresh dispatch would read now: the dispatching
|
|
95
96
|
* parent run's version for `general` / inline / plugin children, the dispatched org agent's
|
|
96
97
|
* current version for an org agent child (whose tools are its own at dispatch too, §5.5). Its
|
|
97
|
-
* `orgSkills` keep only those `current` still
|
|
98
|
-
* skills goes with it (the agent's own skills
|
|
98
|
+
* `disabledTools` are both lists together; its `orgSkills` keep only those `current` still
|
|
99
|
+
* selects; a pinned id that was one of the frozen org skills goes with it (the agent's own skills
|
|
100
|
+
* stay).
|
|
101
|
+
*/
|
|
102
|
+
export declare function narrowFollowUp(frozen: Pick<AgentDefinition, "disabledTools" | "skills">, current: Pick<AgentDefinition, "disabledTools" | "skills">): FollowUpNarrowing;
|
|
103
|
+
/**
|
|
104
|
+
* The definition a child run uses: the frozen one with its trigger's follow-up narrowing. A
|
|
105
|
+
* narrowing logged before tools were on by default (no `disabledTools`) narrows only skills.
|
|
99
106
|
*/
|
|
100
|
-
export declare function narrowFollowUp(frozen: Pick<AgentDefinition, "tools" | "skills">, current: Pick<AgentDefinition, "tools" | "skills">): FollowUpNarrowing;
|
|
101
|
-
/** The definition a child run uses: the frozen one with its trigger's follow-up narrowing. */
|
|
102
107
|
export declare function childRunDefinition(frozen: AgentDefinition, narrowed: FollowUpNarrowing | undefined): AgentDefinition;
|
|
103
|
-
export {};
|