@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,11 +1,12 @@
|
|
|
1
1
|
import { sanitizeParams, } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import { AgentDefinitionSchema, normalizeStoredDefinition, } from "../agents/definition.js";
|
|
2
|
+
import { AgentDefinitionSchema, builtinDisabled, canonicalDisabledTools, normalizeStoredDefinition, } from "../agents/definition.js";
|
|
3
3
|
import { sameModel, selectionAt } from "../conversations/selection.js";
|
|
4
4
|
import { ApiError } from "../errors.js";
|
|
5
5
|
import { mediaRefs, planMedia, } from "../runtime/context/build.js";
|
|
6
6
|
import { assembleModelRequest } from "../runtime/model-call.js";
|
|
7
7
|
import { CHILD_REMOVED_TOOLS } from "../runtime/subagents/definition.js";
|
|
8
8
|
import { PINNED_SKILLS_LIMITS } from "../skills/catalog.js";
|
|
9
|
+
import { AGENT_TOOL } from "../tools/builtin-names.js";
|
|
9
10
|
import { canonicalJson } from "./recorded-tools.js";
|
|
10
11
|
import { toEvents } from "./snapshot.js";
|
|
11
12
|
const DRIFT_ORDER = [
|
|
@@ -210,13 +211,31 @@ export function subagentStartedOf(events) {
|
|
|
210
211
|
const e = events.find((x) => x.type === "subagent_started");
|
|
211
212
|
return e?.type === "subagent_started" ? e.payload : undefined;
|
|
212
213
|
}
|
|
213
|
-
const sameTemplate = (logged, t) => logged.source !== "plugin" ||
|
|
214
|
+
const sameTemplate = (logged, t) => logged.source !== "plugin" ||
|
|
215
|
+
(logged.id === t.id &&
|
|
216
|
+
logged.version === t.version &&
|
|
217
|
+
(logged.platformTemplateId ?? null) === (t.platformTemplateId ?? null));
|
|
214
218
|
const pinsOf = (d) => [...new Set(d.skills?.pinned ?? [])].slice(0, PINNED_SKILLS_LIMITS.count);
|
|
215
|
-
/**
|
|
216
|
-
|
|
219
|
+
/**
|
|
220
|
+
* A sub-agent's tools without template narrowing (general and org agents), as compared: its
|
|
221
|
+
* turned-off tools (tools default-on spec §4) and its key filter's allowlist and `deny` keys,
|
|
222
|
+
* {@link CHILD_REMOVED_TOOLS} left out. `Agent` depends on the child's depth, not on the
|
|
223
|
+
* definition (agent map spec §4.1): a `deny` of it never counts, and a turned-off `Agent` counts
|
|
224
|
+
* only when the logged child had it (`keepAgent`), so a child logged without it (at the depth
|
|
225
|
+
* limit, or before nesting) compares equal to a candidate that offers it.
|
|
226
|
+
*/
|
|
227
|
+
const childToolsOf = (d, keepAgent) => canonicalJson({
|
|
228
|
+
disabled: canonicalDisabledTools((d.disabledTools ?? []).filter((r) => keepAgent || r.kind !== "builtin" || r.name !== AGENT_TOOL)),
|
|
229
|
+
allow: d.subagentTools?.allow ?? null,
|
|
230
|
+
deny: (d.subagentTools?.deny ?? []).filter((k) => !CHILD_REMOVED_TOOLS.includes(k) && k !== AGENT_TOOL),
|
|
231
|
+
});
|
|
232
|
+
/** Does the child have `Agent` by its definition (not turned off, not removed by its filter)? */
|
|
233
|
+
const hasAgent = (d) => !builtinDisabled(d.disabledTools, AGENT_TOOL) &&
|
|
234
|
+
!(d.subagentTools?.deny ?? []).includes(AGENT_TOOL) &&
|
|
235
|
+
(d.subagentTools?.allow === undefined || d.subagentTools.allow.includes(AGENT_TOOL));
|
|
217
236
|
/** The parent's selection a template child depends on: its tools, org skills and roster entry. */
|
|
218
237
|
const parentSide = (d, started) => canonicalJson({
|
|
219
|
-
|
|
238
|
+
disabledTools: canonicalDisabledTools(d.disabledTools ?? []),
|
|
220
239
|
orgSkills: d.skills?.orgSkills ?? [],
|
|
221
240
|
listed: started.template.source === "general"
|
|
222
241
|
? d.subagents?.general !== false
|
|
@@ -236,22 +255,29 @@ const parentSide = (d, started) => canonicalJson({
|
|
|
236
255
|
* parent version (its own version is {@link ReconstructOptions.subagentTemplate}). Template
|
|
237
256
|
* narrowing that needs the database (inline and plugin tool allowlists, skill names) is not
|
|
238
257
|
* recomputed: those compare instructions only.
|
|
239
|
-
* Models and params are not part of it: they are candidate axes of their own.
|
|
258
|
+
* Models and params are not part of it: they are candidate axes of their own. Neither is the
|
|
259
|
+
* candidate's `subagents` block as the child's own roster (allowlist, templates, limits; only a
|
|
260
|
+
* template child's entry in its parent's roster counts, `parentSide`) nor whether it offers `Agent`:
|
|
261
|
+
* whether a child has `Agent` follows its depth (`keepAgent` comes only from the logged child), and
|
|
262
|
+
* what a nesting child dispatches is recorded as its `Agent` results, which replay reuses (agent
|
|
263
|
+
* map spec §4.1, §8). A roster-only candidate therefore reports no `subagent_changed`.
|
|
240
264
|
*/
|
|
241
265
|
export function subagentChanged(started, logged, candidate, sameVersion,
|
|
242
266
|
/** The parent's definition at the case's version (the snapshot's), for template children. */
|
|
243
267
|
original) {
|
|
268
|
+
const keepAgent = hasAgent(logged);
|
|
269
|
+
const childTools = (d) => childToolsOf(d, keepAgent);
|
|
244
270
|
const differs = (instructions, pinned, tools) => instructions !== logged.instructions ||
|
|
245
271
|
(pinned !== null && canonicalJson(pinned) !== canonicalJson(pinsOf(logged))) ||
|
|
246
|
-
(tools !== null && tools !==
|
|
272
|
+
(tools !== null && tools !== childTools(logged));
|
|
247
273
|
if (sameVersion) {
|
|
248
|
-
return differs(candidate.instructions, pinsOf(candidate),
|
|
274
|
+
return differs(candidate.instructions, pinsOf(candidate), childTools(candidate));
|
|
249
275
|
}
|
|
250
276
|
switch (started.template.source) {
|
|
251
277
|
case "agent":
|
|
252
|
-
return differs(candidate.instructions, pinsOf(candidate),
|
|
278
|
+
return differs(candidate.instructions, pinsOf(candidate), childTools(candidate));
|
|
253
279
|
case "general":
|
|
254
|
-
return (differs(candidate.instructions, [],
|
|
280
|
+
return (differs(candidate.instructions, [], childTools(candidate)) ||
|
|
255
281
|
(original !== undefined && parentSide(original, started) !== parentSide(candidate, started)));
|
|
256
282
|
case "inline": {
|
|
257
283
|
const t = candidate.subagents?.inline?.find((x) => x.name === started.agentType);
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { SandboxRoots } from "@capybara-hq/plugin-sdk";
|
|
1
2
|
import type { EventLog } from "../conversations/event-log.js";
|
|
3
|
+
import { type LegacyScope } from "../tools/legacy-keys.js";
|
|
2
4
|
import { type ToolPipeline, type ToolStepContext } from "../tools/pipeline.js";
|
|
3
5
|
import type { CaseSnapshot } from "./snapshot.js";
|
|
4
6
|
/**
|
|
@@ -15,12 +17,43 @@ export interface RecordedCall {
|
|
|
15
17
|
inputKey: string;
|
|
16
18
|
content: string;
|
|
17
19
|
isError: boolean;
|
|
18
|
-
/** 原结果里的 `
|
|
20
|
+
/** 原结果里的 `ToolSearch` 已加载工具(照抄:之后请求的已加载集合由日志还原)。 */
|
|
19
21
|
loadedTools?: string[];
|
|
20
22
|
contentTypes?: string[];
|
|
21
23
|
/** 原 `tool_call_started` 的定义指纹(没有开始事件的调用为空串)。 */
|
|
22
24
|
specHash: string;
|
|
25
|
+
/** The recorded call used release-candidate names; `toolKey` and `inputKey` are already the current ones. */
|
|
26
|
+
legacy?: true;
|
|
27
|
+
/**
|
|
28
|
+
* The roots of the latest `device_paths` event the original run had logged by this call's
|
|
29
|
+
* step (environments spec §13.1, ruling R22): set on every recorded call from the step where an
|
|
30
|
+
* event was logged onward. A replay that matches the call writes the event when the eval
|
|
31
|
+
* conversation's latest one differs, so a candidate whose first sandbox call lands in another
|
|
32
|
+
* step still gets the line, once.
|
|
33
|
+
*/
|
|
34
|
+
devicePaths?: SandboxRoots;
|
|
23
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* The connectors and extensions an rc `<x>__<tool>` key can name, from positive evidence in the
|
|
38
|
+
* snapshot only (a head with no evidence, or evidence of both kinds, stays unmapped, so its
|
|
39
|
+
* recorded calls are unmatched, which is a safe miss):
|
|
40
|
+
* - a connector: the tool definition the key was recorded with (`toolSpecs`, found by the specHash of
|
|
41
|
+
* its `tool_call_started` or its `model_call` tools / catalog entry) has `connectorData`;
|
|
42
|
+
* - an extension: that definition exists without `connectorData` and its name is the key's tool
|
|
43
|
+
* part, or an rc-era agent definition names exactly that tool as a `{ kind: "plugin", plugin: x, name }`
|
|
44
|
+
* ref.
|
|
45
|
+
*/
|
|
46
|
+
export declare function legacyScopeOf(s: CaseSnapshot): LegacyScope;
|
|
47
|
+
/**
|
|
48
|
+
* A recorded call in the current names: an rc builtin or `<x>__<tool>` key becomes its current
|
|
49
|
+
* key with the input's parameters renamed. Only the recorded side is ever normalized; a call
|
|
50
|
+
* already in current names (or one that cannot be mapped) is returned as is.
|
|
51
|
+
*/
|
|
52
|
+
export declare function currentCall(name: string, input: unknown, scope: LegacyScope): {
|
|
53
|
+
name: string;
|
|
54
|
+
input: unknown;
|
|
55
|
+
legacy: boolean;
|
|
56
|
+
};
|
|
24
57
|
/** 规范化 JSON:对象键递归按码点排序,数组保持顺序;`undefined` 按 JSON 规则省略。 */
|
|
25
58
|
export declare function canonicalJson(v: unknown): string;
|
|
26
59
|
/** The matching key of a call: the canonical JSON of its input without the ignored fields. */
|
|
@@ -43,7 +76,10 @@ export declare class RecordedToolPipeline implements Pick<ToolPipeline, "runStep
|
|
|
43
76
|
private readonly d;
|
|
44
77
|
private readonly used;
|
|
45
78
|
private misses;
|
|
79
|
+
private legacyHits;
|
|
46
80
|
constructor(d: RecordedToolPipelineDeps);
|
|
81
|
+
/** Calls so far matched with a recording made under release-candidate tool names. */
|
|
82
|
+
legacyMatches(): number;
|
|
47
83
|
/** 至今没有匹配到记录的调用数。 */
|
|
48
84
|
unmatched(): number;
|
|
49
85
|
runStep(ctx: ToolStepContext): Promise<{
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { devicePathsChange } from "../runtime/context/device-paths.js";
|
|
1
2
|
import { assistantIdemKey } from "../runtime/model-call.js";
|
|
3
|
+
import { MATCH_IGNORED_FIELDS } from "../tools/builtin-names.js";
|
|
4
|
+
import { isLegacyPrefixedKey, legacyToolInput, legacyToolKey, } from "../tools/legacy-keys.js";
|
|
2
5
|
import { RUN_STOPPED_TEXT } from "../tools/pipeline.js";
|
|
3
6
|
/**
|
|
4
7
|
* 整轮回放的工具管线(C6 / Review Focus 3):只回放原运行记录的工具结果,**从不执行任何工具**——
|
|
@@ -7,6 +10,85 @@ import { RUN_STOPPED_TEXT } from "../tools/pipeline.js";
|
|
|
7
10
|
*/
|
|
8
11
|
/** 没有匹配记录时模型看到的工具结果(模型可见,英文)。 */
|
|
9
12
|
export const REPLAY_NO_RECORDING = "[replay] No recorded result matches this tool call (same tool and arguments); the tool was not executed during replay.";
|
|
13
|
+
/**
|
|
14
|
+
* The connectors and extensions an rc `<x>__<tool>` key can name, from positive evidence in the
|
|
15
|
+
* snapshot only (a head with no evidence, or evidence of both kinds, stays unmapped, so its
|
|
16
|
+
* recorded calls are unmatched, which is a safe miss):
|
|
17
|
+
* - a connector: the tool definition the key was recorded with (`toolSpecs`, found by the specHash of
|
|
18
|
+
* its `tool_call_started` or its `model_call` tools / catalog entry) has `connectorData`;
|
|
19
|
+
* - an extension: that definition exists without `connectorData` and its name is the key's tool
|
|
20
|
+
* part, or an rc-era agent definition names exactly that tool as a `{ kind: "plugin", plugin: x, name }`
|
|
21
|
+
* ref.
|
|
22
|
+
*/
|
|
23
|
+
export function legacyScopeOf(s) {
|
|
24
|
+
const hashes = new Map();
|
|
25
|
+
const note = (key, hash) => {
|
|
26
|
+
if (!isLegacyPrefixedKey(key))
|
|
27
|
+
return;
|
|
28
|
+
const set = hashes.get(key) ?? new Set();
|
|
29
|
+
if (hash !== undefined && hash !== "")
|
|
30
|
+
set.add(hash);
|
|
31
|
+
hashes.set(key, set);
|
|
32
|
+
};
|
|
33
|
+
for (const e of s.events) {
|
|
34
|
+
if (e.type === "tool_call_started") {
|
|
35
|
+
const p = e.payload;
|
|
36
|
+
note(p.toolKey, p.specHash);
|
|
37
|
+
}
|
|
38
|
+
else if (e.type === "model_call") {
|
|
39
|
+
const r = e.payload.request;
|
|
40
|
+
for (const t of [...(r?.tools ?? []), ...(r?.catalog ?? [])])
|
|
41
|
+
note(t.key, t.specHash);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const extensionNames = new Set();
|
|
45
|
+
const connectorSlugs = new Set();
|
|
46
|
+
const planted = new Set();
|
|
47
|
+
// rc-era snapshots hold definitions from before tools were on by default: an enabled `tools`
|
|
48
|
+
// list of refs (tools default-on spec §2)
|
|
49
|
+
for (const def of Object.values(s.definitions)) {
|
|
50
|
+
const refs = def.tools;
|
|
51
|
+
if (!Array.isArray(refs))
|
|
52
|
+
continue;
|
|
53
|
+
for (const t of refs) {
|
|
54
|
+
if (t?.kind === "plugin" && typeof t.plugin === "string" && typeof t.name === "string") {
|
|
55
|
+
planted.add(`${t.plugin}__${t.name}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
for (const [key, set] of hashes) {
|
|
60
|
+
const i = key.indexOf("__");
|
|
61
|
+
const head = key.slice(0, i);
|
|
62
|
+
const tool = key.slice(i + 2);
|
|
63
|
+
for (const h of set) {
|
|
64
|
+
const spec = s.toolSpecs[h];
|
|
65
|
+
if (spec === undefined)
|
|
66
|
+
continue;
|
|
67
|
+
if (spec.connectorData !== undefined) {
|
|
68
|
+
connectorSlugs.add(head);
|
|
69
|
+
}
|
|
70
|
+
else if (spec.name === tool) {
|
|
71
|
+
extensionNames.add(head);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
for (const key of planted) {
|
|
76
|
+
if (hashes.has(key))
|
|
77
|
+
extensionNames.add(key.slice(0, key.indexOf("__")));
|
|
78
|
+
}
|
|
79
|
+
return { connectorSlugs, extensionNames };
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* A recorded call in the current names: an rc builtin or `<x>__<tool>` key becomes its current
|
|
83
|
+
* key with the input's parameters renamed. Only the recorded side is ever normalized; a call
|
|
84
|
+
* already in current names (or one that cannot be mapped) is returned as is.
|
|
85
|
+
*/
|
|
86
|
+
export function currentCall(name, input, scope) {
|
|
87
|
+
const key = legacyToolKey(name, scope);
|
|
88
|
+
if (key === null)
|
|
89
|
+
return { name, input, legacy: false };
|
|
90
|
+
return { name: key, input: legacyToolInput(name, input), legacy: true };
|
|
91
|
+
}
|
|
10
92
|
/** 规范化 JSON:对象键递归按码点排序,数组保持顺序;`undefined` 按 JSON 规则省略。 */
|
|
11
93
|
export function canonicalJson(v) {
|
|
12
94
|
const norm = (x) => {
|
|
@@ -23,14 +105,6 @@ export function canonicalJson(v) {
|
|
|
23
105
|
};
|
|
24
106
|
return JSON.stringify(norm(v) ?? null);
|
|
25
107
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Input fields left out when matching, per tool: display-only arguments the model writes that do not
|
|
28
|
-
* change what the tool does. `sandbox_bash`'s `description` became required in UI refresh B, so a
|
|
29
|
-
* recording without it and a replayed call with one (or a different wording) still match.
|
|
30
|
-
*/
|
|
31
|
-
const MATCH_IGNORED_FIELDS = {
|
|
32
|
-
sandbox_bash: ["description"],
|
|
33
|
-
};
|
|
34
108
|
/** The matching key of a call: the canonical JSON of its input without the ignored fields. */
|
|
35
109
|
export function matchKey(toolKey, input) {
|
|
36
110
|
const ignored = MATCH_IGNORED_FIELDS[toolKey];
|
|
@@ -64,10 +138,29 @@ export function recordedCalls(s) {
|
|
|
64
138
|
started.set(p.callId, p.specHash);
|
|
65
139
|
}
|
|
66
140
|
}
|
|
141
|
+
// a device_paths event belongs to the step of the assistant message before it, and holds
|
|
142
|
+
// for that step's calls and every later step's (until the next one)
|
|
143
|
+
const pathsOf = new Map();
|
|
144
|
+
const assistants = own.filter((e) => e.type === "assistant_message").map((e) => e.seq);
|
|
145
|
+
let current;
|
|
146
|
+
let next = 0;
|
|
147
|
+
for (const [i, a] of assistants.entries()) {
|
|
148
|
+
const end = assistants[i + 1] ?? Number.POSITIVE_INFINITY;
|
|
149
|
+
for (; next < own.length && own[next].seq < end; next++) {
|
|
150
|
+
const e = own[next];
|
|
151
|
+
if (e.type === "device_paths" && e.seq > a) {
|
|
152
|
+
current = e.payload.roots;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (current !== undefined)
|
|
156
|
+
pathsOf.set(a, current);
|
|
157
|
+
}
|
|
158
|
+
const scope = legacyScopeOf(s);
|
|
67
159
|
const out = [];
|
|
68
160
|
for (const e of own) {
|
|
69
161
|
if (e.type !== "assistant_message")
|
|
70
162
|
continue;
|
|
163
|
+
const paths = pathsOf.get(e.seq);
|
|
71
164
|
const content = e.payload.content;
|
|
72
165
|
for (const b of content) {
|
|
73
166
|
if (b.type !== "tool_call")
|
|
@@ -76,14 +169,17 @@ export function recordedCalls(s) {
|
|
|
76
169
|
const r = results.get(call.id);
|
|
77
170
|
if (!r)
|
|
78
171
|
continue;
|
|
172
|
+
const cur = currentCall(call.name, call.input, scope);
|
|
79
173
|
out.push({
|
|
80
|
-
toolKey:
|
|
81
|
-
inputKey: matchKey(
|
|
174
|
+
toolKey: cur.name,
|
|
175
|
+
inputKey: matchKey(cur.name, cur.input),
|
|
176
|
+
...(cur.legacy && { legacy: true }),
|
|
82
177
|
content: r.content,
|
|
83
178
|
isError: r.isError,
|
|
84
179
|
...(r.loadedTools !== undefined && { loadedTools: r.loadedTools }),
|
|
85
180
|
...(r.contentTypes !== undefined && { contentTypes: r.contentTypes }),
|
|
86
181
|
specHash: started.get(call.id) ?? "",
|
|
182
|
+
...(paths !== undefined && { devicePaths: paths }),
|
|
87
183
|
});
|
|
88
184
|
}
|
|
89
185
|
}
|
|
@@ -98,9 +194,14 @@ export class RecordedToolPipeline {
|
|
|
98
194
|
d;
|
|
99
195
|
used = new Set();
|
|
100
196
|
misses = 0;
|
|
197
|
+
legacyHits = 0;
|
|
101
198
|
constructor(d) {
|
|
102
199
|
this.d = d;
|
|
103
200
|
}
|
|
201
|
+
/** Calls so far matched with a recording made under release-candidate tool names. */
|
|
202
|
+
legacyMatches() {
|
|
203
|
+
return this.legacyHits;
|
|
204
|
+
}
|
|
104
205
|
/** 至今没有匹配到记录的调用数。 */
|
|
105
206
|
unmatched() {
|
|
106
207
|
return this.misses;
|
|
@@ -132,7 +233,14 @@ export class RecordedToolPipeline {
|
|
|
132
233
|
const rec = this.take(call.name, matchKey(call.name, call.input));
|
|
133
234
|
if (!rec)
|
|
134
235
|
this.misses++;
|
|
236
|
+
// the original run had told the model the instance's directories by this call: so does the
|
|
237
|
+
// replay, when the eval conversation's latest record differs (as the sandbox tools write it)
|
|
238
|
+
const paths = rec?.devicePaths;
|
|
239
|
+
const change = paths === undefined
|
|
240
|
+
? null
|
|
241
|
+
: devicePathsChange(await eventLog.latestOfType(ctx.conversationId, "device_paths"), paths, ctx.runId);
|
|
135
242
|
await eventLog.append(ctx.conversationId, [
|
|
243
|
+
...(change ? [change] : []),
|
|
136
244
|
{
|
|
137
245
|
type: "tool_call_started",
|
|
138
246
|
runId: ctx.runId,
|
|
@@ -162,6 +270,8 @@ export class RecordedToolPipeline {
|
|
|
162
270
|
if (i < 0)
|
|
163
271
|
return undefined;
|
|
164
272
|
this.used.add(i);
|
|
273
|
+
if (this.d.recordings[i]?.legacy === true)
|
|
274
|
+
this.legacyHits++;
|
|
165
275
|
return this.d.recordings[i];
|
|
166
276
|
}
|
|
167
277
|
}
|
|
@@ -18,8 +18,13 @@ import type { ResolvedCandidate } from "./step-replay.js";
|
|
|
18
18
|
* {@link RecordedToolPipeline}(只回放记录的结果,不执行任何工具、沙箱、连接器或审批)。
|
|
19
19
|
*
|
|
20
20
|
* - 种子:原运行 `run_started` 之前的事件按原 seq 插入(`last_seq` 停在其前一位,新的 `run_started` 因此与原来同 seq),
|
|
21
|
-
* 原运行开始时的 `skills_catalog` 照抄;然后写 `runs` 行与 `run_started`,`agent` 用候选定义。
|
|
22
|
-
* -
|
|
21
|
+
* 原运行开始时的 `skills_catalog` 与 `run_context` 照抄;然后写 `runs` 行与 `run_started`,`agent` 用候选定义。
|
|
22
|
+
* - 插话:原运行中途吸收的可吸收事件(user_message, and finished background tasks: background Bash
|
|
23
|
+
* spec §4.4),在「原吸收步骤 ≤ 当前步骤」时追加进评测对话并交给 loop(a recorded finish is
|
|
24
|
+
* appended as recorded: no task starts, polls or stops; likewise a sub-agent's delivery, agent map
|
|
25
|
+
* spec §8: no child is dispatched, sent to or woken)。
|
|
26
|
+
* - A wake run (its boundary a finished background task or a sub-agent's delivery, not a message)
|
|
27
|
+
* is seeded from that event.
|
|
23
28
|
* - 计费(C7,与单步回放同一套):每次模型请求(含压缩、重试、兜底)发出前查运行仍在执行、仍持有认领;
|
|
24
29
|
* 收完按真实用量、没收完按估算 `consumeTokens`(越限即 `capped`,下一次请求前停下)。
|
|
25
30
|
* - 附件按快照自己的组织与原对话取(C3)。
|
|
@@ -37,6 +42,11 @@ export interface RunReplayResult {
|
|
|
37
42
|
usage: ModelUsage;
|
|
38
43
|
steps: number;
|
|
39
44
|
unmatched: number;
|
|
45
|
+
/**
|
|
46
|
+
* Set when a call was matched with a recording made under the release-candidate tool names
|
|
47
|
+
* (`sandbox_edit` for `Edit`, `docs__search` for `mcp__docs__search`, old parameter names).
|
|
48
|
+
*/
|
|
49
|
+
legacyKeyMatch?: true;
|
|
40
50
|
}
|
|
41
51
|
/** 原运行(基线)的同形摘要。 */
|
|
42
52
|
export type RunBaseline = Omit<RunReplayResult, "conversationId" | "outcome" | "unmatched">;
|
|
@@ -96,7 +106,7 @@ export interface ReplaySeed {
|
|
|
96
106
|
/** The conversation's `consumed_seq` when the original run started. */
|
|
97
107
|
consumed: number;
|
|
98
108
|
seeds: SnapshotEvent[];
|
|
99
|
-
/** The run's trigger seq (the last
|
|
109
|
+
/** The run's trigger seq (its boundary: the last unconsumed message, or the waking finish). */
|
|
100
110
|
trigger: number;
|
|
101
111
|
agentVersion: number;
|
|
102
112
|
model: ModelRef;
|
|
@@ -104,6 +114,13 @@ export interface ReplaySeed {
|
|
|
104
114
|
catalog: {
|
|
105
115
|
payload: unknown;
|
|
106
116
|
} | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* The original run's `run_context` event (run context spec §8), copied as is: a candidate sees
|
|
119
|
+
* the original date, names and org, never the eval day's.
|
|
120
|
+
*/
|
|
121
|
+
runContext: {
|
|
122
|
+
payload: unknown;
|
|
123
|
+
} | undefined;
|
|
107
124
|
}
|
|
108
125
|
/**
|
|
109
126
|
* The seed of a full-run replay (C6): the `kind = 'eval'` conversation with the events before the
|
package/dist/evals/run-replay.js
CHANGED
|
@@ -13,16 +13,18 @@ import { Inject, Injectable } from "@nestjs/common";
|
|
|
13
13
|
import { sql } from "kysely";
|
|
14
14
|
import { normalizeStoredDefinition } from "../agents/definition.js";
|
|
15
15
|
import { EventLog } from "../conversations/event-log.js";
|
|
16
|
+
import { isAbsorbable, } from "../conversations/events.js";
|
|
16
17
|
import { ApiError } from "../errors.js";
|
|
17
18
|
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
18
19
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
19
20
|
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
20
21
|
import { estimateTokens } from "../runtime/context/tokens.js";
|
|
21
22
|
import { RunError } from "../runtime/model-call.js";
|
|
23
|
+
import { runContextIdemKey } from "../runtime/run-context.service.js";
|
|
22
24
|
import { recordedSkillForks } from "../runtime/subagents/skill-fork.js";
|
|
23
25
|
import { skillsCatalogIdemKey } from "../skills/catalog.js";
|
|
24
26
|
import { ACTIVE_EVAL_STATUSES, addUsage, consumeTokens, TOO_MANY_ERRORS, usageTokens, } from "./budget.js";
|
|
25
|
-
import { RecordedToolPipeline, recordedCalls } from "./recorded-tools.js";
|
|
27
|
+
import { currentCall, legacyScopeOf, RecordedToolPipeline, recordedCalls, } from "./recorded-tools.js";
|
|
26
28
|
/** 写种子时发现已失去认领或运行已不在执行:本次执行停下,不留评测对话。 */
|
|
27
29
|
export class ReplayClaimLost extends Error {
|
|
28
30
|
constructor() {
|
|
@@ -120,6 +122,16 @@ let EvalReplaySeeder = class EvalReplaySeeder {
|
|
|
120
122
|
},
|
|
121
123
|
]
|
|
122
124
|
: []),
|
|
125
|
+
...(p.runContext
|
|
126
|
+
? [
|
|
127
|
+
{
|
|
128
|
+
type: "run_context",
|
|
129
|
+
runId,
|
|
130
|
+
idemKey: runContextIdemKey(runId),
|
|
131
|
+
payload: p.runContext.payload,
|
|
132
|
+
},
|
|
133
|
+
]
|
|
134
|
+
: []),
|
|
123
135
|
]);
|
|
124
136
|
if (onSeeded && !(await onSeeded(conversationId)))
|
|
125
137
|
throw new ReplayClaimLost();
|
|
@@ -177,7 +189,7 @@ const ZERO = {
|
|
|
177
189
|
cacheWriteTokens: 0,
|
|
178
190
|
};
|
|
179
191
|
/** 一次运行的工具调用序列、最后的回复、停止原因、用量与步数(基线与候选同一算法)。 */
|
|
180
|
-
function summarize(events, runId) {
|
|
192
|
+
function summarize(events, runId, scope) {
|
|
181
193
|
const toolCalls = [];
|
|
182
194
|
let usage = ZERO;
|
|
183
195
|
let last = null;
|
|
@@ -189,8 +201,14 @@ function summarize(events, runId) {
|
|
|
189
201
|
const p = e.payload;
|
|
190
202
|
steps.add(p.step);
|
|
191
203
|
for (const b of p.content) {
|
|
192
|
-
if (b.type
|
|
204
|
+
if (b.type !== "tool_call")
|
|
205
|
+
continue;
|
|
206
|
+
if (scope === undefined)
|
|
193
207
|
toolCalls.push({ name: b.name, input: b.input });
|
|
208
|
+
else {
|
|
209
|
+
const { name, input } = currentCall(b.name, b.input, scope);
|
|
210
|
+
toolCalls.push({ name, input });
|
|
211
|
+
}
|
|
194
212
|
}
|
|
195
213
|
last = { content: p.content, stopReason: p.stopReason };
|
|
196
214
|
}
|
|
@@ -214,7 +232,9 @@ function summarize(events, runId) {
|
|
|
214
232
|
}
|
|
215
233
|
/** 原运行(快照)的摘要,作为整轮回放的基线。 */
|
|
216
234
|
export function runBaseline(s) {
|
|
217
|
-
|
|
235
|
+
// an rc recording is read in the current tool names, so the diff against a candidate only
|
|
236
|
+
// shows real differences
|
|
237
|
+
return summarize(s.events, s.runId, legacyScopeOf(s));
|
|
218
238
|
}
|
|
219
239
|
/**
|
|
220
240
|
* 删掉一个评测对话(崩溃重跑前清掉上一次的残留):先删它各次运行的 checkpoint,再删对话(事件、运行随之级联删除)。
|
|
@@ -252,6 +272,29 @@ function absorbedByStep(s) {
|
|
|
252
272
|
}
|
|
253
273
|
return out;
|
|
254
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* The replayed run's boundary (`trigger_seq`): a wake run's recorded one (`run_started.triggerSeq`,
|
|
277
|
+
* background Bash spec §3, agent map spec §5.3); otherwise the newest message after `consumed`, else the newest finish
|
|
278
|
+
* after it that could have woken the run (not reported, no `stoppedBy`), else the last
|
|
279
|
+
* message (old logs, as before).
|
|
280
|
+
*/
|
|
281
|
+
function replayTrigger(started, seeds, consumed) {
|
|
282
|
+
const recorded = started;
|
|
283
|
+
if ((recorded.trigger === "background_task" || recorded.trigger === "subagent") &&
|
|
284
|
+
recorded.triggerSeq !== undefined) {
|
|
285
|
+
return recorded.triggerSeq;
|
|
286
|
+
}
|
|
287
|
+
const lastMessage = seeds.findLast((e) => e.type === "user_message")?.seq;
|
|
288
|
+
if (lastMessage !== undefined && lastMessage > consumed)
|
|
289
|
+
return lastMessage;
|
|
290
|
+
const wake = seeds.findLast((e) => {
|
|
291
|
+
if (e.type !== "background_task_finished" || e.seq <= consumed)
|
|
292
|
+
return false;
|
|
293
|
+
const p = e.payload;
|
|
294
|
+
return !p.reported && p.stoppedBy === undefined;
|
|
295
|
+
})?.seq;
|
|
296
|
+
return wake ?? lastMessage ?? 0;
|
|
297
|
+
}
|
|
255
298
|
const readAll = async (eventLog, conversationId) => {
|
|
256
299
|
const out = [];
|
|
257
300
|
let after = 0;
|
|
@@ -286,8 +329,9 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
286
329
|
consumed = Math.max(consumed, e.payload.consumedUpToSeq);
|
|
287
330
|
}
|
|
288
331
|
}
|
|
289
|
-
const trigger =
|
|
332
|
+
const trigger = replayTrigger(start.payload, seeds, consumed);
|
|
290
333
|
const catalog = s.events.find((e) => e.runId === s.runId && e.type === "skills_catalog" && e.seq > R);
|
|
334
|
+
const runContext = s.events.find((e) => e.runId === s.runId && e.type === "run_context" && e.seq > R);
|
|
291
335
|
// a sub-agent's case (spec §15.3) runs the effective definition frozen in its subagent_started
|
|
292
336
|
// (the request renders that event's preamble and instructions; its tools come from it too), with
|
|
293
337
|
// only the candidate's model and params, and the logged step limit
|
|
@@ -299,6 +343,10 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
299
343
|
model: candidate.model,
|
|
300
344
|
modelParams: candidate.params,
|
|
301
345
|
};
|
|
346
|
+
const triggerEvent = s.events.find((e) => e.seq === trigger);
|
|
347
|
+
const forkRun = triggerEvent?.type === "user_message" &&
|
|
348
|
+
triggerEvent.payload.skill !== undefined &&
|
|
349
|
+
triggerEvent.payload.dispatch !== undefined;
|
|
302
350
|
const conversationId = randomUUID();
|
|
303
351
|
const runId = randomUUID();
|
|
304
352
|
await d.seeder.seed({
|
|
@@ -315,6 +363,7 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
315
363
|
agentVersion: candidate.agentVersion,
|
|
316
364
|
model: agent.model,
|
|
317
365
|
catalog,
|
|
366
|
+
runContext,
|
|
318
367
|
}, d.onSeeded);
|
|
319
368
|
await d.hooks?.afterRunSeeded?.(evalRunId, conversationId);
|
|
320
369
|
// 停止:取消 / 越限 / 熔断 / 失去认领 / 截止时间 → 中止 loop(进行中的请求立即停下,loop 以 aborted 返回)
|
|
@@ -399,8 +448,10 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
399
448
|
return metered;
|
|
400
449
|
};
|
|
401
450
|
const registry = {
|
|
402
|
-
|
|
403
|
-
|
|
451
|
+
// the case's org (its effective provider config), whatever the replayed step passes
|
|
452
|
+
// (and its disabled lists: a candidate disabled there is refused, spec B §5.3)
|
|
453
|
+
resolve: async (_orgId, ref, opts) => {
|
|
454
|
+
const r = await d.registry.resolve(s.orgId, ref, opts);
|
|
404
455
|
return { ...r, provider: meter(r.provider) };
|
|
405
456
|
},
|
|
406
457
|
};
|
|
@@ -419,7 +470,8 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
419
470
|
return "stop";
|
|
420
471
|
},
|
|
421
472
|
});
|
|
422
|
-
//
|
|
473
|
+
// 插话:原运行开始之后到达、且被原运行某一步吸收的可吸收事件(user_message /
|
|
474
|
+
// background_task_finished / subagent_delivery)
|
|
423
475
|
const absorbed = absorbedByStep(s);
|
|
424
476
|
const stepsInOrder = [...absorbed.keys()].sort((a, b) => a - b);
|
|
425
477
|
/** 第 k 步(含)之前原运行吸收到的最大位置;原运行没有模型调用时不设限。 */
|
|
@@ -434,7 +486,10 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
434
486
|
return cap;
|
|
435
487
|
};
|
|
436
488
|
const interjections = s.events
|
|
437
|
-
.filter((e) => e.type === "user_message"
|
|
489
|
+
.filter((e) => (e.type === "user_message" ||
|
|
490
|
+
e.type === "background_task_finished" ||
|
|
491
|
+
e.type === "subagent_delivery") &&
|
|
492
|
+
e.seq > R)
|
|
438
493
|
.flatMap((e) => {
|
|
439
494
|
const step = stepsInOrder.find((k) => absorbed.get(k) >= e.seq);
|
|
440
495
|
return step === undefined ? [] : [{ event: e, step }];
|
|
@@ -442,7 +497,7 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
442
497
|
/** 已追加的插话:原 seq → 评测对话里的 seq。 */
|
|
443
498
|
const fed = new Map();
|
|
444
499
|
let prepared = 0;
|
|
445
|
-
const
|
|
500
|
+
const pendingAbsorbable = async (afterSeq) => {
|
|
446
501
|
prepared++;
|
|
447
502
|
// loop 的步骤从 1 起(与运行时相同),每步的 prepare 调用一次:第 n 次调用即第 n 步
|
|
448
503
|
const k = prepared;
|
|
@@ -451,7 +506,7 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
451
506
|
continue;
|
|
452
507
|
const [w] = await eventLog.append(conversationId, [
|
|
453
508
|
{
|
|
454
|
-
type:
|
|
509
|
+
type: x.event.type,
|
|
455
510
|
idemKey: `replay_interjection:${runId}:${x.event.seq}`,
|
|
456
511
|
payload: x.event.payload,
|
|
457
512
|
},
|
|
@@ -463,7 +518,7 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
463
518
|
const fedSeqs = new Set(fed.values());
|
|
464
519
|
const out = [];
|
|
465
520
|
for (const e of await readAll(eventLog, conversationId)) {
|
|
466
|
-
if (e
|
|
521
|
+
if (!isAbsorbable(e) || e.seq <= afterSeq)
|
|
467
522
|
continue;
|
|
468
523
|
if (fedSeqs.has(e.seq) || (e.seq < R && e.seq <= cap))
|
|
469
524
|
out.push(e);
|
|
@@ -494,13 +549,16 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
494
549
|
signal: loopSignal,
|
|
495
550
|
shutdown: new AbortController().signal,
|
|
496
551
|
sink: () => { },
|
|
497
|
-
|
|
552
|
+
pendingAbsorbable,
|
|
498
553
|
limits: {
|
|
499
554
|
maxSteps: subagent === undefined ? runtime.maxSteps : Math.min(subagent.maxSteps, runtime.maxSteps),
|
|
500
555
|
deadline,
|
|
501
556
|
},
|
|
502
557
|
// replays never fire plugin hooks (the loop deps omit them too, P-18)
|
|
503
558
|
conversationKind: "eval",
|
|
559
|
+
// a child case offers a sub-agent's message tools, as its recorded requests did (a fork
|
|
560
|
+
// invocation's child, whose run a task with the invocation record started, has none)
|
|
561
|
+
...(subagent !== undefined && !forkRun && { subagent: true }),
|
|
504
562
|
});
|
|
505
563
|
}
|
|
506
564
|
catch (e) {
|
|
@@ -558,5 +616,11 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
|
|
|
558
616
|
});
|
|
559
617
|
await Promise.allSettled([...charges]);
|
|
560
618
|
const summary = summarize(await readAll(eventLog, conversationId), runId);
|
|
561
|
-
return {
|
|
619
|
+
return {
|
|
620
|
+
conversationId,
|
|
621
|
+
outcome: outcome.kind,
|
|
622
|
+
...summary,
|
|
623
|
+
unmatched: pipeline.unmatched(),
|
|
624
|
+
...(pipeline.legacyMatches() > 0 && { legacyKeyMatch: true }),
|
|
625
|
+
};
|
|
562
626
|
}
|