@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,53 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export { SUBAGENT_HANDBACK } from "../builtin-names.js";
|
|
3
|
+
/**
|
|
4
|
+
* The `SubagentHandback` builtin tool (agent map spec §4.3, children only): delivers a report to
|
|
5
|
+
* the agent that dispatched the sub-agent, as a `report` `subagent_delivery` in the parent's log.
|
|
6
|
+
* The sub-agent keeps its turn and may go on working; several handbacks are allowed. A run that
|
|
7
|
+
* handed back and then completes delivers nothing more (it only logs `subagent_finished`); one that
|
|
8
|
+
* ends otherwise (failed, stopped, a limit) is delivered as a one-line status. The tool pipeline handles the call itself
|
|
9
|
+
* (`SubagentMessages`), so {@link handbackTool}'s `run` is only a guard.
|
|
10
|
+
*/
|
|
11
|
+
/** The input of a `SubagentHandback` call. */
|
|
12
|
+
export const HandbackInput = z.object({ message: z.string().min(1).max(200_000) }).strict();
|
|
13
|
+
const SPEC = {
|
|
14
|
+
name: "SubagentHandback",
|
|
15
|
+
description: "Hand your report back to the agent that dispatched you. It receives the message as your " +
|
|
16
|
+
"report, so include everything it needs: what you did, what you found, and anything left " +
|
|
17
|
+
"open. You keep your turn after this call: go on working if something remains, then end your " +
|
|
18
|
+
"turn. You can hand back more than once, for example a partial report and then the final " +
|
|
19
|
+
"one. Once you handed back, your final reply is not delivered again. For a short note while " +
|
|
20
|
+
'you work, use SendMessage with to "parent" instead.',
|
|
21
|
+
inputSchema: {
|
|
22
|
+
type: "object",
|
|
23
|
+
properties: {
|
|
24
|
+
message: {
|
|
25
|
+
type: "string",
|
|
26
|
+
minLength: 1,
|
|
27
|
+
maxLength: 200000,
|
|
28
|
+
description: "Your report for the agent that dispatched you.",
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
required: ["message"],
|
|
32
|
+
additionalProperties: false,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
/** The result of a handback (agent map spec §4.3). */
|
|
36
|
+
export const HANDBACK_RESULT_TEXT = "Report delivered to your caller.";
|
|
37
|
+
/** A call outside a sub-agent (the tool is never offered there). */
|
|
38
|
+
export const HANDBACK_NOT_A_CHILD_TEXT = "Only sub-agents can hand back a report; reply in this conversation instead.";
|
|
39
|
+
/** A fork invocation's child (phase D): its parent reads its final reply as the report. */
|
|
40
|
+
export const HANDBACK_FORK_TEXT = "You run a skill for the agent that dispatched you, which reads your final reply as the report; end your turn with the report instead.";
|
|
41
|
+
/**
|
|
42
|
+
* The builtin. `defaultPolicy: "allow"`: it only moves text inside one tree the person already
|
|
43
|
+
* started. The tool pipeline handles `SubagentHandback` calls itself; `run` answers only when a
|
|
44
|
+
* call reaches it anyway.
|
|
45
|
+
*/
|
|
46
|
+
export const handbackTool = {
|
|
47
|
+
spec: SPEC,
|
|
48
|
+
defaultPolicy: "allow",
|
|
49
|
+
run: async () => ({
|
|
50
|
+
content: [{ type: "text", text: HANDBACK_NOT_A_CHILD_TEXT }],
|
|
51
|
+
isError: true,
|
|
52
|
+
}),
|
|
53
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { KernelLogger } from "../../log.js";
|
|
2
|
+
import type { OrgSettings } from "../../orgs/settings.service.js";
|
|
3
|
+
import type { ActorFacts } from "../../platform/actor.js";
|
|
4
|
+
import type { AgentDocTopic } from "../../platform/agent-docs.js";
|
|
5
|
+
import { type PlatformOperation } from "../../platform/operation.js";
|
|
6
|
+
import type { PlatformOperations } from "../../platform/registry.js";
|
|
7
|
+
import type { BuiltinTool, CallPolicyContext } from "../registry.js";
|
|
8
|
+
/**
|
|
9
|
+
* The `Platform` builtin (Platform tool spec §3–§6): one tool through which an agent discovers and
|
|
10
|
+
* calls the platform's own operations as the run's trigger account, and reads the agent docs.
|
|
11
|
+
* - `browse` / `search` / `describe` / `read` only read; their policy is the tool's `allow`.
|
|
12
|
+
* - `call` gets a per-call policy key `Platform:<operation>` ({@link BuiltinTool.callPolicy}): a
|
|
13
|
+
* read runs, a write asks (remembered only for `personal`), an operation that cannot run now is
|
|
14
|
+
* denied with its reason, and so is a write whose `precheck` knows it would fail (spec §14.2
|
|
15
|
+
* item 2: no card). The policy is derived again when an approved call resumes, so a precheck
|
|
16
|
+
* that fails by then returns its error and nothing runs. Right before `op.run` the availability
|
|
17
|
+
* is checked again on fresh facts (the actor may have lost the role while the confirmation
|
|
18
|
+
* waited).
|
|
19
|
+
* - An `ApiError` gets the next step the operation declares for its code and the actor's role.
|
|
20
|
+
* - The actor, the agent and the conversation come from the runtime context, never from input.
|
|
21
|
+
* - Results are JSON text; a list an operation returns is capped at {@link LIST_MAX} entries.
|
|
22
|
+
*/
|
|
23
|
+
/** The most entries of a list in one result (operations that page return `next`). */
|
|
24
|
+
export declare const LIST_MAX = 50;
|
|
25
|
+
/** The tool's `unavailable` reason when the org setting `platformTool` is `off` (spec §3). */
|
|
26
|
+
export declare const PLATFORM_UNAVAILABLE_OFF = "The org turned the Platform tool off; ask an org admin to turn it on.";
|
|
27
|
+
/** What the tool needs; `BuiltinTools` passes the Nest providers. */
|
|
28
|
+
export interface PlatformToolDeps {
|
|
29
|
+
ops: Pick<PlatformOperations, "domains" | "inDomain" | "get" | "search">;
|
|
30
|
+
actor: {
|
|
31
|
+
facts(ctx: CallPolicyContext): Promise<ActorFacts>;
|
|
32
|
+
};
|
|
33
|
+
docs: {
|
|
34
|
+
topics(): AgentDocTopic[];
|
|
35
|
+
read(id: string): string | null;
|
|
36
|
+
};
|
|
37
|
+
/** The org setting `platformTool`. */
|
|
38
|
+
setting(orgId: string): Promise<OrgSettings["platformTool"]>;
|
|
39
|
+
/** How long a precheck may take; default {@link PRECHECK_TIMEOUT_MS} (a test seam). */
|
|
40
|
+
precheckTimeoutMs?: number;
|
|
41
|
+
/** A precheck that throws is logged (warn) and one that times out (debug), with the op id. */
|
|
42
|
+
log?: Pick<KernelLogger, "warn"> & Partial<Pick<KernelLogger, "debug">>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* An operation's input keys as `browse` and `search` show them, so a call needs no guess:
|
|
46
|
+
* `"itemId"`, `"agentId, updatedAt, avatar?, quickActions?"` (`?` = optional), `""` when it takes
|
|
47
|
+
* none. A union input lists the keys of every branch; a key is required when every branch requires
|
|
48
|
+
* it. Types, bounds and an example stay in `describe`.
|
|
49
|
+
*/
|
|
50
|
+
export declare function paramsLine(op: PlatformOperation): string;
|
|
51
|
+
export declare function platformTool(deps: PlatformToolDeps): BuiltinTool;
|
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
import { ToolError } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { availability } from "../../platform/availability.js";
|
|
4
|
+
import { errorRoleOf, errorsFor, nextStepFor, OPERATION_ERROR_NEXT, resolveNext, sentence, toToolError, } from "../../platform/errors.js";
|
|
5
|
+
import { PLATFORM_METHOD } from "../../platform/method.js";
|
|
6
|
+
import { OPERATION_ID, operationDomain, PRECHECK_TIMEOUT_MS, } from "../../platform/operation.js";
|
|
7
|
+
import { BUILTIN } from "../builtin-names.js";
|
|
8
|
+
/**
|
|
9
|
+
* The `Platform` builtin (Platform tool spec §3–§6): one tool through which an agent discovers and
|
|
10
|
+
* calls the platform's own operations as the run's trigger account, and reads the agent docs.
|
|
11
|
+
* - `browse` / `search` / `describe` / `read` only read; their policy is the tool's `allow`.
|
|
12
|
+
* - `call` gets a per-call policy key `Platform:<operation>` ({@link BuiltinTool.callPolicy}): a
|
|
13
|
+
* read runs, a write asks (remembered only for `personal`), an operation that cannot run now is
|
|
14
|
+
* denied with its reason, and so is a write whose `precheck` knows it would fail (spec §14.2
|
|
15
|
+
* item 2: no card). The policy is derived again when an approved call resumes, so a precheck
|
|
16
|
+
* that fails by then returns its error and nothing runs. Right before `op.run` the availability
|
|
17
|
+
* is checked again on fresh facts (the actor may have lost the role while the confirmation
|
|
18
|
+
* waited).
|
|
19
|
+
* - An `ApiError` gets the next step the operation declares for its code and the actor's role.
|
|
20
|
+
* - The actor, the agent and the conversation come from the runtime context, never from input.
|
|
21
|
+
* - Results are JSON text; a list an operation returns is capped at {@link LIST_MAX} entries.
|
|
22
|
+
*/
|
|
23
|
+
/** The most entries of a list in one result (operations that page return `next`). */
|
|
24
|
+
export const LIST_MAX = 50;
|
|
25
|
+
/** The most operations `search` returns. */
|
|
26
|
+
const SEARCH_MAX = 20;
|
|
27
|
+
/** The tool's `unavailable` reason when the org setting `platformTool` is `off` (spec §3). */
|
|
28
|
+
export const PLATFORM_UNAVAILABLE_OFF = "The org turned the Platform tool off; ask an org admin to turn it on.";
|
|
29
|
+
const ACTIONS = ["browse", "search", "describe", "call", "read"];
|
|
30
|
+
const SPEC = {
|
|
31
|
+
name: BUILTIN.Platform,
|
|
32
|
+
description: "Discover and use the platform's own operations (agents, skills, templates, plugins, " +
|
|
33
|
+
"connectors, extensions, conversations, environments, models, evals, channels, requests, " +
|
|
34
|
+
"approvals and the inbox, org settings, and for admins accounts, orgs and the admin console) " +
|
|
35
|
+
'and its documentation, as the person you are working for. Start with action "browse", which ' +
|
|
36
|
+
'lists every domain, then "describe" an operation before you "call" it; never guess ' +
|
|
37
|
+
'parameters. Writes ask the person to confirm. Use "read" for how-to documentation (plugin ' +
|
|
38
|
+
"format, skills, extension points).",
|
|
39
|
+
inputSchema: {
|
|
40
|
+
type: "object",
|
|
41
|
+
properties: {
|
|
42
|
+
action: {
|
|
43
|
+
type: "string",
|
|
44
|
+
enum: [...ACTIONS],
|
|
45
|
+
description: 'browse: the domains and the method, or one domain\'s operations with "domain"; search: ' +
|
|
46
|
+
'operations matching "query"; describe: one operation\'s full definition; call: run ' +
|
|
47
|
+
'"operation" with "params"; read: a documentation topic, or the list of topics without ' +
|
|
48
|
+
'"topic".',
|
|
49
|
+
},
|
|
50
|
+
domain: {
|
|
51
|
+
type: "string",
|
|
52
|
+
maxLength: 100,
|
|
53
|
+
description: 'For browse: a domain id from the browse result, e.g. "skills".',
|
|
54
|
+
},
|
|
55
|
+
query: {
|
|
56
|
+
type: "string",
|
|
57
|
+
maxLength: 200,
|
|
58
|
+
description: "For search: words to look for in operation ids and descriptions.",
|
|
59
|
+
},
|
|
60
|
+
operation: {
|
|
61
|
+
type: "string",
|
|
62
|
+
maxLength: 100,
|
|
63
|
+
description: 'For describe and call: an operation id, e.g. "skills.list".',
|
|
64
|
+
},
|
|
65
|
+
params: {
|
|
66
|
+
type: "object",
|
|
67
|
+
description: "For call: the operation's input, matching the inputSchema describe returned. Pass " +
|
|
68
|
+
'"cursor" from a previous result\'s "next" to get the next page.',
|
|
69
|
+
},
|
|
70
|
+
topic: {
|
|
71
|
+
type: "string",
|
|
72
|
+
maxLength: 100,
|
|
73
|
+
description: "For read: a topic id from the topic list.",
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
required: ["action"],
|
|
77
|
+
additionalProperties: false,
|
|
78
|
+
},
|
|
79
|
+
keyArgs: ["action", "operation", "domain"],
|
|
80
|
+
};
|
|
81
|
+
const json = (value, summary) => ({
|
|
82
|
+
content: [{ type: "text", text: JSON.stringify(value) }],
|
|
83
|
+
display: { summary },
|
|
84
|
+
});
|
|
85
|
+
/** Longest model-written text quoted in a display summary (summaries are at most 200). */
|
|
86
|
+
const SUMMARY_QUOTE_MAX = 80;
|
|
87
|
+
const clip = (s) => s.length > SUMMARY_QUOTE_MAX ? `${s.slice(0, SUMMARY_QUOTE_MAX)}…` : s;
|
|
88
|
+
/** The first sentence of a description: the line `browse` and `search` show. */
|
|
89
|
+
const firstSentence = (text) => {
|
|
90
|
+
const m = /^(.+?[.!?])(\s|$)/s.exec(text.trim());
|
|
91
|
+
return (m?.[1] ?? text).trim();
|
|
92
|
+
};
|
|
93
|
+
const kindOf = (op) => op.confirm === "read" ? "read" : "write";
|
|
94
|
+
const availabilityFields = (a) => a.ok ? { available: true } : { available: false, reason: a.reason };
|
|
95
|
+
/** The most input keys a `params` line names before it ends in `…`. */
|
|
96
|
+
const PARAMS_MAX = 8;
|
|
97
|
+
const paramsCache = new WeakMap();
|
|
98
|
+
/**
|
|
99
|
+
* An operation's input keys as `browse` and `search` show them, so a call needs no guess:
|
|
100
|
+
* `"itemId"`, `"agentId, updatedAt, avatar?, quickActions?"` (`?` = optional), `""` when it takes
|
|
101
|
+
* none. A union input lists the keys of every branch; a key is required when every branch requires
|
|
102
|
+
* it. Types, bounds and an example stay in `describe`.
|
|
103
|
+
*/
|
|
104
|
+
export function paramsLine(op) {
|
|
105
|
+
const cached = paramsCache.get(op);
|
|
106
|
+
if (cached !== undefined)
|
|
107
|
+
return cached;
|
|
108
|
+
const schema = z.toJSONSchema(op.input, {
|
|
109
|
+
io: "input",
|
|
110
|
+
unrepresentable: "any",
|
|
111
|
+
});
|
|
112
|
+
const branches = schema.anyOf ?? schema.oneOf ?? [schema];
|
|
113
|
+
const keys = [];
|
|
114
|
+
for (const b of branches) {
|
|
115
|
+
for (const k of Object.keys(b.properties ?? {}))
|
|
116
|
+
if (!keys.includes(k))
|
|
117
|
+
keys.push(k);
|
|
118
|
+
}
|
|
119
|
+
const required = (k) => branches.every((b) => b.required?.includes(k) ?? false);
|
|
120
|
+
const ordered = [...keys.filter(required), ...keys.filter((k) => !required(k))];
|
|
121
|
+
const names = ordered.map((k) => (required(k) ? k : `${k}?`));
|
|
122
|
+
const text = names.length > PARAMS_MAX ? `${names.slice(0, PARAMS_MAX).join(", ")}, …` : names.join(", ");
|
|
123
|
+
paramsCache.set(op, text);
|
|
124
|
+
return text;
|
|
125
|
+
}
|
|
126
|
+
/** One operation as `browse` and `search` list it. */
|
|
127
|
+
const line = (op, facts) => ({
|
|
128
|
+
id: op.id,
|
|
129
|
+
description: firstSentence(op.description),
|
|
130
|
+
kind: kindOf(op),
|
|
131
|
+
params: paramsLine(op),
|
|
132
|
+
...availabilityFields(availability(op, facts)),
|
|
133
|
+
});
|
|
134
|
+
const capped = (items) => ({
|
|
135
|
+
items: items.slice(0, LIST_MAX),
|
|
136
|
+
...(items.length > LIST_MAX && {
|
|
137
|
+
total: items.length,
|
|
138
|
+
truncated: true,
|
|
139
|
+
hint: "Narrow the query or pass params.cursor where the operation pages.",
|
|
140
|
+
}),
|
|
141
|
+
});
|
|
142
|
+
/** An operation's result as a JSON object: a bare list is capped, nothing becomes `{ ok: true }`. */
|
|
143
|
+
function asResult(value) {
|
|
144
|
+
if (Array.isArray(value))
|
|
145
|
+
return capped(value);
|
|
146
|
+
if (value === undefined || value === null)
|
|
147
|
+
return { ok: true };
|
|
148
|
+
if (typeof value !== "object")
|
|
149
|
+
return { result: value };
|
|
150
|
+
return value;
|
|
151
|
+
}
|
|
152
|
+
const unknownOperationText = (id) => `Unknown operation "${id}". Use browse or search to find an operation id, then describe it.`;
|
|
153
|
+
const missingText = (action, field, what) => `Action ${action} needs "${field}": pass ${what}.`;
|
|
154
|
+
const invalidParamsText = (id, problems) => `Invalid params for ${id}: ${problems}. Call describe with operation "${id}" for its input schema and an example, then call again.`;
|
|
155
|
+
const unavailableOpText = (id, reason) => `Operation ${id} is unavailable, so do not call it again as is: ${reason}`;
|
|
156
|
+
const precheckText = (id, code, message, next) => `Operation ${id} cannot run now: ${code}: ${sentence(message)} ${next ?? OPERATION_ERROR_NEXT}`;
|
|
157
|
+
const outputRefText = (id) => `Operation ${id} writes, and its params hold a {"$output": ...} reference, which the person confirming would see instead of the content. Pass the content inline in params and call again.`;
|
|
158
|
+
/** Whether a value holds a `{"$output": …}` reference anywhere (the pipeline's form). */
|
|
159
|
+
function hasOutputRef(v) {
|
|
160
|
+
if (Array.isArray(v))
|
|
161
|
+
return v.some(hasOutputRef);
|
|
162
|
+
if (typeof v !== "object" || v === null)
|
|
163
|
+
return false;
|
|
164
|
+
const keys = Object.keys(v);
|
|
165
|
+
if (keys.length === 1 && keys[0] === "$output")
|
|
166
|
+
return true;
|
|
167
|
+
return Object.values(v).some(hasOutputRef);
|
|
168
|
+
}
|
|
169
|
+
/** Zod issues as one line: `path: message; …` (at most five). */
|
|
170
|
+
function issuesText(error) {
|
|
171
|
+
const parts = error.issues
|
|
172
|
+
.slice(0, 5)
|
|
173
|
+
.map((i) => `${i.path.length === 0 ? "params" : i.path.join(".")}: ${i.message}`);
|
|
174
|
+
if (error.issues.length > 5)
|
|
175
|
+
parts.push(`and ${error.issues.length - 5} more`);
|
|
176
|
+
return parts.join("; ");
|
|
177
|
+
}
|
|
178
|
+
/** The operation of a `call` / `describe`; a `ToolError` when there is none (model-visible). */
|
|
179
|
+
function operationOf(deps, action, id) {
|
|
180
|
+
if (id === undefined || id === "") {
|
|
181
|
+
throw new ToolError(missingText(action, "operation", "an operation id from browse or search"));
|
|
182
|
+
}
|
|
183
|
+
const op = deps.ops.get(id);
|
|
184
|
+
if (op === null)
|
|
185
|
+
throw new ToolError(unknownOperationText(id));
|
|
186
|
+
return op;
|
|
187
|
+
}
|
|
188
|
+
/** `params` checked against the operation's schema; a `ToolError` naming `describe` otherwise. */
|
|
189
|
+
function paramsOf(op, params) {
|
|
190
|
+
const parsed = op.input.safeParse(params ?? {});
|
|
191
|
+
if (!parsed.success)
|
|
192
|
+
throw new ToolError(invalidParamsText(op.id, issuesText(parsed.error)));
|
|
193
|
+
return parsed.data;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* The operation context of a confirmation (`confirmFor`, `summary`): the runtime's ids, never
|
|
197
|
+
* input. Nothing aborts it; it only reads.
|
|
198
|
+
*/
|
|
199
|
+
const confirmCtx = (ctx, errorRole) => ({
|
|
200
|
+
orgId: ctx.orgId,
|
|
201
|
+
actorAccountId: ctx.accountId,
|
|
202
|
+
agentId: ctx.agentId,
|
|
203
|
+
conversationId: ctx.conversationId,
|
|
204
|
+
runId: ctx.runId,
|
|
205
|
+
signal: new AbortController().signal,
|
|
206
|
+
errorRole,
|
|
207
|
+
});
|
|
208
|
+
const factsCtx = (ctx) => ({
|
|
209
|
+
orgId: ctx.orgId,
|
|
210
|
+
accountId: ctx.accountId,
|
|
211
|
+
agentId: ctx.agentId,
|
|
212
|
+
conversationId: ctx.conversationId,
|
|
213
|
+
runId: ctx.runId ?? null,
|
|
214
|
+
});
|
|
215
|
+
export function platformTool(deps) {
|
|
216
|
+
const facts = (ctx) => deps.actor.facts(ctx);
|
|
217
|
+
async function callPolicy(raw, ctx) {
|
|
218
|
+
const input = raw;
|
|
219
|
+
if (input.action !== "call")
|
|
220
|
+
return null;
|
|
221
|
+
const id = input.operation;
|
|
222
|
+
const key = `${BUILTIN.Platform}:${id !== undefined && OPERATION_ID.test(id) ? id : "unknown"}`;
|
|
223
|
+
const deny = (denyReason) => ({
|
|
224
|
+
key,
|
|
225
|
+
policy: "deny",
|
|
226
|
+
remember: false,
|
|
227
|
+
denyReason,
|
|
228
|
+
});
|
|
229
|
+
let op;
|
|
230
|
+
let params;
|
|
231
|
+
try {
|
|
232
|
+
op = operationOf(deps, "call", id);
|
|
233
|
+
// params that cannot run are refused here, so the person is never asked to confirm them
|
|
234
|
+
params = paramsOf(op, input.params);
|
|
235
|
+
}
|
|
236
|
+
catch (e) {
|
|
237
|
+
if (e instanceof ToolError)
|
|
238
|
+
return deny(e.message);
|
|
239
|
+
throw e;
|
|
240
|
+
}
|
|
241
|
+
const f = await facts(ctx);
|
|
242
|
+
const verdict = availability(op, f);
|
|
243
|
+
if (!verdict.ok)
|
|
244
|
+
return deny(unavailableOpText(op.id, verdict.reason));
|
|
245
|
+
if (op.confirm === "read")
|
|
246
|
+
return { key, policy: "allow", remember: false };
|
|
247
|
+
// the card shows the raw input: a write must carry what it writes, not a reference to it
|
|
248
|
+
if (hasOutputRef(ctx.rawInput?.params)) {
|
|
249
|
+
return deny(outputRefText(op.id));
|
|
250
|
+
}
|
|
251
|
+
const role = errorRoleOf(f);
|
|
252
|
+
const failed = await precheckOf(op, params, ctx, role, deps.precheckTimeoutMs ?? PRECHECK_TIMEOUT_MS, deps.log);
|
|
253
|
+
if (failed !== null) {
|
|
254
|
+
const next = resolveNext(failed.next, role) ?? nextStepFor(op.errors, failed.code, role);
|
|
255
|
+
return deny(precheckText(op.id, failed.code, failed.message, next));
|
|
256
|
+
}
|
|
257
|
+
const octx = confirmCtx(ctx, role);
|
|
258
|
+
const [cls, summary] = await Promise.all([
|
|
259
|
+
classOf(op, params, octx),
|
|
260
|
+
summaryOf(op, params, octx),
|
|
261
|
+
]);
|
|
262
|
+
return {
|
|
263
|
+
key,
|
|
264
|
+
policy: "ask",
|
|
265
|
+
// org / platform writes are confirmed every time (spec §6.2)
|
|
266
|
+
remember: cls === "personal" && op.rememberable !== false,
|
|
267
|
+
summary,
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
async function run(raw, ctx) {
|
|
271
|
+
const input = raw;
|
|
272
|
+
switch (input.action) {
|
|
273
|
+
case "browse":
|
|
274
|
+
return input.domain === undefined ? browseRoot() : browseDomain(input.domain, ctx);
|
|
275
|
+
case "search":
|
|
276
|
+
return search(input.query, ctx);
|
|
277
|
+
case "describe":
|
|
278
|
+
return describe(input.operation, ctx);
|
|
279
|
+
case "call":
|
|
280
|
+
return call(input, ctx);
|
|
281
|
+
case "read":
|
|
282
|
+
return read(input.topic);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
function browseRoot() {
|
|
286
|
+
const domains = deps.ops.domains().map((d) => ({
|
|
287
|
+
id: d.id,
|
|
288
|
+
description: d.description,
|
|
289
|
+
operations: deps.ops.inDomain(d.id).length,
|
|
290
|
+
}));
|
|
291
|
+
return json({ domains, method: PLATFORM_METHOD }, { zh: "浏览平台操作", en: "Browsed platform operations" });
|
|
292
|
+
}
|
|
293
|
+
async function browseDomain(domain, ctx) {
|
|
294
|
+
const ids = deps.ops.domains().map((d) => d.id);
|
|
295
|
+
if (!ids.includes(domain)) {
|
|
296
|
+
throw new ToolError(`Unknown domain "${domain}". Use one of: ${ids.join(", ")}; or call browse without a domain.`);
|
|
297
|
+
}
|
|
298
|
+
const f = await facts(factsCtx(ctx));
|
|
299
|
+
const ops = deps.ops.inDomain(domain);
|
|
300
|
+
return json({
|
|
301
|
+
domain,
|
|
302
|
+
operations: ops.slice(0, LIST_MAX).map((op) => line(op, f)),
|
|
303
|
+
...(ops.length > LIST_MAX && { truncated: true, hint: "Use search to narrow the list." }),
|
|
304
|
+
}, { zh: `浏览平台操作:${domain}`, en: `Browsed platform operations: ${domain}` });
|
|
305
|
+
}
|
|
306
|
+
async function search(query, ctx) {
|
|
307
|
+
if (query === undefined || query.trim() === "") {
|
|
308
|
+
throw new ToolError(missingText("search", "query", "words to look for"));
|
|
309
|
+
}
|
|
310
|
+
const f = await facts(factsCtx(ctx));
|
|
311
|
+
const found = deps.ops.search(query, SEARCH_MAX);
|
|
312
|
+
return json({
|
|
313
|
+
query,
|
|
314
|
+
operations: found.map((op) => line(op, f)),
|
|
315
|
+
...(found.length === 0 && {
|
|
316
|
+
hint: "Nothing matched; use other words, or browse a domain.",
|
|
317
|
+
}),
|
|
318
|
+
}, { zh: `搜索平台操作:${clip(query)}`, en: `Searched platform operations: ${clip(query)}` });
|
|
319
|
+
}
|
|
320
|
+
async function describe(id, ctx) {
|
|
321
|
+
const op = operationOf(deps, "describe", id);
|
|
322
|
+
const f = await facts(factsCtx(ctx));
|
|
323
|
+
return json({
|
|
324
|
+
id: op.id,
|
|
325
|
+
description: op.description,
|
|
326
|
+
kind: kindOf(op),
|
|
327
|
+
confirm: op.confirm,
|
|
328
|
+
inputSchema: z.toJSONSchema(op.input, { io: "input", unrepresentable: "any" }),
|
|
329
|
+
example: op.example,
|
|
330
|
+
...(op.errors !== undefined &&
|
|
331
|
+
op.errors.length > 0 && { errors: errorsFor(op.errors, errorRoleOf(f)) }),
|
|
332
|
+
...availabilityFields(availability(op, f)),
|
|
333
|
+
related: deps.ops
|
|
334
|
+
.inDomain(operationDomain(op.id))
|
|
335
|
+
.filter((o) => o.id !== op.id)
|
|
336
|
+
.map((o) => o.id),
|
|
337
|
+
}, { zh: `查看平台操作 ${op.id}`, en: `Described platform operation ${op.id}` });
|
|
338
|
+
}
|
|
339
|
+
async function call(input, ctx) {
|
|
340
|
+
const op = operationOf(deps, "call", input.operation);
|
|
341
|
+
const params = paramsOf(op, input.params);
|
|
342
|
+
// fresh facts right before running: the role may be gone since the confirmation (Review Focus 3)
|
|
343
|
+
const f = await facts(factsCtx(ctx));
|
|
344
|
+
const verdict = availability(op, f);
|
|
345
|
+
if (!verdict.ok)
|
|
346
|
+
throw new ToolError(unavailableOpText(op.id, verdict.reason));
|
|
347
|
+
const role = errorRoleOf(f);
|
|
348
|
+
let result;
|
|
349
|
+
try {
|
|
350
|
+
result = await op.run(params, {
|
|
351
|
+
orgId: ctx.orgId,
|
|
352
|
+
actorAccountId: ctx.accountId,
|
|
353
|
+
agentId: ctx.agentId,
|
|
354
|
+
conversationId: ctx.conversationId,
|
|
355
|
+
runId: ctx.runId ?? null,
|
|
356
|
+
callId: ctx.callId,
|
|
357
|
+
signal: ctx.signal,
|
|
358
|
+
errorRole: role,
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
catch (e) {
|
|
362
|
+
// a service refusal after the approval (a race the precheck could not see) still names the
|
|
363
|
+
// next step for this actor (Review Focus 2)
|
|
364
|
+
throw toToolError(e, (code) => nextStepFor(op.errors, code, role));
|
|
365
|
+
}
|
|
366
|
+
return json(asResult(result), { zh: `调用平台操作 ${op.id}`, en: `Called ${op.id}` });
|
|
367
|
+
}
|
|
368
|
+
function read(topic) {
|
|
369
|
+
if (topic === undefined || topic === "") {
|
|
370
|
+
return json({ topics: deps.docs.topics(), hint: 'Read one with action "read" and its "topic".' }, { zh: "查看平台文档目录", en: "Listed platform docs" });
|
|
371
|
+
}
|
|
372
|
+
const text = deps.docs.read(topic);
|
|
373
|
+
if (text === null) {
|
|
374
|
+
throw new ToolError(`Unknown topic "${topic}". Call read without a topic to list the topics.`);
|
|
375
|
+
}
|
|
376
|
+
return {
|
|
377
|
+
content: [{ type: "text", text }],
|
|
378
|
+
display: { summary: { zh: `阅读平台文档 ${topic}`, en: `Read platform doc ${topic}` } },
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
return {
|
|
382
|
+
spec: SPEC,
|
|
383
|
+
defaultPolicy: "allow",
|
|
384
|
+
run,
|
|
385
|
+
callPolicy,
|
|
386
|
+
async unavailable({ orgId }) {
|
|
387
|
+
return (await deps.setting(orgId)) === "off" ? PLATFORM_UNAVAILABLE_OFF : null;
|
|
388
|
+
},
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* The class of one write: `confirmFor` when the operation has one (the target decides), else
|
|
393
|
+
* `confirm`. A `confirmFor` that throws counts as `org`: never remembered.
|
|
394
|
+
*/
|
|
395
|
+
async function classOf(op, params, ctx) {
|
|
396
|
+
if (op.confirmFor === undefined)
|
|
397
|
+
return op.confirm;
|
|
398
|
+
try {
|
|
399
|
+
return await op.confirmFor(params, ctx);
|
|
400
|
+
}
|
|
401
|
+
catch {
|
|
402
|
+
return "org";
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* The operation's precheck, bounded by `ms`: the failure it found, or null (none, passed, timed
|
|
407
|
+
* out, or threw: the write's own errors speak then; a throw is logged as a warning, a timeout at
|
|
408
|
+
* debug). Its signal aborts at the timeout or when the run's signal aborts.
|
|
409
|
+
*/
|
|
410
|
+
async function precheckOf(op, params, ctx, role, ms, log) {
|
|
411
|
+
if (op.precheck === undefined)
|
|
412
|
+
return null;
|
|
413
|
+
const ac = new AbortController();
|
|
414
|
+
const signal = ctx.signal === undefined ? ac.signal : AbortSignal.any([ac.signal, ctx.signal]);
|
|
415
|
+
let timer;
|
|
416
|
+
const timeout = new Promise((resolve) => {
|
|
417
|
+
timer = setTimeout(() => {
|
|
418
|
+
ac.abort();
|
|
419
|
+
log?.debug?.("platform precheck timed out; the card is shown", { operation: op.id, ms });
|
|
420
|
+
resolve(null);
|
|
421
|
+
}, ms);
|
|
422
|
+
});
|
|
423
|
+
try {
|
|
424
|
+
const r = await Promise.race([
|
|
425
|
+
op.precheck(params, { ...confirmCtx(ctx, role), signal }),
|
|
426
|
+
timeout,
|
|
427
|
+
]);
|
|
428
|
+
if (r === null || r.ok)
|
|
429
|
+
return null;
|
|
430
|
+
return { code: r.code, message: r.message, ...(r.next !== undefined && { next: r.next }) };
|
|
431
|
+
}
|
|
432
|
+
catch (err) {
|
|
433
|
+
log?.warn("platform precheck failed; the card is shown", { operation: op.id, err });
|
|
434
|
+
return null;
|
|
435
|
+
}
|
|
436
|
+
finally {
|
|
437
|
+
clearTimeout(timer);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
/** The card summary of a write, rendered from the validated params and kernel reads. */
|
|
441
|
+
async function summaryOf(op, params, ctx) {
|
|
442
|
+
try {
|
|
443
|
+
const s = await op.summary?.(params, ctx);
|
|
444
|
+
if (s !== undefined)
|
|
445
|
+
return s;
|
|
446
|
+
}
|
|
447
|
+
catch {
|
|
448
|
+
// a summary that cannot render falls back to the operation id (the card shows every param)
|
|
449
|
+
}
|
|
450
|
+
return { zh: `平台操作 ${op.id}`, en: `Platform operation ${op.id}` };
|
|
451
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { KernelConfigService } from "../../infra/config/kernel-config.service.js";
|
|
2
2
|
import { type ToolOutputs } from "../outputs.js";
|
|
3
3
|
import type { BuiltinTool } from "../registry.js";
|
|
4
4
|
/**
|
|
@@ -11,8 +11,8 @@ export declare function readPage(id: string, content: string, opts: {
|
|
|
11
11
|
charOffset: number;
|
|
12
12
|
budget: number;
|
|
13
13
|
}): string;
|
|
14
|
-
/** 内置工具 `
|
|
14
|
+
/** 内置工具 `ReadToolOutput`:读本会话未过期的输出存档(只读、默认 allow)。 */
|
|
15
15
|
export declare function readToolOutputTool(deps: {
|
|
16
16
|
outputs: Pick<ToolOutputs, "load">;
|
|
17
|
-
config:
|
|
17
|
+
config: Pick<KernelConfigService, "get">;
|
|
18
18
|
}): BuiltinTool;
|
|
@@ -8,7 +8,7 @@ const DEFAULT_LIMIT = 200;
|
|
|
8
8
|
*/
|
|
9
9
|
const FOOTER_RESERVE = 200;
|
|
10
10
|
const SPEC = {
|
|
11
|
-
name: "
|
|
11
|
+
name: "ReadToolOutput",
|
|
12
12
|
description: "Read a saved tool output by its id, page by page. Large tool results are truncated in the " +
|
|
13
13
|
"conversation and saved in full; the truncation notice gives the output id. Lines are numbered " +
|
|
14
14
|
"from 0. Each call returns up to `limit` lines starting at line `offset`, capped at a maximum " +
|
|
@@ -85,7 +85,7 @@ export function readPage(id, content, opts) {
|
|
|
85
85
|
const footer = `[Lines ${offset}–${last} of ${total}]`;
|
|
86
86
|
return [parts.join("\n"), ...(cut === null ? [] : [cut]), footer].join("\n");
|
|
87
87
|
}
|
|
88
|
-
/** 内置工具 `
|
|
88
|
+
/** 内置工具 `ReadToolOutput`:读本会话未过期的输出存档(只读、默认 allow)。 */
|
|
89
89
|
export function readToolOutputTool(deps) {
|
|
90
90
|
return {
|
|
91
91
|
spec: SPEC,
|
|
@@ -95,7 +95,7 @@ export function readToolOutputTool(deps) {
|
|
|
95
95
|
const content = await deps.outputs.load({ orgId: ctx.orgId, conversationId: ctx.conversationId }, id);
|
|
96
96
|
if (content === null)
|
|
97
97
|
throw new ToolError(outputNotFoundText(id));
|
|
98
|
-
const cfg = deps.config().tools;
|
|
98
|
+
const cfg = deps.config.get().tools;
|
|
99
99
|
const budget = Math.max(1, Math.min(cfg.maxResultReadChars, cfg.outputSpillChars - FOOTER_RESERVE));
|
|
100
100
|
return {
|
|
101
101
|
content: [
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { type ExecResult } from "@capybara-hq/plugin-sdk";
|
|
2
2
|
import type { BuiltinTool } from "../../registry.js";
|
|
3
3
|
import { type SandboxToolDeps } from "./common.js";
|
|
4
|
-
/**
|
|
4
|
+
/** The command timeout in seconds when `timeout` is not given, at most `sandbox.limits.maxCommandSeconds`. */
|
|
5
5
|
export declare const BASH_DEFAULT_TIMEOUT_SECONDS = 120;
|
|
6
6
|
/** The longest `description` (the shell row shows it instead of the command). */
|
|
7
7
|
export declare const BASH_DESCRIPTION_MAX_CHARS = 120;
|
|
8
|
-
/** bash 结果超过这么多字符即转存(走现有输出存档,模型用
|
|
8
|
+
/** bash 结果超过这么多字符即转存(走现有输出存档,模型用 ReadToolOutput 分页读)。 */
|
|
9
9
|
export declare const BASH_SPILL_CHARS = 30000;
|
|
10
10
|
/**
|
|
11
11
|
* 命令结果 → 给模型的文本。`budgetClamped`:运行的时限把超时收紧到了 `seconds`(Ruling M20),超时说明改为
|
|
12
|
-
* 指向 `runtime.maxRunSeconds`,而不是让模型加大
|
|
12
|
+
* 指向 `runtime.maxRunSeconds`,而不是让模型加大 timeout。`workspace`: the instance's workspace root.
|
|
13
13
|
*/
|
|
14
|
-
export declare function formatExec(r: ExecResult, seconds: number, budgetClamped?: boolean): string;
|
|
15
|
-
/** 内置工具 `
|
|
14
|
+
export declare function formatExec(r: ExecResult, seconds: number, budgetClamped?: boolean, workspace?: string): string;
|
|
15
|
+
/** 内置工具 `Bash`:在本对话的沙箱里执行命令。 */
|
|
16
16
|
export declare function sandboxBashTool(deps: SandboxToolDeps): BuiltinTool;
|