@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,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a provider call failed to reach the provider: `connect` when no connection was made (the
|
|
3
|
+
* request never reached the provider, so it did nothing), `dropped` when an open connection broke
|
|
4
|
+
* (the provider may have acted before it broke).
|
|
5
|
+
*/
|
|
6
|
+
export type ProviderConnectionFailure = "connect" | "dropped";
|
|
7
|
+
/**
|
|
8
|
+
* Whether `e` is a network-level failure to reach the provider, and which kind. Providers may
|
|
9
|
+
* wrap the socket error (`fetch failed` with a `cause`, an `AggregateError` of one error per
|
|
10
|
+
* address, an SDK error with a `cause`), so the cause chain and `errors` are searched. The
|
|
11
|
+
* provider's own verdicts (`SandboxGoneError`, `FileSystemGoneError`) are never connection
|
|
12
|
+
* failures.
|
|
13
|
+
*/
|
|
14
|
+
export declare function providerConnectionFailure(e: unknown, depth?: number): ProviderConnectionFailure | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* A sandbox provider call that could not reach the provider (the socket proxy, the Docker daemon,
|
|
17
|
+
* the E2B API is down or misaddressed). An ordinary error to the sandbox lifecycle (never "gone":
|
|
18
|
+
* a network blip must not rebuild the instance); the tools turn it into an actionable tool error.
|
|
19
|
+
* `cause` is the provider's error, unchanged.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SandboxProviderUnreachableError extends Error {
|
|
22
|
+
readonly failure: ProviderConnectionFailure;
|
|
23
|
+
constructor(failure: ProviderConnectionFailure, cause: unknown);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* `impl` with every method's network-level failure rethrown as
|
|
27
|
+
* {@link SandboxProviderUnreachableError} (other errors and results unchanged): the one place a
|
|
28
|
+
* provider's connection failure is told apart from the kernel's own (database, Redis) failures.
|
|
29
|
+
*/
|
|
30
|
+
export declare function guardProviderConnection<P extends object>(impl: P): P;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { isFileSystemGoneError, isSandboxGoneError } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
/** Codes of a connection that was never made (node `net` / `dns`, undici). */
|
|
3
|
+
const CONNECT_CODES = new Set([
|
|
4
|
+
"ECONNREFUSED",
|
|
5
|
+
"ENOTFOUND",
|
|
6
|
+
"EAI_AGAIN",
|
|
7
|
+
"EHOSTUNREACH",
|
|
8
|
+
"EHOSTDOWN",
|
|
9
|
+
"ENETUNREACH",
|
|
10
|
+
"ENETDOWN",
|
|
11
|
+
"UND_ERR_CONNECT_TIMEOUT",
|
|
12
|
+
]);
|
|
13
|
+
/** Codes of a connection that broke after it was made. */
|
|
14
|
+
const DROPPED_CODES = new Set([
|
|
15
|
+
"ECONNRESET",
|
|
16
|
+
"ETIMEDOUT",
|
|
17
|
+
"EPIPE",
|
|
18
|
+
"ECONNABORTED",
|
|
19
|
+
"UND_ERR_SOCKET",
|
|
20
|
+
"UND_ERR_CLOSED",
|
|
21
|
+
]);
|
|
22
|
+
/** System calls that open a connection: any error code they fail with means no connection. */
|
|
23
|
+
const CONNECT_SYSCALLS = new Set(["connect", "getaddrinfo"]);
|
|
24
|
+
const MAX_DEPTH = 5;
|
|
25
|
+
/**
|
|
26
|
+
* Whether `e` is a network-level failure to reach the provider, and which kind. Providers may
|
|
27
|
+
* wrap the socket error (`fetch failed` with a `cause`, an `AggregateError` of one error per
|
|
28
|
+
* address, an SDK error with a `cause`), so the cause chain and `errors` are searched. The
|
|
29
|
+
* provider's own verdicts (`SandboxGoneError`, `FileSystemGoneError`) are never connection
|
|
30
|
+
* failures.
|
|
31
|
+
*/
|
|
32
|
+
export function providerConnectionFailure(e, depth = 0) {
|
|
33
|
+
if (depth > MAX_DEPTH || typeof e !== "object" || e === null)
|
|
34
|
+
return undefined;
|
|
35
|
+
if (isSandboxGoneError(e) || isFileSystemGoneError(e))
|
|
36
|
+
return undefined;
|
|
37
|
+
const { code, syscall, message, cause, errors } = e;
|
|
38
|
+
if (typeof code === "string") {
|
|
39
|
+
if (CONNECT_CODES.has(code))
|
|
40
|
+
return "connect";
|
|
41
|
+
if (typeof syscall === "string" && CONNECT_SYSCALLS.has(syscall))
|
|
42
|
+
return "connect";
|
|
43
|
+
if (DROPPED_CODES.has(code))
|
|
44
|
+
return "dropped";
|
|
45
|
+
}
|
|
46
|
+
if (typeof message === "string" && /socket hang up/i.test(message))
|
|
47
|
+
return "dropped";
|
|
48
|
+
let found;
|
|
49
|
+
if (Array.isArray(errors)) {
|
|
50
|
+
for (const inner of errors) {
|
|
51
|
+
const f = providerConnectionFailure(inner, depth + 1);
|
|
52
|
+
if (f === "dropped")
|
|
53
|
+
return f;
|
|
54
|
+
found ??= f;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return found ?? providerConnectionFailure(cause, depth + 1);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* A sandbox provider call that could not reach the provider (the socket proxy, the Docker daemon,
|
|
61
|
+
* the E2B API is down or misaddressed). An ordinary error to the sandbox lifecycle (never "gone":
|
|
62
|
+
* a network blip must not rebuild the instance); the tools turn it into an actionable tool error.
|
|
63
|
+
* `cause` is the provider's error, unchanged.
|
|
64
|
+
*/
|
|
65
|
+
export class SandboxProviderUnreachableError extends Error {
|
|
66
|
+
failure;
|
|
67
|
+
constructor(failure, cause) {
|
|
68
|
+
const why = cause instanceof Error ? cause.message : String(cause);
|
|
69
|
+
super(`sandbox provider ${failure === "connect" ? "unreachable" : "connection dropped"}: ${why}`, { cause });
|
|
70
|
+
this.failure = failure;
|
|
71
|
+
this.name = "SandboxProviderUnreachableError";
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function converted(e) {
|
|
75
|
+
if (e instanceof SandboxProviderUnreachableError)
|
|
76
|
+
return e;
|
|
77
|
+
const failure = providerConnectionFailure(e);
|
|
78
|
+
return failure === undefined ? e : new SandboxProviderUnreachableError(failure, e);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* `impl` with every method's network-level failure rethrown as
|
|
82
|
+
* {@link SandboxProviderUnreachableError} (other errors and results unchanged): the one place a
|
|
83
|
+
* provider's connection failure is told apart from the kernel's own (database, Redis) failures.
|
|
84
|
+
*/
|
|
85
|
+
export function guardProviderConnection(impl) {
|
|
86
|
+
return new Proxy(impl, {
|
|
87
|
+
get(target, prop) {
|
|
88
|
+
const value = Reflect.get(target, prop, target);
|
|
89
|
+
if (typeof value !== "function")
|
|
90
|
+
return value;
|
|
91
|
+
return (...args) => {
|
|
92
|
+
let r;
|
|
93
|
+
try {
|
|
94
|
+
r = value.apply(target, args);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
throw converted(e);
|
|
98
|
+
}
|
|
99
|
+
if (r instanceof Promise) {
|
|
100
|
+
return r.catch((e) => {
|
|
101
|
+
throw converted(e);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return r;
|
|
105
|
+
};
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
package/dist/skills/catalog.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { type Logger, type SkillInvocation } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import { type Transaction } from "kysely";
|
|
3
2
|
import type { AgentDefinition } from "../agents/definition.js";
|
|
4
|
-
import
|
|
3
|
+
import { EventLog } from "../conversations/event-log.js";
|
|
5
4
|
import { type ConversationEvent } from "../conversations/events.js";
|
|
6
|
-
import type {
|
|
5
|
+
import type { KernelSchemaDb, SkillManifest, SourceFormat } from "../db/kernel-schema.js";
|
|
7
6
|
import { ApiError } from "../errors.js";
|
|
7
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
8
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
9
|
+
import type { KernelLogger } from "../log.js";
|
|
8
10
|
import { type CatalogSkill, type PinnedSkill, type SkillsSnapshot } from "../runtime/context/skills.js";
|
|
9
|
-
import type
|
|
11
|
+
import { type PrefixedStorage, StorageService } from "../storage/storage.service.js";
|
|
10
12
|
/**
|
|
11
13
|
* 技能目录快照(M5 T14,Ruling M17):运行开始时解析「此刻对这个对话生效的技能」,与日志里最新一份快照不同才写
|
|
12
|
-
* `skills_catalog`。模型看到的目录与 `
|
|
14
|
+
* `skills_catalog`。模型看到的目录与 `Skill` 的名字解析只来自日志,不读实时的库。
|
|
13
15
|
*/
|
|
14
16
|
/**
|
|
15
17
|
* Pinned skill limits (spec §9.1): at most `count` pinned skills per agent, whose current SKILL.md
|
|
@@ -44,7 +46,7 @@ export interface EffectiveSkillsInput {
|
|
|
44
46
|
* (id 为已有技能或预先分配的 id,版本为批准后预期的版本号);其他对话照旧用 `current_version`。
|
|
45
47
|
* 批准后版本成为当前版本,各对话下一次运行开始时由快照差异得到提醒;拒绝 / 取消后发起对话回到当前版本。
|
|
46
48
|
*/
|
|
47
|
-
export declare function resolveEffectiveSkills(db:
|
|
49
|
+
export declare function resolveEffectiveSkills(db: KernelSchemaDb, input: EffectiveSkillsInput, log?: Pick<Logger, "warn">): Promise<CatalogSkill[]>;
|
|
48
50
|
/** The invocation metadata of a skill version: the manifest's, or the defaults when absent. */
|
|
49
51
|
export declare function invocationOf(manifest: Pick<SkillManifest, "invocation">): SkillInvocation;
|
|
50
52
|
/** An effective skill with what the snapshot needs beyond its catalog entry. */
|
|
@@ -60,9 +62,9 @@ export interface ResolvedSkill {
|
|
|
60
62
|
* included and not truncated ({@link forModel} gives the model's part). Without
|
|
61
63
|
* `conversationId` (a conversation not created yet) no trial draft applies.
|
|
62
64
|
*/
|
|
63
|
-
export declare function resolveSkills(db:
|
|
65
|
+
export declare function resolveSkills(db: KernelSchemaDb, input: Omit<EffectiveSkillsInput, "conversationId"> & {
|
|
64
66
|
conversationId?: string;
|
|
65
|
-
}): Promise<ResolvedSkill[]>;
|
|
67
|
+
}, log?: Pick<Logger, "warn">): Promise<ResolvedSkill[]>;
|
|
66
68
|
/** A pinned skill to read: an effective skill the agent version pins. */
|
|
67
69
|
interface PinnedCandidate {
|
|
68
70
|
id: string;
|
|
@@ -73,13 +75,14 @@ interface PinnedCandidate {
|
|
|
73
75
|
}
|
|
74
76
|
/**
|
|
75
77
|
* The `run_failed` message (shown to the user, English like the other run texts) for a
|
|
76
|
-
* `storage.unavailable` from {@link
|
|
78
|
+
* `storage.unavailable` from {@link SkillsCatalogService.record}: a pinned SKILL.md that is missing,
|
|
77
79
|
* corrupt or unparsable points at the agent's owner, since sending again cannot help; anything
|
|
78
80
|
* else is a transient storage failure.
|
|
79
81
|
*/
|
|
80
82
|
export declare function pinnedFailureText(e: ApiError): string;
|
|
81
83
|
/**
|
|
82
|
-
* Reads each pinned skill's SKILL.md from `kernel/<orgId>/<source>SKILL.md
|
|
84
|
+
* Reads each pinned skill's SKILL.md from `kernel/<orgId>/<source>SKILL.md` (a platform version's
|
|
85
|
+
* `platform:<prefix>` from `deployment/<prefix>SKILL.md`), verifies it against
|
|
83
86
|
* the manifest's size and sha256 and returns the parsed body, in order. Every failure throws
|
|
84
87
|
* `storage.unavailable` (Decision 9: the run fails before any model request):
|
|
85
88
|
* - a read error is retried once ({@link PINNED_READ_ATTEMPTS}), then is transient (the user
|
|
@@ -89,7 +92,7 @@ export declare function pinnedFailureText(e: ApiError): string;
|
|
|
89
92
|
* carries `details: [{ reason: "pinned_unreadable", skillId, name, source }]`
|
|
90
93
|
* ({@link pinnedFailureText} turns it into an owner-facing message).
|
|
91
94
|
*/
|
|
92
|
-
export declare function loadPinnedBodies(storage:
|
|
95
|
+
export declare function loadPinnedBodies(storage: PrefixedStorage, orgId: string, pinned: readonly PinnedCandidate[], opts?: {
|
|
93
96
|
signal?: AbortSignal;
|
|
94
97
|
log?: Pick<Logger, "error">;
|
|
95
98
|
}): Promise<PinnedSkill[]>;
|
|
@@ -101,9 +104,9 @@ export declare function loadPinnedBodies(storage: StorageService, orgId: string,
|
|
|
101
104
|
export declare function fitPinned(pinned: readonly PinnedSkill[], log: Pick<Logger, "warn"> | undefined, input: Partial<Pick<EffectiveSkillsInput, "orgId" | "agentId" | "conversationId">>): PinnedSkill[];
|
|
102
105
|
/** `skills_catalog` 的幂等键:每次运行最多写一份。 */
|
|
103
106
|
/**
|
|
104
|
-
* 是否给模型 `
|
|
107
|
+
* 是否给模型 `Skill`:日志里有过技能目录快照(Ruling M17),**即使最新一份是空的**。构建请求与执行工具调用
|
|
105
108
|
* 用同一判定。不因空快照收回这个工具:工具集合一变缓存前缀就失效;而且 agent 没有别的工具时会发出「没有工具
|
|
106
|
-
* 但历史里有 tool_use」的请求,Anthropic 会拒绝。空目录下调用
|
|
109
|
+
* 但历史里有 tool_use」的请求,Anthropic 会拒绝。空目录下调用 Skill 由 `NO_SKILLS_TEXT` 给出可执行的说明。
|
|
107
110
|
*/
|
|
108
111
|
export declare function skillLoadOffered(latest: Extract<ConversationEvent, {
|
|
109
112
|
type: "skills_catalog";
|
|
@@ -117,13 +120,14 @@ invoked?: boolean): boolean;
|
|
|
117
120
|
/** Whether `events` hold a person's skill invocation (a `user_message` with `skill`). */
|
|
118
121
|
export declare const hasInvocation: (events: readonly ConversationEvent[]) => boolean;
|
|
119
122
|
/** {@link skillLoadOffered} for a conversation, read from the database. */
|
|
120
|
-
export declare function skillLoadOfferedIn(db:
|
|
123
|
+
export declare function skillLoadOfferedIn(db: KernelSchemaDb, eventLog: Pick<EventLog, "latestOfType">, conversationId: string): Promise<boolean>;
|
|
121
124
|
export declare const skillsCatalogIdemKey: (runId: string) => string;
|
|
122
125
|
/**
|
|
123
|
-
*
|
|
124
|
-
*
|
|
126
|
+
* 在调用方事务里锁会话行(与 `EventLog.append` 同一把锁)并读最新一份技能目录快照(没有为 undefined)。
|
|
127
|
+
* `db` is the caller's transaction handle (`KernelDb.db` inside `@Transactional`).
|
|
128
|
+
* 「读最新 → 推出下一份 → 追加」都在这把锁内,别的写快照的事务(运行开始、SkillWrite、拒绝时的回退)插不进来。
|
|
125
129
|
*/
|
|
126
|
-
export declare function lockLatestCatalog(
|
|
130
|
+
export declare function lockLatestCatalog(db: KernelSchemaDb, conversationId: string): Promise<SkillsSnapshot | undefined>;
|
|
127
131
|
/**
|
|
128
132
|
* 运行开始时记录技能目录快照:解析生效的技能,与日志里最新一份不同才写(带幂等键,崩溃重试不重复)。
|
|
129
133
|
* 从没有快照、现在也没有技能 → 不写(没有技能的 agent 不出现目录);之前有、现在全没了 → 写空快照(模型据此得知被移除)。
|
|
@@ -137,13 +141,23 @@ export declare function lockLatestCatalog(t: Transaction<KernelDatabase>, conver
|
|
|
137
141
|
* whole thing starts over (at most {@link RECORD_ATTEMPTS} times, then `conflict`). A read failure
|
|
138
142
|
* throws `storage.unavailable` before anything is written. Writes only when `!sameSnapshot`.
|
|
139
143
|
*/
|
|
140
|
-
export declare
|
|
141
|
-
db
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
export declare class SkillsCatalogService {
|
|
145
|
+
private readonly db;
|
|
146
|
+
private readonly storage;
|
|
147
|
+
private readonly eventLog;
|
|
148
|
+
private readonly log;
|
|
149
|
+
readonly txHost: TransactionHost;
|
|
150
|
+
constructor(db: KernelDb, storage: StorageService, eventLog: EventLog, log: KernelLogger, txHost: TransactionHost);
|
|
151
|
+
/**
|
|
152
|
+
* Records the run start's snapshot (see the class comment). `opts.log`: the run's logger
|
|
153
|
+
* (default the kernel logger).
|
|
154
|
+
*/
|
|
155
|
+
record(input: EffectiveSkillsInput & {
|
|
156
|
+
runId: string;
|
|
157
|
+
}, opts?: {
|
|
158
|
+
log?: Pick<Logger, "warn" | "error">;
|
|
159
|
+
}): Promise<void>;
|
|
160
|
+
/** Step (2) of {@link record}: under the conversation row lock, resolve again and append. */
|
|
161
|
+
private append;
|
|
162
|
+
}
|
|
149
163
|
export {};
|
package/dist/skills/catalog.js
CHANGED
|
@@ -1,13 +1,30 @@
|
|
|
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
|
+
};
|
|
1
10
|
import { createHash } from "node:crypto";
|
|
2
11
|
import { parseSkillMd, SKILL_ENTRY_FILE, } from "@capybara-hq/plugin-sdk";
|
|
12
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
3
13
|
import { sql } from "kysely";
|
|
14
|
+
import { EventLog } from "../conversations/event-log.js";
|
|
4
15
|
import { SKILLS_CATALOG_MAX } from "../conversations/events.js";
|
|
5
16
|
import { ApiError } from "../errors.js";
|
|
17
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
18
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
19
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
20
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
6
21
|
import { CLAUDE_CODE_TOOL_MAP } from "../runtime/context/claude-tools.js";
|
|
7
22
|
import { sameSnapshot, } from "../runtime/context/skills.js";
|
|
23
|
+
import { StorageService } from "../storage/storage.service.js";
|
|
24
|
+
import { selectedSkills, skillFileStore } from "./usable.js";
|
|
8
25
|
/**
|
|
9
26
|
* 技能目录快照(M5 T14,Ruling M17):运行开始时解析「此刻对这个对话生效的技能」,与日志里最新一份快照不同才写
|
|
10
|
-
* `skills_catalog`。模型看到的目录与 `
|
|
27
|
+
* `skills_catalog`。模型看到的目录与 `Skill` 的名字解析只来自日志,不读实时的库。
|
|
11
28
|
*/
|
|
12
29
|
/**
|
|
13
30
|
* Pinned skill limits (spec §9.1): at most `count` pinned skills per agent, whose current SKILL.md
|
|
@@ -57,43 +74,18 @@ function forModel(all, input, log) {
|
|
|
57
74
|
* included and not truncated ({@link forModel} gives the model's part). Without
|
|
58
75
|
* `conversationId` (a conversation not created yet) no trial draft applies.
|
|
59
76
|
*/
|
|
60
|
-
export async function resolveSkills(db, input) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
.select([
|
|
69
|
-
"skills.id",
|
|
70
|
-
"skills.scope",
|
|
71
|
-
"skills.name",
|
|
72
|
-
"skills.current_version",
|
|
73
|
-
"skill_versions.manifest",
|
|
74
|
-
"skill_versions.object_prefix",
|
|
75
|
-
"skill_versions.source_format",
|
|
76
|
-
"catalog_items.name as item_name",
|
|
77
|
-
])
|
|
78
|
-
.where("skills.org_id", "=", input.orgId)
|
|
79
|
-
.where("skills.deleted_at", "is", null)
|
|
80
|
-
.where((eb) => {
|
|
81
|
-
const agentOwn = eb.and([
|
|
82
|
-
eb("skills.scope", "=", "agent"),
|
|
83
|
-
eb("skills.agent_id", "=", input.agentId),
|
|
84
|
-
]);
|
|
85
|
-
if (orgSkills.length === 0)
|
|
86
|
-
return agentOwn;
|
|
87
|
-
return eb.or([
|
|
88
|
-
agentOwn,
|
|
89
|
-
eb.and([eb("skills.scope", "=", "org"), eb("skills.id", "in", orgSkills)]),
|
|
90
|
-
]);
|
|
91
|
-
})
|
|
92
|
-
.execute();
|
|
77
|
+
export async function resolveSkills(db, input, log) {
|
|
78
|
+
// Phase 2 (Task 3): `orgSkills` ids may be org skills, org copies linked to a platform skill
|
|
79
|
+
// (served as its current version under the copy's id, ruling B2) or platform skill ids; only
|
|
80
|
+
// those usable in the org resolve (skills/usable.ts)
|
|
81
|
+
const rows = await selectedSkills(db, { orgId: input.orgId, agentId: input.agentId, orgSkills: input.agent.skills?.orgSkills ?? [] }, log);
|
|
82
|
+
// One skill per name: the agent's own, then an org skill or copy (an id the agent kept from
|
|
83
|
+
// before the platform component existed), then a platform skill id; ties by id
|
|
84
|
+
const rank = (r) => r.scope === "agent" ? 0 : r.platformSkillId === r.id ? 2 : 1;
|
|
93
85
|
const byName = new Map();
|
|
94
86
|
for (const r of rows) {
|
|
95
87
|
const prev = byName.get(r.name);
|
|
96
|
-
if (!prev || (
|
|
88
|
+
if (!prev || rank(r) < rank(prev))
|
|
97
89
|
byName.set(r.name, r);
|
|
98
90
|
}
|
|
99
91
|
const effective = new Map([...byName.values()].map((r) => [
|
|
@@ -102,12 +94,12 @@ export async function resolveSkills(db, input) {
|
|
|
102
94
|
skill: {
|
|
103
95
|
id: r.id,
|
|
104
96
|
name: r.name,
|
|
105
|
-
description: r.
|
|
106
|
-
version: r.
|
|
107
|
-
source: r.
|
|
108
|
-
...(r.
|
|
97
|
+
description: r.description,
|
|
98
|
+
version: r.version,
|
|
99
|
+
source: r.source,
|
|
100
|
+
...(r.plugin !== null && { plugin: r.plugin }),
|
|
109
101
|
},
|
|
110
|
-
format: r.
|
|
102
|
+
format: r.format,
|
|
111
103
|
manifest: r.manifest,
|
|
112
104
|
},
|
|
113
105
|
]));
|
|
@@ -182,7 +174,7 @@ const PINNED_UNREADABLE = "pinned_unreadable";
|
|
|
182
174
|
const PINNED_READ_ATTEMPTS = 2;
|
|
183
175
|
/**
|
|
184
176
|
* The `run_failed` message (shown to the user, English like the other run texts) for a
|
|
185
|
-
* `storage.unavailable` from {@link
|
|
177
|
+
* `storage.unavailable` from {@link SkillsCatalogService.record}: a pinned SKILL.md that is missing,
|
|
186
178
|
* corrupt or unparsable points at the agent's owner, since sending again cannot help; anything
|
|
187
179
|
* else is a transient storage failure.
|
|
188
180
|
*/
|
|
@@ -194,7 +186,8 @@ export function pinnedFailureText(e) {
|
|
|
194
186
|
return "File storage is temporarily unavailable, so this agent's pinned skills cannot be read; send the message again later.";
|
|
195
187
|
}
|
|
196
188
|
/**
|
|
197
|
-
* Reads each pinned skill's SKILL.md from `kernel/<orgId>/<source>SKILL.md
|
|
189
|
+
* Reads each pinned skill's SKILL.md from `kernel/<orgId>/<source>SKILL.md` (a platform version's
|
|
190
|
+
* `platform:<prefix>` from `deployment/<prefix>SKILL.md`), verifies it against
|
|
198
191
|
* the manifest's size and sha256 and returns the parsed body, in order. Every failure throws
|
|
199
192
|
* `storage.unavailable` (Decision 9: the run fails before any model request):
|
|
200
193
|
* - a read error is retried once ({@link PINNED_READ_ATTEMPTS}), then is transient (the user
|
|
@@ -208,9 +201,10 @@ export async function loadPinnedBodies(storage, orgId, pinned, opts = {}) {
|
|
|
208
201
|
if (pinned.length === 0)
|
|
209
202
|
return [];
|
|
210
203
|
storage.assertAvailable();
|
|
211
|
-
const store = storage.kernel(orgId);
|
|
212
204
|
const out = [];
|
|
213
205
|
for (const p of pinned) {
|
|
206
|
+
// a platform version (`platform:<prefix>`) is read from deployment/ (ruling D2)
|
|
207
|
+
const { store, prefix } = skillFileStore(storage, orgId, p.source);
|
|
214
208
|
const unreadable = (problem) => {
|
|
215
209
|
opts.log?.error("pinned skill unreadable", {
|
|
216
210
|
orgId,
|
|
@@ -230,7 +224,7 @@ export async function loadPinnedBodies(storage, orgId, pinned, opts = {}) {
|
|
|
230
224
|
for (let attempt = 1; bytes === null; attempt++) {
|
|
231
225
|
let got;
|
|
232
226
|
try {
|
|
233
|
-
got = await store.get(`${
|
|
227
|
+
got = await store.get(`${prefix}${SKILL_ENTRY_FILE}`, opts.signal && { signal: opts.signal });
|
|
234
228
|
if (got)
|
|
235
229
|
bytes = new Uint8Array(await new Response(got.body).arrayBuffer());
|
|
236
230
|
}
|
|
@@ -287,9 +281,9 @@ export function fitPinned(pinned, log, input) {
|
|
|
287
281
|
}
|
|
288
282
|
/** `skills_catalog` 的幂等键:每次运行最多写一份。 */
|
|
289
283
|
/**
|
|
290
|
-
* 是否给模型 `
|
|
284
|
+
* 是否给模型 `Skill`:日志里有过技能目录快照(Ruling M17),**即使最新一份是空的**。构建请求与执行工具调用
|
|
291
285
|
* 用同一判定。不因空快照收回这个工具:工具集合一变缓存前缀就失效;而且 agent 没有别的工具时会发出「没有工具
|
|
292
|
-
* 但历史里有 tool_use」的请求,Anthropic 会拒绝。空目录下调用
|
|
286
|
+
* 但历史里有 tool_use」的请求,Anthropic 会拒绝。空目录下调用 Skill 由 `NO_SKILLS_TEXT` 给出可执行的说明。
|
|
293
287
|
*/
|
|
294
288
|
export function skillLoadOffered(latest,
|
|
295
289
|
/**
|
|
@@ -318,17 +312,18 @@ export async function skillLoadOfferedIn(db, eventLog, conversationId) {
|
|
|
318
312
|
}
|
|
319
313
|
export const skillsCatalogIdemKey = (runId) => `skills_catalog:${runId}`;
|
|
320
314
|
/**
|
|
321
|
-
*
|
|
322
|
-
*
|
|
315
|
+
* 在调用方事务里锁会话行(与 `EventLog.append` 同一把锁)并读最新一份技能目录快照(没有为 undefined)。
|
|
316
|
+
* `db` is the caller's transaction handle (`KernelDb.db` inside `@Transactional`).
|
|
317
|
+
* 「读最新 → 推出下一份 → 追加」都在这把锁内,别的写快照的事务(运行开始、SkillWrite、拒绝时的回退)插不进来。
|
|
323
318
|
*/
|
|
324
|
-
export async function lockLatestCatalog(
|
|
325
|
-
await
|
|
319
|
+
export async function lockLatestCatalog(db, conversationId) {
|
|
320
|
+
await db
|
|
326
321
|
.selectFrom("conversations")
|
|
327
322
|
.select("id")
|
|
328
323
|
.where("id", "=", conversationId)
|
|
329
324
|
.forUpdate()
|
|
330
325
|
.executeTakeFirst();
|
|
331
|
-
const last = await
|
|
326
|
+
const last = await db
|
|
332
327
|
.selectFrom("conversation_events")
|
|
333
328
|
.select("payload")
|
|
334
329
|
.where("conversation_id", "=", conversationId)
|
|
@@ -353,53 +348,79 @@ const RECORD_ATTEMPTS = 3;
|
|
|
353
348
|
* whole thing starts over (at most {@link RECORD_ATTEMPTS} times, then `conflict`). A read failure
|
|
354
349
|
* throws `storage.unavailable` before anything is written. Writes only when `!sameSnapshot`.
|
|
355
350
|
*/
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
351
|
+
let SkillsCatalogService = class SkillsCatalogService {
|
|
352
|
+
db;
|
|
353
|
+
storage;
|
|
354
|
+
eventLog;
|
|
355
|
+
log;
|
|
356
|
+
txHost;
|
|
357
|
+
constructor(db, storage, eventLog, log, txHost) {
|
|
358
|
+
this.db = db;
|
|
359
|
+
this.storage = storage;
|
|
360
|
+
this.eventLog = eventLog;
|
|
361
|
+
this.log = log;
|
|
362
|
+
this.txHost = txHost;
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Records the run start's snapshot (see the class comment). `opts.log`: the run's logger
|
|
366
|
+
* (default the kernel logger).
|
|
367
|
+
*/
|
|
368
|
+
async record(input, opts = {}) {
|
|
369
|
+
const log = opts.log ?? this.log;
|
|
370
|
+
for (let attempt = 1; attempt <= RECORD_ATTEMPTS; attempt++) {
|
|
371
|
+
const all = await resolveSkills(this.db.db, input, attempt === 1 ? log : undefined);
|
|
372
|
+
// Warn about manual-only pins once, on the first attempt
|
|
373
|
+
const first = pinnedCandidates(forModel(all, input), input.agent, input, all, attempt === 1 ? log : undefined);
|
|
374
|
+
const pinned = fitPinned(await loadPinnedBodies(this.storage, input.orgId, first, { log }), log, input);
|
|
375
|
+
const toSeq = await this.append(input, first, pinned, log);
|
|
376
|
+
if (toSeq === "retry")
|
|
377
|
+
continue;
|
|
378
|
+
if (toSeq !== null)
|
|
379
|
+
await this.eventLog.notify(input.conversationId, toSeq);
|
|
380
|
+
return;
|
|
363
381
|
}
|
|
364
|
-
|
|
365
|
-
? await loadPinnedBodies(deps.storage, input.orgId, first, {
|
|
366
|
-
...(deps.log && { log: deps.log }),
|
|
367
|
-
})
|
|
368
|
-
: [], deps.log, input);
|
|
369
|
-
const toSeq = await deps.db.transaction().execute(async (t) => {
|
|
370
|
-
const last = await lockLatestCatalog(t, input.conversationId);
|
|
371
|
-
const all = await resolveSkills(t, input);
|
|
372
|
-
const resolved = forModel(all, input, deps.log);
|
|
373
|
-
if (!sameCandidates(first, pinnedCandidates(resolved, input.agent, input, all))) {
|
|
374
|
-
return "retry";
|
|
375
|
-
}
|
|
376
|
-
const skills = resolved.map((r) => r.skill);
|
|
377
|
-
const next = {
|
|
378
|
-
skills,
|
|
379
|
-
...(pinned.length > 0 && { pinned }),
|
|
380
|
-
// The model's (truncated) skills as before phase D, plus manual-only ones: a person can
|
|
381
|
-
// invoke one whose body names Claude tools (batch 1 review M8)
|
|
382
|
-
...([...resolved, ...all.filter((r) => !invocationOf(r.manifest).model)].some((r) => r.format === "claude-code") && {
|
|
383
|
-
toolMap: CLAUDE_CODE_TOOL_MAP,
|
|
384
|
-
}),
|
|
385
|
-
};
|
|
386
|
-
if (last ? sameSnapshot(last, next) : skills.length === 0)
|
|
387
|
-
return null;
|
|
388
|
-
const written = await deps.eventLog.append(input.conversationId, [
|
|
389
|
-
{
|
|
390
|
-
type: "skills_catalog",
|
|
391
|
-
runId: input.runId,
|
|
392
|
-
idemKey: skillsCatalogIdemKey(input.runId),
|
|
393
|
-
payload: next,
|
|
394
|
-
},
|
|
395
|
-
], t);
|
|
396
|
-
return Math.max(...written.map((e) => e.seq));
|
|
397
|
-
});
|
|
398
|
-
if (toSeq === "retry")
|
|
399
|
-
continue;
|
|
400
|
-
if (toSeq !== null)
|
|
401
|
-
await deps.eventLog.notify(input.conversationId, toSeq);
|
|
402
|
-
return;
|
|
382
|
+
throw new ApiError("conflict", "The pinned skills kept changing while the run started; send the message again.");
|
|
403
383
|
}
|
|
404
|
-
|
|
405
|
-
|
|
384
|
+
/** Step (2) of {@link record}: under the conversation row lock, resolve again and append. */
|
|
385
|
+
async append(input, first, pinned, log) {
|
|
386
|
+
const last = await lockLatestCatalog(this.db.db, input.conversationId);
|
|
387
|
+
const all = await resolveSkills(this.db.db, input);
|
|
388
|
+
const resolved = forModel(all, input, log);
|
|
389
|
+
if (!sameCandidates(first, pinnedCandidates(resolved, input.agent, input, all))) {
|
|
390
|
+
return "retry";
|
|
391
|
+
}
|
|
392
|
+
const skills = resolved.map((r) => r.skill);
|
|
393
|
+
const next = {
|
|
394
|
+
skills,
|
|
395
|
+
...(pinned.length > 0 && { pinned }),
|
|
396
|
+
// The model's (truncated) skills as before phase D, plus manual-only ones: a person can
|
|
397
|
+
// invoke one whose body names Claude tools (batch 1 review M8)
|
|
398
|
+
...([...resolved, ...all.filter((r) => !invocationOf(r.manifest).model)].some((r) => r.format === "claude-code") && {
|
|
399
|
+
toolMap: CLAUDE_CODE_TOOL_MAP,
|
|
400
|
+
}),
|
|
401
|
+
};
|
|
402
|
+
if (last ? sameSnapshot(last, next) : skills.length === 0)
|
|
403
|
+
return null;
|
|
404
|
+
const written = await this.eventLog.appendIn(input.conversationId, [
|
|
405
|
+
{
|
|
406
|
+
type: "skills_catalog",
|
|
407
|
+
runId: input.runId,
|
|
408
|
+
idemKey: skillsCatalogIdemKey(input.runId),
|
|
409
|
+
payload: next,
|
|
410
|
+
},
|
|
411
|
+
]);
|
|
412
|
+
return Math.max(...written.map((e) => e.seq));
|
|
413
|
+
}
|
|
414
|
+
};
|
|
415
|
+
__decorate([
|
|
416
|
+
Transactional()
|
|
417
|
+
], SkillsCatalogService.prototype, "append", null);
|
|
418
|
+
SkillsCatalogService = __decorate([
|
|
419
|
+
Injectable(),
|
|
420
|
+
__param(0, Inject(KernelDb)),
|
|
421
|
+
__param(1, Inject(StorageService)),
|
|
422
|
+
__param(2, Inject(EventLog)),
|
|
423
|
+
__param(3, Inject(KERNEL_LOGGER)),
|
|
424
|
+
__param(4, Inject(TransactionHost))
|
|
425
|
+
], SkillsCatalogService);
|
|
426
|
+
export { SkillsCatalogService };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import
|
|
2
|
+
import { AgentsService } from "../agents/agents.service.js";
|
|
3
3
|
import { type Principal } from "../identity/principal.js";
|
|
4
|
-
import
|
|
4
|
+
import { InboxService, type InboxView } from "../inbox/inbox.service.js";
|
|
5
5
|
import { type OrgContext } from "../orgs/org.guard.js";
|
|
6
|
-
import type
|
|
7
|
-
import type
|
|
6
|
+
import { type SkillChangeDetail, SkillChangesService, type SkillChangeView } from "./changes.service.js";
|
|
7
|
+
import { type SkillSummary, SkillsService } from "./skills.service.js";
|
|
8
8
|
declare const DecideBody: z.ZodObject<{
|
|
9
9
|
decision: z.ZodEnum<{
|
|
10
10
|
approve: "approve";
|
|
@@ -12,6 +12,9 @@ declare const DecideBody: z.ZodObject<{
|
|
|
12
12
|
}>;
|
|
13
13
|
note: z.ZodOptional<z.ZodString>;
|
|
14
14
|
}, z.core.$strict>;
|
|
15
|
+
declare const NoticeParamsSchema: z.ZodObject<{
|
|
16
|
+
id: z.ZodString;
|
|
17
|
+
}, z.core.$strip>;
|
|
15
18
|
/**
|
|
16
19
|
* 共享 agent 的技能变更申请(`/api/v1/orgs/:orgId/skill-changes`,M5 T15,R4)。动作 `approvals.decide`
|
|
17
20
|
* (访客起、仅限用户主体:agent / 服务令牌不能决定,R2);能否决定由服务按该 agent **当前的负责人**判定,
|
|
@@ -47,10 +50,14 @@ export declare class AgentSkillsController {
|
|
|
47
50
|
/**
|
|
48
51
|
* 收件箱(`GET /api/v1/orgs/:orgId/inbox`,计划取舍 C6:按类型汇总):当前用户待处理的工具审批与
|
|
49
52
|
* 能决定的技能变更,新的在前、最多 100 项(`truncated` 表示还有更多)。仅限用户主体。
|
|
53
|
+
* Org admins also see the org's open notices and dismiss them with
|
|
54
|
+
* `POST /api/v1/orgs/:orgId/inbox/notices/:id/dismiss`.
|
|
50
55
|
*/
|
|
51
56
|
export declare class InboxController {
|
|
52
57
|
private readonly inbox;
|
|
53
58
|
constructor(inbox: InboxService);
|
|
54
59
|
list(principal: Principal, org: OrgContext): Promise<InboxView>;
|
|
60
|
+
/** An org admin dismisses an org notice (`skill_renamed`) -> 204. */
|
|
61
|
+
dismissNotice(principal: Principal, org: OrgContext, params: z.infer<typeof NoticeParamsSchema>): Promise<void>;
|
|
55
62
|
}
|
|
56
63
|
export {};
|