@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +85 -5
- package/dist/admin/admin.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +60 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +264 -0
- package/dist/catalog/catalog-content.js +430 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +677 -0
- package/dist/catalog/catalog-scope.service.d.ts +286 -0
- package/dist/catalog/catalog-scope.service.js +1196 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +144 -207
- package/dist/catalog/catalog.service.js +258 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +366 -0
- package/dist/catalog/component-scope.service.js +1115 -0
- package/dist/catalog/component-state.d.ts +197 -0
- package/dist/catalog/component-state.js +473 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +434 -472
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +293 -71
- package/dist/catalog/plugin-import.js +1039 -281
- package/dist/catalog/plugin-install.d.ts +271 -66
- package/dist/catalog/plugin-install.js +1198 -344
- package/dist/catalog/plugin-package.d.ts +41 -4
- package/dist/catalog/plugin-package.js +140 -7
- package/dist/catalog/plugin-upgrade.d.ts +312 -188
- package/dist/catalog/plugin-upgrade.js +1371 -1065
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -202
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +36 -2
- package/dist/config/schema.js +226 -25
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -71
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +589 -27
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +160 -2
- package/dist/errors.js +160 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -124
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +99 -36
- package/dist/extensions/bootstrap.js +290 -134
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +91 -4
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +93 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +46 -65
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +137 -38
- package/dist/identity/accounts.js +386 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +80 -33
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +69 -23
- package/dist/identity/settings.js +201 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +22 -13
- package/dist/index.js +16 -7
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -244
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-context.d.ts +2 -0
- package/dist/log-context.js +4 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +7 -0
- package/dist/models/models.module.js +36 -0
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +76 -14
- package/dist/orgs/settings.service.js +140 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +683 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +94 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +407 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +296 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +40 -0
- package/dist/platform/platform-ops.module.js +127 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +66 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -137
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +43 -0
- package/dist/runtime/run-control.js +89 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -237
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +121 -83
- package/dist/runtime/usage-report.js +355 -181
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/themes/render-css.d.ts +12 -0
- package/dist/themes/render-css.js +132 -0
- package/dist/themes/theme-delivery.service.d.ts +34 -0
- package/dist/themes/theme-delivery.service.js +111 -0
- package/dist/themes/theme-state.d.ts +95 -0
- package/dist/themes/theme-state.js +203 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +28 -0
- package/dist/themes/themes-public.controller.js +92 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +137 -37
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +30 -20
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +52 -45
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +13 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
package/dist/app.d.ts
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import type { BootstrapManifest } from "@capybara-hq/plugin-sdk";
|
|
3
|
+
import type { INestApplicationContext } from "@nestjs/common";
|
|
4
|
+
import type { NestFastifyApplication } from "@nestjs/platform-fastify";
|
|
5
|
+
import type { ConfigSource } from "./config/load.js";
|
|
6
|
+
import type { KernelConfig } from "./config/schema.js";
|
|
7
|
+
import type { ConfigSourceKind } from "./config/sources.js";
|
|
8
|
+
import { type KernelHttp } from "./http/app.js";
|
|
9
|
+
import { type ShutdownSignalOptions } from "./infra/lifecycle/shutdown-signals.js";
|
|
10
|
+
import type { KernelLogger } from "./log.js";
|
|
11
|
+
import type { KernelOverride } from "./overrides.js";
|
|
12
|
+
/** What {@link createKernelApp} takes besides the config. */
|
|
13
|
+
export interface KernelAppOptions {
|
|
14
|
+
/** 配置来源;提供 `watch` 时启用热更新。 */
|
|
15
|
+
source?: ConfigSource;
|
|
16
|
+
/** 解析插件裸包名的目录,默认 `process.cwd()`;相对路径按当前 cwd 解析。 */
|
|
17
|
+
resolveFrom?: string;
|
|
18
|
+
/** Defaults to a logger built from `config.log` and `config.roles` (createConfiguredLogger). */
|
|
19
|
+
logger?: KernelLogger;
|
|
20
|
+
/** 热更新时与来源原始值合并的环境变量,默认 `process.env`。 */
|
|
21
|
+
env?: NodeJS.ProcessEnv;
|
|
22
|
+
/**
|
|
23
|
+
* The bootstrap step (package ecosystem spec §7, startup bootstrap spec). When given, the start
|
|
24
|
+
* runs it (see `extensions/bootstrap.ts`) before loading extensions unless it is already done for
|
|
25
|
+
* the manifest, and refuses to start when it cannot complete a required entry. `dir`: the
|
|
26
|
+
* optional offline directory whose `*.tgz` files are matched to the entries by sha512 (a missing
|
|
27
|
+
* directory is an empty one); entries without a matching file are downloaded from
|
|
28
|
+
* `packages.npmRegistry`. Omitted: no bootstrap step (tests, unless they ask for it).
|
|
29
|
+
*/
|
|
30
|
+
bootstrap?: {
|
|
31
|
+
dir?: string;
|
|
32
|
+
};
|
|
33
|
+
/** The bootstrap manifest; default the `bootstrap.json` shipped with the kernel package. */
|
|
34
|
+
bootstrapManifest?: BootstrapManifest;
|
|
35
|
+
/**
|
|
36
|
+
* Where each extension deployment config field of the startup config comes from (the
|
|
37
|
+
* `extensionConfigSources` returned by `loadConfigWithSources`); these fields are read-only in the
|
|
38
|
+
* admin console (D8). When omitted it is derived from `config.extensionConfig`: fields present in
|
|
39
|
+
* the environment are `env`, the rest take the `CAPYBARA_CONFIG_SOURCE` kind (file / nacos).
|
|
40
|
+
*/
|
|
41
|
+
extensionConfigSources?: Record<string, Record<string, ConfigSourceKind>>;
|
|
42
|
+
/**
|
|
43
|
+
* The kernel's own tests' seams: values for the named seam tokens ({@link KernelOverride} lists
|
|
44
|
+
* every one), registered in a global module so the domain modules that resolve these optional
|
|
45
|
+
* tokens get them. Any other token is refused when the application is built.
|
|
46
|
+
*/
|
|
47
|
+
overrides?: readonly KernelOverride[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Builds the kernel application (one Nest application, root module {@link KernelModule}) and sets
|
|
51
|
+
* up its HTTP side, without initializing it: nothing connects and nothing starts. A failure
|
|
52
|
+
* releases what was created (Redis connections, the pool) before it is thrown. Internal (not
|
|
53
|
+
* exported from the package): {@link startKernelApp} and the kernel's own tests that need the
|
|
54
|
+
* application before its start; everything else uses {@link createKernelApp}.
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildKernelApp(config: KernelConfig, options?: KernelAppOptions): Promise<NestFastifyApplication>;
|
|
57
|
+
/**
|
|
58
|
+
* Closes a kernel application once (later calls get the same promise): the stop phases begin at
|
|
59
|
+
* once (`KernelLifecycle.stop`: readiness 503, the start aborted at its next checkpoint), next to
|
|
60
|
+
* `app.close()`, which runs the shutdown hooks (the stop phases are the same promise, then Redis
|
|
61
|
+
* and the pool). Use it to stop an application from {@link createKernelApp} /
|
|
62
|
+
* {@link startKernelApp} (tests, `@capybara-hq/testing`), so the stop begins before Nest's
|
|
63
|
+
* `onModuleDestroy` hooks run.
|
|
64
|
+
*/
|
|
65
|
+
export declare function closeKernelApp(app: NestFastifyApplication): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Creates the kernel application and runs its start sequence (nest kernel spec §4): Redis,
|
|
68
|
+
* migrations, the official marketplace, the bootstrap step, the extension load, the role parts,
|
|
69
|
+
* extension routes, the lifecycle reconcile and the config watch. Does not listen and installs no
|
|
70
|
+
* process-wide handler.
|
|
71
|
+
*/
|
|
72
|
+
export declare function createKernelApp(config: KernelConfig, options?: KernelAppOptions): Promise<NestFastifyApplication>;
|
|
73
|
+
/**
|
|
74
|
+
* Builds the kernel application, installs the SIGTERM / SIGINT handlers
|
|
75
|
+
* ({@link handleShutdownSignals}), runs the start sequence and listens on `config.http.port`:
|
|
76
|
+
* nothing is served before the start sequence finished. The handlers are installed before the
|
|
77
|
+
* start, so a signal during it aborts the start at its next checkpoint and closes the application
|
|
78
|
+
* cleanly; this function then rejects once the signal path has exited (with 0). A second signal
|
|
79
|
+
* exits with 1 at once. A failed build or start is logged (`kernel start failed`) before it is
|
|
80
|
+
* thrown.
|
|
81
|
+
*/
|
|
82
|
+
export declare function startKernelApp(config: KernelConfig, options?: KernelAppOptions, signalOptions?: ShutdownSignalOptions): Promise<NestFastifyApplication>;
|
|
83
|
+
/**
|
|
84
|
+
* The start half of {@link startKernelApp} for an application from {@link buildKernelApp}: installs
|
|
85
|
+
* the signal handlers, runs the start sequence and listens on `config.http.port`. Internal (not
|
|
86
|
+
* exported from the package): {@link startKernelApp} and the kernel's own tests that need the
|
|
87
|
+
* application before its start.
|
|
88
|
+
*/
|
|
89
|
+
export declare function startBuiltKernelApp(app: NestFastifyApplication, config: KernelConfig, signalOptions?: ShutdownSignalOptions): Promise<void>;
|
|
90
|
+
/** The in-process HTTP of a kernel application (`inject`, the route list). */
|
|
91
|
+
export declare function kernelAppHttp(app: INestApplicationContext): KernelHttp;
|
|
92
|
+
/** The port a kernel application listens on; undefined before it listens and after the stop. */
|
|
93
|
+
export declare function kernelAppPort(app: INestApplicationContext): number | undefined;
|
package/dist/app.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { NestFactory } from "@nestjs/core";
|
|
3
|
+
import { createKernelAdapter } from "./http/adapter.js";
|
|
4
|
+
import { createHttpApp } from "./http/app.js";
|
|
5
|
+
import { NestLogAdapter } from "./http/nest-logger.js";
|
|
6
|
+
import { GracefulShutdown } from "./infra/lifecycle/graceful-shutdown.service.js";
|
|
7
|
+
import { handleShutdownSignals, } from "./infra/lifecycle/shutdown-signals.js";
|
|
8
|
+
import { setupSwagger } from "./infra/swagger/swagger.js";
|
|
9
|
+
import { KernelModule } from "./kernel.module.js";
|
|
10
|
+
import { KernelLifecycle } from "./lifecycle/kernel-lifecycle.js";
|
|
11
|
+
import { createConfiguredLogger } from "./log-config.js";
|
|
12
|
+
/**
|
|
13
|
+
* Builds the kernel application (one Nest application, root module {@link KernelModule}) and sets
|
|
14
|
+
* up its HTTP side, without initializing it: nothing connects and nothing starts. A failure
|
|
15
|
+
* releases what was created (Redis connections, the pool) before it is thrown. Internal (not
|
|
16
|
+
* exported from the package): {@link startKernelApp} and the kernel's own tests that need the
|
|
17
|
+
* application before its start; everything else uses {@link createKernelApp}.
|
|
18
|
+
*/
|
|
19
|
+
export async function buildKernelApp(config, options = {}) {
|
|
20
|
+
const logger = options.logger ?? createConfiguredLogger(config);
|
|
21
|
+
const app = await NestFactory.create(KernelModule.forRoot(config, { ...options, logger }), createKernelAdapter(config.http.trustProxy), { logger: new NestLogAdapter(logger), abortOnError: false });
|
|
22
|
+
const lifecycle = app.get(KernelLifecycle);
|
|
23
|
+
const gateway = lifecycle.gatewayRoutes();
|
|
24
|
+
try {
|
|
25
|
+
lifecycle.attachHttp(await createHttpApp({
|
|
26
|
+
log: logger,
|
|
27
|
+
servePlugins: config.roles.includes("api") || config.roles.includes("gateway"),
|
|
28
|
+
...(gateway !== undefined && { gateway }),
|
|
29
|
+
replicaId: config.http.replicaId === undefined ? undefined : String(config.http.replicaId),
|
|
30
|
+
packageMaxBytes: config.packages.maxBytes,
|
|
31
|
+
}, app));
|
|
32
|
+
setupSwagger(app, config.http.swagger);
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
// Nothing started: only release the connections (the stop phases are skipped)
|
|
36
|
+
lifecycle.releaseOnly();
|
|
37
|
+
await app.close();
|
|
38
|
+
throw e;
|
|
39
|
+
}
|
|
40
|
+
return app;
|
|
41
|
+
}
|
|
42
|
+
const closing = new WeakMap();
|
|
43
|
+
/**
|
|
44
|
+
* Closes a kernel application once (later calls get the same promise): the stop phases begin at
|
|
45
|
+
* once (`KernelLifecycle.stop`: readiness 503, the start aborted at its next checkpoint), next to
|
|
46
|
+
* `app.close()`, which runs the shutdown hooks (the stop phases are the same promise, then Redis
|
|
47
|
+
* and the pool). Use it to stop an application from {@link createKernelApp} /
|
|
48
|
+
* {@link startKernelApp} (tests, `@capybara-hq/testing`), so the stop begins before Nest's
|
|
49
|
+
* `onModuleDestroy` hooks run.
|
|
50
|
+
*/
|
|
51
|
+
export function closeKernelApp(app) {
|
|
52
|
+
let p = closing.get(app);
|
|
53
|
+
if (p === undefined) {
|
|
54
|
+
p = Promise.all([app.get(KernelLifecycle).stop(), app.close()]).then(() => { });
|
|
55
|
+
closing.set(app, p);
|
|
56
|
+
}
|
|
57
|
+
return p;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Initializes a built kernel application: `init()` runs the start sequence
|
|
61
|
+
* (`KernelLifecycle.onApplicationBootstrap`). A failure (unless the shutdown began meanwhile) is
|
|
62
|
+
* logged; either way the application is closed (the stop phases, then Redis and the pool) before
|
|
63
|
+
* the error is thrown.
|
|
64
|
+
*/
|
|
65
|
+
async function initKernelApp(app) {
|
|
66
|
+
try {
|
|
67
|
+
await app.init();
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
if (!app.get(GracefulShutdown).isShuttingDown()) {
|
|
71
|
+
app.get(KernelLifecycle).log.error("kernel start failed", { err: e });
|
|
72
|
+
}
|
|
73
|
+
await closeKernelApp(app);
|
|
74
|
+
throw e;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Creates the kernel application and runs its start sequence (nest kernel spec §4): Redis,
|
|
79
|
+
* migrations, the official marketplace, the bootstrap step, the extension load, the role parts,
|
|
80
|
+
* extension routes, the lifecycle reconcile and the config watch. Does not listen and installs no
|
|
81
|
+
* process-wide handler.
|
|
82
|
+
*/
|
|
83
|
+
export async function createKernelApp(config, options = {}) {
|
|
84
|
+
const app = await buildKernelApp(config, options);
|
|
85
|
+
await initKernelApp(app);
|
|
86
|
+
return app;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Builds the kernel application, installs the SIGTERM / SIGINT handlers
|
|
90
|
+
* ({@link handleShutdownSignals}), runs the start sequence and listens on `config.http.port`:
|
|
91
|
+
* nothing is served before the start sequence finished. The handlers are installed before the
|
|
92
|
+
* start, so a signal during it aborts the start at its next checkpoint and closes the application
|
|
93
|
+
* cleanly; this function then rejects once the signal path has exited (with 0). A second signal
|
|
94
|
+
* exits with 1 at once. A failed build or start is logged (`kernel start failed`) before it is
|
|
95
|
+
* thrown.
|
|
96
|
+
*/
|
|
97
|
+
export async function startKernelApp(config, options = {}, signalOptions = {}) {
|
|
98
|
+
const logger = options.logger ?? createConfiguredLogger(config);
|
|
99
|
+
let app;
|
|
100
|
+
try {
|
|
101
|
+
app = await buildKernelApp(config, { ...options, logger });
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
// Nothing to stop (the build released what it created); the process entry only sees the error
|
|
105
|
+
logger.error("kernel start failed", { err: e });
|
|
106
|
+
throw e;
|
|
107
|
+
}
|
|
108
|
+
await startBuiltKernelApp(app, config, signalOptions);
|
|
109
|
+
return app;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The start half of {@link startKernelApp} for an application from {@link buildKernelApp}: installs
|
|
113
|
+
* the signal handlers, runs the start sequence and listens on `config.http.port`. Internal (not
|
|
114
|
+
* exported from the package): {@link startKernelApp} and the kernel's own tests that need the
|
|
115
|
+
* application before its start.
|
|
116
|
+
*/
|
|
117
|
+
export async function startBuiltKernelApp(app, config, signalOptions = {}) {
|
|
118
|
+
const lifecycle = app.get(KernelLifecycle);
|
|
119
|
+
const signals = handleShutdownSignals(() => closeKernelApp(app), lifecycle.log, signalOptions);
|
|
120
|
+
try {
|
|
121
|
+
await initKernelApp(app);
|
|
122
|
+
try {
|
|
123
|
+
await lifecycle.listen(config.http.port);
|
|
124
|
+
}
|
|
125
|
+
catch (e) {
|
|
126
|
+
if (!app.get(GracefulShutdown).isShuttingDown()) {
|
|
127
|
+
lifecycle.log.error("kernel start failed", { err: e });
|
|
128
|
+
}
|
|
129
|
+
await closeKernelApp(app);
|
|
130
|
+
throw e;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (e) {
|
|
134
|
+
// Stopped by a signal: the signal path closes and exits; otherwise nothing is left to stop
|
|
135
|
+
const exiting = signals.exiting();
|
|
136
|
+
if (exiting)
|
|
137
|
+
await exiting;
|
|
138
|
+
else
|
|
139
|
+
signals.dispose();
|
|
140
|
+
throw e;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/** The in-process HTTP of a kernel application (`inject`, the route list). */
|
|
144
|
+
export function kernelAppHttp(app) {
|
|
145
|
+
return app.get(KernelLifecycle).http;
|
|
146
|
+
}
|
|
147
|
+
/** The port a kernel application listens on; undefined before it listens and after the stop. */
|
|
148
|
+
export function kernelAppPort(app) {
|
|
149
|
+
return app.get(KernelLifecycle).port;
|
|
150
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type Principal } from "../identity/principal.js";
|
|
3
|
+
import { type OrgContext } from "../orgs/org.guard.js";
|
|
4
|
+
import { type BackgroundTaskOutput, BackgroundTasks, type BackgroundTaskView } from "./tasks.service.js";
|
|
5
|
+
declare const ConversationParams: z.ZodObject<{
|
|
6
|
+
id: z.ZodString;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
declare const TaskParams: z.ZodObject<{
|
|
9
|
+
id: z.ZodString;
|
|
10
|
+
taskId: z.ZodString;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
declare const OutputQuery: z.ZodObject<{
|
|
13
|
+
tail: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
/**
|
|
16
|
+
* Background Bash tasks of a conversation (spec 2026-11-05-background-bash-design §5). Visible to
|
|
17
|
+
* whoever sees the conversation, stoppable by whoever may abort its run (the owner): the same
|
|
18
|
+
* checks as `GET :id` and `POST :id/abort`.
|
|
19
|
+
*/
|
|
20
|
+
export declare class BackgroundController {
|
|
21
|
+
private readonly tasks;
|
|
22
|
+
constructor(tasks: BackgroundTasks);
|
|
23
|
+
/** The conversation's tasks and its sub-agents' (`subagentId`), newest first. */
|
|
24
|
+
list(principal: Principal, org: OrgContext, params: z.infer<typeof ConversationParams>): Promise<{
|
|
25
|
+
tasks: BackgroundTaskView[];
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Stops a task like a person's stop: 200 `{ task }` with the row after the stop. A task that is
|
|
29
|
+
* still `running` with `stopping: true` is being stopped by another request (or is still
|
|
30
|
+
* launching); a stop that fails is an error and the task keeps running.
|
|
31
|
+
*/
|
|
32
|
+
stop(principal: Principal, org: OrgContext, params: z.infer<typeof TaskParams>): Promise<{
|
|
33
|
+
task: BackgroundTaskView;
|
|
34
|
+
}>;
|
|
35
|
+
/** The end of the task's output (`tail` bytes, at most 65536); 409 when it cannot be read now. */
|
|
36
|
+
output(principal: Principal, org: OrgContext, params: z.infer<typeof TaskParams>, q: z.infer<typeof OutputQuery>): Promise<BackgroundTaskOutput>;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,88 @@
|
|
|
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 { Controller, Get, HttpCode, Inject, Post } from "@nestjs/common";
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
import { CurrentPrincipal, patTokenId, requireUser, } from "../identity/principal.js";
|
|
13
|
+
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
14
|
+
import { ZParam, ZQuery } from "../infra/validation/zod-params.js";
|
|
15
|
+
import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
|
|
16
|
+
import { BackgroundConversationParams, BackgroundTaskParams } from "./background.schemas.js";
|
|
17
|
+
import { BackgroundTasks, OUTPUT_TAIL_MAX_BYTES, } from "./tasks.service.js";
|
|
18
|
+
const ConversationParams = BackgroundConversationParams;
|
|
19
|
+
const TaskParams = BackgroundTaskParams;
|
|
20
|
+
const OutputQuery = z.object({
|
|
21
|
+
tail: z.coerce.number().int().min(1).max(OUTPUT_TAIL_MAX_BYTES).default(OUTPUT_TAIL_MAX_BYTES),
|
|
22
|
+
});
|
|
23
|
+
class BackgroundConversationParamsDto extends createZodDto(ConversationParams, "BackgroundConversationParams") {
|
|
24
|
+
}
|
|
25
|
+
class BackgroundTaskParamsDto extends createZodDto(TaskParams, "BackgroundTaskParams") {
|
|
26
|
+
}
|
|
27
|
+
class BackgroundOutputQueryDto extends createZodDto(OutputQuery, "BackgroundOutputQuery") {
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Background Bash tasks of a conversation (spec 2026-11-05-background-bash-design §5). Visible to
|
|
31
|
+
* whoever sees the conversation, stoppable by whoever may abort its run (the owner): the same
|
|
32
|
+
* checks as `GET :id` and `POST :id/abort`.
|
|
33
|
+
*/
|
|
34
|
+
let BackgroundController = class BackgroundController {
|
|
35
|
+
tasks;
|
|
36
|
+
constructor(tasks) {
|
|
37
|
+
this.tasks = tasks;
|
|
38
|
+
}
|
|
39
|
+
/** The conversation's tasks and its sub-agents' (`subagentId`), newest first. */
|
|
40
|
+
async list(principal, org, params) {
|
|
41
|
+
const p = requireUser(principal);
|
|
42
|
+
return { tasks: await this.tasks.list(org.orgId, params.id, p.account.id) };
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Stops a task like a person's stop: 200 `{ task }` with the row after the stop. A task that is
|
|
46
|
+
* still `running` with `stopping: true` is being stopped by another request (or is still
|
|
47
|
+
* launching); a stop that fails is an error and the task keeps running.
|
|
48
|
+
*/
|
|
49
|
+
async stop(principal, org, params) {
|
|
50
|
+
const p = requireUser(principal);
|
|
51
|
+
return {
|
|
52
|
+
task: await this.tasks.stop(org.orgId, params.id, p.account.id, params.taskId, patTokenId(p)),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/** The end of the task's output (`tail` bytes, at most 65536); 409 when it cannot be read now. */
|
|
56
|
+
async output(principal, org, params, q) {
|
|
57
|
+
const p = requireUser(principal);
|
|
58
|
+
return this.tasks.output(org.orgId, params.id, p.account.id, params.taskId, q.tail);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
__decorate([
|
|
62
|
+
Get(":orgId/conversations/:id/background-tasks"),
|
|
63
|
+
OrgAction("agents.use"),
|
|
64
|
+
__param(0, CurrentPrincipal()),
|
|
65
|
+
__param(1, CurrentOrg()),
|
|
66
|
+
__param(2, ZParam(BackgroundConversationParamsDto))
|
|
67
|
+
], BackgroundController.prototype, "list", null);
|
|
68
|
+
__decorate([
|
|
69
|
+
Post(":orgId/conversations/:id/background-tasks/:taskId/stop"),
|
|
70
|
+
HttpCode(200),
|
|
71
|
+
OrgAction("agents.use"),
|
|
72
|
+
__param(0, CurrentPrincipal()),
|
|
73
|
+
__param(1, CurrentOrg()),
|
|
74
|
+
__param(2, ZParam(BackgroundTaskParamsDto))
|
|
75
|
+
], BackgroundController.prototype, "stop", null);
|
|
76
|
+
__decorate([
|
|
77
|
+
Get(":orgId/conversations/:id/background-tasks/:taskId/output"),
|
|
78
|
+
OrgAction("agents.use"),
|
|
79
|
+
__param(0, CurrentPrincipal()),
|
|
80
|
+
__param(1, CurrentOrg()),
|
|
81
|
+
__param(2, ZParam(BackgroundTaskParamsDto)),
|
|
82
|
+
__param(3, ZQuery(BackgroundOutputQueryDto))
|
|
83
|
+
], BackgroundController.prototype, "output", null);
|
|
84
|
+
BackgroundController = __decorate([
|
|
85
|
+
Controller("api/v1/orgs"),
|
|
86
|
+
__param(0, Inject(BackgroundTasks))
|
|
87
|
+
], BackgroundController);
|
|
88
|
+
export { BackgroundController };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background Bash (spec 2026-11-05-background-bash-design): the task store (from
|
|
3
|
+
* {@link BackgroundStoreModule}, which `SandboxModule` imports too), the finish of a task with its
|
|
4
|
+
* event ({@link BackgroundTaskFinisher}) and the stops ({@link BackgroundTaskStopper}). The wake of
|
|
5
|
+
* an idle conversation (`BackgroundWake`) is the runtime's (`RuntimeModule`): it needs the run
|
|
6
|
+
* queue, and the runtime imports this module. The poll and prune jobs
|
|
7
|
+
* (`BackgroundTaskPollJob`) are the worker role's (`WorkerModule`).
|
|
8
|
+
*/
|
|
9
|
+
export declare class BackgroundModule {
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
import { Module } from "@nestjs/common";
|
|
8
|
+
import { ConversationAccessModule } from "../conversations/access.js";
|
|
9
|
+
import { EventLogModule } from "../conversations/event-log.js";
|
|
10
|
+
import { EnvironmentsModule } from "../environments/environments.module.js";
|
|
11
|
+
import { SandboxModule } from "../sandbox/sandbox.module.js";
|
|
12
|
+
import { BackgroundTaskFinisher } from "./finish.js";
|
|
13
|
+
import { BackgroundTaskStopper } from "./stop.js";
|
|
14
|
+
import { BackgroundStoreModule } from "./store.module.js";
|
|
15
|
+
import { BackgroundTasks } from "./tasks.service.js";
|
|
16
|
+
/**
|
|
17
|
+
* Background Bash (spec 2026-11-05-background-bash-design): the task store (from
|
|
18
|
+
* {@link BackgroundStoreModule}, which `SandboxModule` imports too), the finish of a task with its
|
|
19
|
+
* event ({@link BackgroundTaskFinisher}) and the stops ({@link BackgroundTaskStopper}). The wake of
|
|
20
|
+
* an idle conversation (`BackgroundWake`) is the runtime's (`RuntimeModule`): it needs the run
|
|
21
|
+
* queue, and the runtime imports this module. The poll and prune jobs
|
|
22
|
+
* (`BackgroundTaskPollJob`) are the worker role's (`WorkerModule`).
|
|
23
|
+
*/
|
|
24
|
+
let BackgroundModule = class BackgroundModule {
|
|
25
|
+
};
|
|
26
|
+
BackgroundModule = __decorate([
|
|
27
|
+
Module({
|
|
28
|
+
imports: [
|
|
29
|
+
BackgroundStoreModule,
|
|
30
|
+
SandboxModule,
|
|
31
|
+
EnvironmentsModule,
|
|
32
|
+
EventLogModule,
|
|
33
|
+
ConversationAccessModule,
|
|
34
|
+
],
|
|
35
|
+
providers: [BackgroundTaskFinisher, BackgroundTaskStopper, BackgroundTasks],
|
|
36
|
+
exports: [BackgroundStoreModule, BackgroundTaskFinisher, BackgroundTaskStopper, BackgroundTasks],
|
|
37
|
+
})
|
|
38
|
+
], BackgroundModule);
|
|
39
|
+
export { BackgroundModule };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { RouteSchemas } from "../platform/route-schemas.js";
|
|
3
|
+
export declare const BackgroundConversationParams: z.ZodObject<{
|
|
4
|
+
id: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export declare const BackgroundTaskParams: z.ZodObject<{
|
|
7
|
+
id: z.ZodString;
|
|
8
|
+
taskId: z.ZodString;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export declare const BACKGROUND_ROUTES: readonly RouteSchemas[];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const BackgroundConversationParams = z.object({ id: z.string().min(1).max(100) });
|
|
3
|
+
export const BackgroundTaskParams = z.object({
|
|
4
|
+
id: z.string().min(1).max(100),
|
|
5
|
+
taskId: z.string().min(1).max(100),
|
|
6
|
+
});
|
|
7
|
+
export const BACKGROUND_ROUTES = [
|
|
8
|
+
{
|
|
9
|
+
route: "GET /api/v1/orgs/:orgId/conversations/:id/background-tasks",
|
|
10
|
+
params: BackgroundConversationParams,
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
route: "POST /api/v1/orgs/:orgId/conversations/:id/background-tasks/:taskId/stop",
|
|
14
|
+
params: BackgroundTaskParams,
|
|
15
|
+
},
|
|
16
|
+
];
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { EventLog } from "../conversations/event-log.js";
|
|
2
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
3
|
+
import { KernelEvents } from "../infra/events/kernel-events.js";
|
|
4
|
+
import { type BackgroundTaskRow, BackgroundTaskStore } from "./store.js";
|
|
5
|
+
/** Where a task ends (as {@link BackgroundTaskStore.finish} takes it). */
|
|
6
|
+
export type BackgroundFinish = Parameters<BackgroundTaskStore["finish"]>[1];
|
|
7
|
+
/**
|
|
8
|
+
* Who stopped a task, when its finish must never wake the conversation: a person (who is looking at
|
|
9
|
+
* it), the deletion of the conversation, or the end of the sub-agent that owns it (a fork's run, a
|
|
10
|
+
* stopped background sub-agent).
|
|
11
|
+
*/
|
|
12
|
+
export type BackgroundStoppedBy = "person" | "deletion" | "subagent_end";
|
|
13
|
+
/** The idempotency key of a task's `background_task_finished` event. */
|
|
14
|
+
export declare const finishedEventKey: (taskId: string) => string;
|
|
15
|
+
/**
|
|
16
|
+
* Takes a task out of `running` (spec 2026-11-05-background-bash-design §4.3): one transaction holds
|
|
17
|
+
* the conditional status update and the `background_task_finished` event of the owning
|
|
18
|
+
* conversation, so a crash between them cannot lose the event, and of two paths finishing the same
|
|
19
|
+
* task (two pollers, a poll and a stop) exactly one writes it. After the commit: the log's notify,
|
|
20
|
+
* the `changed: "background"` frame (to the owner and, for a sub-agent's task, the conversation
|
|
21
|
+
* that owns the sandbox, whose panel lists it too) and the `background_task.finished` domain event
|
|
22
|
+
* (`BackgroundWake` wakes an idle conversation; it lives in the runtime, above this module).
|
|
23
|
+
*
|
|
24
|
+
* Holds no lock and runs no sandbox command: the caller reads `lastLines` before.
|
|
25
|
+
*/
|
|
26
|
+
export declare class BackgroundTaskFinisher {
|
|
27
|
+
private readonly store;
|
|
28
|
+
private readonly eventLog;
|
|
29
|
+
private readonly events;
|
|
30
|
+
readonly txHost: TransactionHost;
|
|
31
|
+
constructor(store: Pick<BackgroundTaskStore, "finish">, eventLog: EventLog, events: KernelEvents, txHost: TransactionHost);
|
|
32
|
+
/**
|
|
33
|
+
* Finishes `task` as `to` with its last output lines (cut to their last 4 000 characters);
|
|
34
|
+
* `reported` when a tool call already told the model in its run. False (nothing written) when the
|
|
35
|
+
* task was no longer running, or, with `opts.unclaimed` (the poller), when a live stop claimed it:
|
|
36
|
+
* the stop's finish is then the only one. `opts.stoppedBy` marks a stop that must never wake the
|
|
37
|
+
* conversation: `"person"` (a person stopped it) or `"deletion"` (its conversation is being
|
|
38
|
+
* deleted).
|
|
39
|
+
*/
|
|
40
|
+
finish(task: BackgroundTaskRow, to: BackgroundFinish, lastLines: string, reported: boolean, opts?: {
|
|
41
|
+
unclaimed?: boolean;
|
|
42
|
+
stoppedBy?: BackgroundStoppedBy;
|
|
43
|
+
}): Promise<boolean>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
11
|
+
import { EventLog } from "../conversations/event-log.js";
|
|
12
|
+
import { afterCommit } from "../infra/database/after-commit.js";
|
|
13
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
14
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
15
|
+
import { KernelEvents } from "../infra/events/kernel-events.js";
|
|
16
|
+
import { taskOutputFile } from "./launch.js";
|
|
17
|
+
import { LAST_LINES_MAX_CHARS } from "./session.js";
|
|
18
|
+
import { BackgroundTaskStore } from "./store.js";
|
|
19
|
+
/** The idempotency key of a task's `background_task_finished` event. */
|
|
20
|
+
export const finishedEventKey = (taskId) => `background_task_finished:${taskId}`;
|
|
21
|
+
/**
|
|
22
|
+
* Takes a task out of `running` (spec 2026-11-05-background-bash-design §4.3): one transaction holds
|
|
23
|
+
* the conditional status update and the `background_task_finished` event of the owning
|
|
24
|
+
* conversation, so a crash between them cannot lose the event, and of two paths finishing the same
|
|
25
|
+
* task (two pollers, a poll and a stop) exactly one writes it. After the commit: the log's notify,
|
|
26
|
+
* the `changed: "background"` frame (to the owner and, for a sub-agent's task, the conversation
|
|
27
|
+
* that owns the sandbox, whose panel lists it too) and the `background_task.finished` domain event
|
|
28
|
+
* (`BackgroundWake` wakes an idle conversation; it lives in the runtime, above this module).
|
|
29
|
+
*
|
|
30
|
+
* Holds no lock and runs no sandbox command: the caller reads `lastLines` before.
|
|
31
|
+
*/
|
|
32
|
+
let BackgroundTaskFinisher = class BackgroundTaskFinisher {
|
|
33
|
+
store;
|
|
34
|
+
eventLog;
|
|
35
|
+
events;
|
|
36
|
+
txHost;
|
|
37
|
+
constructor(store, eventLog, events, txHost) {
|
|
38
|
+
this.store = store;
|
|
39
|
+
this.eventLog = eventLog;
|
|
40
|
+
this.events = events;
|
|
41
|
+
this.txHost = txHost;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Finishes `task` as `to` with its last output lines (cut to their last 4 000 characters);
|
|
45
|
+
* `reported` when a tool call already told the model in its run. False (nothing written) when the
|
|
46
|
+
* task was no longer running, or, with `opts.unclaimed` (the poller), when a live stop claimed it:
|
|
47
|
+
* the stop's finish is then the only one. `opts.stoppedBy` marks a stop that must never wake the
|
|
48
|
+
* conversation: `"person"` (a person stopped it) or `"deletion"` (its conversation is being
|
|
49
|
+
* deleted).
|
|
50
|
+
*/
|
|
51
|
+
async finish(task, to, lastLines, reported, opts = {}) {
|
|
52
|
+
if (!(await this.store.finish(task.id, to, opts)))
|
|
53
|
+
return false;
|
|
54
|
+
const [event] = await this.eventLog.appendIn(task.conversationId, [
|
|
55
|
+
{
|
|
56
|
+
type: "background_task_finished",
|
|
57
|
+
idemKey: finishedEventKey(task.id),
|
|
58
|
+
payload: {
|
|
59
|
+
taskId: task.id,
|
|
60
|
+
description: task.description,
|
|
61
|
+
status: to.status,
|
|
62
|
+
exitCode: to.exitCode ?? null,
|
|
63
|
+
elapsedMs: Math.max(0, Date.now() - task.startedAt.getTime()),
|
|
64
|
+
lastLines: lastLines.length > LAST_LINES_MAX_CHARS
|
|
65
|
+
? lastLines.slice(-LAST_LINES_MAX_CHARS)
|
|
66
|
+
: lastLines,
|
|
67
|
+
outputPath: taskOutputFile(task.outputPath),
|
|
68
|
+
reported,
|
|
69
|
+
...(to.lostReason !== undefined && { lostReason: to.lostReason }),
|
|
70
|
+
...(opts.stoppedBy !== undefined && { stoppedBy: opts.stoppedBy }),
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
]);
|
|
74
|
+
const conversations = [...new Set([task.conversationId, task.sandboxConversationId])];
|
|
75
|
+
afterCommit(async () => {
|
|
76
|
+
if (event)
|
|
77
|
+
await this.eventLog.notify(task.conversationId, event.seq);
|
|
78
|
+
for (const c of conversations)
|
|
79
|
+
await this.eventLog.publishChanged(c, "background");
|
|
80
|
+
await this.events.emit("background_task.finished", { conversationId: task.conversationId });
|
|
81
|
+
});
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
__decorate([
|
|
86
|
+
Transactional()
|
|
87
|
+
], BackgroundTaskFinisher.prototype, "finish", null);
|
|
88
|
+
BackgroundTaskFinisher = __decorate([
|
|
89
|
+
Injectable(),
|
|
90
|
+
__param(0, Inject(BackgroundTaskStore)),
|
|
91
|
+
__param(1, Inject(EventLog)),
|
|
92
|
+
__param(2, Inject(KernelEvents)),
|
|
93
|
+
__param(3, Inject(TransactionHost))
|
|
94
|
+
], BackgroundTaskFinisher);
|
|
95
|
+
export { BackgroundTaskFinisher };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
2
|
+
import { XactLock } from "../infra/database/xact-lock.js";
|
|
3
|
+
/**
|
|
4
|
+
* The launch lock of one root conversation (decision R9: one provider per transaction-scoped
|
|
5
|
+
* lock): serializes background task reservations in its tree, so the count of running tasks
|
|
6
|
+
* checked against `sandbox.background.maxTasks` (per root conversation, whatever environment it
|
|
7
|
+
* works in) and the insert of the new row are one step. Joins the
|
|
8
|
+
* caller's transaction (`mandatory`), which holds it until it ends.
|
|
9
|
+
*/
|
|
10
|
+
export declare class BackgroundLaunchLock {
|
|
11
|
+
private readonly xactLock;
|
|
12
|
+
readonly txHost: TransactionHost;
|
|
13
|
+
constructor(xactLock: XactLock, txHost: TransactionHost);
|
|
14
|
+
lock(sandboxConversationId: string): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
11
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
12
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
13
|
+
import { XactLock } from "../infra/database/xact-lock.js";
|
|
14
|
+
/**
|
|
15
|
+
* The launch lock of one root conversation (decision R9: one provider per transaction-scoped
|
|
16
|
+
* lock): serializes background task reservations in its tree, so the count of running tasks
|
|
17
|
+
* checked against `sandbox.background.maxTasks` (per root conversation, whatever environment it
|
|
18
|
+
* works in) and the insert of the new row are one step. Joins the
|
|
19
|
+
* caller's transaction (`mandatory`), which holds it until it ends.
|
|
20
|
+
*/
|
|
21
|
+
let BackgroundLaunchLock = class BackgroundLaunchLock {
|
|
22
|
+
xactLock;
|
|
23
|
+
txHost;
|
|
24
|
+
constructor(xactLock, txHost) {
|
|
25
|
+
this.xactLock = xactLock;
|
|
26
|
+
this.txHost = txHost;
|
|
27
|
+
}
|
|
28
|
+
async lock(sandboxConversationId) {
|
|
29
|
+
await this.xactLock.lock(`capybara.background-launch:${sandboxConversationId}`);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
__decorate([
|
|
33
|
+
Transactional({ propagation: "mandatory" })
|
|
34
|
+
], BackgroundLaunchLock.prototype, "lock", null);
|
|
35
|
+
BackgroundLaunchLock = __decorate([
|
|
36
|
+
Injectable(),
|
|
37
|
+
__param(0, Inject(XactLock)),
|
|
38
|
+
__param(1, Inject(TransactionHost))
|
|
39
|
+
], BackgroundLaunchLock);
|
|
40
|
+
export { BackgroundLaunchLock };
|