@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.21
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 +94 -5
- package/dist/admin/admin-agents.controller.d.ts +28 -0
- package/dist/admin/admin-agents.controller.js +79 -0
- package/dist/admin/admin-connectors.controller.d.ts +29 -0
- package/dist/admin/admin-connectors.controller.js +79 -0
- package/dist/admin/admin-items.schemas.d.ts +42 -0
- package/dist/admin/admin-items.schemas.js +48 -0
- package/dist/admin/admin.controller.d.ts +52 -80
- package/dist/admin/admin.controller.js +112 -81
- package/dist/admin/admin.module.d.ts +4 -1
- package/dist/admin/admin.module.js +50 -4
- package/dist/admin/admin.schemas.d.ts +69 -0
- package/dist/admin/admin.schemas.js +53 -0
- package/dist/admin/audit.controller.d.ts +14 -0
- package/dist/admin/audit.controller.js +42 -0
- package/dist/admin/audit.schemas.d.ts +8 -0
- package/dist/admin/audit.schemas.js +17 -0
- package/dist/admin/extensions.controller.d.ts +34 -3
- package/dist/admin/extensions.controller.js +66 -8
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/health.service.d.ts +104 -0
- package/dist/admin/health.service.js +246 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/overview.controller.d.ts +31 -0
- package/dist/admin/overview.controller.js +78 -0
- package/dist/admin/overview.schemas.d.ts +8 -0
- package/dist/admin/overview.schemas.js +13 -0
- package/dist/admin/overview.service.d.ts +112 -0
- package/dist/admin/overview.service.js +223 -0
- package/dist/admin/platform-audit.service.d.ts +41 -0
- package/dist/admin/platform-audit.service.js +70 -0
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/admin/usage.service.d.ts +149 -0
- package/dist/admin/usage.service.js +321 -0
- package/dist/agents/admin-agents.d.ts +92 -0
- package/dist/agents/admin-agents.js +170 -0
- package/dist/agents/agent-lookup.d.ts +24 -0
- package/dist/agents/agent-lookup.js +46 -2
- 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 +53 -168
- package/dist/agents/agents.controller.js +163 -34
- package/dist/agents/agents.module.d.ts +6 -2
- package/dist/agents/agents.module.js +41 -7
- package/dist/agents/agents.schemas.d.ts +392 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +121 -36
- package/dist/agents/agents.service.js +411 -121
- package/dist/agents/definition.d.ts +142 -21
- package/dist/agents/definition.js +389 -43
- 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 +876 -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 +77 -5
- package/dist/agents/templates.controller.js +153 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +482 -44
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -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 +109 -0
- package/dist/background/tasks.service.js +271 -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 +136 -52
- package/dist/catalog/admin-catalog.controller.js +275 -65
- package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
- package/dist/catalog/admin-catalog.schemas.js +99 -0
- package/dist/catalog/appearance.schemas.d.ts +10 -0
- package/dist/catalog/appearance.schemas.js +20 -0
- package/dist/catalog/appearance.service.d.ts +105 -0
- package/dist/catalog/appearance.service.js +306 -0
- package/dist/catalog/catalog-content.d.ts +122 -35
- package/dist/catalog/catalog-content.js +122 -14
- package/dist/catalog/catalog-files.d.ts +42 -0
- package/dist/catalog/catalog-files.js +89 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +63 -0
- package/dist/catalog/catalog-items.d.ts +122 -7
- package/dist/catalog/catalog-items.js +301 -13
- package/dist/catalog/catalog-scope.service.d.ts +293 -0
- package/dist/catalog/catalog-scope.service.js +1236 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +47 -31
- package/dist/catalog/catalog.service.d.ts +122 -31
- package/dist/catalog/catalog.service.js +177 -105
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +29 -1
- 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 +102 -0
- package/dist/catalog/component-scope.controller.js +257 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +394 -0
- package/dist/catalog/component-scope.service.js +1133 -0
- package/dist/catalog/component-state.d.ts +207 -0
- package/dist/catalog/component-state.js +484 -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 +30 -0
- package/dist/catalog/job-ids.js +25 -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 +50 -41
- package/dist/catalog/marketplaces.controller.js +130 -46
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +110 -17
- package/dist/catalog/marketplaces.service.js +337 -29
- package/dist/catalog/org-catalog.controller.d.ts +114 -62
- package/dist/catalog/org-catalog.controller.js +191 -98
- package/dist/catalog/org-catalog.schemas.d.ts +104 -0
- package/dist/catalog/org-catalog.schemas.js +107 -0
- package/dist/catalog/org-catalog.service.d.ts +72 -33
- package/dist/catalog/org-catalog.service.js +367 -158
- 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 +133 -0
- package/dist/catalog/org-extension.controller.js +313 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +254 -47
- package/dist/catalog/plugin-import.js +810 -112
- package/dist/catalog/plugin-install.d.ts +205 -42
- package/dist/catalog/plugin-install.js +828 -126
- package/dist/catalog/plugin-package.d.ts +43 -4
- package/dist/catalog/plugin-package.js +194 -7
- package/dist/catalog/plugin-upgrade.d.ts +308 -225
- package/dist/catalog/plugin-upgrade.js +1325 -1131
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +194 -118
- package/dist/catalog/requests.service.js +530 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.js +10 -3
- package/dist/channels/cards.d.ts +36 -10
- package/dist/channels/cards.js +100 -25
- package/dist/channels/channels.module.js +13 -2
- package/dist/channels/channels.schemas.d.ts +41 -0
- package/dist/channels/channels.schemas.js +40 -0
- package/dist/channels/connections.controller.d.ts +46 -37
- package/dist/channels/connections.controller.js +76 -34
- package/dist/channels/connections.service.d.ts +102 -10
- package/dist/channels/connections.service.js +271 -24
- package/dist/channels/inbound.d.ts +11 -1
- package/dist/channels/inbound.js +87 -7
- package/dist/channels/outbound.d.ts +14 -1
- package/dist/channels/outbound.js +64 -15
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +2 -0
- package/dist/channels/supervisor.js +4 -0
- package/dist/channels/threads.d.ts +5 -0
- package/dist/channels/threads.js +8 -0
- package/dist/channels/webhook.d.ts +21 -1
- package/dist/channels/webhook.js +39 -4
- package/dist/client/client-access.service.d.ts +102 -0
- package/dist/client/client-access.service.js +303 -0
- package/dist/client/client-builds.service.d.ts +109 -0
- package/dist/client/client-builds.service.js +229 -0
- package/dist/client/client-delivery.controller.d.ts +25 -0
- package/dist/client/client-delivery.controller.js +66 -0
- package/dist/client/client-files.d.ts +48 -0
- package/dist/client/client-files.js +136 -0
- package/dist/client/client-reports.cron.d.ts +13 -0
- package/dist/client/client-reports.cron.js +42 -0
- package/dist/client/client-reports.service.d.ts +30 -0
- package/dist/client/client-reports.service.js +102 -0
- package/dist/client/client-sign-in.service.d.ts +21 -0
- package/dist/client/client-sign-in.service.js +49 -0
- package/dist/client/client.controller.d.ts +49 -0
- package/dist/client/client.controller.js +129 -0
- package/dist/client/client.module.d.ts +8 -0
- package/dist/client/client.module.js +28 -0
- package/dist/client/client.schemas.d.ts +61 -0
- package/dist/client/client.schemas.js +27 -0
- package/dist/config/docs.js +5 -1
- package/dist/config/schema.d.ts +35 -2
- package/dist/config/schema.js +216 -21
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +29 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +1 -1
- package/dist/conversations/artifacts.js +1 -1
- package/dist/conversations/attachments.service.d.ts +30 -0
- package/dist/conversations/attachments.service.js +130 -5
- package/dist/conversations/conversations.controller.d.ts +79 -44
- package/dist/conversations/conversations.controller.js +133 -82
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +10 -7
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +161 -13
- package/dist/conversations/conversations.service.js +329 -57
- package/dist/conversations/device-status.d.ts +24 -0
- package/dist/conversations/device-status.js +71 -0
- package/dist/conversations/event-log.d.ts +45 -9
- package/dist/conversations/event-log.js +113 -6
- package/dist/conversations/events.d.ts +255 -9
- package/dist/conversations/events.js +250 -34
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/queue.d.ts +5 -2
- package/dist/conversations/queue.js +24 -4
- package/dist/conversations/queue.service.d.ts +2 -2
- package/dist/conversations/queue.service.js +21 -3
- package/dist/conversations/titles.d.ts +12 -3
- package/dist/conversations/titles.js +40 -16
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +48 -5
- package/dist/ctx/create-ctx.js +174 -34
- package/dist/db/kernel-schema.d.ts +668 -27
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +3 -0
- package/dist/devices/access.d.ts +66 -0
- package/dist/devices/access.js +113 -0
- package/dist/devices/conversation-devices.d.ts +75 -0
- package/dist/devices/conversation-devices.js +230 -0
- package/dist/devices/devices.controller.d.ts +36 -0
- package/dist/devices/devices.controller.js +124 -0
- package/dist/devices/devices.module.d.ts +8 -0
- package/dist/devices/devices.module.js +34 -0
- package/dist/devices/devices.schemas.d.ts +3 -0
- package/dist/devices/devices.schemas.js +14 -0
- package/dist/devices/devices.service.d.ts +251 -0
- package/dist/devices/devices.service.js +791 -0
- package/dist/devices/dto.d.ts +25 -0
- package/dist/devices/dto.js +12 -0
- package/dist/devices/label.d.ts +11 -0
- package/dist/devices/label.js +25 -0
- package/dist/devices/legacy-cleanup.job.d.ts +34 -0
- package/dist/devices/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +215 -3
- package/dist/errors.js +215 -3
- package/dist/evals/evals.module.js +11 -2
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -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 +20 -3
- package/dist/evals/run-replay.js +78 -14
- package/dist/evals/runs.controller.d.ts +2 -57
- package/dist/evals/runs.controller.js +1 -42
- package/dist/evals/runs.service.d.ts +8 -7
- package/dist/evals/runs.service.js +45 -30
- package/dist/evals/sets.controller.d.ts +2 -28
- package/dist/evals/sets.controller.js +1 -31
- package/dist/evals/sets.service.d.ts +7 -7
- package/dist/evals/sets.service.js +23 -17
- package/dist/evals/snapshot.d.ts +3 -2
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +4 -6
- package/dist/evals/step-replay.js +16 -9
- package/dist/evals/trajectory.d.ts +5 -3
- package/dist/evals/trajectory.js +4 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +81 -14
- package/dist/extensions/admin-ops.js +181 -47
- package/dist/extensions/admin-view.d.ts +57 -10
- package/dist/extensions/admin-view.js +249 -27
- package/dist/extensions/approvals.d.ts +12 -2
- package/dist/extensions/blobs.d.ts +14 -1
- package/dist/extensions/blobs.js +49 -5
- package/dist/extensions/bootstrap.d.ts +85 -10
- package/dist/extensions/bootstrap.js +215 -36
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +13 -1
- package/dist/extensions/config-issues.js +22 -5
- 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 +6 -0
- package/dist/extensions/deployment-config.d.ts +94 -9
- package/dist/extensions/deployment-config.js +255 -34
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +133 -0
- package/dist/extensions/effective-config.js +379 -0
- package/dist/extensions/extensions.module.js +31 -12
- package/dist/extensions/guide-places.d.ts +68 -0
- package/dist/extensions/guide-places.js +152 -0
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +105 -12
- package/dist/extensions/host.js +372 -87
- package/dist/extensions/installs.d.ts +30 -9
- package/dist/extensions/installs.js +57 -16
- package/dist/extensions/instance.d.ts +17 -2
- package/dist/extensions/instance.js +21 -0
- package/dist/extensions/ledger.d.ts +1 -1
- package/dist/extensions/locks.d.ts +12 -0
- package/dist/extensions/locks.js +26 -0
- package/dist/extensions/org-config.d.ts +97 -7
- package/dist/extensions/org-config.js +215 -45
- 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 +18 -4
- package/dist/extensions/package.js +56 -3
- package/dist/extensions/permission-set.d.ts +35 -5
- package/dist/extensions/permission-set.js +36 -5
- package/dist/extensions/permission-view.d.ts +106 -13
- package/dist/extensions/permission-view.js +33 -15
- package/dist/extensions/plugin-guides.d.ts +282 -0
- package/dist/extensions/plugin-guides.js +554 -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 +1 -1
- package/dist/extensions/registry.js +2 -0
- 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 +13 -2
- package/dist/extensions/sources.js +2 -0
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +46 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/previewers.controller.js +2 -3
- package/dist/files/previewers.d.ts +10 -3
- package/dist/files/previewers.js +40 -11
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/api.module.js +76 -4
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/http/gateway-routes.d.ts +7 -3
- package/dist/http/gateway-routes.js +6 -3
- 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 +77 -31
- package/dist/identity/accounts.js +133 -52
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.controller.js +9 -5
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +35 -9
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +7 -4
- 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 +17 -1
- package/dist/identity/me.controller.js +45 -4
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +12 -0
- package/dist/identity/sessions.js +45 -0
- package/dist/identity/settings.d.ts +99 -12
- package/dist/identity/settings.js +234 -25
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/identity/write-actor.d.ts +11 -0
- package/dist/identity/write-actor.js +7 -0
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +64 -4
- package/dist/inbox/inbox.service.js +74 -4
- 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 +157 -0
- package/dist/inbox/platform-inbox.service.js +281 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +32 -1
- package/dist/infra/database/database.module.js +1 -0
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +31 -3
- package/dist/infra/lifecycle/process-guards.js +4 -0
- package/dist/infra/lock/lock.service.d.ts +8 -0
- package/dist/infra/lock/lock.service.js +27 -0
- package/dist/infra/logging/logging.module.d.ts +4 -2
- package/dist/infra/logging/logging.module.js +24 -6
- package/dist/infra/presence/presence.module.d.ts +6 -0
- package/dist/infra/presence/presence.module.js +22 -0
- package/dist/infra/presence/replica-presence.d.ts +87 -0
- package/dist/infra/presence/replica-presence.js +189 -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/redis-connection.d.ts +6 -0
- package/dist/infra/queue/redis-connection.js +7 -0
- package/dist/infra/redis/redis.module.js +6 -2
- package/dist/infra/throttler/named-throttlers.d.ts +12 -0
- package/dist/infra/throttler/named-throttlers.js +67 -0
- package/dist/infra/throttler/throttler.guard.js +1 -1
- package/dist/infra/tokens.d.ts +6 -1
- package/dist/infra/tokens.js +6 -1
- package/dist/kernel.module.js +15 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +9 -3
- package/dist/lifecycle/kernel-lifecycle.js +51 -11
- package/dist/local-devices/device-auth.controller.d.ts +42 -0
- package/dist/local-devices/device-auth.controller.js +116 -0
- package/dist/local-devices/device-auth.d.ts +119 -0
- package/dist/local-devices/device-auth.js +401 -0
- package/dist/local-devices/device-auth.module.d.ts +7 -0
- package/dist/local-devices/device-auth.module.js +25 -0
- package/dist/local-devices/device-routes.d.ts +36 -0
- package/dist/local-devices/device-routes.js +90 -0
- package/dist/local-devices/dto.d.ts +66 -0
- package/dist/local-devices/dto.js +44 -0
- package/dist/local-devices/keys.d.ts +25 -0
- package/dist/local-devices/keys.js +25 -0
- package/dist/local-devices/local-device-gateway.d.ts +134 -0
- package/dist/local-devices/local-device-gateway.js +542 -0
- package/dist/local-devices/local-device-provider.d.ts +89 -0
- package/dist/local-devices/local-device-provider.js +151 -0
- package/dist/local-devices/local-devices.module.d.ts +16 -0
- package/dist/local-devices/local-devices.module.js +44 -0
- package/dist/local-devices/machines.d.ts +118 -0
- package/dist/local-devices/machines.js +366 -0
- package/dist/local-devices/relay.d.ts +100 -0
- package/dist/local-devices/relay.js +373 -0
- package/dist/local-devices/targets.d.ts +28 -0
- package/dist/local-devices/targets.js +73 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +5 -1
- package/dist/models/models.module.js +16 -4
- 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 +8 -6
- package/dist/models/prices.js +11 -9
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +72 -14
- package/dist/models/purposes.js +115 -34
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +12 -8
- package/dist/orgs/offboarding.js +54 -33
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.controller.d.ts +2 -5
- package/dist/orgs/orgs.controller.js +3 -6
- package/dist/orgs/orgs.module.js +3 -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 +23 -8
- package/dist/orgs/orgs.service.js +38 -16
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +66 -6
- package/dist/orgs/settings.service.js +89 -10
- package/dist/overrides.d.ts +16 -1
- package/dist/overrides.js +10 -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 +774 -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 +102 -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-items.ops.d.ts +37 -0
- package/dist/platform/ops/admin-items.ops.js +278 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +497 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
- package/dist/platform/ops/agent-skills.ops.js +509 -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 +730 -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 +92 -0
- package/dist/platform/ops/catalog-admin.ops.js +682 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +190 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/devices.ops.d.ts +26 -0
- package/dist/platform/ops/devices.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 +381 -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 +35 -0
- package/dist/platform/ops/org-plugins.ops.js +388 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +298 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/setup.ops.d.ts +24 -0
- package/dist/platform/ops/setup.ops.js +212 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +160 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/ui.ops.d.ts +8 -0
- package/dist/platform/ops/ui.ops.js +41 -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 +43 -0
- package/dist/platform/platform-ops.module.js +142 -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 +85 -0
- package/dist/roles/gateway-role.d.ts +18 -3
- package/dist/roles/gateway-role.js +33 -5
- package/dist/roles/gateway.module.d.ts +2 -1
- package/dist/roles/gateway.module.js +6 -3
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +21 -1
- 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/device-paths.d.ts +40 -0
- package/dist/runtime/context/device-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/hook-calls.d.ts +8 -1
- package/dist/runtime/hook-calls.js +40 -7
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +36 -17
- package/dist/runtime/loop.d.ts +35 -6
- package/dist/runtime/maintenance.d.ts +9 -4
- package/dist/runtime/maintenance.js +35 -8
- package/dist/runtime/model-call.d.ts +54 -11
- package/dist/runtime/model-call.js +105 -28
- package/dist/runtime/providers.d.ts +149 -29
- package/dist/runtime/providers.js +332 -63
- 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 +11 -1
- package/dist/runtime/run-control.js +12 -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 +1 -1
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +7 -9
- package/dist/runtime/run-queue.d.ts +62 -5
- package/dist/runtime/run-queue.js +313 -40
- package/dist/runtime/run-worker.d.ts +19 -8
- package/dist/runtime/run-worker.js +105 -44
- package/dist/runtime/runtime.module.js +13 -3
- package/dist/runtime/step-log.d.ts +15 -4
- package/dist/runtime/step-log.js +24 -7
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +31 -26
- package/dist/runtime/subagents/definition.js +89 -142
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +116 -27
- package/dist/runtime/subagents/dispatch.js +213 -142
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.js +2 -1
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- 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 +25 -8
- package/dist/runtime/subagents/roster.js +48 -12
- package/dist/runtime/subagents/skill-fork.d.ts +4 -3
- package/dist/runtime/subagents/skill-fork.js +9 -5
- 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 +9 -6
- package/dist/runtime/subagents/subagents.service.js +13 -8
- 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 +35 -39
- package/dist/runtime/usage-report.js +171 -97
- package/dist/runtime/waits.d.ts +148 -39
- package/dist/runtime/waits.js +426 -112
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +34 -7
- package/dist/sandbox/providers.js +54 -9
- package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
- package/dist/sandbox/sandbox-file-reader.js +98 -0
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +10 -4
- package/dist/sandbox/sandbox.service.d.ts +345 -132
- package/dist/sandbox/sandbox.service.js +883 -399
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/setup/kernel-checks.d.ts +91 -0
- package/dist/setup/kernel-checks.js +295 -0
- package/dist/setup/oauth-token-probe.d.ts +47 -0
- package/dist/setup/oauth-token-probe.js +108 -0
- package/dist/setup/redact-check.d.ts +18 -0
- package/dist/setup/redact-check.js +46 -0
- package/dist/setup/setup-check-registry.d.ts +86 -0
- package/dist/setup/setup-check-registry.js +75 -0
- package/dist/setup/setup-checks.controller.d.ts +28 -0
- package/dist/setup/setup-checks.controller.js +78 -0
- package/dist/setup/setup-checks.schemas.d.ts +38 -0
- package/dist/setup/setup-checks.schemas.js +43 -0
- package/dist/setup/setup-checks.service.d.ts +144 -0
- package/dist/setup/setup-checks.service.js +683 -0
- package/dist/setup/setup-guides.controller.d.ts +18 -0
- package/dist/setup/setup-guides.controller.js +48 -0
- package/dist/setup/setup-guides.schemas.d.ts +10 -0
- package/dist/setup/setup-guides.schemas.js +6 -0
- package/dist/setup/setup-guides.service.d.ts +126 -0
- package/dist/setup/setup-guides.service.js +315 -0
- package/dist/setup/setup.module.d.ts +8 -0
- package/dist/setup/setup.module.js +31 -0
- package/dist/skills/agent-skills.controller.d.ts +48 -0
- package/dist/skills/agent-skills.controller.js +131 -0
- package/dist/skills/agent-skills.service.d.ts +262 -0
- package/dist/skills/agent-skills.service.js +996 -0
- package/dist/skills/catalog.d.ts +14 -11
- package/dist/skills/catalog.js +32 -50
- package/dist/skills/changes.controller.d.ts +12 -22
- package/dist/skills/changes.controller.js +27 -56
- package/dist/skills/changes.service.d.ts +69 -115
- package/dist/skills/changes.service.js +249 -598
- package/dist/skills/conversation-catalog.d.ts +53 -0
- package/dist/skills/conversation-catalog.js +149 -0
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +2 -2
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +3 -3
- package/dist/skills/invoke.js +21 -8
- package/dist/skills/package.d.ts +15 -1
- package/dist/skills/package.js +14 -1
- package/dist/skills/skills.controller.d.ts +32 -6
- package/dist/skills/skills.controller.js +64 -11
- package/dist/skills/skills.module.js +25 -3
- package/dist/skills/skills.schemas.d.ts +44 -0
- package/dist/skills/skills.schemas.js +68 -0
- package/dist/skills/skills.service.d.ts +123 -26
- package/dist/skills/skills.service.js +493 -76
- package/dist/skills/usable.d.ts +82 -0
- package/dist/skills/usable.js +388 -0
- package/dist/themes/render-css.d.ts +13 -0
- package/dist/themes/render-css.js +135 -0
- package/dist/themes/theme-delivery.service.d.ts +36 -0
- package/dist/themes/theme-delivery.service.js +116 -0
- package/dist/themes/theme-state.d.ts +116 -0
- package/dist/themes/theme-state.js +221 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +33 -0
- package/dist/themes/themes-public.controller.js +98 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/admin-connectors.d.ts +69 -0
- package/dist/tools/admin-connectors.js +135 -0
- package/dist/tools/approvals.controller.js +2 -3
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +26 -2
- package/dist/tools/approvals.service.js +44 -5
- package/dist/tools/builtin-names.d.ts +104 -0
- package/dist/tools/builtin-names.js +164 -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 +1 -1
- package/dist/tools/builtins/ask-user.js +5 -4
- package/dist/tools/builtins/builtin-tools.d.ts +23 -4
- package/dist/tools/builtins/builtin-tools.js +78 -12
- 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 +1 -1
- package/dist/tools/builtins/read-tool-output.js +2 -2
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +291 -39
- package/dist/tools/builtins/sandbox/common.d.ts +135 -36
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +19 -16
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +64 -50
- 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 +17 -12
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +153 -34
- 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 +29 -19
- 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 +51 -44
- 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 +29 -18
- package/dist/tools/builtins/skill-load.js +125 -73
- 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/connector-account-policies.d.ts +51 -0
- package/dist/tools/connector-account-policies.js +165 -0
- package/dist/tools/connectors.controller.d.ts +74 -9
- package/dist/tools/connectors.controller.js +133 -16
- package/dist/tools/connectors.schemas.d.ts +27 -0
- package/dist/tools/connectors.schemas.js +34 -0
- package/dist/tools/connectors.service.d.ts +101 -8
- package/dist/tools/connectors.service.js +266 -28
- package/dist/tools/credentials.d.ts +23 -0
- package/dist/tools/credentials.js +90 -1
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.js +5 -5
- 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 +61 -4
- package/dist/tools/info.js +119 -33
- 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 +114 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +1 -1
- package/dist/tools/oauth/flow-paths.js +1 -1
- package/dist/tools/oauth/flow.js +1 -1
- package/dist/tools/oauth/tokens.d.ts +54 -7
- package/dist/tools/oauth/tokens.js +87 -17
- package/dist/tools/org-tool-switches.d.ts +89 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.js +1 -1
- package/dist/tools/pipeline.d.ts +67 -47
- package/dist/tools/pipeline.js +319 -380
- package/dist/tools/policy.d.ts +30 -23
- package/dist/tools/policy.js +142 -64
- package/dist/tools/questions.controller.d.ts +1 -1
- package/dist/tools/questions.controller.js +1 -1
- package/dist/tools/questions.service.d.ts +23 -2
- package/dist/tools/questions.service.js +104 -2
- package/dist/tools/registry.d.ts +189 -68
- package/dist/tools/registry.js +318 -236
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/tools.module.js +31 -3
- package/dist/tools/validate.js +1 -1
- package/dist/ui/admin-ui.controller.d.ts +56 -0
- package/dist/ui/admin-ui.controller.js +192 -0
- package/dist/ui/arrangement.d.ts +65 -0
- package/dist/ui/arrangement.js +171 -0
- package/dist/ui/embed-token.d.ts +2 -2
- package/dist/ui/embed-token.js +30 -5
- package/dist/ui/registry.d.ts +42 -17
- package/dist/ui/registry.js +46 -14
- package/dist/ui/slots.controller.d.ts +11 -0
- package/dist/ui/slots.controller.js +25 -0
- package/dist/ui/ui-stream.d.ts +20 -3
- package/dist/ui/ui-stream.js +25 -7
- package/dist/ui/ui.schemas.d.ts +70 -0
- package/dist/ui/ui.schemas.js +65 -0
- package/dist/ui/views.controller.d.ts +35 -49
- package/dist/ui/views.controller.js +48 -70
- package/dist/ui/views.d.ts +112 -18
- package/dist/ui/views.js +254 -47
- package/package.json +6 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
- package/src/migrations/0105_devices_rename.sql +136 -0
- package/src/migrations/0106_setup_guides_v2.sql +10 -0
- package/src/migrations/0107_extension_client_builds.sql +50 -0
- package/src/migrations/0108_question_skipped.sql +6 -0
- package/src/migrations/0109_audit_platform_idx.sql +5 -0
- package/src/migrations/0110_usage_time_idx.sql +8 -0
- package/src/migrations/0111_agent_skill_sharing.sql +22 -0
- package/src/migrations/0112_skill_share_requests.sql +4 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -62
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
- package/dist/tools/builtins/skill-write.d.ts +0 -59
- package/dist/tools/builtins/skill-write.js +0 -244
package/dist/tools/pipeline.js
CHANGED
|
@@ -7,11 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
|
-
import { ToolError, validateInputForm, validateToolDisplay, } from "@capybara-hq/plugin-sdk";
|
|
10
|
+
import { parseToolKey, ToolError, validateInputForm, validateToolDisplay, } from "@capybara-hq/plugin-sdk";
|
|
11
11
|
import { Inject, Injectable, Optional } from "@nestjs/common";
|
|
12
|
-
import { normalizeStoredDefinition } from "../agents/definition.js";
|
|
13
12
|
import { EventLog } from "../conversations/event-log.js";
|
|
14
13
|
import { ToolViewSchema } from "../conversations/events.js";
|
|
14
|
+
import { ApiError } from "../errors.js";
|
|
15
|
+
import { EffectiveConfigs, NEEDS_CONFIG_REASON } from "../extensions/effective-config.js";
|
|
15
16
|
import { clipText } from "../extensions/hooks.js";
|
|
16
17
|
import { ExtensionHost } from "../extensions/host.js";
|
|
17
18
|
import { ExtensionUnloadedError, PLUGIN_UNLOADED_TOOL_ERROR } from "../extensions/inflight.js";
|
|
@@ -23,20 +24,26 @@ import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
|
23
24
|
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
24
25
|
import { UNKNOWN_RESULT_TEXT } from "../runtime/context/pairing.js";
|
|
25
26
|
import { fireObserve, hookDeniedAudit, hookDeniedEvent, hookScope, } from "../runtime/hook-calls.js";
|
|
26
|
-
import {
|
|
27
|
+
import { subagentWaitingIdemKey } from "../runtime/loop.js";
|
|
27
28
|
import { assistantIdemKey, MAX_MODEL_ATTEMPTS, modelCallIdemKey } from "../runtime/model-call.js";
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
29
|
+
import { rootSurfaceOf } from "../runtime/subagents/child.js";
|
|
30
|
+
import { SubagentMessages } from "../runtime/subagents/messages.js";
|
|
31
|
+
import { pairStoppedForks } from "../runtime/subagents/skill-fork.js";
|
|
31
32
|
import { SubagentsService } from "../runtime/subagents/subagents.service.js";
|
|
32
33
|
import { skillLoadOfferedIn } from "../skills/catalog.js";
|
|
33
34
|
import { ApprovalsService } from "./approvals.service.js";
|
|
34
35
|
import { Breaker, breakerOpenMessage } from "./breaker.js";
|
|
35
|
-
import {
|
|
36
|
+
import { SEND_MESSAGE, SUBAGENT_HANDBACK, TOOL_SEARCH } from "./builtin-names.js";
|
|
37
|
+
import { AGENT_TOOL, AgentToolInput } from "./builtins/agent.js";
|
|
38
|
+
import { HandbackInput } from "./builtins/handback.js";
|
|
39
|
+
import { SendMessageInput } from "./builtins/send-message.js";
|
|
36
40
|
import { isAlwaysLoaded, notLoadedText } from "./builtins/tool-search.js";
|
|
41
|
+
import { canonicalJson } from "./canonical-json.js";
|
|
37
42
|
import { CredentialMissing, Credentials } from "./credentials.js";
|
|
38
43
|
import { ToolDrift } from "./drift.js";
|
|
39
44
|
import { ElicitationSession } from "./elicitation.js";
|
|
45
|
+
import { legacyHint, legacyToolInput, legacyToolKey } from "./legacy-keys.js";
|
|
46
|
+
import { OrgToolSwitches, toolTurnedOffReason } from "./org-tool-switches.js";
|
|
40
47
|
import { renderResult, resolveOutputRefs, spillIfLarge, ToolOutputs } from "./outputs.js";
|
|
41
48
|
import { createDecidePolicy } from "./policy.js";
|
|
42
49
|
import { QuestionsService } from "./questions.service.js";
|
|
@@ -59,18 +66,61 @@ export const approvalExpiredText = (hours) => `Approval timed out after ${hours}
|
|
|
59
66
|
export const APPROVAL_CANCELLED_TEXT = "The run was stopped while waiting for approval.";
|
|
60
67
|
/** 等待用户输入期间 run 被中止。 */
|
|
61
68
|
export const INPUT_CANCELLED_TEXT = "The run was stopped while waiting for user input.";
|
|
69
|
+
/**
|
|
70
|
+
* The result of an `AskUserQuestion` call whose question the user skipped by sending a message
|
|
71
|
+
* (reply-while-question spec §7.1): the message follows in the log as an ordinary user message.
|
|
72
|
+
*/
|
|
73
|
+
export const QUESTION_SKIPPED_TEXT = "The user did not answer this question and sent a message instead; read it below and continue.";
|
|
74
|
+
/** The result of any other tool's input request (extension `input_required`, MCP elicitation) skipped by a message. */
|
|
75
|
+
export const INPUT_SKIPPED_TEXT = "The user did not provide the requested input and sent a message instead; read it below and continue. Call the tool again only if it is still needed.";
|
|
62
76
|
/** 同一调用连续请求输入超过上限。 */
|
|
63
77
|
export const TOO_MANY_INPUT_REQUESTS_TEXT = "Tool requested user input too many times.";
|
|
64
78
|
/** run 已被中止 / 到达截止时间,调用尚未开始执行。 */
|
|
65
79
|
export const RUN_STOPPED_TEXT = "The run was stopped before this tool call was executed.";
|
|
66
80
|
/** 调用执行中 run 被中止 / 到达截止时间。 */
|
|
67
81
|
export const RUN_STOPPED_DURING_TEXT = "The run was stopped while this tool call was running; its outcome is unknown. Verify before retrying.";
|
|
82
|
+
/** The fixed result of a call whose input request was skipped by a message (spec §7.1). */
|
|
83
|
+
const skippedResult = (toolKey) => toolKey === "AskUserQuestion"
|
|
84
|
+
? {
|
|
85
|
+
content: QUESTION_SKIPPED_TEXT,
|
|
86
|
+
isError: false,
|
|
87
|
+
display: {
|
|
88
|
+
summary: {
|
|
89
|
+
zh: "用户没有回答,直接发了消息",
|
|
90
|
+
en: "User sent a message instead of answering",
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
}
|
|
94
|
+
: {
|
|
95
|
+
content: INPUT_SKIPPED_TEXT,
|
|
96
|
+
isError: true,
|
|
97
|
+
display: {
|
|
98
|
+
summary: { zh: "用户没有提供输入,直接发了消息", en: "User sent a message instead" },
|
|
99
|
+
},
|
|
100
|
+
};
|
|
68
101
|
const timeoutText = (key, ms) => `Tool ${key} timed out after ${ms / 1000}s. The operation may or may not have completed; verify before retrying.`;
|
|
69
102
|
const failedText = (key, errName) => `Tool ${key} failed (${errName}). The operation may not have completed; check before retrying or try another approach.`;
|
|
70
|
-
|
|
71
|
-
|
|
103
|
+
/** The connector slugs and extension names among the run's tools (to read old `<x>__<tool>` keys). */
|
|
104
|
+
const legacyScopeOf = (tools) => {
|
|
105
|
+
const connectorSlugs = new Set();
|
|
106
|
+
const extensionNames = new Set();
|
|
107
|
+
for (const t of tools) {
|
|
108
|
+
const p = parseToolKey(t.key);
|
|
109
|
+
if (p?.kind === "connector")
|
|
110
|
+
connectorSlugs.add(p.slug);
|
|
111
|
+
else if (p?.kind === "extension")
|
|
112
|
+
extensionNames.add(p.plugin);
|
|
113
|
+
}
|
|
114
|
+
return { connectorSlugs, extensionNames };
|
|
115
|
+
};
|
|
116
|
+
const unknownToolText = (name, keys, toolSearch, hint = null) => `Unknown tool "${name}". Available tools: ${keys.length === 0 ? "(none)" : keys.join(", ")}.` +
|
|
117
|
+
(toolSearch ? " Use ToolSearch to load other tools." : "") +
|
|
118
|
+
(hint === null ? "" : ` ${hint}`);
|
|
72
119
|
const unavailableText = (name, reason) => `Tool "${name}" is unavailable: ${reason}.`;
|
|
73
|
-
|
|
120
|
+
/** With a per-call policy key (`Platform:<operation>`), the text names it. */
|
|
121
|
+
const deniedText = (key, policyKey) => policyKey === undefined || policyKey === key
|
|
122
|
+
? `Tool ${key} is denied by policy.`
|
|
123
|
+
: `Tool ${key} is denied by policy for ${policyKey}.`;
|
|
74
124
|
/** Longest hook reason quoted in {@link hookDeniedText}. */
|
|
75
125
|
const HOOK_REASON_MAX = 500;
|
|
76
126
|
/**
|
|
@@ -84,8 +134,6 @@ const personalMissingText = (connectorName) => `The user has not connected ${con
|
|
|
84
134
|
const orgMissingText = (connectorName) => `${connectorName} has no organization credential configured; ask an organization admin to set it up.`;
|
|
85
135
|
/** Optional provider: the pipeline's {@link ToolPipelineHooks} (tests). */
|
|
86
136
|
export const TOOL_PIPELINE_HOOKS = Symbol("TOOL_PIPELINE_HOOKS");
|
|
87
|
-
/** `runCall` dispatched a sub-agent: the call stays open until the child run finishes. */
|
|
88
|
-
const OPEN = "open";
|
|
89
137
|
const approvalAuthorization = (a) => ({
|
|
90
138
|
approvalId: a.id,
|
|
91
139
|
approvedByAccountId: a.decidedBy,
|
|
@@ -159,10 +207,12 @@ let ToolPipeline = class ToolPipeline {
|
|
|
159
207
|
decide;
|
|
160
208
|
deps;
|
|
161
209
|
constructor(kdb, eventLog,
|
|
162
|
-
/** The `
|
|
163
|
-
subagents,
|
|
210
|
+
/** The `Agent` tool's sub-agent dispatch; absent (tests): `Agent` calls are refused. */
|
|
211
|
+
subagents,
|
|
212
|
+
/** The message tools between agents; absent (tests): their calls are refused. */
|
|
213
|
+
messages, registry, credentials, breaker, outputs, approvals, questions, config, log,
|
|
164
214
|
/** Plugin hooks and inline ui contributions; absent (tests): no hooks, cards dropped. */
|
|
165
|
-
host, drift, txHost, hooks) {
|
|
215
|
+
host, drift, effective, switches, txHost, hooks) {
|
|
166
216
|
this.config = config;
|
|
167
217
|
this.txHost = txHost;
|
|
168
218
|
this.deps = {
|
|
@@ -181,15 +231,19 @@ let ToolPipeline = class ToolPipeline {
|
|
|
181
231
|
get pluginHooks() {
|
|
182
232
|
return host?.hooks;
|
|
183
233
|
},
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
234
|
+
effective,
|
|
235
|
+
switches,
|
|
236
|
+
inlineViews: (plugin) => new Set((host?.current(plugin)?.ui ?? [])
|
|
237
|
+
.filter((r) => r.slot.id === "conversation.tool-result.card" &&
|
|
238
|
+
r.contribution.aliasOf === undefined)
|
|
239
|
+
.map((r) => r.contribution.id)),
|
|
187
240
|
onToolsChanged: (orgId, connectorId) => {
|
|
188
241
|
void drift?.onToolsChanged(orgId, connectorId);
|
|
189
242
|
},
|
|
190
243
|
get subagents() {
|
|
191
244
|
return subagents ? { dispatch: (a) => subagents.dispatch(a) } : undefined;
|
|
192
245
|
},
|
|
246
|
+
messages,
|
|
193
247
|
};
|
|
194
248
|
const decide = hooks?.decidePolicy;
|
|
195
249
|
// the default policy reads live, on the context's handle
|
|
@@ -213,322 +267,43 @@ let ToolPipeline = class ToolPipeline {
|
|
|
213
267
|
// 每步实时解析(连接器 / 插件状态可能在模型调用之后变化)
|
|
214
268
|
if (!resolved) {
|
|
215
269
|
// the request builder's rule: a skills catalog snapshot (even an empty one) or a person's
|
|
216
|
-
// skill invocation in the log →
|
|
270
|
+
// skill invocation in the log → Skill is offered (see skillLoadOffered)
|
|
217
271
|
const skillLoad = await skillLoadOfferedIn(this.deps.db, this.deps.eventLog, ctx.conversationId);
|
|
218
272
|
resolved = await this.deps.registry.forAgent(ctx.orgId, {
|
|
219
|
-
|
|
273
|
+
disabledTools: ctx.agent.disabledTools,
|
|
274
|
+
subagentTools: ctx.agent.subagentTools,
|
|
220
275
|
skillLoad,
|
|
221
276
|
subagents: ctx.agent.subagents,
|
|
277
|
+
child: ctx.parent !== undefined,
|
|
278
|
+
forkChild: ctx.parent?.forSkill === true,
|
|
279
|
+
sandboxConversationId: ctx.parent?.rootConversationId ?? ctx.conversationId,
|
|
280
|
+
replay: ctx.conversationKind === "eval",
|
|
222
281
|
});
|
|
223
282
|
}
|
|
224
283
|
return resolved;
|
|
225
284
|
};
|
|
226
|
-
// `
|
|
227
|
-
//
|
|
228
|
-
let open = 0;
|
|
285
|
+
// an `Agent` call's dispatch writes its result (the sub-agent runs in the background, agent
|
|
286
|
+
// map spec §4.1), so no call keeps the step waiting on a sub-agent
|
|
229
287
|
for (const call of calls) {
|
|
230
288
|
if (await eventLog.findByIdem(ctx.conversationId, idem.result(ctx.runId, call.id)))
|
|
231
289
|
continue;
|
|
232
|
-
if (call.name === AGENT_TOOL) {
|
|
233
|
-
const row = await dispatchOfCall(this.deps.db, ctx.runId, call.id);
|
|
234
|
-
if (row) {
|
|
235
|
-
if (!(await this.finishAgentCall(ctx, row, call, resolve)))
|
|
236
|
-
open++;
|
|
237
|
-
continue;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
290
|
const waitingFor = await this.processCall(ctx, call, resolve);
|
|
241
|
-
if (waitingFor
|
|
242
|
-
open++;
|
|
243
|
-
else if (waitingFor)
|
|
291
|
+
if (waitingFor)
|
|
244
292
|
return { kind: "suspended", waitingFor };
|
|
245
293
|
}
|
|
246
|
-
if (open > 0) {
|
|
247
|
-
// the run is being stopped (a person, its deadline): it does not wait for its sub-agents;
|
|
248
|
-
// their calls get their results now, and the children are stopped after the run's terminal
|
|
249
|
-
// commit (spec §12)
|
|
250
|
-
if (ctx.signal.aborted) {
|
|
251
|
-
const stopped = await this.stopOpenAgentCallsNow(ctx.runId, ctx.agent);
|
|
252
|
-
if (stopped.toSeq !== null) {
|
|
253
|
-
await eventLog.notify(ctx.conversationId, stopped.toSeq);
|
|
254
|
-
}
|
|
255
|
-
stopped.fire();
|
|
256
|
-
return { kind: "done" };
|
|
257
|
-
}
|
|
258
|
-
return {
|
|
259
|
-
kind: "suspended",
|
|
260
|
-
waitingFor: subagentsWait(ctx.runId, ctx.step, this.config.get()),
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
294
|
return { kind: "done" };
|
|
264
295
|
}
|
|
265
296
|
/**
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
*
|
|
269
|
-
*
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
* dispatch time is not recorded, so nothing is guessed) and fires `tool.postExecute` with the
|
|
273
|
-
* result, from the replica that writes it (spec §11).
|
|
274
|
-
*/
|
|
275
|
-
async finishAgentCall(ctx, row, call, resolve) {
|
|
276
|
-
const modelGiven = typeof call.input === "object" &&
|
|
277
|
-
call.input !== null &&
|
|
278
|
-
call.input.model !== undefined;
|
|
279
|
-
const r = await childResult(this.deps.eventLog, row, { modelGiven });
|
|
280
|
-
if (!r)
|
|
281
|
-
return false;
|
|
282
|
-
// No spec-hash check as in processCall: an `agent` call writes no tool_call_started holding
|
|
283
|
-
// the executed definition's hash, and its description changes with the roster and limits
|
|
284
|
-
// while the child runs. The call's approval (forCall: its latest) is by construction the one
|
|
285
|
-
// that let this dispatch start, since a dispatch happens only after an approved decision.
|
|
286
|
-
const approval = await this.deps.approvals.forCall(ctx.runId, call.id);
|
|
287
|
-
await this.writeResult(ctx, row.parentCallId, AGENT_TOOL, { content: r.content, isError: r.isError }, [finishedEvent(row, r.finished)], {
|
|
288
|
-
durationMs: r.finished.durationMs,
|
|
289
|
-
connectorId: null,
|
|
290
|
-
...(approval?.status === "approved" && {
|
|
291
|
-
authorization: approvalAuthorization(approval),
|
|
292
|
-
}),
|
|
293
|
-
});
|
|
294
|
-
const hooks = this.deps.pluginHooks;
|
|
295
|
-
const scope = hookScope(hooks, ctx);
|
|
296
|
-
if (hooks && scope && hooks.has("tool.postExecute")) {
|
|
297
|
-
const tool = (await resolve()).tools.find((t) => t.key === AGENT_TOOL);
|
|
298
|
-
if (tool) {
|
|
299
|
-
fireObserve(hooks, "tool.postExecute", {
|
|
300
|
-
...scope,
|
|
301
|
-
step: ctx.step,
|
|
302
|
-
callId: call.id,
|
|
303
|
-
toolKey: AGENT_TOOL,
|
|
304
|
-
specHash: tool.specHash,
|
|
305
|
-
input: call.input,
|
|
306
|
-
isError: r.isError,
|
|
307
|
-
content: r.content,
|
|
308
|
-
durationMs: r.finished.durationMs,
|
|
309
|
-
}, ctx.signal, this.deps.log);
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
return true;
|
|
313
|
-
}
|
|
314
|
-
/** {@link stopOpenAgentCalls} in a transaction of its own (a stop seen by the tools node). */
|
|
315
|
-
async stopOpenAgentCallsNow(runId, agent) {
|
|
316
|
-
return this.stopOpenAgentCalls(runId, agent);
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Writes, in the caller's transaction (`mandatory`), the `tool_result` of every open `agent` call
|
|
320
|
-
* of a run that is being stopped
|
|
321
|
-
* (sub-agents spec §12: a person stopped it while it waited on sub-agents, or its deadline or a
|
|
322
|
-
* stop hit its tools node after a dispatch). A call whose child already ended gets the child's
|
|
323
|
-
* result (and the missing `subagent_finished`); one whose child is still active gets
|
|
324
|
-
* {@link AGENT_STOPPED_WITH_RUN_TEXT}. The caller stops those children after its commit.
|
|
325
|
-
*
|
|
326
|
-
* Like every `agent` result (see {@link finishAgentCall}), each is audited `tool.called` in it
|
|
327
|
-
* (duration: the child's, or the time since the dispatch) and fires `tool.postExecute`, through
|
|
328
|
-
* `fire()`, which the caller runs after its commit. Returns the steps and calls written (the
|
|
329
|
-
* caller must not write a "not executed" result for them) and the highest seq written.
|
|
297
|
+
* Writes, in the caller's transaction (`mandatory`), what a run that is being stopped (a person,
|
|
298
|
+
* its deadline, a failure, the wait sweep) still owes its log: the report of its fork invocation
|
|
299
|
+
* (phase D, `pairStoppedForks`; a still active fork child is stopped by the caller after its
|
|
300
|
+
* commit). An `Agent` call has its result from its dispatch (agent map spec §4.1), so there is
|
|
301
|
+
* nothing to write for it. Returns the fork's call id (the caller must not write a "not executed"
|
|
302
|
+
* result for it), the highest seq written, and `fire`, a no-op kept for the callers' hook phase.
|
|
330
303
|
*/
|
|
331
|
-
async stopOpenAgentCalls(runId
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
const forks = await pairStoppedForks(t, this.deps.eventLog, runId);
|
|
335
|
-
const none = {
|
|
336
|
-
steps: [],
|
|
337
|
-
callIds: new Set(forks.callIds),
|
|
338
|
-
toSeq: forks.toSeq,
|
|
339
|
-
fire: () => { },
|
|
340
|
-
};
|
|
341
|
-
const all = await t
|
|
342
|
-
.selectFrom("subagent_dispatches")
|
|
343
|
-
.select([
|
|
344
|
-
"parent_run_id",
|
|
345
|
-
"parent_call_id",
|
|
346
|
-
"parent_conversation_id",
|
|
347
|
-
"child_conversation_id",
|
|
348
|
-
"child_run_id",
|
|
349
|
-
"step",
|
|
350
|
-
"created_at",
|
|
351
|
-
])
|
|
352
|
-
.where("parent_run_id", "=", runId)
|
|
353
|
-
.orderBy("step")
|
|
354
|
-
.orderBy("created_at")
|
|
355
|
-
.execute();
|
|
356
|
-
const dispatches = all.filter((d) => forkSeqOfCall(d.parent_call_id, d.step) === null);
|
|
357
|
-
if (dispatches.length === 0)
|
|
358
|
-
return none;
|
|
359
|
-
const run = await t
|
|
360
|
-
.selectFrom("runs as r")
|
|
361
|
-
.innerJoin("conversations as c", "c.id", "r.conversation_id")
|
|
362
|
-
.select([
|
|
363
|
-
"r.conversation_id",
|
|
364
|
-
"r.trigger_account_id",
|
|
365
|
-
"r.agent_version",
|
|
366
|
-
"c.org_id",
|
|
367
|
-
"c.agent_id",
|
|
368
|
-
"c.kind",
|
|
369
|
-
])
|
|
370
|
-
.where("r.id", "=", runId)
|
|
371
|
-
.executeTakeFirst();
|
|
372
|
-
if (!run)
|
|
373
|
-
return none;
|
|
374
|
-
const conversationId = run.conversation_id;
|
|
375
|
-
const inputs = new Map();
|
|
376
|
-
const events = [];
|
|
377
|
-
const calls = [];
|
|
378
|
-
for (const d of dispatches) {
|
|
379
|
-
const written = await t
|
|
380
|
-
.selectFrom("conversation_events")
|
|
381
|
-
.select("seq")
|
|
382
|
-
.where("conversation_id", "=", conversationId)
|
|
383
|
-
.where("idem_key", "=", idem.result(runId, d.parent_call_id))
|
|
384
|
-
.executeTakeFirst();
|
|
385
|
-
if (written)
|
|
386
|
-
continue;
|
|
387
|
-
if (!inputs.has(`step:${d.step}`)) {
|
|
388
|
-
inputs.set(`step:${d.step}`, true);
|
|
389
|
-
const msg = await t
|
|
390
|
-
.selectFrom("conversation_events")
|
|
391
|
-
.select("payload")
|
|
392
|
-
.where("conversation_id", "=", conversationId)
|
|
393
|
-
.where("idem_key", "=", assistantIdemKey(runId, d.step))
|
|
394
|
-
.executeTakeFirst();
|
|
395
|
-
const content = msg?.payload?.content ?? [];
|
|
396
|
-
for (const b of content) {
|
|
397
|
-
if (b.type === "tool_call" && b.id !== undefined)
|
|
398
|
-
inputs.set(b.id, b.input);
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
const input = inputs.get(d.parent_call_id);
|
|
402
|
-
const row = {
|
|
403
|
-
parentRunId: d.parent_run_id,
|
|
404
|
-
parentCallId: d.parent_call_id,
|
|
405
|
-
parentConversationId: d.parent_conversation_id,
|
|
406
|
-
childConversationId: d.child_conversation_id,
|
|
407
|
-
childRunId: d.child_run_id,
|
|
408
|
-
};
|
|
409
|
-
const child = await t
|
|
410
|
-
.selectFrom("runs")
|
|
411
|
-
.select("status")
|
|
412
|
-
.where("id", "=", d.child_run_id)
|
|
413
|
-
.executeTakeFirst();
|
|
414
|
-
// a child that already ended keeps its own result (its log is committed)
|
|
415
|
-
const ended = child !== undefined && TERMINAL_STATUSES.has(child.status)
|
|
416
|
-
? await childResult(this.deps.eventLog, row, {
|
|
417
|
-
modelGiven: typeof input === "object" &&
|
|
418
|
-
input !== null &&
|
|
419
|
-
input.model !== undefined,
|
|
420
|
-
})
|
|
421
|
-
: null;
|
|
422
|
-
if (ended)
|
|
423
|
-
events.push(finishedEvent(row, ended.finished));
|
|
424
|
-
const r = ended
|
|
425
|
-
? { content: ended.content, isError: ended.isError, durationMs: ended.finished.durationMs }
|
|
426
|
-
: {
|
|
427
|
-
content: AGENT_STOPPED_WITH_RUN_TEXT,
|
|
428
|
-
isError: true,
|
|
429
|
-
durationMs: Math.max(0, Date.now() - new Date(d.created_at).getTime()),
|
|
430
|
-
};
|
|
431
|
-
events.push({
|
|
432
|
-
type: "tool_result",
|
|
433
|
-
runId,
|
|
434
|
-
idemKey: idem.result(runId, d.parent_call_id),
|
|
435
|
-
payload: {
|
|
436
|
-
step: d.step,
|
|
437
|
-
callId: d.parent_call_id,
|
|
438
|
-
toolKey: AGENT_TOOL,
|
|
439
|
-
content: r.content,
|
|
440
|
-
isError: r.isError,
|
|
441
|
-
},
|
|
442
|
-
});
|
|
443
|
-
calls.push({ step: d.step, callId: d.parent_call_id, input, r });
|
|
444
|
-
}
|
|
445
|
-
if (calls.length === 0)
|
|
446
|
-
return none;
|
|
447
|
-
const written = await this.deps.eventLog.appendIn(conversationId, events);
|
|
448
|
-
for (const c of calls) {
|
|
449
|
-
const approval = await t
|
|
450
|
-
.selectFrom("approvals")
|
|
451
|
-
.select(["id", "status", "decided_by", "scope"])
|
|
452
|
-
.where("run_id", "=", runId)
|
|
453
|
-
.where("call_id", "=", c.callId)
|
|
454
|
-
.orderBy("attempt", "desc")
|
|
455
|
-
.limit(1)
|
|
456
|
-
.executeTakeFirst();
|
|
457
|
-
await audit(t, {
|
|
458
|
-
actorAccountId: run.trigger_account_id,
|
|
459
|
-
orgId: run.org_id,
|
|
460
|
-
action: "tool.called",
|
|
461
|
-
target: conversationId,
|
|
462
|
-
detail: {
|
|
463
|
-
toolKey: AGENT_TOOL,
|
|
464
|
-
isError: c.r.isError,
|
|
465
|
-
durationMs: c.r.durationMs,
|
|
466
|
-
agentId: run.agent_id,
|
|
467
|
-
agentVersion: run.agent_version,
|
|
468
|
-
conversationId,
|
|
469
|
-
runId,
|
|
470
|
-
callId: c.callId,
|
|
471
|
-
...(approval?.status === "approved" && {
|
|
472
|
-
approvalId: approval.id,
|
|
473
|
-
approvedByAccountId: approval.decided_by,
|
|
474
|
-
scope: approval.scope,
|
|
475
|
-
}),
|
|
476
|
-
},
|
|
477
|
-
});
|
|
478
|
-
}
|
|
479
|
-
const fire = () => {
|
|
480
|
-
const hooks = this.deps.pluginHooks;
|
|
481
|
-
const scope = hookScope(hooks, {
|
|
482
|
-
conversationKind: run.kind,
|
|
483
|
-
orgId: run.org_id,
|
|
484
|
-
accountId: run.trigger_account_id,
|
|
485
|
-
agentId: run.agent_id,
|
|
486
|
-
agentVersion: run.agent_version,
|
|
487
|
-
conversationId,
|
|
488
|
-
runId,
|
|
489
|
-
});
|
|
490
|
-
if (!hooks || !scope || !hooks.has("tool.postExecute"))
|
|
491
|
-
return;
|
|
492
|
-
void (async () => {
|
|
493
|
-
const def = agent ??
|
|
494
|
-
normalizeStoredDefinition((await this.deps.db
|
|
495
|
-
.selectFrom("agent_versions")
|
|
496
|
-
.select("definition")
|
|
497
|
-
.where("agent_id", "=", run.agent_id)
|
|
498
|
-
.where("version", "=", run.agent_version)
|
|
499
|
-
.executeTakeFirstOrThrow()).definition);
|
|
500
|
-
const skillLoad = await skillLoadOfferedIn(this.deps.db, this.deps.eventLog, conversationId);
|
|
501
|
-
const resolved = await this.deps.registry.forAgent(run.org_id, {
|
|
502
|
-
tools: def.tools ?? [],
|
|
503
|
-
skillLoad,
|
|
504
|
-
subagents: def.subagents,
|
|
505
|
-
});
|
|
506
|
-
const tool = resolved.tools.find((x) => x.key === AGENT_TOOL);
|
|
507
|
-
if (!tool)
|
|
508
|
-
return;
|
|
509
|
-
// the run is over: nothing aborts these observe hooks but their own timeouts
|
|
510
|
-
const signal = new AbortController().signal;
|
|
511
|
-
for (const c of calls) {
|
|
512
|
-
fireObserve(hooks, "tool.postExecute", {
|
|
513
|
-
...scope,
|
|
514
|
-
step: c.step,
|
|
515
|
-
callId: c.callId,
|
|
516
|
-
toolKey: AGENT_TOOL,
|
|
517
|
-
specHash: tool.specHash,
|
|
518
|
-
input: c.input,
|
|
519
|
-
isError: c.r.isError,
|
|
520
|
-
content: c.r.content,
|
|
521
|
-
durationMs: c.r.durationMs,
|
|
522
|
-
}, signal, this.deps.log);
|
|
523
|
-
}
|
|
524
|
-
})().catch((err) => this.deps.log.warn("cannot fire tool.postExecute for stopped agent calls", { runId, err }));
|
|
525
|
-
};
|
|
526
|
-
return {
|
|
527
|
-
steps: [...new Set(calls.map((c) => c.step))],
|
|
528
|
-
callIds: new Set([...forks.callIds, ...calls.map((c) => c.callId)]),
|
|
529
|
-
toSeq: Math.max(forks.toSeq ?? 0, ...written.map((e) => e.seq)),
|
|
530
|
-
fire,
|
|
531
|
-
};
|
|
304
|
+
async stopOpenAgentCalls(runId) {
|
|
305
|
+
const forks = await pairStoppedForks(this.deps.db, this.deps.eventLog, runId);
|
|
306
|
+
return { steps: [], callIds: new Set(forks.callIds), toSeq: forks.toSeq, fire: () => { } };
|
|
532
307
|
}
|
|
533
308
|
/**
|
|
534
309
|
* 处理一个尚无结果的调用。先看输入请求的轮次:最近一轮仍 pending → 继续等;否则本次是第
|
|
@@ -540,6 +315,12 @@ let ToolPipeline = class ToolPipeline {
|
|
|
540
315
|
const last = rounds.at(-1);
|
|
541
316
|
if (last?.status === "pending")
|
|
542
317
|
return inputWait(last);
|
|
318
|
+
// skipped by the starter's message: the kernel writes the result, the tool is not called again
|
|
319
|
+
// (spec D6: an extension would only see `answer: null`, an MCP call would be re-sent)
|
|
320
|
+
if (last?.status === "skipped") {
|
|
321
|
+
await this.writeResult(ctx, call.id, last.toolKey, skippedResult(last.toolKey));
|
|
322
|
+
return undefined;
|
|
323
|
+
}
|
|
543
324
|
const attempt = rounds.length + 1;
|
|
544
325
|
const started = await this.deps.eventLog.findByIdem(ctx.conversationId, idem.started(ctx.runId, call.id, attempt));
|
|
545
326
|
if (started?.type === "tool_call_started") {
|
|
@@ -578,36 +359,49 @@ let ToolPipeline = class ToolPipeline {
|
|
|
578
359
|
await this.writeResult(ctx, call.id, key, { content, isError: true });
|
|
579
360
|
return undefined;
|
|
580
361
|
};
|
|
581
|
-
|
|
362
|
+
let tool = resolved.tools.find((t) => t.key === call.name);
|
|
363
|
+
// A call logged before the tool keys were renamed (spec 8.1): the request that issued it offered
|
|
364
|
+
// the old key. It runs as the current tool with translated input; the result keeps the logged key.
|
|
365
|
+
let legacy = false;
|
|
366
|
+
if (!tool) {
|
|
367
|
+
const next = legacyToolKey(call.name, legacyScopeOf(resolved.tools));
|
|
368
|
+
const current = next === null ? undefined : resolved.tools.find((t) => t.key === next);
|
|
369
|
+
if (current && (await this.requestToolKeys(ctx))?.has(call.name) === true) {
|
|
370
|
+
tool = current;
|
|
371
|
+
legacy = true;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
582
374
|
if (!tool) {
|
|
583
375
|
const why = resolved.unavailable.find((u) => u.ref === call.name) ??
|
|
584
376
|
resolved.hidden?.find((u) => u.ref === call.name);
|
|
585
377
|
if (why)
|
|
586
378
|
return fail(unavailableText(call.name, why.reason));
|
|
587
379
|
let keys = resolved.tools.map((t) => t.key);
|
|
588
|
-
//
|
|
380
|
+
// ToolSearch 模式:目录可能很大,只列内置工具与发出本次调用的请求里带了定义的工具
|
|
589
381
|
if (resolved.toolSearch === true) {
|
|
590
382
|
const sent = await this.sentTools(ctx);
|
|
591
383
|
if (sent !== null)
|
|
592
384
|
keys = keys.filter((k) => isAlwaysLoaded(k) || sent.has(k));
|
|
593
385
|
}
|
|
594
386
|
keys.sort();
|
|
595
|
-
return fail(unknownToolText(call.name, keys, keys.includes(
|
|
387
|
+
return fail(unknownToolText(call.name, keys, keys.includes(TOOL_SEARCH), legacyHint(call.name)));
|
|
596
388
|
}
|
|
597
|
-
|
|
598
|
-
//
|
|
599
|
-
|
|
389
|
+
const outKey = legacy ? call.name : tool.key;
|
|
390
|
+
// ToolSearch 模式下,模型只能调用请求里带了完整定义的工具:目录里有、但发出本次调用的请求没加载 →
|
|
391
|
+
// 明确错误,不自动加载(spec 5.5 / 6.3)。同一步里先 ToolSearch 再调用刚加载的工具同样报错。
|
|
392
|
+
if (!legacy && resolved.toolSearch === true && !isAlwaysLoaded(tool.key)) {
|
|
600
393
|
const sent = await this.sentTools(ctx);
|
|
601
394
|
if (sent !== null && !sent.has(tool.key))
|
|
602
|
-
return fail(notLoadedText(tool.key),
|
|
395
|
+
return fail(notLoadedText(tool.key), outKey);
|
|
603
396
|
}
|
|
397
|
+
const rawInput = legacy ? legacyToolInput(call.name, call.input) : call.input;
|
|
604
398
|
let input;
|
|
605
399
|
try {
|
|
606
|
-
input = await resolveOutputRefs(
|
|
400
|
+
input = await resolveOutputRefs(rawInput, (id) => this.deps.outputs.load({ orgId: ctx.orgId, conversationId: ctx.conversationId }, id));
|
|
607
401
|
}
|
|
608
402
|
catch (e) {
|
|
609
403
|
if (e instanceof ToolError)
|
|
610
|
-
return fail(e.message,
|
|
404
|
+
return fail(e.message, outKey);
|
|
611
405
|
throw e;
|
|
612
406
|
}
|
|
613
407
|
// 连接器工具的 schema 来自连接器(不受信任):去掉有风险的关键字并限制大小 / 层数
|
|
@@ -616,7 +410,23 @@ let ToolPipeline = class ToolPipeline {
|
|
|
616
410
|
log: this.deps.log,
|
|
617
411
|
});
|
|
618
412
|
if (invalid !== null)
|
|
619
|
-
return fail(invalid,
|
|
413
|
+
return fail(invalid, outKey);
|
|
414
|
+
// the per-call policy key (Platform tool spec §6.2): key and summary come from the resolved
|
|
415
|
+
// input, while the approval binding below compares the raw call.input
|
|
416
|
+
const callPolicy = (await tool.callPolicy?.(input, {
|
|
417
|
+
orgId: ctx.orgId,
|
|
418
|
+
accountId: ctx.accountId,
|
|
419
|
+
agentId: ctx.agentId,
|
|
420
|
+
conversationId: ctx.conversationId,
|
|
421
|
+
runId: ctx.runId,
|
|
422
|
+
rawInput,
|
|
423
|
+
signal: ctx.signal,
|
|
424
|
+
})) ?? null;
|
|
425
|
+
// a deny with a reason (e.g. an unavailable operation): the reason is the tool error
|
|
426
|
+
if (callPolicy?.policy === "deny" && callPolicy.denyReason !== undefined) {
|
|
427
|
+
return fail(callPolicy.denyReason, outKey);
|
|
428
|
+
}
|
|
429
|
+
const policyKey = callPolicy?.key ?? tool.key;
|
|
620
430
|
const decision = await this.decide(tool, ctx.agent, {
|
|
621
431
|
orgId: ctx.orgId,
|
|
622
432
|
accountId: ctx.accountId,
|
|
@@ -625,19 +435,29 @@ let ToolPipeline = class ToolPipeline {
|
|
|
625
435
|
runId: ctx.runId,
|
|
626
436
|
...(ctx.parent !== undefined && {
|
|
627
437
|
parentConversationId: ctx.parent.conversationId,
|
|
438
|
+
rootConversationId: ctx.parent.rootConversationId,
|
|
628
439
|
...(ctx.parent.otherAgent !== undefined && { parentAgentDiffers: ctx.parent.otherAgent }),
|
|
629
440
|
}),
|
|
441
|
+
callPolicy,
|
|
630
442
|
});
|
|
631
443
|
if (decision === "deny")
|
|
632
|
-
return fail(deniedText(tool.key
|
|
444
|
+
return fail(deniedText(tool.key, callPolicy?.key), outKey);
|
|
633
445
|
if (typeof decision === "object" && "unavailable" in decision) {
|
|
634
|
-
return fail(unavailableText(tool.key, decision.unavailable),
|
|
446
|
+
return fail(unavailableText(tool.key, decision.unavailable), outKey);
|
|
635
447
|
}
|
|
636
448
|
// 该调用已有审批(续跑)→ 按审批结果;没有且策略为 ask → 建审批并等待
|
|
637
449
|
// (不写 tool_call_started:此时尚未开始执行)。
|
|
638
450
|
let approval = await this.deps.approvals.forCall(ctx.runId, call.id);
|
|
639
451
|
// 批准的是旧定义(等待期间工具定义变了):原批准不适用于当前定义,策略仍需审批时按新定义重新审批。
|
|
640
|
-
|
|
452
|
+
// An in-flight rc call (spec §9) is the exception: its approval was asked under the rc definition
|
|
453
|
+
// of the same call, and the rename changed every builtin's definition; the person approved this
|
|
454
|
+
// very call, so the approval stands.
|
|
455
|
+
// An approval binds the exact input it showed (Platform tool spec §6.3): an approved record
|
|
456
|
+
// whose stored input differs from the call's is not used.
|
|
457
|
+
const approvedHere = approval?.status === "approved" &&
|
|
458
|
+
(legacy || approval.specHash === tool.specHash) &&
|
|
459
|
+
canonicalJson(approval.input) === canonicalJson(call.input ?? {});
|
|
460
|
+
const stale = approval?.status === "approved" && !approvedHere;
|
|
641
461
|
if ((!approval || stale) && typeof decision === "object" && "ask" in decision) {
|
|
642
462
|
approval = await this.deps.approvals.request({
|
|
643
463
|
attempt: (approval?.attempt ?? 0) + 1,
|
|
@@ -646,21 +466,23 @@ let ToolPipeline = class ToolPipeline {
|
|
|
646
466
|
runId: ctx.runId,
|
|
647
467
|
step: ctx.step,
|
|
648
468
|
callId: call.id,
|
|
649
|
-
toolKey:
|
|
469
|
+
toolKey: policyKey,
|
|
650
470
|
specHash: decision.ask.specHash,
|
|
651
471
|
connectorId: decision.ask.connectorId,
|
|
652
472
|
input: call.input,
|
|
653
473
|
requestedFor: decision.ask.requestedFor,
|
|
654
474
|
approverRole: decision.ask.approverRole,
|
|
655
475
|
policy: decision.ask.policy,
|
|
476
|
+
...(callPolicy?.summary !== undefined && { summary: callPolicy.summary }),
|
|
477
|
+
...(callPolicy !== null && !callPolicy.remember && { scopes: ["once"] }),
|
|
656
478
|
});
|
|
657
479
|
}
|
|
658
480
|
if (approval && approval.status !== "approved") {
|
|
659
481
|
const refused = this.refusalText(approval);
|
|
660
|
-
return refused === null ? approvalWait(approval) : fail(refused,
|
|
482
|
+
return refused === null ? approvalWait(approval) : fail(refused, outKey);
|
|
661
483
|
}
|
|
662
484
|
// 走到这里即放行:在(与当前定义一致的)审批下执行,否则是授权或策略放行
|
|
663
|
-
const authorization = approval?.status === "approved" &&
|
|
485
|
+
const authorization = approval?.status === "approved" && approvedHere
|
|
664
486
|
? approvalAuthorization(approval)
|
|
665
487
|
: typeof decision === "object" && "grant" in decision
|
|
666
488
|
? { grant: decision.grant }
|
|
@@ -675,7 +497,7 @@ let ToolPipeline = class ToolPipeline {
|
|
|
675
497
|
// written with the call's tool_result, so a call with a logged denial never runs again anyway.
|
|
676
498
|
const prior = await this.deps.eventLog.findByIdem(ctx.conversationId, idem.hookDenied(ctx.runId, call.id));
|
|
677
499
|
if (prior?.type === "hook_denied") {
|
|
678
|
-
return fail(hookDeniedText(prior.payload.plugin, prior.payload.reason),
|
|
500
|
+
return fail(hookDeniedText(prior.payload.plugin, prior.payload.reason), outKey);
|
|
679
501
|
}
|
|
680
502
|
}
|
|
681
503
|
// payload only built when a tool hook is registered (zero overhead otherwise)
|
|
@@ -697,7 +519,7 @@ let ToolPipeline = class ToolPipeline {
|
|
|
697
519
|
catch (e) {
|
|
698
520
|
// run() rejects only when the run's signal aborted: an abort, never a deny
|
|
699
521
|
if (ctx.signal.aborted)
|
|
700
|
-
return fail(RUN_STOPPED_TEXT,
|
|
522
|
+
return fail(RUN_STOPPED_TEXT, outKey);
|
|
701
523
|
throw e;
|
|
702
524
|
}
|
|
703
525
|
if (!verdict.allowed) {
|
|
@@ -715,20 +537,76 @@ let ToolPipeline = class ToolPipeline {
|
|
|
715
537
|
step: ctx.step,
|
|
716
538
|
callId: call.id,
|
|
717
539
|
});
|
|
718
|
-
await this.writeResult(ctx, call.id,
|
|
540
|
+
await this.writeResult(ctx, call.id, outKey, { content: hookDeniedText(verdict.plugin, verdict.reason), isError: true }, [event], undefined, [hookDeniedAudit(site, event.payload, verdict)]);
|
|
719
541
|
return undefined;
|
|
720
542
|
}
|
|
721
543
|
}
|
|
722
|
-
// `
|
|
723
|
-
//
|
|
544
|
+
// `Agent` (sub-agents spec §7.1, agent map spec §4.1): no tool_call_started; one transaction
|
|
545
|
+
// makes the dispatch durable (its marker is the subagent_dispatches row) and writes the call's
|
|
546
|
+
// immediate result, while the sub-agent runs in the background
|
|
724
547
|
const dispatcher = this.deps.subagents;
|
|
725
548
|
if (tool.source.kind === "builtin" && tool.key === AGENT_TOOL && dispatcher) {
|
|
726
549
|
const parsed = AgentToolInput.safeParse(input);
|
|
727
550
|
if (!parsed.success) {
|
|
728
|
-
return fail("Invalid agent call: pass description and prompt, and optionally subagent_type
|
|
551
|
+
return fail("Invalid agent call: pass description and prompt, and optionally subagent_type and model.", outKey);
|
|
729
552
|
}
|
|
730
|
-
const r = await dispatcher.dispatch({
|
|
731
|
-
|
|
553
|
+
const r = await dispatcher.dispatch({
|
|
554
|
+
ctx,
|
|
555
|
+
callId: call.id,
|
|
556
|
+
input: parsed.data,
|
|
557
|
+
call: { toolKey: outKey, authorization, startedAt: Date.now() },
|
|
558
|
+
});
|
|
559
|
+
if (r.kind === "refused")
|
|
560
|
+
return fail(r.content, outKey);
|
|
561
|
+
if (hooks && hookBase) {
|
|
562
|
+
fireObserve(hooks, "tool.postExecute", {
|
|
563
|
+
...hookBase,
|
|
564
|
+
isError: false,
|
|
565
|
+
content: r.content,
|
|
566
|
+
durationMs: 0,
|
|
567
|
+
}, ctx.signal, this.deps.log);
|
|
568
|
+
}
|
|
569
|
+
return undefined;
|
|
570
|
+
}
|
|
571
|
+
// `SendMessage` and `SubagentHandback` (agent map spec §4.2, §4.3): no tool_call_started; each
|
|
572
|
+
// write is idempotent by the call (the message in the sub-agent's log, the delivery in the
|
|
573
|
+
// parent's), so a call retried after a crash sends nothing twice. A send that starts an idle
|
|
574
|
+
// sub-agent writes its result with the dispatch, like `Agent`
|
|
575
|
+
const messenger = this.deps.messages;
|
|
576
|
+
if (tool.source.kind === "builtin" &&
|
|
577
|
+
(tool.key === SEND_MESSAGE || tool.key === SUBAGENT_HANDBACK) &&
|
|
578
|
+
messenger) {
|
|
579
|
+
const t0 = Date.now();
|
|
580
|
+
let r;
|
|
581
|
+
if (tool.key === SEND_MESSAGE) {
|
|
582
|
+
const parsed = SendMessageInput.safeParse(input);
|
|
583
|
+
if (!parsed.success) {
|
|
584
|
+
return fail("Invalid SendMessage call: pass to and message.", outKey);
|
|
585
|
+
}
|
|
586
|
+
r = await messenger.toChild(ctx, call.id, parsed.data.to, parsed.data.message, {
|
|
587
|
+
authorization,
|
|
588
|
+
});
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
const parsed = HandbackInput.safeParse(input);
|
|
592
|
+
if (!parsed.success)
|
|
593
|
+
return fail("Invalid SubagentHandback call: pass message.", outKey);
|
|
594
|
+
r = await messenger.toParent(ctx, "report", parsed.data.message, call.id);
|
|
595
|
+
}
|
|
596
|
+
if (r.isError)
|
|
597
|
+
return fail(r.content, outKey);
|
|
598
|
+
const durationMs = Date.now() - t0;
|
|
599
|
+
if (r.logged !== true) {
|
|
600
|
+
await this.writeResult(ctx, call.id, outKey, { content: r.content, isError: false }, [], {
|
|
601
|
+
durationMs,
|
|
602
|
+
connectorId: null,
|
|
603
|
+
authorization,
|
|
604
|
+
});
|
|
605
|
+
}
|
|
606
|
+
if (hooks && hookBase) {
|
|
607
|
+
fireObserve(hooks, "tool.postExecute", { ...hookBase, isError: false, content: r.content, durationMs }, ctx.signal, this.deps.log);
|
|
608
|
+
}
|
|
609
|
+
return undefined;
|
|
732
610
|
}
|
|
733
611
|
await this.deps.eventLog.append(ctx.conversationId, [
|
|
734
612
|
{
|
|
@@ -751,7 +629,7 @@ let ToolPipeline = class ToolPipeline {
|
|
|
751
629
|
const rendered = outcome.kind === "result"
|
|
752
630
|
? renderResult(outcome.result)
|
|
753
631
|
: { text: outcome.message, contentTypes: [], isError: true };
|
|
754
|
-
// 内置工具(
|
|
632
|
+
// 内置工具(ToolSearch)报告的已加载工具:只认本步可用、非内置的 key,写进 tool_result(日志即事实源)
|
|
755
633
|
const loadedTools = outcome.kind === "result" && tool.source.kind === "builtin"
|
|
756
634
|
? loadedFrom(outcome.result, resolved.tools)
|
|
757
635
|
: [];
|
|
@@ -795,7 +673,7 @@ let ToolPipeline = class ToolPipeline {
|
|
|
795
673
|
},
|
|
796
674
|
]
|
|
797
675
|
: [];
|
|
798
|
-
await this.writeResult(ctx, call.id,
|
|
676
|
+
await this.writeResult(ctx, call.id, outKey, {
|
|
799
677
|
content: spilled.content,
|
|
800
678
|
isError: rendered.isError,
|
|
801
679
|
...(spilled.outputId !== undefined && { outputId: spilled.outputId }),
|
|
@@ -809,24 +687,11 @@ let ToolPipeline = class ToolPipeline {
|
|
|
809
687
|
connectorId: tool.source.kind === "connector" ? tool.source.connectorId : null,
|
|
810
688
|
authorization,
|
|
811
689
|
});
|
|
812
|
-
// a sub-agent that needs a personal connection: mirrored in the
|
|
813
|
-
// not a wait, the child got the connect
|
|
690
|
+
// a sub-agent that needs a personal connection: mirrored in the root conversation of its tree
|
|
691
|
+
// for display (sub-agents spec §9, agent map spec §7; not a wait, the child got the connect
|
|
692
|
+
// text as its result)
|
|
814
693
|
if (outcome.kind === "connection_required" && ctx.parent !== undefined) {
|
|
815
|
-
await this.deps.
|
|
816
|
-
.append(ctx.parent.conversationId, [
|
|
817
|
-
{
|
|
818
|
-
type: "subagent_waiting",
|
|
819
|
-
runId: ctx.parent.runId,
|
|
820
|
-
idemKey: subagentWaitingIdemKey(ctx.runId, `connect-${call.id}`),
|
|
821
|
-
payload: {
|
|
822
|
-
subagentId: ctx.conversationId,
|
|
823
|
-
childRunId: ctx.runId,
|
|
824
|
-
kind: "connect",
|
|
825
|
-
toolKey: tool.key,
|
|
826
|
-
},
|
|
827
|
-
},
|
|
828
|
-
])
|
|
829
|
-
.catch((err) => this.deps.log.warn("cannot surface a sub-agent's connect card in its parent", {
|
|
694
|
+
await this.surfaceConnectInRoot(ctx, ctx.parent, call.id, tool.key).catch((err) => this.deps.log.warn("cannot surface a sub-agent's connect card in its root conversation", {
|
|
830
695
|
runId: ctx.runId,
|
|
831
696
|
err,
|
|
832
697
|
}));
|
|
@@ -836,9 +701,44 @@ let ToolPipeline = class ToolPipeline {
|
|
|
836
701
|
}
|
|
837
702
|
return undefined;
|
|
838
703
|
}
|
|
704
|
+
/** Appends a sub-agent's connect card to its root conversation ({@link rootSurfaceOf}). */
|
|
705
|
+
async surfaceConnectInRoot(ctx, parent, callId, toolKey) {
|
|
706
|
+
const target = await rootSurfaceOf(this.deps.db, ctx.conversationId, ctx.runId, parent);
|
|
707
|
+
if (!target)
|
|
708
|
+
return;
|
|
709
|
+
await this.deps.eventLog.append(target.conversationId, [
|
|
710
|
+
{
|
|
711
|
+
type: "subagent_waiting",
|
|
712
|
+
runId: target.runId,
|
|
713
|
+
idemKey: subagentWaitingIdemKey(ctx.runId, `connect-${callId}`),
|
|
714
|
+
payload: {
|
|
715
|
+
subagentId: ctx.conversationId,
|
|
716
|
+
childRunId: ctx.runId,
|
|
717
|
+
path: target.path,
|
|
718
|
+
kind: "connect",
|
|
719
|
+
toolKey,
|
|
720
|
+
},
|
|
721
|
+
},
|
|
722
|
+
]);
|
|
723
|
+
}
|
|
724
|
+
/**
|
|
725
|
+
* Every tool key the request that issued this step's calls offered (`request.tools` plus the
|
|
726
|
+
* `catalog` keys), in any mode; null when its model_call is not found. Used to tell a call to an
|
|
727
|
+
* old key that was offered (in flight across the rename) from one that never was.
|
|
728
|
+
*/
|
|
729
|
+
async requestToolKeys(ctx) {
|
|
730
|
+
for (let attempt = MAX_MODEL_ATTEMPTS; attempt >= 1; attempt--) {
|
|
731
|
+
const e = await this.deps.eventLog.findByIdem(ctx.conversationId, modelCallIdemKey(ctx.runId, ctx.step, attempt));
|
|
732
|
+
if (e?.type !== "model_call")
|
|
733
|
+
continue;
|
|
734
|
+
const { tools, catalog } = e.payload.request;
|
|
735
|
+
return new Set([...(tools ?? []), ...(catalog ?? [])].map((t) => t.key));
|
|
736
|
+
}
|
|
737
|
+
return null;
|
|
738
|
+
}
|
|
839
739
|
/**
|
|
840
740
|
* 发出本步调用的请求里带了完整定义的工具 key:本步最后一次尝试的 `model_call.request.tools`
|
|
841
|
-
* (`assistant_message` 来自最后一次尝试)。该请求不在
|
|
741
|
+
* (`assistant_message` 来自最后一次尝试)。该请求不在 ToolSearch 模式(没有 `catalog`,工具全部发送)
|
|
842
742
|
* 或找不到 model_call 时返回 null(不做加载检查)。已加载集合由此从日志得出,不放进程内存。
|
|
843
743
|
*/
|
|
844
744
|
async sentTools(ctx) {
|
|
@@ -912,7 +812,7 @@ let ToolPipeline = class ToolPipeline {
|
|
|
912
812
|
const handler = this.deps.registry.handler(tool.source);
|
|
913
813
|
if (!handler)
|
|
914
814
|
return { kind: "error", message: `Tool ${tool.key} is no longer available.` };
|
|
915
|
-
// 插件处理函数只拿到 SDK 的 ToolCallContext;内置工具另外拿到本步解析出的工具(
|
|
815
|
+
// 插件处理函数只拿到 SDK 的 ToolCallContext;内置工具另外拿到本步解析出的工具(ToolSearch 用)
|
|
916
816
|
const base = {
|
|
917
817
|
orgId: ctx.orgId,
|
|
918
818
|
accountId: ctx.accountId,
|
|
@@ -924,14 +824,48 @@ let ToolPipeline = class ToolPipeline {
|
|
|
924
824
|
...(tool.source.kind === "builtin" && { runId: ctx.runId }),
|
|
925
825
|
...(tool.source.kind === "builtin" &&
|
|
926
826
|
ctx.deadline !== undefined && { runDeadline: ctx.deadline }),
|
|
927
|
-
// a sub-agent works in its
|
|
827
|
+
// a sub-agent works in its root conversation's sandbox (spec §10.1, at every depth)
|
|
828
|
+
...(tool.source.kind === "builtin" &&
|
|
829
|
+
ctx.parent !== undefined && { sandboxConversationId: ctx.parent.rootConversationId }),
|
|
928
830
|
...(tool.source.kind === "builtin" &&
|
|
929
|
-
ctx.parent !== undefined && {
|
|
831
|
+
ctx.parent !== undefined && { parentRunId: ctx.parent.runId }),
|
|
832
|
+
...(tool.source.kind === "builtin" &&
|
|
833
|
+
ctx.parent?.budgetRunId !== undefined && { budgetRunId: ctx.parent.budgetRunId }),
|
|
834
|
+
// the hook scope of a builtin's own model call (the WebFetch extraction)
|
|
835
|
+
...(tool.source.kind === "builtin" && {
|
|
836
|
+
step: ctx.step,
|
|
837
|
+
agentVersion: ctx.agentVersion,
|
|
838
|
+
...(ctx.conversationKind !== undefined && { conversationKind: ctx.conversationKind }),
|
|
839
|
+
...(ctx.parent !== undefined && {
|
|
840
|
+
parent: {
|
|
841
|
+
conversationId: ctx.parent.conversationId,
|
|
842
|
+
runId: ctx.parent.runId,
|
|
843
|
+
callId: ctx.parent.callId,
|
|
844
|
+
},
|
|
845
|
+
}),
|
|
846
|
+
}),
|
|
930
847
|
};
|
|
931
848
|
// 内置工具可按输入给自己的时限(沙箱 bash 按命令超时加余量);缺省 tools.timeoutMs
|
|
932
849
|
const timeoutMs = tool.timeoutMs?.(input) ?? this.config.get().tools.timeoutMs;
|
|
933
850
|
try {
|
|
934
|
-
|
|
851
|
+
// a plugin tool runs with the extension's effective config for the org, never without it
|
|
852
|
+
// (layering spec A §6): one read per call, cached by EffectiveConfigs
|
|
853
|
+
let config = {};
|
|
854
|
+
if (tool.source.kind === "plugin") {
|
|
855
|
+
// turned off in the org since the step resolved its tools (spec A §7)
|
|
856
|
+
if (await this.deps.switches.isToolOff(ctx.orgId, tool.source.plugin, tool.source.name)) {
|
|
857
|
+
return { kind: "error", message: `${toolTurnedOffReason(tool.key)}.` };
|
|
858
|
+
}
|
|
859
|
+
const effective = await this.deps.effective.get(ctx.orgId, tool.source.plugin);
|
|
860
|
+
if (!effective.ok) {
|
|
861
|
+
// unloaded or disabled since the step resolved its tools: the documented unloaded error
|
|
862
|
+
if (effective.notRunning)
|
|
863
|
+
return { kind: "error", message: PLUGIN_UNLOADED_TOOL_ERROR };
|
|
864
|
+
return { kind: "error", message: unavailableText(tool.key, NEEDS_CONFIG_REASON) };
|
|
865
|
+
}
|
|
866
|
+
config = { config: effective.config };
|
|
867
|
+
}
|
|
868
|
+
const r = await this.bounded(ctx.signal, (signal) => handler(input, { ...base, ...config, signal }), undefined, timeoutMs);
|
|
935
869
|
if (r === "timeout") {
|
|
936
870
|
return { kind: "error", message: timeoutText(tool.key, timeoutMs) };
|
|
937
871
|
}
|
|
@@ -1116,6 +1050,11 @@ let ToolPipeline = class ToolPipeline {
|
|
|
1116
1050
|
thrown(key, e) {
|
|
1117
1051
|
if (e instanceof ToolError)
|
|
1118
1052
|
return { kind: "error", message: e.message };
|
|
1053
|
+
// an extension tool's ctx.models.embed denied by a policy hook (spec B §5.4): the model sees the
|
|
1054
|
+
// deny text (sanitized reason), as for a denied tool call, not a generic failure
|
|
1055
|
+
if (e instanceof ApiError && e.code === "model.hook_denied") {
|
|
1056
|
+
return { kind: "error", message: e.message };
|
|
1057
|
+
}
|
|
1119
1058
|
// 提供工具的插件实例在调用进行中被撤销(停用 / 升级),排空时限到后中止(C17)
|
|
1120
1059
|
if (e instanceof ExtensionUnloadedError) {
|
|
1121
1060
|
this.deps.log.warn("tool call aborted: plugin unloaded", { toolKey: key, plugin: e.plugin });
|
|
@@ -1286,9 +1225,6 @@ let ToolPipeline = class ToolPipeline {
|
|
|
1286
1225
|
return out;
|
|
1287
1226
|
}
|
|
1288
1227
|
};
|
|
1289
|
-
__decorate([
|
|
1290
|
-
Transactional()
|
|
1291
|
-
], ToolPipeline.prototype, "stopOpenAgentCallsNow", null);
|
|
1292
1228
|
__decorate([
|
|
1293
1229
|
Transactional({ propagation: "mandatory" })
|
|
1294
1230
|
], ToolPipeline.prototype, "stopOpenAgentCalls", null);
|
|
@@ -1300,18 +1236,21 @@ ToolPipeline = __decorate([
|
|
|
1300
1236
|
__param(0, Inject(KernelDb)),
|
|
1301
1237
|
__param(1, Inject(EventLog)),
|
|
1302
1238
|
__param(2, Inject(SubagentsService)),
|
|
1303
|
-
__param(3, Inject(
|
|
1304
|
-
__param(4, Inject(
|
|
1305
|
-
__param(5, Inject(
|
|
1306
|
-
__param(6, Inject(
|
|
1307
|
-
__param(7, Inject(
|
|
1308
|
-
__param(8, Inject(
|
|
1309
|
-
__param(9, Inject(
|
|
1310
|
-
__param(10, Inject(
|
|
1311
|
-
__param(11, Inject(
|
|
1312
|
-
__param(12, Inject(
|
|
1313
|
-
__param(13, Inject(
|
|
1314
|
-
__param(14,
|
|
1315
|
-
__param(
|
|
1239
|
+
__param(3, Inject(SubagentMessages)),
|
|
1240
|
+
__param(4, Inject(ToolRegistry)),
|
|
1241
|
+
__param(5, Inject(Credentials)),
|
|
1242
|
+
__param(6, Inject(Breaker)),
|
|
1243
|
+
__param(7, Inject(ToolOutputs)),
|
|
1244
|
+
__param(8, Inject(ApprovalsService)),
|
|
1245
|
+
__param(9, Inject(QuestionsService)),
|
|
1246
|
+
__param(10, Inject(KernelConfigService)),
|
|
1247
|
+
__param(11, Inject(KERNEL_LOGGER)),
|
|
1248
|
+
__param(12, Inject(ExtensionHost)),
|
|
1249
|
+
__param(13, Inject(ToolDrift)),
|
|
1250
|
+
__param(14, Inject(EffectiveConfigs)),
|
|
1251
|
+
__param(15, Inject(OrgToolSwitches)),
|
|
1252
|
+
__param(16, Inject(TransactionHost)),
|
|
1253
|
+
__param(17, Optional()),
|
|
1254
|
+
__param(17, Inject(TOOL_PIPELINE_HOOKS))
|
|
1316
1255
|
], ToolPipeline);
|
|
1317
1256
|
export { ToolPipeline };
|