@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +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 +57 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +232 -0
- package/dist/catalog/catalog-content.js +367 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +676 -0
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1124 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +141 -206
- package/dist/catalog/catalog.service.js +237 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +114 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +327 -0
- package/dist/catalog/component-scope.service.js +990 -0
- package/dist/catalog/component-state.d.ts +188 -0
- package/dist/catalog/component-state.js +455 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +431 -472
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +801 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +223 -0
- package/dist/catalog/platform-components.js +763 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +270 -68
- package/dist/catalog/plugin-import.js +1004 -277
- package/dist/catalog/plugin-install.d.ts +251 -65
- package/dist/catalog/plugin-install.js +1128 -344
- package/dist/catalog/plugin-package.js +14 -1
- package/dist/catalog/plugin-upgrade.d.ts +301 -188
- package/dist/catalog/plugin-upgrade.js +1256 -1068
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +118 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -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 +550 -25
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +135 -2
- package/dist/errors.js +135 -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 +86 -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 +130 -38
- package/dist/identity/accounts.js +373 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +78 -33
- package/dist/identity/me.schemas.d.ts +14 -0
- package/dist/identity/me.schemas.js +17 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +42 -23
- package/dist/identity/settings.js +137 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +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 +45 -14
- package/dist/orgs/settings.service.js +110 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +667 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +90 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +36 -0
- package/dist/platform/ops/admin.ops.js +389 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +853 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +16 -0
- package/dist/platform/ops/org-settings.ops.js +102 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +295 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +28 -0
- package/dist/platform/ops/platform.ops.js +204 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +39 -0
- package/dist/platform/platform-ops.module.js +122 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +63 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -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/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/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
|
@@ -0,0 +1,106 @@
|
|
|
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, Module } from "@nestjs/common";
|
|
11
|
+
import { EventLog, EventLogModule } from "../../conversations/event-log.js";
|
|
12
|
+
import { KernelConfigService } from "../../infra/config/kernel-config.service.js";
|
|
13
|
+
import { KernelDb } from "../../infra/database/kernel-db.js";
|
|
14
|
+
import { TransactionHost } from "../../infra/database/transaction-host.js";
|
|
15
|
+
import { Transactional } from "../../infra/database/transactional.decorator.js";
|
|
16
|
+
import { KERNEL_BUS, KERNEL_LOGGER } from "../../infra/tokens.js";
|
|
17
|
+
import { ModelsModule } from "../../models/models.module.js";
|
|
18
|
+
import { ModelPurposesService } from "../../models/purposes.js";
|
|
19
|
+
import { SkillInvoker } from "../../skills/invoke.js";
|
|
20
|
+
import { SkillsModule } from "../../skills/skills.module.js";
|
|
21
|
+
import { ProviderRegistry, ProvidersModule } from "../providers.js";
|
|
22
|
+
import { RunJobs, RunJobsModule } from "../run-jobs.js";
|
|
23
|
+
import { SubagentDeliveries } from "./deliveries.js";
|
|
24
|
+
import { commitDispatchIn, dispatchSubagent, } from "./dispatch.js";
|
|
25
|
+
import { SubagentMessages } from "./messages.js";
|
|
26
|
+
import { publishSubagentProgress } from "./progress.js";
|
|
27
|
+
import { liveSkillForks } from "./skill-fork.js";
|
|
28
|
+
/**
|
|
29
|
+
* Sub-agents (phase C, spec §7) and forked skills (phase D): the `Agent` tool's dispatch (the
|
|
30
|
+
* tool pipeline calls {@link dispatch}), a run's fork invocation ({@link skillForks}, the loop's
|
|
31
|
+
* `prepare`) and a child step's progress on the parent's stream ({@link progress}). Child runs go
|
|
32
|
+
* to the sub-agent run queue through {@link RunJobs}. The child lifecycle after dispatch is the
|
|
33
|
+
* waits' (`Waits.childFinished`): a background child's finish is delivered to its parent
|
|
34
|
+
* ({@link SubagentDeliveries}), a fork invocation's child resumes its waiting parent run.
|
|
35
|
+
*/
|
|
36
|
+
let SubagentsService = class SubagentsService {
|
|
37
|
+
bus;
|
|
38
|
+
log;
|
|
39
|
+
txHost;
|
|
40
|
+
/** The dispatch's dependencies (`dispatch.ts`, `skill-fork.ts`). */
|
|
41
|
+
deps;
|
|
42
|
+
/** The live fork handler of the loop (`LoopDeps.skillForks`). */
|
|
43
|
+
skillForks;
|
|
44
|
+
constructor(kdb, eventLog, purposes, registry, config, jobs, invoker, bus, log, txHost) {
|
|
45
|
+
this.bus = bus;
|
|
46
|
+
this.log = log;
|
|
47
|
+
this.txHost = txHost;
|
|
48
|
+
this.deps = {
|
|
49
|
+
get db() {
|
|
50
|
+
return kdb.db;
|
|
51
|
+
},
|
|
52
|
+
eventLog,
|
|
53
|
+
purposes,
|
|
54
|
+
registry,
|
|
55
|
+
config,
|
|
56
|
+
enqueue: (data, jobId, kind) => jobs.enqueue(data, jobId, kind),
|
|
57
|
+
log,
|
|
58
|
+
invoker,
|
|
59
|
+
commitDispatch: (a, plan, child) => this.commitDispatch(a, plan, child),
|
|
60
|
+
};
|
|
61
|
+
this.skillForks = liveSkillForks(this.deps);
|
|
62
|
+
}
|
|
63
|
+
/** Dispatches the sub-agent of one `Agent` call (`dispatchSubagent`). */
|
|
64
|
+
dispatch(a) {
|
|
65
|
+
return dispatchSubagent(this.deps, a);
|
|
66
|
+
}
|
|
67
|
+
/** The dispatch's writes in a transaction of their own (see `commitDispatchIn`). */
|
|
68
|
+
commitDispatch(a, plan, child) {
|
|
69
|
+
return commitDispatchIn(this.deps, a, plan, child);
|
|
70
|
+
}
|
|
71
|
+
/** A sub-agent's finished step on its parent's stream (sub-agents spec §14.2). Never throws. */
|
|
72
|
+
progress(s) {
|
|
73
|
+
return publishSubagentProgress({ db: this.deps.db, bus: this.bus, log: this.log }, s);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
__decorate([
|
|
77
|
+
Transactional({ propagation: "requires_new" })
|
|
78
|
+
], SubagentsService.prototype, "commitDispatch", null);
|
|
79
|
+
SubagentsService = __decorate([
|
|
80
|
+
Injectable(),
|
|
81
|
+
__param(0, Inject(KernelDb)),
|
|
82
|
+
__param(1, Inject(EventLog)),
|
|
83
|
+
__param(2, Inject(ModelPurposesService)),
|
|
84
|
+
__param(3, Inject(ProviderRegistry)),
|
|
85
|
+
__param(4, Inject(KernelConfigService)),
|
|
86
|
+
__param(5, Inject(RunJobs)),
|
|
87
|
+
__param(6, Inject(SkillInvoker)),
|
|
88
|
+
__param(7, Inject(KERNEL_BUS)),
|
|
89
|
+
__param(8, Inject(KERNEL_LOGGER)),
|
|
90
|
+
__param(9, Inject(TransactionHost))
|
|
91
|
+
], SubagentsService);
|
|
92
|
+
export { SubagentsService };
|
|
93
|
+
/**
|
|
94
|
+
* Sub-agent dispatch, deliveries and messages (the tools domain's `Agent`, `SendMessage` and
|
|
95
|
+
* `SubagentHandback`, the run loop, the waits).
|
|
96
|
+
*/
|
|
97
|
+
let SubagentsModule = class SubagentsModule {
|
|
98
|
+
};
|
|
99
|
+
SubagentsModule = __decorate([
|
|
100
|
+
Module({
|
|
101
|
+
imports: [EventLogModule, ModelsModule, ProvidersModule, RunJobsModule, SkillsModule],
|
|
102
|
+
providers: [SubagentsService, SubagentDeliveries, SubagentMessages],
|
|
103
|
+
exports: [SubagentsService, SubagentDeliveries, SubagentMessages],
|
|
104
|
+
})
|
|
105
|
+
], SubagentsModule);
|
|
106
|
+
export { SubagentsModule };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { Logger } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { type OnApplicationShutdown } from "@nestjs/common";
|
|
3
|
+
import type { JobsOptions, Queue } from "bullmq";
|
|
4
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
5
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
6
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
7
|
+
import { KernelEvents } from "../infra/events/kernel-events.js";
|
|
8
|
+
/**
|
|
9
|
+
* The producer half of `usage.report` delivery for `model_usage` rows, and the queue's ids and job
|
|
10
|
+
* options shared with the reporter (`usage-report.ts`). The `ctx.models` broker sits below the
|
|
11
|
+
* extension host and must not register a queue there (CLI contexts that build the extensions
|
|
12
|
+
* module never connect to Redis eagerly), so it only announces a row (`model_usage.recorded`) and
|
|
13
|
+
* {@link ModelUsageJobs} enqueues it here.
|
|
14
|
+
*/
|
|
15
|
+
/** Queue of `usage.report` deliveries (no `:` in the name). */
|
|
16
|
+
export declare const USAGE_REPORT_QUEUE = "cap-kernel-usage-report";
|
|
17
|
+
/** The job name of every delivery. */
|
|
18
|
+
export declare const USAGE_REPORT_JOB = "usage-report";
|
|
19
|
+
/** One job per `usage` event (no `:`: conversation ids are UUIDs, seq is a number). */
|
|
20
|
+
export declare const usageReportJobId: (conversationId: string, seq: number) => string;
|
|
21
|
+
/** One job per `model_usage` row (spec B §5.4; row ids are UUIDs, so no clash with the above). */
|
|
22
|
+
export declare const modelUsageJobId: (usageId: string) => string;
|
|
23
|
+
/**
|
|
24
|
+
* Job data: ids only (the payload is read when the job runs): a conversation `usage` event
|
|
25
|
+
* (`conversationId` + `seq`), or a `model_usage` row (`usageId`).
|
|
26
|
+
*/
|
|
27
|
+
export type UsageReportJob = ({
|
|
28
|
+
conversationId: string;
|
|
29
|
+
seq: number;
|
|
30
|
+
usageId?: undefined;
|
|
31
|
+
} | {
|
|
32
|
+
usageId: string;
|
|
33
|
+
conversationId?: undefined;
|
|
34
|
+
seq?: undefined;
|
|
35
|
+
}) & {
|
|
36
|
+
/** Plugins not yet succeeded; absent = every subscriber (decided on the first attempt). */
|
|
37
|
+
pending?: string[];
|
|
38
|
+
/**
|
|
39
|
+
* Targets dropped so far (plugin → why), accumulated across attempts (m-2): when the job would
|
|
40
|
+
* otherwise complete it fails naming them, and `pending` is then exactly these plugins, so a
|
|
41
|
+
* manual retry reaches only them (m-1). A later delivery to one of them removes it.
|
|
42
|
+
*/
|
|
43
|
+
dropped?: Record<string, string>;
|
|
44
|
+
};
|
|
45
|
+
/** First attempt plus 5 retries (F11). */
|
|
46
|
+
export declare const USAGE_REPORT_ATTEMPTS = 6;
|
|
47
|
+
/** Retry backoff: 2 s, doubling (2, 4, 8, 16, 32 s). */
|
|
48
|
+
export declare const USAGE_REPORT_BACKOFF_MS = 2000;
|
|
49
|
+
/** The delivery retry policy: attempts and the first exponential backoff. */
|
|
50
|
+
export interface UsageReportRetry {
|
|
51
|
+
attempts: number;
|
|
52
|
+
backoffMs: number;
|
|
53
|
+
}
|
|
54
|
+
/** Optional provider: the {@link UsageReportRetry} instead of the defaults above (tests). */
|
|
55
|
+
export declare const USAGE_REPORT_RETRY: unique symbol;
|
|
56
|
+
/** The options of one delivery job: its id, the retry policy and the retention of finished jobs. */
|
|
57
|
+
export declare function usageReportJobOpts(jobId: string, retry: UsageReportRetry, keepHours: number): JobsOptions;
|
|
58
|
+
/**
|
|
59
|
+
* Plugins that subscribe to `usage.report` according to deployment state: an approved permission
|
|
60
|
+
* snapshot that declares the `usage.report` hook, for a plugin the deployment still knows: an enabled
|
|
61
|
+
* install, or a config-declared plugin with a replica status row that is not `unloaded`. With `orgId`, only plugins
|
|
62
|
+
* the organization enabled (org config rows and required bootstrap plugins).
|
|
63
|
+
*/
|
|
64
|
+
export declare function queryUsageSubscribers(db: KernelSchemaDb, orgId?: string): Promise<Set<string>>;
|
|
65
|
+
/**
|
|
66
|
+
* Enqueues the `usage.report` delivery of `model_usage` rows on `model_usage.recorded` (fast path;
|
|
67
|
+
* the reporter's sweep re-enqueues rows still unreported, so a lost event or enqueue is caught up).
|
|
68
|
+
*/
|
|
69
|
+
export declare class ModelUsageJobs implements OnApplicationShutdown {
|
|
70
|
+
private readonly kdb;
|
|
71
|
+
private readonly queue;
|
|
72
|
+
private readonly config;
|
|
73
|
+
private readonly log;
|
|
74
|
+
private readonly retry;
|
|
75
|
+
private readonly unsubscribe;
|
|
76
|
+
/** Set at shutdown: a late event enqueues nothing (the sweep offers the row later). */
|
|
77
|
+
private closed;
|
|
78
|
+
constructor(kdb: KernelDb, queue: Queue<UsageReportJob>, config: Pick<KernelConfigService, "get">, log: Logger, retry: UsageReportRetry | undefined, events: KernelEvents);
|
|
79
|
+
onApplicationShutdown(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Enqueues the delivery of one row (job `usage-model-<rowId>`). Without any subscriber nothing is
|
|
82
|
+
* enqueued (the sweep marks the row). Never throws: a failure only logs; the sweep catches up.
|
|
83
|
+
*/
|
|
84
|
+
enqueue(usageId: string): Promise<void>;
|
|
85
|
+
}
|
|
86
|
+
/** The usage report queue and its `model_usage` producer (no dependency on the extension host). */
|
|
87
|
+
export declare class UsageReportJobsModule {
|
|
88
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
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 { getQueueToken } from "@nestjs/bullmq";
|
|
11
|
+
import { Inject, Injectable, Module, Optional } from "@nestjs/common";
|
|
12
|
+
import { sql } from "kysely";
|
|
13
|
+
import { enabledExtensionsQuery } from "../extensions/enabled.js";
|
|
14
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
15
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
16
|
+
import { KernelEvents } from "../infra/events/kernel-events.js";
|
|
17
|
+
import { QueueModule } from "../infra/queue/queue.module.js";
|
|
18
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
19
|
+
/**
|
|
20
|
+
* The producer half of `usage.report` delivery for `model_usage` rows, and the queue's ids and job
|
|
21
|
+
* options shared with the reporter (`usage-report.ts`). The `ctx.models` broker sits below the
|
|
22
|
+
* extension host and must not register a queue there (CLI contexts that build the extensions
|
|
23
|
+
* module never connect to Redis eagerly), so it only announces a row (`model_usage.recorded`) and
|
|
24
|
+
* {@link ModelUsageJobs} enqueues it here.
|
|
25
|
+
*/
|
|
26
|
+
/** Queue of `usage.report` deliveries (no `:` in the name). */
|
|
27
|
+
export const USAGE_REPORT_QUEUE = "cap-kernel-usage-report";
|
|
28
|
+
/** The job name of every delivery. */
|
|
29
|
+
export const USAGE_REPORT_JOB = "usage-report";
|
|
30
|
+
/** One job per `usage` event (no `:`: conversation ids are UUIDs, seq is a number). */
|
|
31
|
+
export const usageReportJobId = (conversationId, seq) => `usage-${conversationId}-${seq}`;
|
|
32
|
+
/** One job per `model_usage` row (spec B §5.4; row ids are UUIDs, so no clash with the above). */
|
|
33
|
+
export const modelUsageJobId = (usageId) => `usage-model-${usageId}`;
|
|
34
|
+
/** First attempt plus 5 retries (F11). */
|
|
35
|
+
export const USAGE_REPORT_ATTEMPTS = 6;
|
|
36
|
+
/** Retry backoff: 2 s, doubling (2, 4, 8, 16, 32 s). */
|
|
37
|
+
export const USAGE_REPORT_BACKOFF_MS = 2000;
|
|
38
|
+
/** Optional provider: the {@link UsageReportRetry} instead of the defaults above (tests). */
|
|
39
|
+
export const USAGE_REPORT_RETRY = Symbol("USAGE_REPORT_RETRY");
|
|
40
|
+
/** Failed jobs (given up) are kept for inspection, at most {@link KEEP_FAILED_MAX} of them. */
|
|
41
|
+
const KEEP_FAILED_S = 7 * 86_400;
|
|
42
|
+
/** Upper bound on kept failed jobs (I-2): a long outage of a billing endpoint cannot grow Redis. */
|
|
43
|
+
const KEEP_FAILED_MAX = 100_000;
|
|
44
|
+
/**
|
|
45
|
+
* Upper bound on kept finished jobs (Redis memory). At the default retention it only bites above
|
|
46
|
+
* ~1.1 usage events per second sustained for a day; dedupe needs the jobs only for the sweeper overlap.
|
|
47
|
+
*/
|
|
48
|
+
const KEEP_COMPLETED_MAX = 100_000;
|
|
49
|
+
/** The options of one delivery job: its id, the retry policy and the retention of finished jobs. */
|
|
50
|
+
export function usageReportJobOpts(jobId, retry, keepHours) {
|
|
51
|
+
return {
|
|
52
|
+
jobId,
|
|
53
|
+
attempts: retry.attempts,
|
|
54
|
+
backoff: { type: "exponential", delay: retry.backoffMs },
|
|
55
|
+
removeOnComplete: { age: keepHours * 3600, count: KEEP_COMPLETED_MAX },
|
|
56
|
+
removeOnFail: { age: KEEP_FAILED_S, count: KEEP_FAILED_MAX },
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Plugins that subscribe to `usage.report` according to deployment state: an approved permission
|
|
61
|
+
* snapshot that declares the `usage.report` hook, for a plugin the deployment still knows: an enabled
|
|
62
|
+
* install, or a config-declared plugin with a replica status row that is not `unloaded`. With `orgId`, only plugins
|
|
63
|
+
* the organization enabled (org config rows and required bootstrap plugins).
|
|
64
|
+
*/
|
|
65
|
+
export async function queryUsageSubscribers(db, orgId) {
|
|
66
|
+
let q = db
|
|
67
|
+
.selectFrom("extension_permission_snapshots as s")
|
|
68
|
+
.select("s.plugin")
|
|
69
|
+
.where(sql `s.permissions -> 'permissions' -> 'hooks' ? 'usage.report'`)
|
|
70
|
+
.where((eb) => eb.or([
|
|
71
|
+
eb.exists(eb
|
|
72
|
+
.selectFrom("extension_installs as i")
|
|
73
|
+
.select(sql `1`.as("one"))
|
|
74
|
+
.whereRef("i.name", "=", "s.plugin")
|
|
75
|
+
.where("i.desired_state", "=", "enabled")),
|
|
76
|
+
// config-declared plugins still declared (and not unloaded) on some replica; installs are
|
|
77
|
+
// covered by desired_state above (their replica rows linger as `unloaded` when disabled)
|
|
78
|
+
eb.exists(eb
|
|
79
|
+
.selectFrom("extension_replica_status as r")
|
|
80
|
+
.select(sql `1`.as("one"))
|
|
81
|
+
.whereRef("r.plugin", "=", "s.plugin")
|
|
82
|
+
.where("r.source", "=", "config")
|
|
83
|
+
.where("r.state", "<>", "unloaded")),
|
|
84
|
+
]));
|
|
85
|
+
if (orgId !== undefined) {
|
|
86
|
+
q = q.where("s.plugin", "in", enabledExtensionsQuery(db, orgId));
|
|
87
|
+
}
|
|
88
|
+
return new Set((await q.execute()).map((r) => r.plugin));
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Enqueues the `usage.report` delivery of `model_usage` rows on `model_usage.recorded` (fast path;
|
|
92
|
+
* the reporter's sweep re-enqueues rows still unreported, so a lost event or enqueue is caught up).
|
|
93
|
+
*/
|
|
94
|
+
let ModelUsageJobs = class ModelUsageJobs {
|
|
95
|
+
kdb;
|
|
96
|
+
queue;
|
|
97
|
+
config;
|
|
98
|
+
log;
|
|
99
|
+
retry;
|
|
100
|
+
unsubscribe;
|
|
101
|
+
/** Set at shutdown: a late event enqueues nothing (the sweep offers the row later). */
|
|
102
|
+
closed = false;
|
|
103
|
+
constructor(kdb, queue, config, log, retry = {
|
|
104
|
+
attempts: USAGE_REPORT_ATTEMPTS,
|
|
105
|
+
backoffMs: USAGE_REPORT_BACKOFF_MS,
|
|
106
|
+
}, events) {
|
|
107
|
+
this.kdb = kdb;
|
|
108
|
+
this.queue = queue;
|
|
109
|
+
this.config = config;
|
|
110
|
+
this.log = log;
|
|
111
|
+
this.retry = retry;
|
|
112
|
+
this.unsubscribe = events.on("model_usage.recorded", ({ id }) => this.enqueue(id));
|
|
113
|
+
}
|
|
114
|
+
onApplicationShutdown() {
|
|
115
|
+
this.closed = true;
|
|
116
|
+
this.unsubscribe();
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Enqueues the delivery of one row (job `usage-model-<rowId>`). Without any subscriber nothing is
|
|
120
|
+
* enqueued (the sweep marks the row). Never throws: a failure only logs; the sweep catches up.
|
|
121
|
+
*/
|
|
122
|
+
async enqueue(usageId) {
|
|
123
|
+
if (this.closed)
|
|
124
|
+
return;
|
|
125
|
+
try {
|
|
126
|
+
if ((await queryUsageSubscribers(this.kdb.db)).size === 0)
|
|
127
|
+
return;
|
|
128
|
+
await this.queue.add(USAGE_REPORT_JOB, { usageId }, usageReportJobOpts(modelUsageJobId(usageId), this.retry, this.config.get().hooks.usageReportKeepHours));
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
this.log.warn("cannot enqueue model usage report", { usageId, err });
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
ModelUsageJobs = __decorate([
|
|
136
|
+
Injectable(),
|
|
137
|
+
__param(0, Inject(KernelDb)),
|
|
138
|
+
__param(1, Inject(getQueueToken(USAGE_REPORT_QUEUE))),
|
|
139
|
+
__param(2, Inject(KernelConfigService)),
|
|
140
|
+
__param(3, Inject(KERNEL_LOGGER)),
|
|
141
|
+
__param(4, Optional()),
|
|
142
|
+
__param(4, Inject(USAGE_REPORT_RETRY)),
|
|
143
|
+
__param(5, Inject(KernelEvents))
|
|
144
|
+
], ModelUsageJobs);
|
|
145
|
+
export { ModelUsageJobs };
|
|
146
|
+
/** The usage report queue's registration, shared by the producer and the reporter's module. */
|
|
147
|
+
const USAGE_REPORT_QUEUE_MODULE = QueueModule.registerQueue(USAGE_REPORT_QUEUE);
|
|
148
|
+
/** The usage report queue and its `model_usage` producer (no dependency on the extension host). */
|
|
149
|
+
let UsageReportJobsModule = class UsageReportJobsModule {
|
|
150
|
+
};
|
|
151
|
+
UsageReportJobsModule = __decorate([
|
|
152
|
+
Module({
|
|
153
|
+
imports: [USAGE_REPORT_QUEUE_MODULE],
|
|
154
|
+
providers: [ModelUsageJobs],
|
|
155
|
+
exports: [ModelUsageJobs, USAGE_REPORT_QUEUE_MODULE],
|
|
156
|
+
})
|
|
157
|
+
], UsageReportJobsModule);
|
|
158
|
+
export { UsageReportJobsModule };
|
|
@@ -1,32 +1,17 @@
|
|
|
1
1
|
import type { Logger } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
seq: number;
|
|
13
|
-
/** Plugins not yet succeeded; absent = every subscriber (decided on the first attempt). */
|
|
14
|
-
pending?: string[];
|
|
15
|
-
/**
|
|
16
|
-
* Targets dropped so far (plugin → why), accumulated across attempts (m-2): when the job would
|
|
17
|
-
* otherwise complete it fails naming them, and `pending` is then exactly these plugins, so a
|
|
18
|
-
* manual retry reaches only them (m-1). A later delivery to one of them removes it.
|
|
19
|
-
*/
|
|
20
|
-
dropped?: Record<string, string>;
|
|
21
|
-
}
|
|
22
|
-
/** First attempt plus 5 retries (F11). */
|
|
23
|
-
export declare const USAGE_REPORT_ATTEMPTS = 6;
|
|
24
|
-
/** Retry backoff: 2 s, doubling (2, 4, 8, 16, 32 s). */
|
|
25
|
-
export declare const USAGE_REPORT_BACKOFF_MS = 2000;
|
|
26
|
-
/** Maintenance job of the sweeper (no `:`), its scheduler id and period. */
|
|
2
|
+
import { Job, type Queue, type Worker } from "bullmq";
|
|
3
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
4
|
+
import { ExtensionHost } from "../extensions/host.js";
|
|
5
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
6
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
7
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
8
|
+
import type { KernelLogger } from "../log.js";
|
|
9
|
+
import { type UsageReportJob, type UsageReportRetry } from "./usage-report-jobs.js";
|
|
10
|
+
export { ModelUsageJobs, modelUsageJobId, queryUsageSubscribers, USAGE_REPORT_ATTEMPTS, USAGE_REPORT_BACKOFF_MS, USAGE_REPORT_QUEUE, USAGE_REPORT_RETRY, type UsageReportJob, UsageReportJobsModule, type UsageReportRetry, usageReportJobId, } from "./usage-report-jobs.js";
|
|
11
|
+
/** The sweeper's cron job name (no `:`; every minute, once across replicas). */
|
|
27
12
|
export declare const USAGE_SWEEP_JOB = "usage-report-sweep";
|
|
28
|
-
|
|
29
|
-
export
|
|
13
|
+
/** The maintenance scheduler the sweep ran on before it became a `@LockedCron` (retired). */
|
|
14
|
+
export { USAGE_SWEEP_SCHEDULER_ID } from "./job-ids.js";
|
|
30
15
|
/** The sweep leaves the newest events to the fast path (and to transactions still committing). */
|
|
31
16
|
export declare const USAGE_SWEEP_LAG_MS = 30000;
|
|
32
17
|
/**
|
|
@@ -35,45 +20,6 @@ export declare const USAGE_SWEEP_LAG_MS = 30000;
|
|
|
35
20
|
* (`hooks.usageReportKeepHours` ≥ 1 h), so re-enqueued events dedupe on the kept job.
|
|
36
21
|
*/
|
|
37
22
|
export declare const USAGE_SWEEP_OVERLAP_MS: number;
|
|
38
|
-
export interface UsageReporterDeps {
|
|
39
|
-
db: KernelDb;
|
|
40
|
-
redisUrl: string;
|
|
41
|
-
/**
|
|
42
|
-
* The host's registry: handlers of the current local plugin generations (through inflight.run), and
|
|
43
|
-
* `has("usage.report")`, the in-process check that lets `enqueue` skip all I/O without handlers.
|
|
44
|
-
*/
|
|
45
|
-
hooks: Pick<HookRegistry, "handlers" | "has">;
|
|
46
|
-
/**
|
|
47
|
-
* Whether the plugin's current instance is active on this replica (I-2): an active instance that
|
|
48
|
-
* registered no `usage.report` handler is not a subscriber, and its target is dropped. Absent: never.
|
|
49
|
-
*/
|
|
50
|
-
isActive?(plugin: string): boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Of these plugins, the ones no replica can serve right now (I-2): replicas report them (live
|
|
53
|
-
* `extension_replica_status` rows) and none has them loaded. Their targets are dropped at once instead
|
|
54
|
-
* of failing every attempt. See {@link queryUnservable}. Absent: none.
|
|
55
|
-
*/
|
|
56
|
-
unservable?(plugins: readonly string[]): Promise<Set<string>>;
|
|
57
|
-
/**
|
|
58
|
-
* Plugins that subscribe to `usage.report`, from deployment state (approved manifests in PG), not from this replica's loaded handlers. With `orgId`: only those the
|
|
59
|
-
* organization enabled. See {@link queryUsageSubscribers}.
|
|
60
|
-
*/
|
|
61
|
-
subscribers(orgId?: string): Promise<Set<string>>;
|
|
62
|
-
config: () => KernelConfig;
|
|
63
|
-
log: Logger;
|
|
64
|
-
/** Tests: retry policy (defaults {@link USAGE_REPORT_ATTEMPTS} / {@link USAGE_REPORT_BACKOFF_MS}). */
|
|
65
|
-
retry?: {
|
|
66
|
-
attempts: number;
|
|
67
|
-
backoffMs: number;
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Plugins that subscribe to `usage.report` according to deployment state: an approved permission
|
|
72
|
-
* snapshot that declares the `usage.report` hook, for a plugin the deployment still knows: an enabled
|
|
73
|
-
* install, or a config-declared plugin with a replica status row that is not `unloaded`. With `orgId`, only plugins
|
|
74
|
-
* the organization enabled (org config rows and required bootstrap plugins).
|
|
75
|
-
*/
|
|
76
|
-
export declare function queryUsageSubscribers(db: KernelDb, orgId?: string): Promise<Set<string>>;
|
|
77
23
|
/**
|
|
78
24
|
* Of `plugins`, those that are **definitely** unservable right now (I-2, N-3): live replicas report
|
|
79
25
|
* them (a `extension_replica_status` row with a heartbeat newer than `staleSeconds`), no live row is
|
|
@@ -82,7 +28,7 @@ export declare function queryUsageSubscribers(db: KernelDb, orgId?: string): Pro
|
|
|
82
28
|
* reconcile). A plugin with no live row at all is unknown too (slow to load, or a host without a
|
|
83
29
|
* status store). Unknown plugins are never listed.
|
|
84
30
|
*/
|
|
85
|
-
export declare function queryUnservable(db:
|
|
31
|
+
export declare function queryUnservable(db: KernelSchemaDb, plugins: readonly string[], staleSeconds: number): Promise<Set<string>>;
|
|
86
32
|
/**
|
|
87
33
|
* The next `pending` set (m-2 fence): plugins that failed now, narrowed to what the stored job data
|
|
88
34
|
* still lists. A plugin another (stalled-over) execution already delivered never comes back.
|
|
@@ -112,20 +58,64 @@ export declare function narrowPending(stored: readonly string[] | undefined, fai
|
|
|
112
58
|
* most 100 000. Each call runs through the instance's `inflight.run`, limited by `hooks.timeoutMs`;
|
|
113
59
|
* when this replica stops, in-flight calls are aborted and the job goes back to the queue without
|
|
114
60
|
* using up an attempt.
|
|
115
|
-
* Handlers must be idempotent by `eventId` (`<conversationId>/<seq
|
|
116
|
-
* log (never model-visible). Compaction calls log usage too (`purpose: "compaction"`) and are reported,
|
|
117
|
-
* as are conversation title calls (`purpose: "title"`, no run: `runId` is "")
|
|
61
|
+
* Handlers must be idempotent by `eventId` (`<conversationId>/<seq>`, or a `model_usage` row id).
|
|
62
|
+
* Nothing is written to the event log (never model-visible). Compaction calls log usage too (`purpose: "compaction"`) and are reported,
|
|
63
|
+
* as are conversation title calls (`purpose: "title"`, no run: `runId` is "") and `WebFetch`
|
|
64
|
+
* extraction calls (`purpose: "web_fetch"`).
|
|
118
65
|
* Single-step eval replays and judge requests log no usage: not reported (M7).
|
|
66
|
+
* - **Model usage outside conversations** (spec B §5.4): each `ctx.models.embed` call writes a
|
|
67
|
+
* `model_usage` row; on its `model_usage.recorded` event `ModelUsageJobs` (`usage-report-jobs.ts`)
|
|
68
|
+
* enqueues job `usage-model-<rowId>` (only while some plugin subscribes); the payload
|
|
69
|
+
* (`purpose: "embedding"`, `eventId` = the row id, the calling `extension`, no conversation fields)
|
|
70
|
+
* is read from the row when the job runs, and the row's `reported_at` is set once nothing is left
|
|
71
|
+
* to deliver; a job that gives up after its last attempt sets `report_failed_at`. The sweep
|
|
72
|
+
* re-enqueues recent rows that are neither (see {@link sweep}).
|
|
119
73
|
*/
|
|
120
74
|
export declare class UsageReporter {
|
|
121
|
-
private readonly
|
|
122
|
-
private queue;
|
|
123
|
-
|
|
75
|
+
private readonly kdb;
|
|
76
|
+
private readonly queue;
|
|
77
|
+
/**
|
|
78
|
+
* The host's hook registry: handlers of the current local plugin generations (through
|
|
79
|
+
* inflight.run), and `has("usage.report")`, the in-process check that lets `enqueue` skip all
|
|
80
|
+
* I/O without handlers; and whether a plugin's current instance is active here.
|
|
81
|
+
*/
|
|
82
|
+
private readonly host;
|
|
83
|
+
private readonly config;
|
|
84
|
+
/** The warning throttle's markers (`capk:usage-warn:<plugin>:<kind>`, SET NX PX). */
|
|
85
|
+
private readonly locks;
|
|
86
|
+
private readonly log;
|
|
87
|
+
private readonly retry;
|
|
124
88
|
private worker;
|
|
125
|
-
private workerConn;
|
|
126
89
|
private closed;
|
|
127
90
|
private readonly stopping;
|
|
128
|
-
constructor(
|
|
91
|
+
constructor(kdb: KernelDb, queue: Queue<UsageReportJob>,
|
|
92
|
+
/**
|
|
93
|
+
* The host's hook registry: handlers of the current local plugin generations (through
|
|
94
|
+
* inflight.run), and `has("usage.report")`, the in-process check that lets `enqueue` skip all
|
|
95
|
+
* I/O without handlers; and whether a plugin's current instance is active here.
|
|
96
|
+
*/
|
|
97
|
+
host: Pick<ExtensionHost, "hooks" | "current">, config: Pick<KernelConfigService, "get">,
|
|
98
|
+
/** The warning throttle's markers (`capk:usage-warn:<plugin>:<kind>`, SET NX PX). */
|
|
99
|
+
locks: Pick<LockService, "lease">, log: Logger, retry?: UsageReportRetry);
|
|
100
|
+
private get db();
|
|
101
|
+
private get hooks();
|
|
102
|
+
/**
|
|
103
|
+
* Whether the plugin's current instance is active on this replica (I-2): an active instance that
|
|
104
|
+
* registered no `usage.report` handler is not a subscriber, and its target is dropped.
|
|
105
|
+
*/
|
|
106
|
+
isActive(plugin: string): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Of these plugins, the ones no replica can serve right now (I-2): replicas report them (live
|
|
109
|
+
* `extension_replica_status` rows) and none has them loaded. Their targets are dropped at once
|
|
110
|
+
* instead of failing every attempt. See {@link queryUnservable}.
|
|
111
|
+
*/
|
|
112
|
+
unservable(plugins: readonly string[]): Promise<Set<string>>;
|
|
113
|
+
/**
|
|
114
|
+
* Plugins that subscribe to `usage.report`, from deployment state (approved manifests in PG),
|
|
115
|
+
* not from this replica's loaded handlers. With `orgId`: only those the organization enabled.
|
|
116
|
+
* See {@link queryUsageSubscribers}.
|
|
117
|
+
*/
|
|
118
|
+
subscribers(orgId?: string): Promise<Set<string>>;
|
|
129
119
|
private jobOpts;
|
|
130
120
|
/**
|
|
131
121
|
* Enqueues the delivery of one `usage` event. Returns without a job when no plugin subscribes.
|
|
@@ -135,16 +125,46 @@ export declare class UsageReporter {
|
|
|
135
125
|
/**
|
|
136
126
|
* One sweep (R13): re-enqueues the `usage` events created in `[watermark - overlap, now - lag]` in
|
|
137
127
|
* pages, then advances the watermark to `now - lag`. With no subscriber it only advances. The first
|
|
138
|
-
* sweep starts at `now - lag - overlap`.
|
|
128
|
+
* sweep starts at `now - lag - overlap`. Also re-enqueues the `model_usage` rows of the same
|
|
129
|
+
* window that are neither reported nor given up (spec B §5.4),
|
|
130
|
+
* or, with no subscriber, marks those rows reported (nobody to deliver to). Returns the number of
|
|
131
|
+
* events and rows offered to the queue.
|
|
139
132
|
*/
|
|
140
133
|
sweep(opts?: {
|
|
141
134
|
now?: number;
|
|
142
135
|
}): Promise<number>;
|
|
143
|
-
/**
|
|
144
|
-
|
|
145
|
-
|
|
136
|
+
/**
|
|
137
|
+
* The `model_usage` half of {@link sweep}: rows neither reported nor given up that occurred in
|
|
138
|
+
* the same window as the events (`[watermark - overlap, to]`), oldest first. Bounded like the
|
|
139
|
+
* event sweep, so a row whose job failed for good is never offered again, even after its failed
|
|
140
|
+
* job left Redis (no repeated backlog, no second delivery to plugins already served).
|
|
141
|
+
*/
|
|
142
|
+
private sweepModelUsage;
|
|
143
|
+
/**
|
|
144
|
+
* Starts consuming (worker role only): `worker` is the `@Processor` worker of
|
|
145
|
+
* {@link USAGE_REPORT_QUEUE} (built with the run queue's job lock and stalled detection).
|
|
146
|
+
*/
|
|
147
|
+
startWorker(worker: Worker<UsageReportJob>): void;
|
|
148
|
+
/** The worker's `error` event. */
|
|
149
|
+
onError(err: Error): void;
|
|
150
|
+
/** A job failed (the worker's `failed` event): logs retries and the final failure. */
|
|
151
|
+
onFailed(j: Job<UsageReportJob> | undefined, err: Error): void;
|
|
152
|
+
/**
|
|
153
|
+
* Stops: no more enqueues, in-flight calls are aborted (their jobs requeued) and the worker
|
|
154
|
+
* closes. The queue itself closes with the application.
|
|
155
|
+
*/
|
|
146
156
|
stop(): Promise<void>;
|
|
147
|
-
|
|
157
|
+
/** The payload of a job: a `usage` event's or a `model_usage` row's; null when it is gone. */
|
|
158
|
+
private payloadOfJob;
|
|
159
|
+
/**
|
|
160
|
+
* The payload of one `model_usage` row (spec B §5.4): purpose `embedding`, the calling extension,
|
|
161
|
+
* no conversation fields; `eventId` is the row id. Null when the row no longer exists.
|
|
162
|
+
*/
|
|
163
|
+
private payloadOfUsage;
|
|
164
|
+
/** A `model_usage` job is done (delivered, or nothing left to deliver to): marks the row. */
|
|
165
|
+
private markReported;
|
|
166
|
+
/** A `model_usage` job gave up after its last attempt: the sweep never offers the row again. */
|
|
167
|
+
private markFailed;
|
|
148
168
|
/** The payload of one usage event, read from the log; null when the event no longer exists. */
|
|
149
169
|
private payloadOf;
|
|
150
170
|
/**
|
|
@@ -153,11 +173,29 @@ export declare class UsageReporter {
|
|
|
153
173
|
* dropped can stay, so a plugin another execution delivered never comes back.
|
|
154
174
|
*/
|
|
155
175
|
private writePending;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
176
|
+
/** One delivery job (the `@Processor` of {@link USAGE_REPORT_QUEUE} calls it). */
|
|
177
|
+
process(j: Job<UsageReportJob>, token: string | undefined): Promise<void>;
|
|
178
|
+
/** {@link unservable}; a lookup failure counts as "unknown" (keep retrying). */
|
|
179
|
+
private unservableOrNone;
|
|
159
180
|
/** Logs a warning at most once per plugin and kind per minute (Redis key with a TTL). */
|
|
160
181
|
private warnOnce;
|
|
161
182
|
/** One handler call with its own signal (timeout or replica stop aborts it); rejects on either. */
|
|
162
183
|
private call;
|
|
163
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* The usage sweeper (R13), every minute, once across replicas: {@link UsageReporter.sweep}.
|
|
187
|
+
* Replaces the maintenance scheduler `usage-report-sweep-every` (retired at worker start).
|
|
188
|
+
*/
|
|
189
|
+
export declare class UsageSweepJob {
|
|
190
|
+
private readonly reporter;
|
|
191
|
+
readonly lockService: LockService;
|
|
192
|
+
readonly log: KernelLogger;
|
|
193
|
+
constructor(reporter: Pick<UsageReporter, "sweep">, lockService: LockService, log: KernelLogger);
|
|
194
|
+
run(): Promise<void>;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* `usage.report` delivery: the producer on every role; the consumer and the sweep ({@link UsageSweepJob})
|
|
198
|
+
* on the worker role (`WorkerModule`).
|
|
199
|
+
*/
|
|
200
|
+
export declare class UsageReportModule {
|
|
201
|
+
}
|