@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
|
@@ -1,13 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
export const
|
|
1
|
+
import { SKILL_LOAD } from "../../tools/builtin-names.js";
|
|
2
|
+
export const SKILL_TEXTS = Object.freeze({
|
|
3
|
+
skillsCatalogHeader: "Skills are available in this conversation. A skill is a set of instructions, sometimes with " +
|
|
4
|
+
"scripts or other files, for a specific kind of task. When a task matches a skill's description, " +
|
|
5
|
+
`call ${SKILL_LOAD} with the skill's name to read its instructions before you start; do not guess ` +
|
|
6
|
+
"what a skill says. Available skills:",
|
|
7
|
+
newSkills: `New skills (call ${SKILL_LOAD} with the name to use one):`,
|
|
8
|
+
updatedSkills: `Updated skills (call ${SKILL_LOAD} again before relying on earlier instructions):`,
|
|
9
|
+
currentSkills: "Skills available in this conversation now (this replaces any earlier list of skills; call " +
|
|
10
|
+
`${SKILL_LOAD} with a name to read a skill's instructions):`,
|
|
11
|
+
invokedSkills: (names) => `Skills the user invoked earlier in this conversation: ${names.join(", ")}. Call ${SKILL_LOAD} with a name to read its instructions again.`,
|
|
12
|
+
pinnedSkillsHeader: "Pinned skills: the owner of this agent pinned these skills, so their instructions apply " +
|
|
13
|
+
`throughout this conversation. Follow them without calling ${SKILL_LOAD}; call ${SKILL_LOAD} ` +
|
|
14
|
+
"only to copy a pinned skill's files into the sandbox.",
|
|
15
|
+
});
|
|
3
16
|
/** 目录开头的说明(system 缓存段里的第一份目录)。 */
|
|
4
|
-
export const SKILLS_CATALOG_HEADER =
|
|
5
|
-
"scripts or other files, for a specific kind of task. When a task matches a skill's description, " +
|
|
6
|
-
`call ${SKILL_LOAD} with the skill's name to read its instructions before you start; do not guess ` +
|
|
7
|
-
"what a skill says. Available skills:";
|
|
17
|
+
export const SKILLS_CATALOG_HEADER = SKILL_TEXTS.skillsCatalogHeader;
|
|
8
18
|
/** 按码点比较名字(与区域设置无关,结果确定)。 */
|
|
9
19
|
const byName = (a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
|
|
10
|
-
/** 目录里每个技能描述最多的码点数(超出确定地截断;`
|
|
20
|
+
/** 目录里每个技能描述最多的码点数(超出确定地截断;`Skill` 仍返回完整正文)。 */
|
|
11
21
|
export const CATALOG_DESCRIPTION_MAX_CHARS = 300;
|
|
12
22
|
/** 折叠成一行,按码点截到 {@link CATALOG_DESCRIPTION_MAX_CHARS}。 */
|
|
13
23
|
function shortDescription(d) {
|
|
@@ -21,8 +31,8 @@ function shortDescription(d) {
|
|
|
21
31
|
const line = (s) => `- ${s.name}: ${shortDescription(s.description)}`;
|
|
22
32
|
const lines = (skills) => [...skills].sort(byName).map(line).join("\n");
|
|
23
33
|
/** 第一份目录(进 system 缓存段),按名字排序。 */
|
|
24
|
-
export function skillsCatalogText(skills) {
|
|
25
|
-
return `${
|
|
34
|
+
export function skillsCatalogText(skills, texts = SKILL_TEXTS) {
|
|
35
|
+
return `${texts.skillsCatalogHeader}\n${lines(skills)}`;
|
|
26
36
|
}
|
|
27
37
|
/** 两份快照是否相同(按 id、版本、名字、描述与来源)。顺序无关。 */
|
|
28
38
|
export function sameSkills(a, b) {
|
|
@@ -66,16 +76,23 @@ export function sameSnapshot(a, b) {
|
|
|
66
76
|
/**
|
|
67
77
|
* The catalog differences between two snapshots. `pinnedIds` (the next snapshot's pinned ids, phase
|
|
68
78
|
* B) are left out of `updated`: a pinned skill's new body is rendered by {@link pinnedChangeText},
|
|
69
|
-
* and the pinned header says not to call `
|
|
79
|
+
* and the pinned header says not to call `Skill` for it.
|
|
70
80
|
*/
|
|
71
81
|
function catalogChanges(prev, next, pinnedIds) {
|
|
72
82
|
const before = new Map(prev.map((s) => [s.id, s]));
|
|
73
83
|
const after = new Map(next.map((s) => [s.id, s]));
|
|
74
|
-
|
|
75
|
-
|
|
84
|
+
// A skill renamed under its id (the platform components migration renames a clashing org skill)
|
|
85
|
+
// reads as its old name removed and its new name added: the model calls skills by name.
|
|
86
|
+
const renamed = (s, other) => {
|
|
87
|
+
const o = other.get(s.id);
|
|
88
|
+
return o !== undefined && o.name !== s.name;
|
|
89
|
+
};
|
|
90
|
+
const added = next.filter((s) => !before.has(s.id) || renamed(s, before));
|
|
91
|
+
const removed = prev.filter((s) => !after.has(s.id) || renamed(s, after));
|
|
76
92
|
const updated = next.filter((s) => {
|
|
77
93
|
const p = before.get(s.id);
|
|
78
94
|
return (p !== undefined &&
|
|
95
|
+
p.name === s.name &&
|
|
79
96
|
!pinnedIds?.has(s.id) &&
|
|
80
97
|
(p.version !== s.version || p.description !== s.description || p.source !== s.source));
|
|
81
98
|
});
|
|
@@ -86,14 +103,14 @@ function catalogChanges(prev, next, pinnedIds) {
|
|
|
86
103
|
* 试用草稿被拒绝 / 批准了别人的同号版本时,内容变了而版本号可能不变)。
|
|
87
104
|
* `prev` 为上一份快照(没有为空)。
|
|
88
105
|
*/
|
|
89
|
-
export function skillsChangeText(prev, next, pinnedIds) {
|
|
106
|
+
export function skillsChangeText(prev, next, pinnedIds, texts = SKILL_TEXTS) {
|
|
90
107
|
const { added, updated, removed } = catalogChanges(prev, next, pinnedIds);
|
|
91
108
|
const parts = ["The skills available in this conversation have changed."];
|
|
92
109
|
if (added.length > 0) {
|
|
93
|
-
parts.push(
|
|
110
|
+
parts.push(`${texts.newSkills}\n${lines(added)}`);
|
|
94
111
|
}
|
|
95
112
|
if (updated.length > 0) {
|
|
96
|
-
parts.push(
|
|
113
|
+
parts.push(`${texts.updatedSkills}\n${lines(updated)}`);
|
|
97
114
|
}
|
|
98
115
|
if (removed.length > 0) {
|
|
99
116
|
parts.push(`Removed skills (no longer available; do not use them): ${[...removed]
|
|
@@ -106,22 +123,21 @@ export function skillsChangeText(prev, next, pinnedIds) {
|
|
|
106
123
|
return parts.join("\n\n");
|
|
107
124
|
}
|
|
108
125
|
/** 压缩摘要之后补上的「当前目录」(与 system 里的第一份不同时):完整列出,替代之前的目录与提醒。 */
|
|
109
|
-
export function skillsCurrentText(skills) {
|
|
126
|
+
export function skillsCurrentText(skills, texts = SKILL_TEXTS) {
|
|
110
127
|
if (skills.length === 0) {
|
|
111
128
|
return "No skills are available in this conversation now (this replaces any earlier list of skills).";
|
|
112
129
|
}
|
|
113
|
-
return (
|
|
114
|
-
`${SKILL_LOAD} with a name to read a skill's instructions):\n${lines(skills)}`);
|
|
130
|
+
return `${texts.currentSkills}\n${lines(skills)}`;
|
|
115
131
|
}
|
|
116
132
|
// ---- Skills a person invoked (phase D spec §4.4; model-visible, English) ----
|
|
117
133
|
/**
|
|
118
134
|
* The line restored after a compaction summary whose range holds inline skill invocations
|
|
119
135
|
* (`names`: distinct, code point order); empty for none. Bodies are not re-injected.
|
|
120
136
|
*/
|
|
121
|
-
export function invokedSkillsText(names) {
|
|
137
|
+
export function invokedSkillsText(names, texts = SKILL_TEXTS) {
|
|
122
138
|
if (names.length === 0)
|
|
123
139
|
return "";
|
|
124
|
-
return
|
|
140
|
+
return texts.invokedSkills(names);
|
|
125
141
|
}
|
|
126
142
|
/** The distinct names (code point order) of the inline invocations in `events` up to `upToSeq`. */
|
|
127
143
|
export function invokedSkillNames(events, upToSeq) {
|
|
@@ -180,16 +196,14 @@ export function systemSkillsCatalog(events) {
|
|
|
180
196
|
}
|
|
181
197
|
// ---- Pinned skills and the tool-name map (phase B, spec §9.1, §9.4; model-visible, English) ----
|
|
182
198
|
/** The header of the pinned skills in the system cache segment. */
|
|
183
|
-
export const PINNED_SKILLS_HEADER =
|
|
184
|
-
`throughout this conversation. Follow them without calling ${SKILL_LOAD}; call ${SKILL_LOAD} ` +
|
|
185
|
-
"only to copy a pinned skill's files into the sandbox.";
|
|
199
|
+
export const PINNED_SKILLS_HEADER = SKILL_TEXTS.pinnedSkillsHeader;
|
|
186
200
|
/** One pinned skill with its body. */
|
|
187
201
|
export function pinnedBlock(p) {
|
|
188
202
|
return `<pinned_skill name="${p.name}" version="${p.version}">\n${p.body.trim()}\n</pinned_skill>`;
|
|
189
203
|
}
|
|
190
204
|
/** The pinned skills of the system snapshot (non-empty), after the catalog. */
|
|
191
|
-
export function pinnedSystemText(pinned) {
|
|
192
|
-
return `${
|
|
205
|
+
export function pinnedSystemText(pinned, texts = SKILL_TEXTS) {
|
|
206
|
+
return `${texts.pinnedSkillsHeader}\n\n${pinned.map(pinnedBlock).join("\n\n")}`;
|
|
193
207
|
}
|
|
194
208
|
/**
|
|
195
209
|
* The pinned change notice between two snapshots ({@link samePinned} false): each entry that is new
|
|
@@ -233,7 +247,7 @@ export function toolMapChangeText(next) {
|
|
|
233
247
|
* nothing else differs: logs before phase B render exactly as before), the pinned change, the
|
|
234
248
|
* tool-name map change; joined by blank lines.
|
|
235
249
|
*/
|
|
236
|
-
export function snapshotChangeText(prev, next) {
|
|
250
|
+
export function snapshotChangeText(prev, next, texts = SKILL_TEXTS) {
|
|
237
251
|
const prevSkills = prev?.skills ?? [];
|
|
238
252
|
const pinnedDiff = !samePinned(prev?.pinned, next.pinned);
|
|
239
253
|
const mapDiff = prev?.toolMap !== next.toolMap;
|
|
@@ -247,7 +261,7 @@ export function snapshotChangeText(prev, next) {
|
|
|
247
261
|
: !sameSkills(prevSkills, next.skills);
|
|
248
262
|
const parts = [];
|
|
249
263
|
if (catalogDiff || (!pinnedDiff && !mapDiff)) {
|
|
250
|
-
parts.push(skillsChangeText(prevSkills, next.skills, pinnedIds));
|
|
264
|
+
parts.push(skillsChangeText(prevSkills, next.skills, pinnedIds, texts));
|
|
251
265
|
}
|
|
252
266
|
if (pinnedDiff)
|
|
253
267
|
parts.push(pinnedChangeText(prev?.pinned, next.pinned));
|
|
@@ -260,10 +274,10 @@ export function snapshotChangeText(prev, next) {
|
|
|
260
274
|
* current catalog (when the skills differ from the system snapshot's), the current pinned skills
|
|
261
275
|
* (when they differ), the tool-name map (when it differs); joined by blank lines, "" for nothing.
|
|
262
276
|
*/
|
|
263
|
-
export function snapshotCurrentText(system, covered) {
|
|
277
|
+
export function snapshotCurrentText(system, covered, texts = SKILL_TEXTS) {
|
|
264
278
|
const parts = [];
|
|
265
279
|
if (!sameSkills(system?.skills ?? [], covered.skills)) {
|
|
266
|
-
parts.push(skillsCurrentText(covered.skills));
|
|
280
|
+
parts.push(skillsCurrentText(covered.skills, texts));
|
|
267
281
|
}
|
|
268
282
|
if (!samePinned(system?.pinned, covered.pinned))
|
|
269
283
|
parts.push(pinnedCurrentText(covered.pinned));
|
|
@@ -273,10 +287,10 @@ export function snapshotCurrentText(system, covered) {
|
|
|
273
287
|
return parts.join("\n\n");
|
|
274
288
|
}
|
|
275
289
|
/** The system snapshot's text after the agent's instructions: catalog, pinned skills, tool map. */
|
|
276
|
-
export function snapshotSystemText(s) {
|
|
277
|
-
let text = skillsCatalogText(s.skills);
|
|
290
|
+
export function snapshotSystemText(s, texts = SKILL_TEXTS) {
|
|
291
|
+
let text = skillsCatalogText(s.skills, texts);
|
|
278
292
|
if (s.pinned && s.pinned.length > 0)
|
|
279
|
-
text += `\n\n${pinnedSystemText(s.pinned)}`;
|
|
293
|
+
text += `\n\n${pinnedSystemText(s.pinned, texts)}`;
|
|
280
294
|
if (s.toolMap !== undefined)
|
|
281
295
|
text += `\n\n${s.toolMap}`;
|
|
282
296
|
return text;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ConversationEvent, EventPayload } from "../../conversations/events.js";
|
|
2
|
+
/**
|
|
3
|
+
* Tool set changes mid-conversation (tool naming spec §9.1). The kernel resolves the tools on every
|
|
4
|
+
* step, so an extension switched on in the org, a connector set up or a sub-agent roster added
|
|
5
|
+
* changes the next request's tool list; earlier answers in the history ("I have no web search")
|
|
6
|
+
* would still contradict it. A step whose resolved set differs from the one the previous request
|
|
7
|
+
* offered logs a `tools_changed` event before its request; request building renders it at its
|
|
8
|
+
* position as a system message ({@link toolsChangedText}).
|
|
9
|
+
*/
|
|
10
|
+
export type ToolsChange = Pick<EventPayload<"tools_changed">, "added" | "removed">;
|
|
11
|
+
/**
|
|
12
|
+
* The tool set the conversation's previous model request offered, from the log alone: the last
|
|
13
|
+
* `model_call`'s `tools` and `catalog` keys (with `ToolSearch` the catalog holds the deferred
|
|
14
|
+
* tools, so the union is the whole resolved set), then any `tools_changed` logged after it (a
|
|
15
|
+
* step that logged its change and crashed before its request: the change is not logged twice).
|
|
16
|
+
* Skipped: a `model_call` without recorded tools (older logs) and a call whose tools were left out
|
|
17
|
+
* because its model has no tool support (empty, with that step's unsupported reminder): those say
|
|
18
|
+
* nothing about the resolved set. Null when no request offered a known set yet.
|
|
19
|
+
*/
|
|
20
|
+
export declare function previousToolSet(events: readonly ConversationEvent[]): Set<string> | null;
|
|
21
|
+
/**
|
|
22
|
+
* The change from the previous request's tool set to `current` (sorted names), or null: before
|
|
23
|
+
* the conversation's first request (its list is the baseline) and when nothing changed.
|
|
24
|
+
*/
|
|
25
|
+
export declare function toolSetChange(events: readonly ConversationEvent[], current: readonly string[]): ToolsChange | null;
|
|
26
|
+
/** The model-visible text of a `tools_changed` event (English). */
|
|
27
|
+
export declare function toolsChangedText(change: ToolsChange): string;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { TOOLS_UNSUPPORTED_REMINDER } from "./reminders.js";
|
|
2
|
+
/**
|
|
3
|
+
* The tool set the conversation's previous model request offered, from the log alone: the last
|
|
4
|
+
* `model_call`'s `tools` and `catalog` keys (with `ToolSearch` the catalog holds the deferred
|
|
5
|
+
* tools, so the union is the whole resolved set), then any `tools_changed` logged after it (a
|
|
6
|
+
* step that logged its change and crashed before its request: the change is not logged twice).
|
|
7
|
+
* Skipped: a `model_call` without recorded tools (older logs) and a call whose tools were left out
|
|
8
|
+
* because its model has no tool support (empty, with that step's unsupported reminder): those say
|
|
9
|
+
* nothing about the resolved set. Null when no request offered a known set yet.
|
|
10
|
+
*/
|
|
11
|
+
export function previousToolSet(events) {
|
|
12
|
+
const unsupported = new Set();
|
|
13
|
+
for (const e of events) {
|
|
14
|
+
if (e.type === "reminder" && e.payload.text === TOOLS_UNSUPPORTED_REMINDER) {
|
|
15
|
+
unsupported.add(`${e.runId ?? ""}\u0000${e.payload.step}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
let known = null;
|
|
19
|
+
for (const e of events) {
|
|
20
|
+
if (e.type === "model_call") {
|
|
21
|
+
const { tools, catalog } = e.payload.request;
|
|
22
|
+
if (tools === undefined)
|
|
23
|
+
continue;
|
|
24
|
+
const keys = [...tools, ...(catalog ?? [])].map((t) => t.key);
|
|
25
|
+
if (keys.length === 0 && unsupported.has(`${e.runId ?? ""}\u0000${e.payload.step}`))
|
|
26
|
+
continue;
|
|
27
|
+
known = new Set(keys);
|
|
28
|
+
}
|
|
29
|
+
else if (e.type === "tools_changed" && known !== null) {
|
|
30
|
+
for (const k of e.payload.removed)
|
|
31
|
+
known.delete(k);
|
|
32
|
+
for (const k of e.payload.added)
|
|
33
|
+
known.add(k);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return known;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The change from the previous request's tool set to `current` (sorted names), or null: before
|
|
40
|
+
* the conversation's first request (its list is the baseline) and when nothing changed.
|
|
41
|
+
*/
|
|
42
|
+
export function toolSetChange(events, current) {
|
|
43
|
+
const before = previousToolSet(events);
|
|
44
|
+
if (before === null)
|
|
45
|
+
return null;
|
|
46
|
+
const now = new Set(current);
|
|
47
|
+
const added = [...now].filter((k) => !before.has(k)).sort();
|
|
48
|
+
const removed = [...before].filter((k) => !now.has(k)).sort();
|
|
49
|
+
return added.length === 0 && removed.length === 0 ? null : { added, removed };
|
|
50
|
+
}
|
|
51
|
+
/** The model-visible text of a `tools_changed` event (English). */
|
|
52
|
+
export function toolsChangedText(change) {
|
|
53
|
+
const parts = ["Your tools changed."];
|
|
54
|
+
if (change.added.length > 0)
|
|
55
|
+
parts.push(`Now available: ${change.added.join(", ")}.`);
|
|
56
|
+
if (change.removed.length > 0)
|
|
57
|
+
parts.push(`No longer available: ${change.removed.join(", ")}.`);
|
|
58
|
+
parts.push("Use the current tool list; it replaces anything said earlier in this conversation about which tools you have.");
|
|
59
|
+
return parts.join(" ");
|
|
60
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AvailableHook, HookModelRequest, HookParentScope, HookPayloads, HookScope, Logger, ModelRequest } from "@capybara-hq/plugin-sdk";
|
|
1
|
+
import type { AvailableHook, EmbeddingRequestHookPayload, HookModelRequest, HookParentScope, HookPayloads, HookScope, Logger, ModelRequest } from "@capybara-hq/plugin-sdk";
|
|
2
2
|
import type { AppendEvent, EventLog } from "../conversations/event-log.js";
|
|
3
3
|
import type { EventPayload } from "../conversations/events.js";
|
|
4
4
|
import type { HookOutcome, HookRegistry } from "../extensions/hooks.js";
|
|
@@ -67,6 +67,13 @@ export declare function hookDeniedEvent(at: DenialSite, mount: Extract<Available
|
|
|
67
67
|
* and that the named plugin is only the first policy plugin on the mount.
|
|
68
68
|
*/
|
|
69
69
|
export declare function hookDeniedAudit(at: DenialSite, payload: EventPayload<"hook_denied">, denial: HookDenial): AuditEntry;
|
|
70
|
+
/**
|
|
71
|
+
* The `hook.denied` audit entry of a denied embedding call (`ctx.models.embed`, spec B §5.4): no
|
|
72
|
+
* actor and no conversation; the target is the calling extension. The detail has the same fields
|
|
73
|
+
* as a conversation denial's (mount, plugin, sanitized reason, cause, raw error, markers) plus the
|
|
74
|
+
* call's purpose, extension, embedding purpose and model.
|
|
75
|
+
*/
|
|
76
|
+
export declare function embeddingDeniedAudit(call: Pick<EmbeddingRequestHookPayload, "orgId" | "extension" | "embeddingPurpose" | "provider" | "model">, denial: HookDenial): AuditEntry;
|
|
70
77
|
/** Audit entry shape (the argument of `audit()`). */
|
|
71
78
|
export type AuditEntry = Parameters<typeof audit>[1];
|
|
72
79
|
/**
|
|
@@ -105,13 +105,46 @@ export function hookDeniedAudit(at, payload, denial) {
|
|
|
105
105
|
conversationId: at.conversationId,
|
|
106
106
|
runId: at.runId,
|
|
107
107
|
...(at.agentId !== undefined && { agentId: at.agentId }),
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
108
|
+
...denialAuditDetail(denial),
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/** The denial's audit-only fields: the raw hook error and the R10 / M-1 / spec A §6 markers. */
|
|
113
|
+
function denialAuditDetail(denial) {
|
|
114
|
+
return {
|
|
115
|
+
// the raw hook error: audit only, never in the conversation event (Ruling R12)
|
|
116
|
+
...(denial.detail !== undefined && { error: denial.detail }),
|
|
117
|
+
...(denial.preflight
|
|
118
|
+
? { preflight: true, firstPolicyPlugin: denial.plugin, causedByPlugin: false }
|
|
119
|
+
: {}),
|
|
120
|
+
// M-1: the named plugin is enabled but not loaded on the replica that handled the call
|
|
121
|
+
...(denial.notLoaded ? { notLoaded: true } : {}),
|
|
122
|
+
// layering spec A §6: the named plugin's effective config is not valid in the organization
|
|
123
|
+
...(denial.needsConfig ? { needsConfig: true } : {}),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The `hook.denied` audit entry of a denied embedding call (`ctx.models.embed`, spec B §5.4): no
|
|
128
|
+
* actor and no conversation; the target is the calling extension. The detail has the same fields
|
|
129
|
+
* as a conversation denial's (mount, plugin, sanitized reason, cause, raw error, markers) plus the
|
|
130
|
+
* call's purpose, extension, embedding purpose and model.
|
|
131
|
+
*/
|
|
132
|
+
export function embeddingDeniedAudit(call, denial) {
|
|
133
|
+
return {
|
|
134
|
+
orgId: call.orgId,
|
|
135
|
+
action: "hook.denied",
|
|
136
|
+
target: call.extension,
|
|
137
|
+
detail: {
|
|
138
|
+
mount: "model.request",
|
|
139
|
+
plugin: denial.plugin,
|
|
140
|
+
reason: denial.reason,
|
|
141
|
+
cause: denial.cause,
|
|
142
|
+
purpose: "embedding",
|
|
143
|
+
extension: call.extension,
|
|
144
|
+
embeddingPurpose: call.embeddingPurpose,
|
|
145
|
+
provider: call.provider,
|
|
146
|
+
model: call.model,
|
|
147
|
+
...denialAuditDetail(denial),
|
|
115
148
|
},
|
|
116
149
|
};
|
|
117
150
|
}
|
|
@@ -32,7 +32,9 @@ export interface LangGraphLoopHooks {
|
|
|
32
32
|
* worker 崩溃后由其他副本从最近的 checkpoint 续跑(spec 4.4、Review Focus 1)。
|
|
33
33
|
*
|
|
34
34
|
* 图:`prepare → model →(tool_use)tools → prepare …`;prepare 发现步数超过上限 → `wrapUp` → 结束;
|
|
35
|
-
* prepare finding the deadline passed
|
|
35
|
+
* prepare finding the deadline passed → end; a sub-agent's run finding its tree's token budget used
|
|
36
|
+
* up → `wrapUp` (one tool-less call that hands back its findings) → end, or end at once when the
|
|
37
|
+
* run has made no step yet (nothing new to report);
|
|
36
38
|
* 模型中止或正常结束 → 结束。`durability: "sync"`:每个节点的 checkpoint 在下一个节点开始前落库。
|
|
37
39
|
*
|
|
38
40
|
* 幂等:`runModelStep` / `runFinalWrapUp` 按 (runId, step) 幂等,续跑重新执行 model 节点时若回复已在日志里,
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { Annotation, END, START, StateGraph } from "@langchain/langgraph";
|
|
2
2
|
import { MediaCache } from "./media-cache.js";
|
|
3
3
|
import { runFinalWrapUp, runModelStep, } from "./model-call.js";
|
|
4
|
-
import { subagentBudgetUsedUp } from "./subagents/limits.js";
|
|
4
|
+
import { budgetRunOf, subagentBudgetUsedUp } from "./subagents/limits.js";
|
|
5
5
|
import { isForkInvocation } from "./subagents/skill-fork.js";
|
|
6
6
|
/**
|
|
7
7
|
* 图状态:只记录进度,消息每步从事件日志重建(runModelStep 自己读日志),checkpoint 很小。
|
|
8
8
|
* - `step`:当前(最近一次进入的)步骤编号,prepare 节点 +1;
|
|
9
|
-
* - `consumedUpToSeq
|
|
9
|
+
* - `consumedUpToSeq`:已吸收的最大可吸收事件 seq(user_message / background_task_finished /
|
|
10
|
+
* subagent_delivery; a finish TaskOutput or TaskStop already reported is absorbed like any
|
|
11
|
+
* other, rendered short);
|
|
10
12
|
* - `lastStopReason`:最近一步模型调用的停止原因;
|
|
11
13
|
* - `outcome`:图的结束方式(在决定结束的节点里写入,续跑已结束的图时直接读出,不依赖当前时间)。
|
|
14
|
+
* - `budgetWrapUp`: set when a sub-agent's tree used its token budget after the run made a step: the
|
|
15
|
+
* run goes to the `wrapUp` node for one tool-less call that hands back what it found, then ends
|
|
16
|
+
* with `budget` (sub-agents spec §8.3). Null otherwise (the step limit routes there by `step`; a channel cannot share the
|
|
17
|
+
* node's name).
|
|
12
18
|
*
|
|
13
19
|
* 所有 channel 都是默认的 LastValue(不用实验性的 DeltaChannel,也没有子图):
|
|
14
20
|
* 每个 checkpoint 自带完整状态,`pruneToLatest` 之后仍能独立还原(R19)。
|
|
@@ -18,8 +24,15 @@ const LoopState = Annotation.Root({
|
|
|
18
24
|
consumedUpToSeq: Annotation(),
|
|
19
25
|
lastStopReason: Annotation(),
|
|
20
26
|
outcome: Annotation(),
|
|
27
|
+
budgetWrapUp: Annotation(),
|
|
21
28
|
});
|
|
22
|
-
const INITIAL = {
|
|
29
|
+
const INITIAL = {
|
|
30
|
+
step: 0,
|
|
31
|
+
consumedUpToSeq: 0,
|
|
32
|
+
lastStopReason: null,
|
|
33
|
+
outcome: null,
|
|
34
|
+
budgetWrapUp: null,
|
|
35
|
+
};
|
|
23
36
|
/**
|
|
24
37
|
* prepare 节点在停机信号下抛出:本次 invoke 以它结束,checkpoint 停在 prepare 之前
|
|
25
38
|
* (LangGraph 把出错的任务记为该 checkpoint 上的 pending error,`invoke(null)` 续跑时重新执行它)。
|
|
@@ -55,7 +68,9 @@ class LoopSuspended extends Error {
|
|
|
55
68
|
* worker 崩溃后由其他副本从最近的 checkpoint 续跑(spec 4.4、Review Focus 1)。
|
|
56
69
|
*
|
|
57
70
|
* 图:`prepare → model →(tool_use)tools → prepare …`;prepare 发现步数超过上限 → `wrapUp` → 结束;
|
|
58
|
-
* prepare finding the deadline passed
|
|
71
|
+
* prepare finding the deadline passed → end; a sub-agent's run finding its tree's token budget used
|
|
72
|
+
* up → `wrapUp` (one tool-less call that hands back its findings) → end, or end at once when the
|
|
73
|
+
* run has made no step yet (nothing new to report);
|
|
59
74
|
* 模型中止或正常结束 → 结束。`durability: "sync"`:每个节点的 checkpoint 在下一个节点开始前落库。
|
|
60
75
|
*
|
|
61
76
|
* 幂等:`runModelStep` / `runFinalWrapUp` 按 (runId, step) 幂等,续跑重新执行 model 节点时若回复已在日志里,
|
|
@@ -129,6 +144,7 @@ export class LangGraphLoop {
|
|
|
129
144
|
accountId: ctx.triggerAccountId,
|
|
130
145
|
...(ctx.conversationKind !== undefined && { conversationKind: ctx.conversationKind }),
|
|
131
146
|
...(ctx.parent !== undefined && { parentRunId: ctx.parent.runId, parent: ctx.parent }),
|
|
147
|
+
...(ctx.subagent === true && { subagent: true }),
|
|
132
148
|
});
|
|
133
149
|
const deps = this.stepDeps;
|
|
134
150
|
const hooks = this.hooks;
|
|
@@ -139,16 +155,19 @@ export class LangGraphLoop {
|
|
|
139
155
|
// 否则 consumed_seq 越过它们、也不会再起新一轮。
|
|
140
156
|
if (timedOut())
|
|
141
157
|
return { outcome: "max_duration" };
|
|
142
|
-
// a sub-agent stops before its next request once its
|
|
143
|
-
//
|
|
158
|
+
// a sub-agent stops before its next request once its tree used its token budget (spec §8.3,
|
|
159
|
+
// agent map §6: on the budget run; fresh read, in-flight requests of others may overshoot by
|
|
160
|
+
// one each). A run that made a step hands back what it found in one final tool-less call
|
|
161
|
+
// (one more over); a run stopped before its first step (a wake of a stopped tree) has
|
|
162
|
+
// nothing new to report and ends at once.
|
|
144
163
|
if (ctx.parent !== undefined &&
|
|
145
|
-
(await subagentBudgetUsedUp(deps.db, deps.config, ctx.orgId, ctx.parent.runId))) {
|
|
146
|
-
return { outcome: "budget" };
|
|
164
|
+
(await subagentBudgetUsedUp(deps.db, deps.config, ctx.orgId, ctx.parent.budgetRunId ?? (await budgetRunOf(deps.db, ctx.parent.runId))))) {
|
|
165
|
+
return s.step > 0 ? { step: s.step + 1, budgetWrapUp: true } : { outcome: "budget" };
|
|
147
166
|
}
|
|
148
167
|
let consumed = s.consumedUpToSeq;
|
|
149
168
|
// the run's first prepare (also when it runs again after a suspend on its fork's sub-agent)
|
|
150
169
|
const firstStep = s.step === 0;
|
|
151
|
-
const absorbed = await ctx.
|
|
170
|
+
const absorbed = await ctx.pendingAbsorbable(consumed);
|
|
152
171
|
for (const m of absorbed)
|
|
153
172
|
consumed = Math.max(consumed, m.seq);
|
|
154
173
|
// phase D: a run's own fork invocation is absorbed at step 1 (the run boundary,
|
|
@@ -172,8 +191,10 @@ export class LangGraphLoop {
|
|
|
172
191
|
const model = async (s) => {
|
|
173
192
|
const r = await runModelStep(deps, input(s.step, s.consumedUpToSeq));
|
|
174
193
|
await hooks.afterModelStep?.(ctx.runId, s.step, r);
|
|
194
|
+
// budget used up by a compaction call before the step's request: hand back in the wrap-up,
|
|
195
|
+
// at this step (it logged no request)
|
|
175
196
|
if (r.budget)
|
|
176
|
-
return {
|
|
197
|
+
return { budgetWrapUp: true };
|
|
177
198
|
if (r.aborted) {
|
|
178
199
|
return { lastStopReason: "aborted", outcome: timedOut() ? "max_duration" : "aborted" };
|
|
179
200
|
}
|
|
@@ -217,11 +238,12 @@ export class LangGraphLoop {
|
|
|
217
238
|
return {};
|
|
218
239
|
};
|
|
219
240
|
const wrapUp = async (s) => {
|
|
220
|
-
const
|
|
241
|
+
const budget = s.budgetWrapUp === true;
|
|
242
|
+
const r = await runFinalWrapUp(deps, input(s.step, s.consumedUpToSeq), budget ? "budget" : "max_steps");
|
|
221
243
|
await hooks.afterModelStep?.(ctx.runId, s.step, r);
|
|
222
244
|
return {
|
|
223
245
|
lastStopReason: r.aborted ? "aborted" : r.stopReason,
|
|
224
|
-
outcome: r.
|
|
246
|
+
outcome: r.aborted && !timedOut() ? "aborted" : budget || r.budget ? "budget" : "max_steps",
|
|
225
247
|
};
|
|
226
248
|
};
|
|
227
249
|
return new StateGraph(LoopState)
|
|
@@ -234,12 +256,9 @@ export class LangGraphLoop {
|
|
|
234
256
|
// (aborted / completed: a fork invocation's run ended in its first prepare, phase D)
|
|
235
257
|
if (s.outcome !== null)
|
|
236
258
|
return END;
|
|
237
|
-
return s.step > ctx.limits.maxSteps ? "wrapUp" : "model";
|
|
259
|
+
return s.budgetWrapUp === true || s.step > ctx.limits.maxSteps ? "wrapUp" : "model";
|
|
238
260
|
}, ["model", "wrapUp", END])
|
|
239
|
-
.addConditionalEdges("model", (s) => (s.outcome === null ? "tools" : END), [
|
|
240
|
-
"tools",
|
|
241
|
-
END,
|
|
242
|
-
])
|
|
261
|
+
.addConditionalEdges("model", (s) => (s.budgetWrapUp === true ? "wrapUp" : s.outcome === null ? "tools" : END), ["tools", "wrapUp", END])
|
|
243
262
|
.addEdge("tools", "prepare")
|
|
244
263
|
.addEdge("wrapUp", END)
|
|
245
264
|
.compile({ checkpointer: this.saver });
|
package/dist/runtime/loop.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AgentDefinition } from "../agents/definition.js";
|
|
2
2
|
import type { KernelConfig } from "../config/schema.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { AbsorbableEvent } from "../conversations/events.js";
|
|
4
4
|
import type { StreamSink } from "./model-call.js";
|
|
5
5
|
/** 一次运行交给 loop 的上下文(spec 4.4)。 */
|
|
6
6
|
export interface LoopContext {
|
|
@@ -22,10 +22,11 @@ export interface LoopContext {
|
|
|
22
22
|
shutdown: AbortSignal;
|
|
23
23
|
sink: StreamSink;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* 下一个步骤间隙要吸收的事件:返回 seq > afterSeq 的可吸收事件(`user_message`、
|
|
26
|
+
* `background_task_finished` 与 `subagent_delivery`, `isAbsorbable`;且只含本轮开始时尚未被消费的,
|
|
26
27
|
* 即 seq 也大于会话的 `consumed_seq`),按 seq 升序。loop 记录吸收到的最大 seq 作为 `consumedUpToSeq`。
|
|
27
28
|
*/
|
|
28
|
-
|
|
29
|
+
pendingAbsorbable(afterSeq: number): Promise<AbsorbableEvent[]>;
|
|
29
30
|
limits: {
|
|
30
31
|
maxSteps: number;
|
|
31
32
|
deadline: number;
|
|
@@ -36,24 +37,52 @@ export interface LoopContext {
|
|
|
36
37
|
*/
|
|
37
38
|
conversationKind?: "chat" | "eval" | "subagent";
|
|
38
39
|
/**
|
|
39
|
-
* Set for a sub-agent's run (phase C): the dispatch this run serves. Its tools use the
|
|
40
|
-
* conversation's sandbox (spec §10.1), and it
|
|
40
|
+
* Set for a sub-agent's run (phase C): the dispatch this run serves. Its tools use the root
|
|
41
|
+
* conversation's sandbox (spec §10.1), and it dispatches sub-agents only while its depth is
|
|
42
|
+
* below `subagents.maxDepth` (agent map spec §4.1).
|
|
41
43
|
*/
|
|
42
44
|
parent?: SubagentParent;
|
|
45
|
+
/**
|
|
46
|
+
* The run is a sub-agent's without a live `parent`: a child case's eval replay. Its requests
|
|
47
|
+
* offer the message tools a sub-agent has (`SendMessage`, `SubagentHandback`), as the recorded
|
|
48
|
+
* run's did; not for a fork invocation's child (`SubagentParent.forSkill`). Implied by `parent`.
|
|
49
|
+
*/
|
|
50
|
+
subagent?: boolean;
|
|
43
51
|
}
|
|
44
52
|
/** Where a sub-agent's run was dispatched from (its `subagent_dispatches` row). */
|
|
45
53
|
export interface SubagentParent {
|
|
46
54
|
conversationId: string;
|
|
47
55
|
runId: string;
|
|
48
56
|
callId: string;
|
|
57
|
+
/**
|
|
58
|
+
* The parent conversation's depth below the root (0: the parent is the root); this run's own
|
|
59
|
+
* depth is one more (agent map spec §6, `conversations.subagent_depth`).
|
|
60
|
+
*/
|
|
61
|
+
depth: number;
|
|
62
|
+
/** The root conversation of the tree: its sandbox is the one every sub-agent works in. */
|
|
63
|
+
rootConversationId: string;
|
|
49
64
|
/**
|
|
50
65
|
* The child runs another org agent than its parent conversation's (§5.5, `template.source`
|
|
51
66
|
* `agent`): only then the parent agent's current policies are read on top of its own.
|
|
52
67
|
*/
|
|
53
68
|
otherAgent?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* The tree's budget run of this child run (agent map spec §6): the run's own `budget_run_id`
|
|
71
|
+
* (a dispatched run's, or a wake run's current window of the root), else its dispatch row's, read
|
|
72
|
+
* once when the run starts. The loop's budget check and the token counter (`appendCounted`) use
|
|
73
|
+
* it; absent only when unknown, then read with `budgetRunOf(runId)` (the parent run's window,
|
|
74
|
+
* stale for a wake run, whose `runId` is the first dispatch's).
|
|
75
|
+
*/
|
|
76
|
+
budgetRunId?: string;
|
|
77
|
+
/**
|
|
78
|
+
* The run is a person's fork invocation's child (phase D, its dispatch's `for_skill`): its parent
|
|
79
|
+
* run waits for its final reply as the skill's report, so it gets neither `SubagentHandback` nor
|
|
80
|
+
* `SendMessage` to its parent (agent map spec §5.4: the fork's behaviour does not change).
|
|
81
|
+
*/
|
|
82
|
+
forSkill?: boolean;
|
|
54
83
|
}
|
|
55
84
|
/**
|
|
56
|
-
* 运行在等什么人处理:审批(`approvals` 行)或输入请求(`questions` 行,统一承载 `
|
|
85
|
+
* 运行在等什么人处理:审批(`approvals` 行)或输入请求(`questions` 行,统一承载 `AskUserQuestion`、
|
|
57
86
|
* 插件工具的 `input_required` 与 MCP elicitation)。`expiresAt` 为 ISO 时间。
|
|
58
87
|
* `subagents` (phase C, spec §7.2): sub-agents dispatched in a step are still running; the id is
|
|
59
88
|
* `sa-<runId>-<step>` (no `:`, it is part of BullMQ job ids).
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { WorkerHost } from "@nestjs/bullmq";
|
|
2
2
|
import type { Job, Queue, Worker } from "bullmq";
|
|
3
|
+
import { OwnedPluginCleanup } from "../catalog/owned-plugin-cleanup.js";
|
|
3
4
|
import { ScheduledRuns } from "../infra/schedule/scheduled-runs.js";
|
|
4
5
|
import type { KernelLogger } from "../log.js";
|
|
5
6
|
import { DirectorySync } from "../orgs/directory-sync.js";
|
|
6
7
|
import { SandboxService } from "../sandbox/sandbox.service.js";
|
|
7
8
|
import { ToolDrift } from "../tools/drift.js";
|
|
9
|
+
import { RunQueue } from "./run-queue.js";
|
|
8
10
|
import { Waits } from "./waits.js";
|
|
9
11
|
export { MAINTENANCE_QUEUE_NAME } from "./maintenance-queue.js";
|
|
10
12
|
/** The maintenance worker's concurrency (as the hand-made worker had). */
|
|
11
13
|
export declare const MAINTENANCE_CONCURRENCY = 5;
|
|
12
14
|
/**
|
|
13
15
|
* The one consumer of `cap-kernel-maintenance` (decision R11 of the Nest kernel spec): dispatches
|
|
14
|
-
* each one-off job by name to its domain (`wait-timeout` → {@link Waits}, `sandbox-destroy-for`
|
|
15
|
-
* {@link SandboxService}, `drift-connector` → {@link ToolDrift}, `directory-sync` →
|
|
16
|
-
* {@link DirectorySync}
|
|
16
|
+
* each one-off job by name to its domain (`wait-timeout` → {@link Waits}, `sandbox-destroy-for` and
|
|
17
|
+
* `sandbox-reset-files` → {@link SandboxService}, `drift-connector` → {@link ToolDrift}, `directory-sync` →
|
|
18
|
+
* {@link DirectorySync}, `bg-wake` → {@link RunQueue.ensureRun}, `owned-plugin-cleanup` →
|
|
19
|
+
* {@link OwnedPluginCleanup}). The name of a periodic job (a `@LockedCron` / `@LockedInterval` job,
|
|
17
20
|
* such as `sandbox-suspend-idle`) runs that job's body once ({@link ScheduledRuns.runNow}), as the
|
|
18
21
|
* maintenance handlers did when those jobs were schedulers on this queue: an operator's or a
|
|
19
22
|
* test's one-off run, not a second schedule (decision R23 of the Nest kernel spec). Any other
|
|
@@ -24,10 +27,12 @@ export declare class MaintenanceProcessor extends WorkerHost<Worker> {
|
|
|
24
27
|
private readonly sandbox;
|
|
25
28
|
private readonly drift;
|
|
26
29
|
private readonly directory;
|
|
30
|
+
private readonly runs;
|
|
31
|
+
private readonly ownedCleanup;
|
|
27
32
|
private readonly scheduled;
|
|
28
33
|
private readonly log;
|
|
29
34
|
private readonly queue;
|
|
30
|
-
constructor(waits: Pick<Waits, "processTimeout">, sandbox: Pick<SandboxService, "
|
|
35
|
+
constructor(waits: Pick<Waits, "processTimeout">, sandbox: Pick<SandboxService, "destroyDevice" | "resetFileSystem">, drift: Pick<ToolDrift, "check">, directory: Pick<DirectorySync, "runSyncJob">, runs: Pick<RunQueue, "ensureRun">, ownedCleanup: Pick<OwnedPluginCleanup, "run">, scheduled: Pick<ScheduledRuns, "runNow">, log: Pick<KernelLogger, "error" | "warn">, queue: Pick<Queue, "removeJobScheduler">);
|
|
31
36
|
/**
|
|
32
37
|
* Removes the retired job schedulers (`RETIRED_SCHEDULER_IDS`, runtime/retired-schedulers.ts): every fixed-period
|
|
33
38
|
* maintenance job is a `@LockedCron` / `@LockedInterval` now. Idempotent; called once when a
|