@capybara-hq/kernel 0.1.0-rc.0 → 0.1.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +92 -8
- package/dist/admin/admin.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +57 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +232 -0
- package/dist/catalog/catalog-content.js +367 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +676 -0
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1124 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +141 -206
- package/dist/catalog/catalog.service.js +237 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +114 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +327 -0
- package/dist/catalog/component-scope.service.js +990 -0
- package/dist/catalog/component-state.d.ts +188 -0
- package/dist/catalog/component-state.js +455 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +431 -472
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +801 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +223 -0
- package/dist/catalog/platform-components.js +763 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +270 -68
- package/dist/catalog/plugin-import.js +1004 -277
- package/dist/catalog/plugin-install.d.ts +251 -65
- package/dist/catalog/plugin-install.js +1128 -344
- package/dist/catalog/plugin-package.js +14 -1
- package/dist/catalog/plugin-upgrade.d.ts +301 -188
- package/dist/catalog/plugin-upgrade.js +1256 -1068
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +118 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -201
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +51 -3
- package/dist/config/schema.js +269 -27
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -70
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/queue.js +3 -2
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +550 -25
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +136 -2
- package/dist/errors.js +136 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -123
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +136 -46
- package/dist/extensions/bootstrap.js +417 -167
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +91 -4
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +86 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +83 -52
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +130 -38
- package/dist/identity/accounts.js +373 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +78 -33
- package/dist/identity/me.schemas.d.ts +14 -0
- package/dist/identity/me.schemas.js +17 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +42 -23
- package/dist/identity/settings.js +137 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +25 -14
- package/dist/index.js +20 -9
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -241
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-config.d.ts +9 -0
- package/dist/log-config.js +27 -0
- package/dist/log-context.d.ts +34 -0
- package/dist/log-context.js +44 -0
- package/dist/log-loki.d.ts +34 -0
- package/dist/log-loki.js +145 -0
- package/dist/log.d.ts +53 -10
- package/dist/log.js +168 -18
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +7 -0
- package/dist/models/models.module.js +36 -0
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/net/public-address.js +3 -2
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +45 -14
- package/dist/orgs/settings.service.js +110 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +667 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +90 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +36 -0
- package/dist/platform/ops/admin.ops.js +389 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +853 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +16 -0
- package/dist/platform/ops/org-settings.ops.js +102 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +295 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +28 -0
- package/dist/platform/ops/platform.ops.js +204 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +39 -0
- package/dist/platform/platform-ops.module.js +122 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +63 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -136
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +43 -0
- package/dist/runtime/run-control.js +89 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -236
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +121 -83
- package/dist/runtime/usage-report.js +355 -180
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +142 -40
- package/dist/tools/builtins/sandbox/common.js +227 -65
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +30 -20
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +52 -45
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +15 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export { SEND_MESSAGE } from "../builtin-names.js";
|
|
3
|
+
/**
|
|
4
|
+
* The `SendMessage` builtin tool (agent map spec §4.2, §5.1, §5.2): moves text between the agents
|
|
5
|
+
* of one tree. An agent sends to one of its own sub-agents by agentId (a running one reads it at its
|
|
6
|
+
* next step, an idle one starts again with its earlier context), and a sub-agent to `"parent"`.
|
|
7
|
+
* The result says the message was delivered, never the target's reply. The tool pipeline handles
|
|
8
|
+
* the call itself (`SubagentMessages`), so {@link sendMessageTool}'s `run` is only a guard.
|
|
9
|
+
*/
|
|
10
|
+
/** The input of a `SendMessage` call. */
|
|
11
|
+
export const SendMessageInput = z
|
|
12
|
+
.object({
|
|
13
|
+
to: z.string().min(1).max(64),
|
|
14
|
+
message: z.string().min(1).max(100_000),
|
|
15
|
+
})
|
|
16
|
+
.strict();
|
|
17
|
+
/** The target a sub-agent uses for the agent that dispatched it. */
|
|
18
|
+
export const PARENT_TARGET = "parent";
|
|
19
|
+
const SPEC = {
|
|
20
|
+
name: "SendMessage",
|
|
21
|
+
description: "Send a message to another agent of this conversation. To reach one of your sub-agents, pass " +
|
|
22
|
+
"its agentId (from the Agent result) as to: a sub-agent that is working reads the message at " +
|
|
23
|
+
"its next step, and one that already finished starts working again with its earlier context. " +
|
|
24
|
+
'A sub-agent can pass "parent" as to, to send a note to the agent that dispatched it. This ' +
|
|
25
|
+
"tool only delivers the message and returns at once; it never waits for a reply. Replies, " +
|
|
26
|
+
"reports and finishes arrive later in this conversation as notifications. A sub-agent hands " +
|
|
27
|
+
"back its final report with SubagentHandback, not with this tool.",
|
|
28
|
+
inputSchema: {
|
|
29
|
+
type: "object",
|
|
30
|
+
properties: {
|
|
31
|
+
to: {
|
|
32
|
+
type: "string",
|
|
33
|
+
minLength: 1,
|
|
34
|
+
maxLength: 64,
|
|
35
|
+
description: 'The agentId of one of your sub-agents, or "parent" in a sub-agent.',
|
|
36
|
+
},
|
|
37
|
+
message: {
|
|
38
|
+
type: "string",
|
|
39
|
+
minLength: 1,
|
|
40
|
+
maxLength: 100000,
|
|
41
|
+
description: "The message. The receiving agent sees only this text, so include everything it needs.",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
required: ["to", "message"],
|
|
45
|
+
additionalProperties: false,
|
|
46
|
+
},
|
|
47
|
+
// display only (UI refresh B): who the message goes to; never sent to the model
|
|
48
|
+
keyArgs: ["to"],
|
|
49
|
+
};
|
|
50
|
+
/** `12345` → `12,345` (no locale data involved, so the text is the same on every replica). */
|
|
51
|
+
const count = (n) => String(Math.round(n)).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
52
|
+
/** How a target is listed in a refusal. */
|
|
53
|
+
const targetLine = (t) => `${t.id} (${JSON.stringify(t.description)})`;
|
|
54
|
+
/** Refusals: `isError` results written without delivering anything (model-visible). */
|
|
55
|
+
export const SEND_MESSAGE_REFUSALS = {
|
|
56
|
+
/**
|
|
57
|
+
* `to` is none of the caller's own sub-agents (nor `"parent"` in a sub-agent): lists the valid
|
|
58
|
+
* targets, at most the newest {@link SEND_TARGETS_LISTED} sub-agents.
|
|
59
|
+
*/
|
|
60
|
+
unknownTarget: (to, targets, opts) => {
|
|
61
|
+
const lines = [
|
|
62
|
+
...targets.map(targetLine),
|
|
63
|
+
...(opts.hasParent ? [`"${PARENT_TARGET}" (the agent that dispatched you)`] : []),
|
|
64
|
+
];
|
|
65
|
+
if (lines.length === 0) {
|
|
66
|
+
return `There is no agent "${to}" to send to: you have no sub-agents yet. Use Agent to dispatch one.`;
|
|
67
|
+
}
|
|
68
|
+
const more = opts.more > 0 ? `, and ${opts.more} older sub-agents` : "";
|
|
69
|
+
return `There is no agent "${to}" you can send to. Pass one of these as to: ${lines.join(", ")}${more}.`;
|
|
70
|
+
},
|
|
71
|
+
/** The sub-agent's type or org agent is no longer available to the caller (its gates). */
|
|
72
|
+
notAvailable: (id, type) => `Sub-agent ${id} can no longer receive messages: its agent type "${type}" is not available to you any more. Use Agent to dispatch another sub-agent instead.`,
|
|
73
|
+
/** The limits of a send that would start an idle sub-agent again (agent map spec §6). */
|
|
74
|
+
tooManyConcurrent: (n) => `At most ${n} of your sub-agents can run at once in this conversation, and this one has finished; send the message again after one of the running sub-agents finishes.`,
|
|
75
|
+
tooManyDispatches: (n) => `${n} sub-agents have been dispatched or restarted since the user's latest message, counted across all levels of sub-agents; that is the limit, so this finished sub-agent cannot start again. Do the remaining work yourself.`,
|
|
76
|
+
budget: (n) => `Sub-agents have used their token budget since the user's latest message (${count(n)} tokens, counted across all levels of sub-agents), so this finished sub-agent cannot start again. Do the remaining work yourself.`,
|
|
77
|
+
depthLimit: (maxDepth) => `Sub-agents can be nested at most ${maxDepth} levels deep and you are at the deepest level, so this finished sub-agent cannot start again. Do the remaining work yourself.`,
|
|
78
|
+
notAvailableHere: "Messages between agents are not available in this conversation.",
|
|
79
|
+
};
|
|
80
|
+
/** How many of the caller's sub-agents an unknown-target refusal lists (the newest). */
|
|
81
|
+
export const SEND_TARGETS_LISTED = 20;
|
|
82
|
+
/** The result of a message to a sub-agent whose run was active (agent map spec §5.1). */
|
|
83
|
+
export const sentToRunningText = (t) => `Message delivered to sub-agent ${targetLine(t)}, which is working; it reads the message at its next step. Its reply or report arrives later as a notification; keep working or end your turn.`;
|
|
84
|
+
/** The result of a message that started an idle sub-agent again (agent map spec §5.1, §6). */
|
|
85
|
+
export const sentToIdleText = (t) => `Message delivered to sub-agent ${targetLine(t)}, which had finished; it is working again with its earlier context. Its reply or report arrives later as a notification; keep working or end your turn.`;
|
|
86
|
+
/** The result of a sub-agent's note to its parent (agent map spec §5.2). */
|
|
87
|
+
export const SENT_TO_PARENT_TEXT = "Message delivered to the agent that dispatched you. Keep working; its reply, if any, arrives as a message in this conversation.";
|
|
88
|
+
/**
|
|
89
|
+
* The builtin. `defaultPolicy: "allow"` (agent map spec §4.2): it only moves text inside one tree
|
|
90
|
+
* the person already started. The tool pipeline handles `SendMessage` calls itself; `run` answers
|
|
91
|
+
* only when a call reaches it anyway.
|
|
92
|
+
*/
|
|
93
|
+
export const sendMessageTool = {
|
|
94
|
+
spec: SPEC,
|
|
95
|
+
defaultPolicy: "allow",
|
|
96
|
+
run: async () => ({
|
|
97
|
+
content: [{ type: "text", text: SEND_MESSAGE_REFUSALS.notAvailableHere }],
|
|
98
|
+
isError: true,
|
|
99
|
+
}),
|
|
100
|
+
};
|
|
@@ -1,34 +1,40 @@
|
|
|
1
1
|
import { type ObjectStore } from "@capybara-hq/plugin-sdk";
|
|
2
2
|
import type { EventLog } from "../../conversations/event-log.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { KernelSchemaDb, SkillManifest } from "../../db/kernel-schema.js";
|
|
4
4
|
import { type CatalogSkill } from "../../runtime/context/skills.js";
|
|
5
5
|
import type { BuiltinCallContext, BuiltinTool } from "../registry.js";
|
|
6
6
|
import { type SandboxToolDeps } from "./sandbox/common.js";
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* SKILL.md
|
|
10
|
-
*
|
|
8
|
+
* Builtin tool `Skill` (M5 T14, ruling M17): resolves the name against the latest skills catalog
|
|
9
|
+
* snapshot in the log to an id and version, and returns that version's SKILL.md body and file list
|
|
10
|
+
* (the result names the version). A skill with other files is copied whole into the conversation's
|
|
11
|
+
* environment at `<skills root>/<name>@<digest>/` (the instance's skills root, `/skills` by default; the provider writes as root, commands read only; the
|
|
12
|
+
* digest is {@link skillDigest} of the version's file manifest, so versions of one skill coexist in
|
|
13
|
+
* the shared file system). Without a sandbox provider only the body is given, with a note that
|
|
14
|
+
* scripts are unavailable.
|
|
11
15
|
*
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* - agent
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* 旧版本独有的文件留在原处、记进标记的 `stale`,每次加载都在结果里列出「不属于当前版本、忽略它们」。
|
|
16
|
+
* - Every file read from storage is checked against the manifest's sha256; a mismatch is refused.
|
|
17
|
+
* - The copy is recorded in a kernel-controlled marker, one per skill version
|
|
18
|
+
* ({@link skillMarkerPath}: `<skills root>/.capybara/<name>@<digest>.json`, commands cannot change it):
|
|
19
|
+
* `{ digest, files }`. A present marker with the same digest skips the copy.
|
|
20
|
+
* - An agent without any sandbox tool creates no sandbox and copies nothing (the model could not
|
|
21
|
+
* run the scripts), and is told so.
|
|
22
|
+
* - Executable bit: files the provider writes are never executable (0644). The result tells the model
|
|
23
|
+
* to run scripts with an interpreter (`sh` / `python3` / `node`).
|
|
21
24
|
*/
|
|
22
25
|
/**
|
|
23
|
-
*
|
|
26
|
+
* 已复制进沙箱的技能的标记目录(内核控制:技能根目录只有提供方以 root 能写;技能名不以 `.` 开头,不会撞名)。
|
|
27
|
+
* `skillsRoot`: the instance's skills root.
|
|
24
28
|
*/
|
|
25
|
-
export declare const
|
|
26
|
-
/**
|
|
27
|
-
export declare const
|
|
29
|
+
export declare const skillsMarkerDir: (skillsRoot?: string) => string;
|
|
30
|
+
/** {@link skillsMarkerDir} of an instance with the default roots. */
|
|
31
|
+
export declare const SKILLS_MARKER_DIR: string;
|
|
32
|
+
/** The marker file of one skill version. */
|
|
33
|
+
export declare const skillMarkerPath: (name: string, digest: string, skillsRoot?: string) => string;
|
|
28
34
|
/** 依赖:沙箱工具的依赖,加上读技能行用的库与读快照用的日志。 */
|
|
29
35
|
export interface SkillLoadDeps extends SandboxToolDeps {
|
|
30
|
-
db:
|
|
31
|
-
eventLog: Pick<EventLog, "append" | "latestOfType">;
|
|
36
|
+
db: KernelSchemaDb;
|
|
37
|
+
eventLog: Pick<EventLog, "append" | "latestOfType" | "latestFileState">;
|
|
32
38
|
}
|
|
33
39
|
/** A stored skill file is missing or does not match its manifest entry (size, sha256). */
|
|
34
40
|
export declare class SkillIntegrityError extends Error {
|
|
@@ -44,10 +50,15 @@ export declare function readSkillFile(store: ObjectStore, key: string, file: Ski
|
|
|
44
50
|
* 批准时草稿前缀原样成为版本前缀,版本号变了也能找到),再找本对话发起、仍待批准、前缀相同的技能改动(试用草稿:
|
|
45
51
|
* 没有 `skill_versions` 行,新技能连 `skills` 行都没有)。绝不按版本号解析——被拒绝的草稿与之后别人批准的同号版本
|
|
46
52
|
* 内容不同。都没有 → undefined(已移除)。
|
|
53
|
+
*
|
|
54
|
+
* Phase 2 (ruling D2): a `platform:<prefix>` source is a platform skill version: found by its
|
|
55
|
+
* prefix for the platform skill with the entry's id, or the platform skill an org copy with that id
|
|
56
|
+
* links to (ruling B2), while neither is deleted. The returned `object_prefix` keeps the
|
|
57
|
+
* `platform:` form; `skillFileStore` picks the store for it.
|
|
47
58
|
*/
|
|
48
|
-
export declare function findSkillVersion(db:
|
|
59
|
+
export declare function findSkillVersion(db: KernelSchemaDb, ctx: Pick<BuiltinCallContext, "orgId" | "conversationId">, entry: Pick<CatalogSkill, "id" | "source">): Promise<{
|
|
49
60
|
manifest: SkillManifest;
|
|
50
61
|
object_prefix: string;
|
|
51
62
|
} | undefined>;
|
|
52
|
-
/** 内置工具 `
|
|
63
|
+
/** 内置工具 `Skill`(见文件头)。 */
|
|
53
64
|
export declare function skillLoadTool(deps: SkillLoadDeps): BuiltinTool;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import { parseSkillMd, SKILL_ENTRY_FILE, SKILLS_SANDBOX_ROOT, skillSandboxPath, ToolError, } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { parseSkillMd, renderSkillBody, SKILL_ENTRY_FILE, SKILL_INVOCATION_LIMITS, SKILLS_SANDBOX_ROOT, skillDigest, skillSandboxDir, skillSandboxPath, ToolError, } from "@capybara-hq/plugin-sdk";
|
|
3
3
|
import { sql } from "kysely";
|
|
4
4
|
import { normalizeStoredDefinition } from "../../agents/definition.js";
|
|
5
5
|
import { ApiError } from "../../errors.js";
|
|
@@ -7,55 +7,67 @@ import { latestInvocation } from "../../runtime/context/skills.js";
|
|
|
7
7
|
import { dispatchOfChildRun } from "../../runtime/subagents/child.js";
|
|
8
8
|
import { resolveSkillForkType } from "../../runtime/subagents/roster.js";
|
|
9
9
|
import { invocationOf, resolveSkills } from "../../skills/catalog.js";
|
|
10
|
-
import {
|
|
11
|
-
import { SANDBOX_TOOL_NAMES } from "
|
|
10
|
+
import { PLATFORM_SOURCE, skillFileStore } from "../../skills/usable.js";
|
|
11
|
+
import { AGENT_TOOL, SANDBOX_TOOL_NAMES } from "../builtin-names.js";
|
|
12
|
+
import { clip, display, inSandbox, sandboxBaseTimeoutMs, sandboxConversationOf, sandboxUsable, withNotices, withPathLease, } from "./sandbox/common.js";
|
|
12
13
|
/**
|
|
13
|
-
*
|
|
14
|
-
* SKILL.md
|
|
15
|
-
*
|
|
14
|
+
* Builtin tool `Skill` (M5 T14, ruling M17): resolves the name against the latest skills catalog
|
|
15
|
+
* snapshot in the log to an id and version, and returns that version's SKILL.md body and file list
|
|
16
|
+
* (the result names the version). A skill with other files is copied whole into the conversation's
|
|
17
|
+
* environment at `<skills root>/<name>@<digest>/` (the instance's skills root, `/skills` by default; the provider writes as root, commands read only; the
|
|
18
|
+
* digest is {@link skillDigest} of the version's file manifest, so versions of one skill coexist in
|
|
19
|
+
* the shared file system). Without a sandbox provider only the body is given, with a note that
|
|
20
|
+
* scripts are unavailable.
|
|
16
21
|
*
|
|
17
|
-
* -
|
|
18
|
-
* -
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* - agent
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* 旧版本独有的文件留在原处、记进标记的 `stale`,每次加载都在结果里列出「不属于当前版本、忽略它们」。
|
|
22
|
+
* - Every file read from storage is checked against the manifest's sha256; a mismatch is refused.
|
|
23
|
+
* - The copy is recorded in a kernel-controlled marker, one per skill version
|
|
24
|
+
* ({@link skillMarkerPath}: `<skills root>/.capybara/<name>@<digest>.json`, commands cannot change it):
|
|
25
|
+
* `{ digest, files }`. A present marker with the same digest skips the copy.
|
|
26
|
+
* - An agent without any sandbox tool creates no sandbox and copies nothing (the model could not
|
|
27
|
+
* run the scripts), and is told so.
|
|
28
|
+
* - Executable bit: files the provider writes are never executable (0644). The result tells the model
|
|
29
|
+
* to run scripts with an interpreter (`sh` / `python3` / `node`).
|
|
26
30
|
*/
|
|
27
31
|
/**
|
|
28
|
-
*
|
|
32
|
+
* 已复制进沙箱的技能的标记目录(内核控制:技能根目录只有提供方以 root 能写;技能名不以 `.` 开头,不会撞名)。
|
|
33
|
+
* `skillsRoot`: the instance's skills root.
|
|
29
34
|
*/
|
|
30
|
-
export const
|
|
31
|
-
/**
|
|
32
|
-
export const
|
|
35
|
+
export const skillsMarkerDir = (skillsRoot = SKILLS_SANDBOX_ROOT) => `${skillsRoot}/.capybara`;
|
|
36
|
+
/** {@link skillsMarkerDir} of an instance with the default roots. */
|
|
37
|
+
export const SKILLS_MARKER_DIR = skillsMarkerDir();
|
|
38
|
+
/** The marker file of one skill version. */
|
|
39
|
+
export const skillMarkerPath = (name, digest, skillsRoot = SKILLS_SANDBOX_ROOT) => `${skillsMarkerDir(skillsRoot)}/${name}@${digest}.json`;
|
|
33
40
|
const MARKER_MAX_BYTES = 256 * 1024;
|
|
34
41
|
/** 结果里最多列出的文件数(其余只给数量)。 */
|
|
35
42
|
const MAX_LISTED_FILES = 200;
|
|
36
43
|
/** 「不在目录里」的错误里最多列出的技能名。 */
|
|
37
44
|
const MAX_LISTED_NAMES = 50;
|
|
38
45
|
const SPEC = {
|
|
39
|
-
name: "
|
|
46
|
+
name: "Skill",
|
|
40
47
|
// Display only (the tool row; not in the fingerprint, never sent to the model).
|
|
41
|
-
keyArgs: ["
|
|
48
|
+
keyArgs: ["skill"],
|
|
42
49
|
description: "Load a skill from the skills list: returns the skill's instructions " +
|
|
43
50
|
"(its SKILL.md) and the list of its files. Call it before starting a task that matches a " +
|
|
44
51
|
"skill's description, then follow the returned instructions. If the skill has scripts or other " +
|
|
45
|
-
"files, they are copied read-only to
|
|
46
|
-
"there with an interpreter (sh, python3, node). Call it again when the skills list changes
|
|
47
|
-
"
|
|
52
|
+
"files, they are copied read-only to <name>@<version-id>/ in the skills directory of this environment; run scripts " +
|
|
53
|
+
"there with an interpreter (sh, python3, node). Call it again when the skills list changes. Pass args when the task gives the skill arguments (they replace " +
|
|
54
|
+
"$ARGUMENTS and $1, $2… in the instructions). Do not use it for skills that are not in the list.",
|
|
48
55
|
inputSchema: {
|
|
49
56
|
type: "object",
|
|
50
57
|
properties: {
|
|
51
|
-
|
|
58
|
+
skill: {
|
|
52
59
|
type: "string",
|
|
53
60
|
minLength: 1,
|
|
54
61
|
maxLength: 64,
|
|
55
62
|
description: 'The skill name exactly as listed, e.g. "pdf-report".',
|
|
56
63
|
},
|
|
64
|
+
args: {
|
|
65
|
+
type: "string",
|
|
66
|
+
maxLength: SKILL_INVOCATION_LIMITS.argumentsMaxChars,
|
|
67
|
+
description: 'Optional arguments for the skill, e.g. "123 api".',
|
|
68
|
+
},
|
|
57
69
|
},
|
|
58
|
-
required: ["
|
|
70
|
+
required: ["skill"],
|
|
59
71
|
additionalProperties: false,
|
|
60
72
|
},
|
|
61
73
|
annotations: { readOnlyHint: true },
|
|
@@ -66,29 +78,27 @@ const STORAGE_UNAVAILABLE_TEXT = "File storage is temporarily unavailable, so th
|
|
|
66
78
|
const notInCatalog = (name, skills) => {
|
|
67
79
|
const names = skills.slice(0, MAX_LISTED_NAMES).map((s) => s.name);
|
|
68
80
|
const more = skills.length > names.length ? ", …" : "";
|
|
69
|
-
return `Skill "${clip(name, 80)}" is not in the skills catalog for this conversation; call
|
|
81
|
+
return `Skill "${clip(name, 80)}" is not in the skills catalog for this conversation; call Skill with one of the listed names: ${names.join(", ")}${more}.`;
|
|
70
82
|
};
|
|
71
83
|
const removedText = (name) => `Skill "${name}" was removed after the skills list was shown and can no longer be loaded; do the task without it, or ask the user to restore it.`;
|
|
72
84
|
/** Phase D spec §4.4: the line before a forked skill's instructions (model-visible, English). */
|
|
73
|
-
const forkAvailableText = (type) => `This skill is written to run in a sub-agent: call
|
|
85
|
+
const forkAvailableText = (type) => `This skill is written to run in a sub-agent: call Agent with subagent_type "${type}" and a prompt containing these instructions and the details of the task, then use its report; do not follow the instructions yourself.`;
|
|
74
86
|
const FORK_UNAVAILABLE_TEXT = "This skill is written to run in a sub-agent, which is not available here; follow the instructions yourself.";
|
|
75
87
|
const integrityText = (name) => `Skill "${name}" failed an integrity check (its stored files do not match the uploaded package); ask an administrator to upload the skill again.`;
|
|
76
|
-
|
|
77
|
-
/** 解析一个技能的标记文件;坏的按没有处理(重新复制)。 */
|
|
88
|
+
/** Parses a version's marker; a broken one counts as missing (the version is copied again). */
|
|
78
89
|
function parseMarker(data) {
|
|
79
90
|
try {
|
|
80
91
|
const r = JSON.parse(new TextDecoder().decode(data));
|
|
81
92
|
if (r === null || typeof r !== "object" || Array.isArray(r))
|
|
82
93
|
return undefined;
|
|
83
94
|
const e = r;
|
|
84
|
-
if (typeof e.
|
|
95
|
+
if (typeof e.digest !== "string")
|
|
85
96
|
return undefined;
|
|
86
97
|
return {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
stale: strings(e.stale),
|
|
98
|
+
digest: e.digest,
|
|
99
|
+
files: Array.isArray(e.files)
|
|
100
|
+
? e.files.filter((x) => typeof x === "string")
|
|
101
|
+
: [],
|
|
92
102
|
};
|
|
93
103
|
}
|
|
94
104
|
catch {
|
|
@@ -150,34 +160,25 @@ async function readVerified(store, key, file, skill, signal) {
|
|
|
150
160
|
}
|
|
151
161
|
}
|
|
152
162
|
/**
|
|
153
|
-
*
|
|
154
|
-
*
|
|
163
|
+
* Copies the skill version whole to `<skills root>/<name>@<digest>/` (skipped when its marker matches).
|
|
164
|
+
* Every file is checked against the manifest before it is written; the marker is written last, so
|
|
165
|
+
* a failure midway means the next call starts over.
|
|
155
166
|
*/
|
|
156
167
|
async function copySkill(s, v) {
|
|
157
|
-
const { name
|
|
158
|
-
const markerPath = skillMarkerPath(name);
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
cur = parseMarker(m.data);
|
|
164
|
-
}
|
|
165
|
-
if (cur && cur.id === id && cur.version === version && cur.prefix === v.prefix) {
|
|
166
|
-
return { stale: cur.stale };
|
|
167
|
-
}
|
|
168
|
+
const { name } = v.entry;
|
|
169
|
+
const markerPath = skillMarkerPath(name, v.digest, s.roots.skills);
|
|
170
|
+
const m = await s.p.readFile(s.h, markerPath, { maxBytes: MARKER_MAX_BYTES, signal: s.signal });
|
|
171
|
+
const cur = m && !m.truncated ? parseMarker(m.data) : undefined;
|
|
172
|
+
if (cur?.digest === v.digest)
|
|
173
|
+
return;
|
|
168
174
|
for (const f of v.manifest.files) {
|
|
169
175
|
const data = f.path === SKILL_ENTRY_FILE
|
|
170
176
|
? v.entryBytes
|
|
171
|
-
: await readVerified(v.store, `${v.
|
|
172
|
-
await s.p.writeFile(s.h, skillSandboxPath(name, f.path), data, s.signal);
|
|
177
|
+
: await readVerified(v.store, `${v.keyPrefix}${f.path}`, f, name, s.signal);
|
|
178
|
+
await s.p.writeFile(s.h, skillSandboxPath(name, v.digest, f.path, s.roots.skills), data, s.signal);
|
|
173
179
|
}
|
|
174
|
-
const
|
|
175
|
-
const now = new Set(files);
|
|
176
|
-
const stale = cur ? [...new Set([...cur.stale, ...cur.files])].filter((p) => !now.has(p)) : [];
|
|
177
|
-
stale.sort();
|
|
178
|
-
const entry = { id, version, prefix: v.prefix, files, stale };
|
|
180
|
+
const entry = { digest: v.digest, files: v.manifest.files.map((f) => f.path) };
|
|
179
181
|
await s.p.writeFile(s.h, markerPath, new TextEncoder().encode(JSON.stringify(entry)), s.signal);
|
|
180
|
-
return { stale };
|
|
181
182
|
}
|
|
182
183
|
/** 本步可用的工具里是否有沙箱工具(没有时模型用不了复制进去的文件)。 */
|
|
183
184
|
const hasSandboxTools = (ctx) => (ctx.tools ?? []).some((t) => t.source.kind === "builtin" &&
|
|
@@ -194,8 +195,15 @@ function fileList(files) {
|
|
|
194
195
|
* 批准时草稿前缀原样成为版本前缀,版本号变了也能找到),再找本对话发起、仍待批准、前缀相同的技能改动(试用草稿:
|
|
195
196
|
* 没有 `skill_versions` 行,新技能连 `skills` 行都没有)。绝不按版本号解析——被拒绝的草稿与之后别人批准的同号版本
|
|
196
197
|
* 内容不同。都没有 → undefined(已移除)。
|
|
198
|
+
*
|
|
199
|
+
* Phase 2 (ruling D2): a `platform:<prefix>` source is a platform skill version: found by its
|
|
200
|
+
* prefix for the platform skill with the entry's id, or the platform skill an org copy with that id
|
|
201
|
+
* links to (ruling B2), while neither is deleted. The returned `object_prefix` keeps the
|
|
202
|
+
* `platform:` form; `skillFileStore` picks the store for it.
|
|
197
203
|
*/
|
|
198
204
|
export async function findSkillVersion(db, ctx, entry) {
|
|
205
|
+
if (entry.source.startsWith(PLATFORM_SOURCE))
|
|
206
|
+
return findPlatformVersion(db, ctx.orgId, entry);
|
|
199
207
|
const row = await db
|
|
200
208
|
.selectFrom("skills")
|
|
201
209
|
.innerJoin("skill_versions", "skill_versions.skill_id", "skills.id")
|
|
@@ -219,6 +227,29 @@ export async function findSkillVersion(db, ctx, entry) {
|
|
|
219
227
|
return undefined;
|
|
220
228
|
return { manifest: draft.proposed_version.manifest, object_prefix: draft.object_prefix };
|
|
221
229
|
}
|
|
230
|
+
/** {@link findSkillVersion} for a `platform:<prefix>` source. */
|
|
231
|
+
async function findPlatformVersion(db, orgId, entry) {
|
|
232
|
+
const row = await db
|
|
233
|
+
.selectFrom("platform_skill_versions as v")
|
|
234
|
+
.innerJoin("platform_skills as p", "p.id", "v.skill_id")
|
|
235
|
+
.select(["v.manifest"])
|
|
236
|
+
.where("v.object_prefix", "=", entry.source.slice(PLATFORM_SOURCE.length))
|
|
237
|
+
.where("p.deleted_at", "is", null)
|
|
238
|
+
// a platform skill disabled on the deployment is not loaded, even from an older snapshot
|
|
239
|
+
.where("p.disabled", "=", false)
|
|
240
|
+
.where((eb) => eb.or([
|
|
241
|
+
eb("p.id", "=", entry.id),
|
|
242
|
+
eb("p.id", "in", eb
|
|
243
|
+
.selectFrom("skills")
|
|
244
|
+
.select("platform_skill_id")
|
|
245
|
+
.where("id", "=", entry.id)
|
|
246
|
+
.where("org_id", "=", orgId)
|
|
247
|
+
.where("deleted_at", "is", null)
|
|
248
|
+
.where("platform_skill_id", "is not", null)),
|
|
249
|
+
]))
|
|
250
|
+
.executeTakeFirst();
|
|
251
|
+
return row && { manifest: row.manifest, object_prefix: entry.source };
|
|
252
|
+
}
|
|
222
253
|
/** A Claude Code style qualified name `<plugin>:<skill>` (phase B, spec §9.3). */
|
|
223
254
|
const QUALIFIED_NAME_RE = /^([a-z0-9][a-z0-9-]{0,63}):(.+)$/;
|
|
224
255
|
/**
|
|
@@ -333,11 +364,11 @@ async function invokedEntry(db, ctx, name) {
|
|
|
333
364
|
};
|
|
334
365
|
}
|
|
335
366
|
/**
|
|
336
|
-
* The line before a forked skill's instructions (spec §4.4): run it through `
|
|
367
|
+
* The line before a forked skill's instructions (spec §4.4): run it through `Agent` when this step
|
|
337
368
|
* offers the tool and the skill's type is in the agent's roster, else follow it yourself.
|
|
338
369
|
*/
|
|
339
370
|
async function forkLine(db, ctx, fork, plugin) {
|
|
340
|
-
const hasAgent = (ctx.tools ?? []).some((t) => t.source.kind === "builtin" && t.source.name ===
|
|
371
|
+
const hasAgent = (ctx.tools ?? []).some((t) => t.source.kind === "builtin" && t.source.name === AGENT_TOOL);
|
|
341
372
|
if (!hasAgent)
|
|
342
373
|
return FORK_UNAVAILABLE_TEXT;
|
|
343
374
|
const agent = await runAgent(db, ctx);
|
|
@@ -346,15 +377,15 @@ async function forkLine(db, ctx, fork, plugin) {
|
|
|
346
377
|
const type = await resolveSkillForkType(db, ctx.orgId, agent.definition, fork.agent, plugin);
|
|
347
378
|
return type.inRoster ? forkAvailableText(type.agentType) : FORK_UNAVAILABLE_TEXT;
|
|
348
379
|
}
|
|
349
|
-
/** 内置工具 `
|
|
380
|
+
/** 内置工具 `Skill`(见文件头)。 */
|
|
350
381
|
export function skillLoadTool(deps) {
|
|
351
382
|
return {
|
|
352
383
|
spec: SPEC,
|
|
353
384
|
defaultPolicy: "allow",
|
|
354
385
|
// 可能要创建 / 恢复沙箱并复制文件:与沙箱工具同一时限
|
|
355
|
-
timeoutMs: () => sandboxBaseTimeoutMs(deps.config()),
|
|
386
|
+
timeoutMs: () => sandboxBaseTimeoutMs(deps.config.get()),
|
|
356
387
|
async run(input, ctx) {
|
|
357
|
-
const asked = input
|
|
388
|
+
const { skill: asked, args } = input;
|
|
358
389
|
const snap = await deps.eventLog.latestOfType(ctx.conversationId, "skills_catalog");
|
|
359
390
|
const skills = snap?.payload.skills ?? [];
|
|
360
391
|
let entry = findEntry(skills, asked);
|
|
@@ -379,13 +410,23 @@ export function skillLoadTool(deps) {
|
|
|
379
410
|
if (!row)
|
|
380
411
|
throw new ToolError(removedText(name));
|
|
381
412
|
const manifest = row.manifest;
|
|
382
|
-
|
|
413
|
+
// the marker records the source (`platform:` included); keys use the store's own prefix
|
|
383
414
|
const prefix = row.object_prefix;
|
|
415
|
+
const { store, prefix: keyPrefix } = skillFileStore(deps.storage, ctx.orgId, prefix);
|
|
384
416
|
const md = manifest.files.find((f) => f.path === SKILL_ENTRY_FILE);
|
|
385
417
|
if (!md)
|
|
386
418
|
throw new ToolError(integrityText(name));
|
|
387
|
-
const mdBytes = await readVerified(store, `${
|
|
388
|
-
const
|
|
419
|
+
const mdBytes = await readVerified(store, `${keyPrefix}${md.path}`, md, name, ctx.signal);
|
|
420
|
+
const digest = skillDigest(manifest.files);
|
|
421
|
+
const v = {
|
|
422
|
+
entry,
|
|
423
|
+
manifest,
|
|
424
|
+
digest,
|
|
425
|
+
prefix,
|
|
426
|
+
keyPrefix,
|
|
427
|
+
store,
|
|
428
|
+
entryBytes: mdBytes,
|
|
429
|
+
};
|
|
389
430
|
let parsed;
|
|
390
431
|
try {
|
|
391
432
|
parsed = parseSkillMd(new TextDecoder("utf-8", { fatal: true }).decode(mdBytes), {
|
|
@@ -397,14 +438,15 @@ export function skillLoadTool(deps) {
|
|
|
397
438
|
}
|
|
398
439
|
if ("errors" in parsed)
|
|
399
440
|
throw new ToolError(integrityText(name));
|
|
400
|
-
|
|
441
|
+
// the skills root of the instance the files were copied to (the default without a copy)
|
|
442
|
+
let skillsRoot = SKILLS_SANDBOX_ROOT;
|
|
401
443
|
const others = manifest.files.filter((f) => f.path !== SKILL_ENTRY_FILE);
|
|
402
444
|
let notices = [];
|
|
403
445
|
let filesText;
|
|
404
446
|
if (others.length === 0) {
|
|
405
447
|
filesText = "This skill has no files besides its instructions.";
|
|
406
448
|
}
|
|
407
|
-
else if (!deps.
|
|
449
|
+
else if (!(await sandboxUsable(deps, ctx.orgId, sandboxConversationOf(ctx)))) {
|
|
408
450
|
filesText =
|
|
409
451
|
`Skill files (for reference):\n${fileList(manifest.files)}\n` +
|
|
410
452
|
"This deployment has no sandbox, so the skill's scripts and other files are not available; " +
|
|
@@ -419,23 +461,32 @@ export function skillLoadTool(deps) {
|
|
|
419
461
|
}
|
|
420
462
|
else {
|
|
421
463
|
// the skill's marker is read, compared and written: one holder at a time per skill
|
|
422
|
-
const r = await inSandbox(deps, ctx, (s) => withPathLease(deps,
|
|
464
|
+
const r = await inSandbox(deps, ctx, (s) => withPathLease(deps, s, skillMarkerPath(name, digest, s.roots.skills), s.signal, (signal) => copySkill({ ...s, signal }, v).then(() => s.roots)));
|
|
423
465
|
notices = r.notices;
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
: "";
|
|
466
|
+
skillsRoot = r.value.skills;
|
|
467
|
+
const dir = `${skillSandboxDir(name, digest, skillsRoot)}/`;
|
|
427
468
|
filesText =
|
|
428
469
|
`Skill files (copied to ${dir} in the sandbox, read-only):\n${fileList(manifest.files)}\n` +
|
|
429
470
|
`Run scripts with an interpreter, e.g. \`sh ${dir}<script>.sh\`, \`python3 ${dir}<script>.py\` ` +
|
|
430
471
|
"or `node`; the files are not executable, so `./script` does not work. Write outputs under " +
|
|
431
|
-
|
|
472
|
+
`${r.value.workspace}, not ${skillsRoot}.`;
|
|
473
|
+
}
|
|
474
|
+
const invocation = invocationOf(manifest);
|
|
475
|
+
const fork = invocation.fork;
|
|
476
|
+
let instructions;
|
|
477
|
+
try {
|
|
478
|
+
instructions = renderSkillBody(parsed.body.trim(), invocation, args ?? "", name, digest, skillsRoot);
|
|
479
|
+
}
|
|
480
|
+
catch (e) {
|
|
481
|
+
if (!(e instanceof RangeError))
|
|
482
|
+
throw e;
|
|
483
|
+
throw new ToolError(`Skill "${name}" cannot be rendered: ${e.message}; check the args against the skill's placeholders and retry with shorter args.`);
|
|
432
484
|
}
|
|
433
|
-
const fork = invocationOf(manifest).fork;
|
|
434
485
|
const text = [
|
|
435
486
|
...(fork ? [await forkLine(deps.db, ctx, fork, entry.plugin)] : []),
|
|
436
487
|
`Loaded skill "${name}" (version ${entry.version}).`,
|
|
437
488
|
filesText,
|
|
438
|
-
`<skill name="${name}" version="${entry.version}">\n${
|
|
489
|
+
`<skill name="${name}" version="${entry.version}">\n${instructions}\n</skill>`,
|
|
439
490
|
].join("\n\n");
|
|
440
491
|
return {
|
|
441
492
|
content: [{ type: "text", text: withNotices(notices, text) }],
|
|
@@ -2,7 +2,7 @@ import type { SkillManifest } from "../../db/kernel-schema.js";
|
|
|
2
2
|
import type { SkillChangesService } from "../../skills/changes.service.js";
|
|
3
3
|
import type { BuiltinTool } from "../registry.js";
|
|
4
4
|
/**
|
|
5
|
-
* 内置工具 `
|
|
5
|
+
* 内置工具 `SkillWrite`(M5 T15,R4):agent 新建或更新它自己的技能(`scope = agent`)。
|
|
6
6
|
* - 输入 `{ name, description, files: [{ path, content }] }`,只收文本文件,整个技能 ≤ {@link SKILL_WRITE_MAX_BYTES};
|
|
7
7
|
* - the kernel generates SKILL.md ({@link buildSkillWrite}): its frontmatter is `name` / `description`
|
|
8
8
|
* plus the invocation keys (`disable-model-invocation`, `context`, ... phase D) of the frontmatter
|
|
@@ -11,13 +11,13 @@ import type { BuiltinTool } from "../registry.js";
|
|
|
11
11
|
* - 每次调用写一个完整的新版本(上一版有、这次没给的文件不再属于新版本);
|
|
12
12
|
* - 私有 agent 直接生成新版本并立即生效;共享 agent 由触发对话的人先确认这次调用(R3 固定 ask,见 tools/policy.ts),
|
|
13
13
|
* 再生成变更申请等负责人批准,期间只有本对话试用新版本(见 skills/changes.service.ts);
|
|
14
|
-
* - 成功后立即在日志追加技能目录快照(`skills_catalog`,Ruling M17),同一运行的下一步就能 `
|
|
14
|
+
* - 成功后立即在日志追加技能目录快照(`skills_catalog`,Ruling M17),同一运行的下一步就能 `Skill`。
|
|
15
15
|
*/
|
|
16
16
|
/** 一个技能(含合成的 SKILL.md)的总大小上限(UTF-8 字节)。 */
|
|
17
17
|
export declare const SKILL_WRITE_MAX_BYTES: number;
|
|
18
18
|
/** 一次最多的文件数(含 SKILL.md)。 */
|
|
19
19
|
export declare const SKILL_WRITE_MAX_FILES = 200;
|
|
20
|
-
/** `
|
|
20
|
+
/** `SkillWrite` 的输入(已按 inputSchema 校验)。 */
|
|
21
21
|
export interface SkillWriteInput {
|
|
22
22
|
name: string;
|
|
23
23
|
description: string;
|
|
@@ -55,5 +55,5 @@ export declare function buildSkillWrite(input: SkillWriteInput): BuiltSkill | {
|
|
|
55
55
|
export interface SkillWriteDeps {
|
|
56
56
|
changes: Pick<SkillChangesService, "write">;
|
|
57
57
|
}
|
|
58
|
-
/** 内置工具 `
|
|
58
|
+
/** 内置工具 `SkillWrite`(见文件头)。 */
|
|
59
59
|
export declare function skillWriteTool(deps: SkillWriteDeps): BuiltinTool;
|