@orion-agents/orion-code 0.3.2 → 0.3.4
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/CHANGELOG.md +83 -0
- package/README.md +46 -18
- package/README.zh-CN.md +36 -16
- package/dist/runtime/agent-runtime-controller.d.ts +1 -0
- package/dist/runtime/agent-runtime-controller.js +92 -41
- package/dist/runtime/capability-receipt-journal.js +1 -1
- package/dist/runtime/durable-tool-receipt-reader.js +1 -1
- package/dist/runtime/legacy-thread-materializer.js +2 -2
- package/dist/runtime/orion-runtime-v1.d.ts +2 -1
- package/dist/runtime/orion-runtime-v1.js +18 -16
- package/dist/runtime/orion-session-runner.d.ts +2 -0
- package/dist/runtime/orion-session-runner.js +12 -4
- package/dist/runtime/product-bootstrap.d.ts +6 -0
- package/dist/runtime/product-bootstrap.js +389 -337
- package/dist/runtime/product-orion-runtime.d.ts +5 -0
- package/dist/runtime/product-orion-runtime.js +2 -0
- package/dist/runtime/release-receipts.d.ts +7 -3
- package/dist/runtime/release-receipts.js +79 -1
- package/dist/runtime/step-snapshot.d.ts +12 -0
- package/dist/runtime/step-snapshot.js +14 -1
- package/dist/runtime/subagent-thread-runtime.js +1 -1
- package/dist/runtime/thread-event-store.d.ts +10 -1
- package/dist/runtime/thread-event-store.js +48 -12
- package/dist/runtime/thread-projection.d.ts +19 -0
- package/dist/runtime/thread-projection.js +12 -0
- package/dist/runtime/thread-runtime.d.ts +2 -2
- package/dist/runtime/thread-runtime.js +2 -2
- package/dist/runtime/thread-session-index.d.ts +17 -1
- package/dist/runtime/thread-session-index.js +89 -6
- package/dist/runtime/thread-session-view.d.ts +4 -1
- package/dist/runtime/thread-session-view.js +5 -2
- package/dist/runtime/thread-ui-adapter.js +10 -3
- package/dist/runtime/tool-gateway.js +1 -0
- package/dist/runtime/turn-commit.js +1 -1
- package/dist/runtime/ui-events.d.ts +3 -0
- package/dist/runtime/workspace-runtime-kernel.d.ts +67 -0
- package/dist/runtime/workspace-runtime-kernel.js +148 -0
- package/dist/services/global-config.d.ts +2 -0
- package/dist/services/global-config.js +7 -1
- package/dist/services/provider-resilience/coordinator.d.ts +3 -1
- package/dist/services/provider-resilience/coordinator.js +23 -1
- package/dist/services/provider-resilience/request-gate.js +7 -2
- package/dist/services/redaction.js +19 -2
- package/dist/services/settings-coordinator.d.ts +3 -1
- package/dist/services/settings-coordinator.js +40 -8
- package/dist/services/settings-document-repository.d.ts +8 -1
- package/dist/services/settings-document-repository.js +22 -1
- package/dist/tui-ui/transcript-inspector-layout.js +13 -6
- package/dist/web/event-hub.d.ts +2 -0
- package/dist/web/event-hub.js +43 -6
- package/dist/web/file-read-service.d.ts +2 -0
- package/dist/web/file-read-service.js +39 -12
- package/dist/web/git-read-model-service.js +7 -0
- package/dist/web/protocol.d.ts +51 -3
- package/dist/web/protocol.js +38 -2
- package/dist/web/review-service.d.ts +1 -0
- package/dist/web/review-service.js +1 -0
- package/dist/web/server.js +30 -6
- package/dist/web/session-runtime-registry.d.ts +124 -0
- package/dist/web/session-runtime-registry.js +448 -0
- package/dist/web/terminal-manager.js +23 -4
- package/dist/web/terminal-server.js +35 -6
- package/dist/web/workbench-controller.d.ts +27 -3
- package/dist/web/workbench-controller.js +557 -134
- package/dist/web/workspace-mutation-arbiter.d.ts +54 -0
- package/dist/web/workspace-mutation-arbiter.js +267 -0
- package/dist/web-client/assets/{DiffViewer-eaQNsnCh.js → DiffViewer-D6mG729y.js} +1 -1
- package/dist/web-client/assets/FilesPanel-CCDoAZ1J.js +2 -0
- package/dist/web-client/assets/{GitPanel-CnU4XVr7.js → GitPanel-DtNgiH7A.js} +1 -1
- package/dist/web-client/assets/ReviewPanel-CKEBSt6P.js +1 -0
- package/dist/web-client/assets/{TerminalPanel-Q5mSSsoK.js → TerminalPanel-CNxMaBLp.js} +14 -14
- package/dist/web-client/assets/index-BBvNg3By.css +1 -0
- package/dist/web-client/assets/index-C6TDJwMC.js +17 -0
- package/dist/web-client/index.html +4 -4
- package/docs/architecture/v0.3.3-web-api.yaml +3205 -0
- package/docs/architecture/v0.3.4-stabilization-contract.md +32 -0
- package/docs/migration/v0.3.2-to-v0.3.3.md +62 -0
- package/docs/migration/v0.3.3-to-v0.3.4.md +36 -0
- package/docs/plan/v0.3.3-plan.md +1113 -0
- package/docs/plan/v0.3.4-stabilization-plan.md +89 -0
- package/docs/test/v0.3.3-web-workbench-e2e-plan.md +79 -0
- package/docs/test/v0.3.4-stabilization-e2e-plan.md +54 -0
- package/npm-shrinkwrap.json +25 -25
- package/package.json +10 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands/context-commands.d.ts.map +0 -1
- package/dist/commands/context-commands.js.map +0 -1
- package/dist/commands/context-tool-command-handlers.d.ts.map +0 -1
- package/dist/commands/context-tool-command-handlers.js.map +0 -1
- package/dist/commands/core-command-handlers.d.ts.map +0 -1
- package/dist/commands/core-command-handlers.js.map +0 -1
- package/dist/commands/diagnostic-command-handlers.d.ts.map +0 -1
- package/dist/commands/diagnostic-command-handlers.js.map +0 -1
- package/dist/commands/diagnostic-commands.d.ts.map +0 -1
- package/dist/commands/diagnostic-commands.js.map +0 -1
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/model-command-handlers.d.ts.map +0 -1
- package/dist/commands/model-command-handlers.js.map +0 -1
- package/dist/commands/model-commands.d.ts.map +0 -1
- package/dist/commands/model-commands.js.map +0 -1
- package/dist/commands/parser.d.ts.map +0 -1
- package/dist/commands/parser.js.map +0 -1
- package/dist/commands/registry.d.ts.map +0 -1
- package/dist/commands/registry.js.map +0 -1
- package/dist/commands/session-command-handlers.d.ts.map +0 -1
- package/dist/commands/session-command-handlers.js.map +0 -1
- package/dist/commands/session-commands.d.ts.map +0 -1
- package/dist/commands/session-commands.js.map +0 -1
- package/dist/commands/system-commands.d.ts.map +0 -1
- package/dist/commands/system-commands.js.map +0 -1
- package/dist/commands/target-command.d.ts.map +0 -1
- package/dist/commands/target-command.js.map +0 -1
- package/dist/commands/tool-commands.d.ts.map +0 -1
- package/dist/commands/tool-commands.js.map +0 -1
- package/dist/commands/types.d.ts.map +0 -1
- package/dist/commands/types.js.map +0 -1
- package/dist/commands/workflow-command-handlers.d.ts.map +0 -1
- package/dist/commands/workflow-command-handlers.js.map +0 -1
- package/dist/commands/workflow-commands.d.ts.map +0 -1
- package/dist/commands/workflow-commands.js.map +0 -1
- package/dist/core/checkpoint.d.ts.map +0 -1
- package/dist/core/checkpoint.js.map +0 -1
- package/dist/core/cost-tracker.d.ts.map +0 -1
- package/dist/core/cost-tracker.js.map +0 -1
- package/dist/core/security-warning.d.ts.map +0 -1
- package/dist/core/security-warning.js.map +0 -1
- package/dist/core/strategy-tracker.d.ts.map +0 -1
- package/dist/core/strategy-tracker.js.map +0 -1
- package/dist/core/tool-artifacts.d.ts.map +0 -1
- package/dist/core/tool-artifacts.js.map +0 -1
- package/dist/core/warn-dedup.d.ts.map +0 -1
- package/dist/core/warn-dedup.js.map +0 -1
- package/dist/framework/agent-mode.d.ts.map +0 -1
- package/dist/framework/agent-mode.js.map +0 -1
- package/dist/framework/external-assertion.d.ts.map +0 -1
- package/dist/framework/external-assertion.js.map +0 -1
- package/dist/framework/index.d.ts.map +0 -1
- package/dist/framework/index.js.map +0 -1
- package/dist/framework/loop-budget-contract.d.ts.map +0 -1
- package/dist/framework/loop-budget-contract.js.map +0 -1
- package/dist/framework/prompt.d.ts.map +0 -1
- package/dist/framework/prompt.js.map +0 -1
- package/dist/framework/query.d.ts.map +0 -1
- package/dist/framework/query.js.map +0 -1
- package/dist/framework/stop-decision.d.ts.map +0 -1
- package/dist/framework/stop-decision.js.map +0 -1
- package/dist/framework/store.d.ts.map +0 -1
- package/dist/framework/store.js.map +0 -1
- package/dist/framework/tool-call-orchestrator.d.ts.map +0 -1
- package/dist/framework/tool-call-orchestrator.js.map +0 -1
- package/dist/framework/tool-serializer.d.ts.map +0 -1
- package/dist/framework/tool-serializer.js.map +0 -1
- package/dist/framework/tool-state.d.ts.map +0 -1
- package/dist/framework/tool-state.js.map +0 -1
- package/dist/framework/tool.d.ts.map +0 -1
- package/dist/framework/tool.js.map +0 -1
- package/dist/harness/assembler.d.ts.map +0 -1
- package/dist/harness/assembler.js.map +0 -1
- package/dist/harness/capability-profile.d.ts.map +0 -1
- package/dist/harness/capability-profile.js.map +0 -1
- package/dist/harness/capsule.d.ts.map +0 -1
- package/dist/harness/capsule.js.map +0 -1
- package/dist/harness/compact-benchmark-corpus.d.ts.map +0 -1
- package/dist/harness/compact-benchmark-corpus.js.map +0 -1
- package/dist/harness/context-harness.d.ts.map +0 -1
- package/dist/harness/context-harness.js.map +0 -1
- package/dist/harness/contract.d.ts.map +0 -1
- package/dist/harness/contract.js.map +0 -1
- package/dist/harness/drift-guard.d.ts.map +0 -1
- package/dist/harness/drift-guard.js.map +0 -1
- package/dist/harness/evidence.d.ts.map +0 -1
- package/dist/harness/evidence.js.map +0 -1
- package/dist/harness/index.d.ts.map +0 -1
- package/dist/harness/index.js.map +0 -1
- package/dist/harness/intent.d.ts.map +0 -1
- package/dist/harness/intent.js.map +0 -1
- package/dist/harness/ledger.d.ts.map +0 -1
- package/dist/harness/ledger.js.map +0 -1
- package/dist/harness/progress-controller.d.ts.map +0 -1
- package/dist/harness/progress-controller.js.map +0 -1
- package/dist/harness/state.d.ts.map +0 -1
- package/dist/harness/state.js.map +0 -1
- package/dist/harness/stop-controller.d.ts.map +0 -1
- package/dist/harness/stop-controller.js.map +0 -1
- package/dist/harness/turn-summary.d.ts.map +0 -1
- package/dist/harness/turn-summary.js.map +0 -1
- package/dist/harness/types.d.ts.map +0 -1
- package/dist/harness/types.js.map +0 -1
- package/dist/harness/verification.d.ts.map +0 -1
- package/dist/harness/verification.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/memory/embeddings.d.ts.map +0 -1
- package/dist/memory/embeddings.js.map +0 -1
- package/dist/memory/entrypoint.d.ts.map +0 -1
- package/dist/memory/entrypoint.js.map +0 -1
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/prompt-context.d.ts.map +0 -1
- package/dist/memory/prompt-context.js.map +0 -1
- package/dist/memory/prompts.d.ts.map +0 -1
- package/dist/memory/prompts.js.map +0 -1
- package/dist/memory/relevant-finder.d.ts.map +0 -1
- package/dist/memory/relevant-finder.js.map +0 -1
- package/dist/memory/semantic-config.d.ts.map +0 -1
- package/dist/memory/semantic-config.js.map +0 -1
- package/dist/memory/semantic-search.d.ts.map +0 -1
- package/dist/memory/semantic-search.js.map +0 -1
- package/dist/memory/storage.d.ts.map +0 -1
- package/dist/memory/storage.js.map +0 -1
- package/dist/memory/store.d.ts.map +0 -1
- package/dist/memory/store.js.map +0 -1
- package/dist/memory/team-paths.d.ts.map +0 -1
- package/dist/memory/team-paths.js.map +0 -1
- package/dist/memory/types.d.ts.map +0 -1
- package/dist/memory/types.js.map +0 -1
- package/dist/memory/validation.d.ts.map +0 -1
- package/dist/memory/validation.js.map +0 -1
- package/dist/memory/vector-store.d.ts.map +0 -1
- package/dist/memory/vector-store.js.map +0 -1
- package/dist/migration/command.d.ts.map +0 -1
- package/dist/migration/command.js.map +0 -1
- package/dist/migration/index.d.ts.map +0 -1
- package/dist/migration/index.js.map +0 -1
- package/dist/migration/migrate.d.ts.map +0 -1
- package/dist/migration/migrate.js.map +0 -1
- package/dist/migration/types.d.ts.map +0 -1
- package/dist/migration/types.js.map +0 -1
- package/dist/print-ui/launch.d.ts.map +0 -1
- package/dist/print-ui/launch.js.map +0 -1
- package/dist/product/environment.d.ts.map +0 -1
- package/dist/product/environment.js.map +0 -1
- package/dist/product/identity.d.ts.map +0 -1
- package/dist/product/identity.js.map +0 -1
- package/dist/product/index.d.ts.map +0 -1
- package/dist/product/index.js.map +0 -1
- package/dist/product/paths.d.ts.map +0 -1
- package/dist/product/paths.js.map +0 -1
- package/dist/product/version.d.ts.map +0 -1
- package/dist/product/version.js.map +0 -1
- package/dist/runtime/agent-loop.d.ts.map +0 -1
- package/dist/runtime/agent-loop.js.map +0 -1
- package/dist/runtime/agent-runtime-controller.d.ts.map +0 -1
- package/dist/runtime/agent-runtime-controller.js.map +0 -1
- package/dist/runtime/agent-runtime-protocol.d.ts.map +0 -1
- package/dist/runtime/agent-runtime-protocol.js.map +0 -1
- package/dist/runtime/agent-runtime-runner.d.ts.map +0 -1
- package/dist/runtime/agent-runtime-runner.js.map +0 -1
- package/dist/runtime/agent-status.d.ts.map +0 -1
- package/dist/runtime/agent-status.js.map +0 -1
- package/dist/runtime/aggregate-tool-presenter.d.ts.map +0 -1
- package/dist/runtime/aggregate-tool-presenter.js.map +0 -1
- package/dist/runtime/batch-read-service.d.ts.map +0 -1
- package/dist/runtime/batch-read-service.js.map +0 -1
- package/dist/runtime/builtin-tool-provider.d.ts.map +0 -1
- package/dist/runtime/builtin-tool-provider.js.map +0 -1
- package/dist/runtime/capabilities/compiler.d.ts.map +0 -1
- package/dist/runtime/capabilities/compiler.js.map +0 -1
- package/dist/runtime/capabilities/index.d.ts.map +0 -1
- package/dist/runtime/capabilities/index.js.map +0 -1
- package/dist/runtime/capabilities/types.d.ts.map +0 -1
- package/dist/runtime/capabilities/types.js.map +0 -1
- package/dist/runtime/capability-receipt-journal.d.ts.map +0 -1
- package/dist/runtime/capability-receipt-journal.js.map +0 -1
- package/dist/runtime/capability-step-factory.d.ts.map +0 -1
- package/dist/runtime/capability-step-factory.js.map +0 -1
- package/dist/runtime/compact-transaction.d.ts.map +0 -1
- package/dist/runtime/compact-transaction.js.map +0 -1
- package/dist/runtime/composer/buffer.d.ts.map +0 -1
- package/dist/runtime/composer/buffer.js.map +0 -1
- package/dist/runtime/composer/grapheme.d.ts.map +0 -1
- package/dist/runtime/composer/grapheme.js.map +0 -1
- package/dist/runtime/composer/history.d.ts.map +0 -1
- package/dist/runtime/composer/history.js.map +0 -1
- package/dist/runtime/composer/layout.d.ts.map +0 -1
- package/dist/runtime/composer/layout.js.map +0 -1
- package/dist/runtime/core-tools/descriptors.d.ts.map +0 -1
- package/dist/runtime/core-tools/descriptors.js.map +0 -1
- package/dist/runtime/durable-tool-receipt-reader.d.ts.map +0 -1
- package/dist/runtime/durable-tool-receipt-reader.js.map +0 -1
- package/dist/runtime/first-party-core-provider.d.ts.map +0 -1
- package/dist/runtime/first-party-core-provider.js.map +0 -1
- package/dist/runtime/first-party-long-tail-provider.d.ts.map +0 -1
- package/dist/runtime/first-party-long-tail-provider.js.map +0 -1
- package/dist/runtime/first-party-tool-services.d.ts.map +0 -1
- package/dist/runtime/first-party-tool-services.js.map +0 -1
- package/dist/runtime/first-party-tool-universe.d.ts.map +0 -1
- package/dist/runtime/first-party-tool-universe.js.map +0 -1
- package/dist/runtime/goal-lifecycle-v2.d.ts.map +0 -1
- package/dist/runtime/goal-lifecycle-v2.js.map +0 -1
- package/dist/runtime/goal-runtime-coordinator.d.ts.map +0 -1
- package/dist/runtime/goal-runtime-coordinator.js.map +0 -1
- package/dist/runtime/goals/completion-audit.d.ts.map +0 -1
- package/dist/runtime/goals/completion-audit.js.map +0 -1
- package/dist/runtime/goals/evidence.d.ts.map +0 -1
- package/dist/runtime/goals/evidence.js.map +0 -1
- package/dist/runtime/goals/objective.d.ts.map +0 -1
- package/dist/runtime/goals/objective.js.map +0 -1
- package/dist/runtime/goals/presentation.d.ts.map +0 -1
- package/dist/runtime/goals/presentation.js.map +0 -1
- package/dist/runtime/goals/types.d.ts.map +0 -1
- package/dist/runtime/goals/types.js.map +0 -1
- package/dist/runtime/harness-confluence.d.ts.map +0 -1
- package/dist/runtime/harness-confluence.js.map +0 -1
- package/dist/runtime/harness-eval.d.ts.map +0 -1
- package/dist/runtime/harness-eval.js.map +0 -1
- package/dist/runtime/harness-metrics.d.ts.map +0 -1
- package/dist/runtime/harness-metrics.js.map +0 -1
- package/dist/runtime/legacy-session-importer.d.ts.map +0 -1
- package/dist/runtime/legacy-session-importer.js.map +0 -1
- package/dist/runtime/legacy-thread-materializer.d.ts.map +0 -1
- package/dist/runtime/legacy-thread-materializer.js.map +0 -1
- package/dist/runtime/long-tail-tools/descriptors.d.ts.map +0 -1
- package/dist/runtime/long-tail-tools/descriptors.js.map +0 -1
- package/dist/runtime/loop-budget.d.ts.map +0 -1
- package/dist/runtime/loop-budget.js.map +0 -1
- package/dist/runtime/mcp/first-party-mcp-adapter.d.ts.map +0 -1
- package/dist/runtime/mcp/first-party-mcp-adapter.js.map +0 -1
- package/dist/runtime/mcp/first-party-mcp-config.d.ts.map +0 -1
- package/dist/runtime/mcp/first-party-mcp-config.js.map +0 -1
- package/dist/runtime/mcp/index.d.ts.map +0 -1
- package/dist/runtime/mcp/index.js.map +0 -1
- package/dist/runtime/mcp/lazy-mcp-runtime.d.ts.map +0 -1
- package/dist/runtime/mcp/lazy-mcp-runtime.js.map +0 -1
- package/dist/runtime/mcp/types.d.ts.map +0 -1
- package/dist/runtime/mcp/types.js.map +0 -1
- package/dist/runtime/model-coordinator.d.ts.map +0 -1
- package/dist/runtime/model-coordinator.js.map +0 -1
- package/dist/runtime/orion-runtime-v1.d.ts.map +0 -1
- package/dist/runtime/orion-runtime-v1.js.map +0 -1
- package/dist/runtime/orion-session-runner.d.ts.map +0 -1
- package/dist/runtime/orion-session-runner.js.map +0 -1
- package/dist/runtime/plan-review.d.ts.map +0 -1
- package/dist/runtime/plan-review.js.map +0 -1
- package/dist/runtime/product-bootstrap.d.ts.map +0 -1
- package/dist/runtime/product-bootstrap.js.map +0 -1
- package/dist/runtime/product-orion-runtime.d.ts.map +0 -1
- package/dist/runtime/product-orion-runtime.js.map +0 -1
- package/dist/runtime/prompts/index.d.ts.map +0 -1
- package/dist/runtime/prompts/index.js.map +0 -1
- package/dist/runtime/prompts/prompt-registry.d.ts.map +0 -1
- package/dist/runtime/prompts/prompt-registry.js.map +0 -1
- package/dist/runtime/prompts/types.d.ts.map +0 -1
- package/dist/runtime/prompts/types.js.map +0 -1
- package/dist/runtime/protocol/canonical.d.ts.map +0 -1
- package/dist/runtime/protocol/canonical.js.map +0 -1
- package/dist/runtime/protocol/index.d.ts.map +0 -1
- package/dist/runtime/protocol/index.js.map +0 -1
- package/dist/runtime/protocol/runtime-protocol-v1.d.ts.map +0 -1
- package/dist/runtime/protocol/runtime-protocol-v1.js.map +0 -1
- package/dist/runtime/release-receipts.d.ts.map +0 -1
- package/dist/runtime/release-receipts.js.map +0 -1
- package/dist/runtime/resource-scope.d.ts.map +0 -1
- package/dist/runtime/resource-scope.js.map +0 -1
- package/dist/runtime/rich-text/ansi-parser.d.ts.map +0 -1
- package/dist/runtime/rich-text/ansi-parser.js.map +0 -1
- package/dist/runtime/rich-text/layout.d.ts.map +0 -1
- package/dist/runtime/rich-text/layout.js.map +0 -1
- package/dist/runtime/rich-text/markdown-parser.d.ts.map +0 -1
- package/dist/runtime/rich-text/markdown-parser.js.map +0 -1
- package/dist/runtime/rich-text/sanitizer.d.ts.map +0 -1
- package/dist/runtime/rich-text/sanitizer.js.map +0 -1
- package/dist/runtime/rich-text/types.d.ts.map +0 -1
- package/dist/runtime/rich-text/types.js.map +0 -1
- package/dist/runtime/runtime-event-buffer.d.ts.map +0 -1
- package/dist/runtime/runtime-event-buffer.js.map +0 -1
- package/dist/runtime/runtime-services.d.ts.map +0 -1
- package/dist/runtime/runtime-services.js.map +0 -1
- package/dist/runtime/session-composer-control.d.ts.map +0 -1
- package/dist/runtime/session-composer-control.js.map +0 -1
- package/dist/runtime/session-history-recovery.d.ts.map +0 -1
- package/dist/runtime/session-history-recovery.js.map +0 -1
- package/dist/runtime/skills/bounded-lru-cache.d.ts.map +0 -1
- package/dist/runtime/skills/bounded-lru-cache.js.map +0 -1
- package/dist/runtime/skills/filesystem-skill-provider.d.ts.map +0 -1
- package/dist/runtime/skills/filesystem-skill-provider.js.map +0 -1
- package/dist/runtime/skills/index.d.ts.map +0 -1
- package/dist/runtime/skills/index.js.map +0 -1
- package/dist/runtime/skills/lazy-skill-runtime.d.ts.map +0 -1
- package/dist/runtime/skills/lazy-skill-runtime.js.map +0 -1
- package/dist/runtime/skills/types.d.ts.map +0 -1
- package/dist/runtime/skills/types.js.map +0 -1
- package/dist/runtime/step-snapshot.d.ts.map +0 -1
- package/dist/runtime/step-snapshot.js.map +0 -1
- package/dist/runtime/subagent-thread-runtime.d.ts.map +0 -1
- package/dist/runtime/subagent-thread-runtime.js.map +0 -1
- package/dist/runtime/subagents/budget.d.ts.map +0 -1
- package/dist/runtime/subagents/budget.js.map +0 -1
- package/dist/runtime/subagents/child-executor-guard.d.ts.map +0 -1
- package/dist/runtime/subagents/child-executor-guard.js.map +0 -1
- package/dist/runtime/subagents/context-builder.d.ts.map +0 -1
- package/dist/runtime/subagents/context-builder.js.map +0 -1
- package/dist/runtime/subagents/index.d.ts.map +0 -1
- package/dist/runtime/subagents/index.js.map +0 -1
- package/dist/runtime/subagents/parent-step-fork.d.ts.map +0 -1
- package/dist/runtime/subagents/parent-step-fork.js.map +0 -1
- package/dist/runtime/subagents/policy.d.ts.map +0 -1
- package/dist/runtime/subagents/policy.js.map +0 -1
- package/dist/runtime/subagents/presets.d.ts.map +0 -1
- package/dist/runtime/subagents/presets.js.map +0 -1
- package/dist/runtime/subagents/production.d.ts.map +0 -1
- package/dist/runtime/subagents/production.js.map +0 -1
- package/dist/runtime/subagents/provider-gate.d.ts.map +0 -1
- package/dist/runtime/subagents/provider-gate.js.map +0 -1
- package/dist/runtime/subagents/receipt-journal.d.ts.map +0 -1
- package/dist/runtime/subagents/receipt-journal.js.map +0 -1
- package/dist/runtime/subagents/research-artifact.d.ts.map +0 -1
- package/dist/runtime/subagents/research-artifact.js.map +0 -1
- package/dist/runtime/subagents/research-citation.d.ts.map +0 -1
- package/dist/runtime/subagents/research-citation.js.map +0 -1
- package/dist/runtime/subagents/research-contract.d.ts.map +0 -1
- package/dist/runtime/subagents/research-contract.js.map +0 -1
- package/dist/runtime/subagents/research-quality.d.ts.map +0 -1
- package/dist/runtime/subagents/research-quality.js.map +0 -1
- package/dist/runtime/subagents/research-renderer.d.ts.map +0 -1
- package/dist/runtime/subagents/research-renderer.js.map +0 -1
- package/dist/runtime/subagents/research-types.d.ts.map +0 -1
- package/dist/runtime/subagents/research-types.js.map +0 -1
- package/dist/runtime/subagents/result-parser.d.ts.map +0 -1
- package/dist/runtime/subagents/result-parser.js.map +0 -1
- package/dist/runtime/subagents/runner.d.ts.map +0 -1
- package/dist/runtime/subagents/runner.js.map +0 -1
- package/dist/runtime/subagents/runtime-contract.d.ts.map +0 -1
- package/dist/runtime/subagents/runtime-contract.js.map +0 -1
- package/dist/runtime/subagents/runtime-integration.d.ts.map +0 -1
- package/dist/runtime/subagents/runtime-integration.js.map +0 -1
- package/dist/runtime/subagents/supervisor.d.ts.map +0 -1
- package/dist/runtime/subagents/supervisor.js.map +0 -1
- package/dist/runtime/subagents/tool.d.ts.map +0 -1
- package/dist/runtime/subagents/tool.js.map +0 -1
- package/dist/runtime/subagents/types.d.ts.map +0 -1
- package/dist/runtime/subagents/types.js.map +0 -1
- package/dist/runtime/subagents/web-research-adapter.d.ts.map +0 -1
- package/dist/runtime/subagents/web-research-adapter.js.map +0 -1
- package/dist/runtime/task-context-service.d.ts.map +0 -1
- package/dist/runtime/task-context-service.js.map +0 -1
- package/dist/runtime/thread-admission.d.ts.map +0 -1
- package/dist/runtime/thread-admission.js.map +0 -1
- package/dist/runtime/thread-compact-persistence.d.ts.map +0 -1
- package/dist/runtime/thread-compact-persistence.js.map +0 -1
- package/dist/runtime/thread-event-store.d.ts.map +0 -1
- package/dist/runtime/thread-event-store.js.map +0 -1
- package/dist/runtime/thread-projection.d.ts.map +0 -1
- package/dist/runtime/thread-projection.js.map +0 -1
- package/dist/runtime/thread-runtime.d.ts.map +0 -1
- package/dist/runtime/thread-runtime.js.map +0 -1
- package/dist/runtime/thread-session-index.d.ts.map +0 -1
- package/dist/runtime/thread-session-index.js.map +0 -1
- package/dist/runtime/thread-session-view.d.ts.map +0 -1
- package/dist/runtime/thread-session-view.js.map +0 -1
- package/dist/runtime/thread-tool-journal.d.ts.map +0 -1
- package/dist/runtime/thread-tool-journal.js.map +0 -1
- package/dist/runtime/thread-ui-adapter.d.ts.map +0 -1
- package/dist/runtime/thread-ui-adapter.js.map +0 -1
- package/dist/runtime/tool-detail-repository.d.ts.map +0 -1
- package/dist/runtime/tool-detail-repository.js.map +0 -1
- package/dist/runtime/tool-gateway.d.ts.map +0 -1
- package/dist/runtime/tool-gateway.js.map +0 -1
- package/dist/runtime/tool-output-presentation.d.ts.map +0 -1
- package/dist/runtime/tool-output-presentation.js.map +0 -1
- package/dist/runtime/tool-receipt-validator.d.ts.map +0 -1
- package/dist/runtime/tool-receipt-validator.js.map +0 -1
- package/dist/runtime/turn-commit.d.ts.map +0 -1
- package/dist/runtime/turn-commit.js.map +0 -1
- package/dist/runtime/turn-controller.d.ts.map +0 -1
- package/dist/runtime/turn-controller.js.map +0 -1
- package/dist/runtime/ui-events.d.ts.map +0 -1
- package/dist/runtime/ui-events.js.map +0 -1
- package/dist/runtime/ui-view-model.d.ts.map +0 -1
- package/dist/runtime/ui-view-model.js.map +0 -1
- package/dist/services/atomic-write.d.ts.map +0 -1
- package/dist/services/atomic-write.js.map +0 -1
- package/dist/services/auth/auth.d.ts.map +0 -1
- package/dist/services/auth/auth.js.map +0 -1
- package/dist/services/auth/aws.d.ts.map +0 -1
- package/dist/services/auth/aws.js.map +0 -1
- package/dist/services/auth/index.d.ts.map +0 -1
- package/dist/services/auth/index.js.map +0 -1
- package/dist/services/auto-fix/autoFixConfig.d.ts.map +0 -1
- package/dist/services/auto-fix/autoFixConfig.js.map +0 -1
- package/dist/services/auto-fix/autoFixHook.d.ts.map +0 -1
- package/dist/services/auto-fix/autoFixHook.js.map +0 -1
- package/dist/services/auto-fix/autoFixRunner.d.ts.map +0 -1
- package/dist/services/auto-fix/autoFixRunner.js.map +0 -1
- package/dist/services/auto-fix/index.d.ts.map +0 -1
- package/dist/services/auto-fix/index.js.map +0 -1
- package/dist/services/bounded-response.d.ts.map +0 -1
- package/dist/services/bounded-response.js.map +0 -1
- package/dist/services/commit-plan.d.ts.map +0 -1
- package/dist/services/commit-plan.js.map +0 -1
- package/dist/services/compact/auto-compact.d.ts.map +0 -1
- package/dist/services/compact/auto-compact.js.map +0 -1
- package/dist/services/compact/compact.d.ts.map +0 -1
- package/dist/services/compact/compact.js.map +0 -1
- package/dist/services/compact/coordinator.d.ts.map +0 -1
- package/dist/services/compact/coordinator.js.map +0 -1
- package/dist/services/compact/fingerprint.d.ts.map +0 -1
- package/dist/services/compact/fingerprint.js.map +0 -1
- package/dist/services/compact/index.d.ts.map +0 -1
- package/dist/services/compact/index.js.map +0 -1
- package/dist/services/compact/planner.d.ts.map +0 -1
- package/dist/services/compact/planner.js.map +0 -1
- package/dist/services/compact/semantic-summary.d.ts.map +0 -1
- package/dist/services/compact/semantic-summary.js.map +0 -1
- package/dist/services/compact/summary-generator.d.ts.map +0 -1
- package/dist/services/compact/summary-generator.js.map +0 -1
- package/dist/services/compact/tool-call-groups.d.ts.map +0 -1
- package/dist/services/compact/tool-call-groups.js.map +0 -1
- package/dist/services/concurrent-sessions.d.ts.map +0 -1
- package/dist/services/concurrent-sessions.js.map +0 -1
- package/dist/services/config-dir.d.ts.map +0 -1
- package/dist/services/config-dir.js.map +0 -1
- package/dist/services/config.d.ts.map +0 -1
- package/dist/services/config.js.map +0 -1
- package/dist/services/diagnostic-tracking/diagnosticTracking.d.ts.map +0 -1
- package/dist/services/diagnostic-tracking/diagnosticTracking.js.map +0 -1
- package/dist/services/diagnostic-tracking/formatter.d.ts.map +0 -1
- package/dist/services/diagnostic-tracking/formatter.js.map +0 -1
- package/dist/services/diagnostic-tracking/index.d.ts.map +0 -1
- package/dist/services/diagnostic-tracking/index.js.map +0 -1
- package/dist/services/diagnostic-tracking/types.d.ts.map +0 -1
- package/dist/services/diagnostic-tracking/types.js.map +0 -1
- package/dist/services/doctor.d.ts.map +0 -1
- package/dist/services/doctor.js.map +0 -1
- package/dist/services/effort.d.ts.map +0 -1
- package/dist/services/effort.js.map +0 -1
- package/dist/services/file-context.d.ts.map +0 -1
- package/dist/services/file-context.js.map +0 -1
- package/dist/services/file-glob.d.ts.map +0 -1
- package/dist/services/file-glob.js.map +0 -1
- package/dist/services/file-lock.d.ts.map +0 -1
- package/dist/services/file-lock.js.map +0 -1
- package/dist/services/format.d.ts.map +0 -1
- package/dist/services/format.js.map +0 -1
- package/dist/services/global-config.d.ts.map +0 -1
- package/dist/services/global-config.js.map +0 -1
- package/dist/services/goal-storage.d.ts.map +0 -1
- package/dist/services/goal-storage.js.map +0 -1
- package/dist/services/llm.d.ts.map +0 -1
- package/dist/services/llm.js.map +0 -1
- package/dist/services/mcp/index.d.ts.map +0 -1
- package/dist/services/mcp/index.js.map +0 -1
- package/dist/services/mcp/transports.d.ts.map +0 -1
- package/dist/services/mcp/transports.js.map +0 -1
- package/dist/services/memory.d.ts.map +0 -1
- package/dist/services/memory.js.map +0 -1
- package/dist/services/model-catalog.d.ts.map +0 -1
- package/dist/services/model-catalog.js.map +0 -1
- package/dist/services/model-client-pool.d.ts.map +0 -1
- package/dist/services/model-client-pool.js.map +0 -1
- package/dist/services/model-context.d.ts.map +0 -1
- package/dist/services/model-context.js.map +0 -1
- package/dist/services/model-registry.d.ts.map +0 -1
- package/dist/services/model-registry.js.map +0 -1
- package/dist/services/project-instructions.d.ts.map +0 -1
- package/dist/services/project-instructions.js.map +0 -1
- package/dist/services/prompt-context.d.ts.map +0 -1
- package/dist/services/prompt-context.js.map +0 -1
- package/dist/services/provider-diagnostics.d.ts.map +0 -1
- package/dist/services/provider-diagnostics.js.map +0 -1
- package/dist/services/provider-resilience/circuit-breaker.d.ts.map +0 -1
- package/dist/services/provider-resilience/circuit-breaker.js.map +0 -1
- package/dist/services/provider-resilience/coordinator.d.ts.map +0 -1
- package/dist/services/provider-resilience/coordinator.js.map +0 -1
- package/dist/services/provider-resilience/error-classifier.d.ts.map +0 -1
- package/dist/services/provider-resilience/error-classifier.js.map +0 -1
- package/dist/services/provider-resilience/index.d.ts.map +0 -1
- package/dist/services/provider-resilience/index.js.map +0 -1
- package/dist/services/provider-resilience/request-gate.d.ts.map +0 -1
- package/dist/services/provider-resilience/request-gate.js.map +0 -1
- package/dist/services/provider-resilience/stream-recovery.d.ts.map +0 -1
- package/dist/services/provider-resilience/stream-recovery.js.map +0 -1
- package/dist/services/provider-resilience/types.d.ts.map +0 -1
- package/dist/services/provider-resilience/types.js.map +0 -1
- package/dist/services/redaction.d.ts.map +0 -1
- package/dist/services/redaction.js.map +0 -1
- package/dist/services/safe-project-reader.d.ts.map +0 -1
- package/dist/services/safe-project-reader.js.map +0 -1
- package/dist/services/session-index.d.ts.map +0 -1
- package/dist/services/session-index.js.map +0 -1
- package/dist/services/session-memory/index.d.ts.map +0 -1
- package/dist/services/session-memory/index.js.map +0 -1
- package/dist/services/session-memory/prompts.d.ts.map +0 -1
- package/dist/services/session-memory/prompts.js.map +0 -1
- package/dist/services/session-memory/sessionMemory.d.ts.map +0 -1
- package/dist/services/session-memory/sessionMemory.js.map +0 -1
- package/dist/services/session-storage.d.ts.map +0 -1
- package/dist/services/session-storage.js.map +0 -1
- package/dist/services/settings-coordinator.d.ts.map +0 -1
- package/dist/services/settings-coordinator.js.map +0 -1
- package/dist/services/settings-document-repository.d.ts.map +0 -1
- package/dist/services/settings-document-repository.js.map +0 -1
- package/dist/services/smart-routing.d.ts.map +0 -1
- package/dist/services/smart-routing.js.map +0 -1
- package/dist/services/storage-maintenance.d.ts.map +0 -1
- package/dist/services/storage-maintenance.js.map +0 -1
- package/dist/services/tool-allowlist.d.ts.map +0 -1
- package/dist/services/tool-allowlist.js.map +0 -1
- package/dist/services/usage-state.d.ts.map +0 -1
- package/dist/services/usage-state.js.map +0 -1
- package/dist/services/verification-profile.d.ts.map +0 -1
- package/dist/services/verification-profile.js.map +0 -1
- package/dist/services/web-search-adapters.d.ts.map +0 -1
- package/dist/services/web-search-adapters.js.map +0 -1
- package/dist/services/web-search-mcp.d.ts.map +0 -1
- package/dist/services/web-search-mcp.js.map +0 -1
- package/dist/services/web-search-provider.d.ts.map +0 -1
- package/dist/services/web-search-provider.js.map +0 -1
- package/dist/services/workspace-containment.d.ts.map +0 -1
- package/dist/services/workspace-containment.js.map +0 -1
- package/dist/services/workspace-diff.d.ts.map +0 -1
- package/dist/services/workspace-diff.js.map +0 -1
- package/dist/services/workspace-registry.d.ts.map +0 -1
- package/dist/services/workspace-registry.js.map +0 -1
- package/dist/services/workspace-state.d.ts.map +0 -1
- package/dist/services/workspace-state.js.map +0 -1
- package/dist/services/yaml-config.d.ts.map +0 -1
- package/dist/services/yaml-config.js.map +0 -1
- package/dist/terminal-ui/completion.d.ts.map +0 -1
- package/dist/terminal-ui/completion.js.map +0 -1
- package/dist/terminal-ui/editor.d.ts.map +0 -1
- package/dist/terminal-ui/editor.js.map +0 -1
- package/dist/terminal-ui/launch.d.ts.map +0 -1
- package/dist/terminal-ui/launch.js.map +0 -1
- package/dist/terminal-ui/output-queue.d.ts.map +0 -1
- package/dist/terminal-ui/output-queue.js.map +0 -1
- package/dist/terminal-ui/raw-editor.d.ts.map +0 -1
- package/dist/terminal-ui/raw-editor.js.map +0 -1
- package/dist/tools/_validate.d.ts.map +0 -1
- package/dist/tools/_validate.js.map +0 -1
- package/dist/tools/bash_security.d.ts.map +0 -1
- package/dist/tools/bash_security.js.map +0 -1
- package/dist/tools/core/common.d.ts.map +0 -1
- package/dist/tools/core/common.js.map +0 -1
- package/dist/tools/core/edit-file.d.ts.map +0 -1
- package/dist/tools/core/edit-file.js.map +0 -1
- package/dist/tools/core/exec-command.d.ts.map +0 -1
- package/dist/tools/core/exec-command.js.map +0 -1
- package/dist/tools/core/glob.d.ts.map +0 -1
- package/dist/tools/core/glob.js.map +0 -1
- package/dist/tools/core/grep.d.ts.map +0 -1
- package/dist/tools/core/grep.js.map +0 -1
- package/dist/tools/core/index.d.ts.map +0 -1
- package/dist/tools/core/index.js.map +0 -1
- package/dist/tools/core/list-files.d.ts.map +0 -1
- package/dist/tools/core/list-files.js.map +0 -1
- package/dist/tools/core/read-file.d.ts.map +0 -1
- package/dist/tools/core/read-file.js.map +0 -1
- package/dist/tools/core/write-file.d.ts.map +0 -1
- package/dist/tools/core/write-file.js.map +0 -1
- package/dist/tools/git.d.ts.map +0 -1
- package/dist/tools/git.js.map +0 -1
- package/dist/tools/lsp.d.ts.map +0 -1
- package/dist/tools/lsp.js.map +0 -1
- package/dist/tools/sandbox.d.ts.map +0 -1
- package/dist/tools/sandbox.js.map +0 -1
- package/dist/tools/todo.d.ts.map +0 -1
- package/dist/tools/todo.js.map +0 -1
- package/dist/tools/web.d.ts.map +0 -1
- package/dist/tools/web.js.map +0 -1
- package/dist/tui-core/frame.d.ts.map +0 -1
- package/dist/tui-core/frame.js.map +0 -1
- package/dist/tui-core/input-parser.d.ts.map +0 -1
- package/dist/tui-core/input-parser.js.map +0 -1
- package/dist/tui-core/style.d.ts.map +0 -1
- package/dist/tui-core/style.js.map +0 -1
- package/dist/tui-core/terminal-writer.d.ts.map +0 -1
- package/dist/tui-core/terminal-writer.js.map +0 -1
- package/dist/tui-ui/chrome-view-model.d.ts.map +0 -1
- package/dist/tui-ui/chrome-view-model.js.map +0 -1
- package/dist/tui-ui/inline-surface.d.ts.map +0 -1
- package/dist/tui-ui/inline-surface.js.map +0 -1
- package/dist/tui-ui/input-ownership.d.ts.map +0 -1
- package/dist/tui-ui/input-ownership.js.map +0 -1
- package/dist/tui-ui/launch.d.ts.map +0 -1
- package/dist/tui-ui/launch.js.map +0 -1
- package/dist/tui-ui/layout.d.ts.map +0 -1
- package/dist/tui-ui/layout.js.map +0 -1
- package/dist/tui-ui/pickers.d.ts.map +0 -1
- package/dist/tui-ui/pickers.js.map +0 -1
- package/dist/tui-ui/pixel-mascot.d.ts.map +0 -1
- package/dist/tui-ui/pixel-mascot.js.map +0 -1
- package/dist/tui-ui/render-scheduler.d.ts.map +0 -1
- package/dist/tui-ui/render-scheduler.js.map +0 -1
- package/dist/tui-ui/runner.d.ts.map +0 -1
- package/dist/tui-ui/runner.js.map +0 -1
- package/dist/tui-ui/state.d.ts.map +0 -1
- package/dist/tui-ui/state.js.map +0 -1
- package/dist/tui-ui/terminal-image.d.ts.map +0 -1
- package/dist/tui-ui/terminal-image.js.map +0 -1
- package/dist/tui-ui/theme-profile.d.ts.map +0 -1
- package/dist/tui-ui/theme-profile.js.map +0 -1
- package/dist/tui-ui/theme.d.ts.map +0 -1
- package/dist/tui-ui/theme.js.map +0 -1
- package/dist/tui-ui/transcript-cache.d.ts.map +0 -1
- package/dist/tui-ui/transcript-cache.js.map +0 -1
- package/dist/tui-ui/transcript-inspector-layout.d.ts.map +0 -1
- package/dist/tui-ui/transcript-inspector-layout.js.map +0 -1
- package/dist/tui-ui/transcript-inspector-surface.d.ts.map +0 -1
- package/dist/tui-ui/transcript-inspector-surface.js.map +0 -1
- package/dist/tui-ui/transcript-inspector.d.ts.map +0 -1
- package/dist/tui-ui/transcript-inspector.js.map +0 -1
- package/dist/tui-ui/transcript-layout.d.ts.map +0 -1
- package/dist/tui-ui/transcript-layout.js.map +0 -1
- package/dist/ui/box.d.ts.map +0 -1
- package/dist/ui/box.js.map +0 -1
- package/dist/ui/command-panel.d.ts.map +0 -1
- package/dist/ui/command-panel.js.map +0 -1
- package/dist/ui/file-completion.d.ts.map +0 -1
- package/dist/ui/file-completion.js.map +0 -1
- package/dist/ui/markdown.d.ts.map +0 -1
- package/dist/ui/markdown.js.map +0 -1
- package/dist/ui/multiline-input.d.ts.map +0 -1
- package/dist/ui/multiline-input.js.map +0 -1
- package/dist/ui/progress.d.ts.map +0 -1
- package/dist/ui/progress.js.map +0 -1
- package/dist/ui/shared/command-palette.d.ts.map +0 -1
- package/dist/ui/shared/command-palette.js.map +0 -1
- package/dist/ui/shared/command-suggestions.d.ts.map +0 -1
- package/dist/ui/shared/command-suggestions.js.map +0 -1
- package/dist/ui/shared/input-frame.d.ts.map +0 -1
- package/dist/ui/shared/input-frame.js.map +0 -1
- package/dist/ui/shared/text.d.ts.map +0 -1
- package/dist/ui/shared/text.js.map +0 -1
- package/dist/ui/shared/types.d.ts.map +0 -1
- package/dist/ui/shared/types.js.map +0 -1
- package/dist/ui/status-bar.d.ts.map +0 -1
- package/dist/ui/status-bar.js.map +0 -1
- package/dist/ui/stream-markdown.d.ts.map +0 -1
- package/dist/ui/stream-markdown.js.map +0 -1
- package/dist/ui/suggestions.d.ts.map +0 -1
- package/dist/ui/suggestions.js.map +0 -1
- package/dist/ui/tool-preview.d.ts.map +0 -1
- package/dist/ui/tool-preview.js.map +0 -1
- package/dist/ui/user-input.d.ts.map +0 -1
- package/dist/ui/user-input.js.map +0 -1
- package/dist/utils/debug-log.d.ts.map +0 -1
- package/dist/utils/debug-log.js.map +0 -1
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/json.d.ts.map +0 -1
- package/dist/utils/json.js.map +0 -1
- package/dist/utils/mask.d.ts.map +0 -1
- package/dist/utils/mask.js.map +0 -1
- package/dist/utils/observability.d.ts.map +0 -1
- package/dist/utils/observability.js.map +0 -1
- package/dist/utils/token-estimate.d.ts.map +0 -1
- package/dist/utils/token-estimate.js.map +0 -1
- package/dist/web/errors.d.ts.map +0 -1
- package/dist/web/errors.js.map +0 -1
- package/dist/web/event-hub.d.ts.map +0 -1
- package/dist/web/event-hub.js.map +0 -1
- package/dist/web/file-read-service.d.ts.map +0 -1
- package/dist/web/file-read-service.js.map +0 -1
- package/dist/web/git-read-model-service.d.ts.map +0 -1
- package/dist/web/git-read-model-service.js.map +0 -1
- package/dist/web/index.d.ts.map +0 -1
- package/dist/web/index.js.map +0 -1
- package/dist/web/launch.d.ts.map +0 -1
- package/dist/web/launch.js.map +0 -1
- package/dist/web/protocol.d.ts.map +0 -1
- package/dist/web/protocol.js.map +0 -1
- package/dist/web/review-service.d.ts.map +0 -1
- package/dist/web/review-service.js.map +0 -1
- package/dist/web/server.d.ts.map +0 -1
- package/dist/web/server.js.map +0 -1
- package/dist/web/terminal-manager.d.ts.map +0 -1
- package/dist/web/terminal-manager.js.map +0 -1
- package/dist/web/terminal-server.d.ts.map +0 -1
- package/dist/web/terminal-server.js.map +0 -1
- package/dist/web/workbench-controller.d.ts.map +0 -1
- package/dist/web/workbench-controller.js.map +0 -1
- package/dist/web-client/assets/FilesPanel-DYs1MhoM.js +0 -2
- package/dist/web-client/assets/ReviewPanel-BDxG670T.js +0 -1
- package/dist/web-client/assets/index-BWV5sIvw.css +0 -1
- package/dist/web-client/assets/index-VVUKj6FE.js +0 -17
|
@@ -2,12 +2,14 @@ import type { Store } from '../framework/store';
|
|
|
2
2
|
import type { OrionCodeCLIConfig } from '../services/config';
|
|
3
3
|
import type { CompactCoordinator } from '../services/compact/coordinator';
|
|
4
4
|
import { LLMService } from '../services/llm';
|
|
5
|
+
import type { ProviderRequestGate } from '../services/provider-resilience/request-gate';
|
|
5
6
|
import { type BuiltinToolCatalogV1 } from './builtin-tool-provider';
|
|
6
7
|
import type { McpConnectorV1, McpServerDescriptorInputV1 } from './mcp';
|
|
7
8
|
import { type OrionRuntimeV1 } from './orion-runtime-v1';
|
|
8
9
|
import type { SkillProviderV1 } from './skills';
|
|
9
10
|
import type { FirstPartyApprovalHandlerV1 } from './first-party-tool-services';
|
|
10
11
|
import type { ThreadSessionRuntimeActivationV1 } from './thread-session-view';
|
|
12
|
+
import { type WorkspaceMutationCoordinatorV1 } from './step-snapshot';
|
|
11
13
|
import type { SubagentThreadReceiptV1 } from './subagent-thread-runtime';
|
|
12
14
|
import { type SubagentRole } from './subagents/types';
|
|
13
15
|
export interface ProductOrionRuntimeOptionsV1 {
|
|
@@ -22,6 +24,9 @@ export interface ProductOrionRuntimeOptionsV1 {
|
|
|
22
24
|
readonly mcpDescriptors?: readonly McpServerDescriptorInputV1[];
|
|
23
25
|
readonly mcpConnector?: McpConnectorV1;
|
|
24
26
|
readonly approvalHandler?: FirstPartyApprovalHandlerV1;
|
|
27
|
+
readonly workspaceMutationCoordinator?: WorkspaceMutationCoordinatorV1;
|
|
28
|
+
/** Workspace-scoped provider concurrency/cooldown authority shared by root and child calls. */
|
|
29
|
+
readonly providerRequestGate?: ProviderRequestGate;
|
|
25
30
|
/** Must create a distinct mutable provider client for every child request. */
|
|
26
31
|
readonly createSubagentModelExecutor?: (input: {
|
|
27
32
|
readonly role: SubagentRole;
|
|
@@ -103,6 +103,7 @@ function createProductOrionRuntimeV1(options, sessionId, activation) {
|
|
|
103
103
|
connector: options.mcpConnector ?? INERT_MCP_CONNECTOR,
|
|
104
104
|
},
|
|
105
105
|
approvalHandler: options.approvalHandler,
|
|
106
|
+
workspaceMutationCoordinator: options.workspaceMutationCoordinator,
|
|
106
107
|
...(subagents ? { subagents } : {}),
|
|
107
108
|
resolveCapabilityConfiguration: async (input, context) => {
|
|
108
109
|
if (!promptState || promptState.turnId !== input.turnId) {
|
|
@@ -365,6 +366,7 @@ function createProductSubagentCompositionV1(options, model) {
|
|
|
365
366
|
modelLabel: model.modelId,
|
|
366
367
|
rootObjectiveSummary: input.input,
|
|
367
368
|
abortSignal: input.abortSignal,
|
|
369
|
+
sharedGate: options.providerRequestGate,
|
|
368
370
|
});
|
|
369
371
|
if (!bundle) {
|
|
370
372
|
productionRuntime.close('subagent_turn_unavailable');
|
|
@@ -6,11 +6,15 @@ export declare const SUPPORTED_RELEASE_VERSION_LINE_V1: "0.3.x";
|
|
|
6
6
|
export declare const WEB_E2E_LEGACY_SCENARIOS_V1: readonly ["E2E-P0-01", "E2E-P0-02", "E2E-P0-03", "E2E-P0-04", "E2E-P0-05", "E2E-P0-06", "E2E-P0-07", "E2E-P0-08", "SET-P0-01", "SET-P0-02", "SET-P0-03", "SET-P0-04", "SET-P0-05", "SET-P0-06", "SET-P0-07", "SET-P0-08", "SET-P0-09", "SET-P0-10", "SET-P0-11", "SET-P0-12", "SET-P0-13", "SET-P0-14"];
|
|
7
7
|
export declare const WEB_E2E_WEB31_SCENARIOS_V1: readonly ["WEB31-P0-01", "WEB31-P0-02", "WEB31-P0-03", "WEB31-P0-04", "WEB31-P0-05", "WEB31-P0-06", "WEB31-P0-07", "WEB31-P0-08", "WEB31-P0-09", "WEB31-P0-10", "WEB31-P0-11", "WEB31-P0-12"];
|
|
8
8
|
export declare const WEB_E2E_WEB32_SCENARIOS_V1: readonly ["WEB32-P0-01", "WEB32-P0-02", "WEB32-P0-03", "WEB32-P0-04", "WEB32-P0-05", "WEB32-P0-06", "WEB32-P0-07", "WEB32-P0-08", "WEB32-P0-09", "WEB32-P0-10", "WEB32-P0-11", "WEB32-P0-12"];
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
9
|
+
export declare const WEB_E2E_WEB33_THEME_SCENARIOS_V1: readonly ["WEB33-P0-01", "WEB33-P0-02", "WEB33-P0-03", "WEB33-P0-04", "WEB33-P0-05", "WEB33-P0-06", "WEB33-P0-07", "WEB33-P0-08", "WEB33-P0-09", "WEB33-P0-10", "WEB33-P0-11", "WEB33-P0-12"];
|
|
10
|
+
export declare const WEB_E2E_WEB33_SESSION_SCENARIOS_V1: readonly ["WEB33-P0-16", "WEB33-P0-17", "WEB33-P0-18", "WEB33-P0-19", "WEB33-P0-20", "WEB33-P0-21", "WEB33-P0-22", "WEB33-P0-23", "WEB33-P0-24"];
|
|
11
|
+
export declare const WEB_E2E_WEB33_SCENARIOS_V1: readonly ("WEB33-P0-01" | "WEB33-P0-02" | "WEB33-P0-03" | "WEB33-P0-04" | "WEB33-P0-05" | "WEB33-P0-06" | "WEB33-P0-07" | "WEB33-P0-08" | "WEB33-P0-09" | "WEB33-P0-10" | "WEB33-P0-11" | "WEB33-P0-12" | "WEB33-P0-16" | "WEB33-P0-17" | "WEB33-P0-18" | "WEB33-P0-19" | "WEB33-P0-20" | "WEB33-P0-21" | "WEB33-P0-22" | "WEB33-P0-23" | "WEB33-P0-24")[];
|
|
12
|
+
export declare const WEB_E2E_FULL_SCENARIOS_V1: readonly ("E2E-P0-01" | "E2E-P0-02" | "E2E-P0-03" | "E2E-P0-04" | "E2E-P0-05" | "E2E-P0-06" | "E2E-P0-07" | "E2E-P0-08" | "SET-P0-01" | "SET-P0-02" | "SET-P0-03" | "SET-P0-04" | "SET-P0-05" | "SET-P0-06" | "SET-P0-07" | "SET-P0-08" | "SET-P0-09" | "SET-P0-10" | "SET-P0-11" | "SET-P0-12" | "SET-P0-13" | "SET-P0-14" | "WEB31-P0-01" | "WEB31-P0-02" | "WEB31-P0-03" | "WEB31-P0-04" | "WEB31-P0-05" | "WEB31-P0-06" | "WEB31-P0-07" | "WEB31-P0-08" | "WEB31-P0-09" | "WEB31-P0-10" | "WEB31-P0-11" | "WEB31-P0-12" | "WEB32-P0-01" | "WEB32-P0-02" | "WEB32-P0-03" | "WEB32-P0-04" | "WEB32-P0-05" | "WEB32-P0-06" | "WEB32-P0-07" | "WEB32-P0-08" | "WEB32-P0-09" | "WEB32-P0-10" | "WEB32-P0-11" | "WEB32-P0-12" | "WEB33-P0-01" | "WEB33-P0-02" | "WEB33-P0-03" | "WEB33-P0-04" | "WEB33-P0-05" | "WEB33-P0-06" | "WEB33-P0-07" | "WEB33-P0-08" | "WEB33-P0-09" | "WEB33-P0-10" | "WEB33-P0-11" | "WEB33-P0-12" | "WEB33-P0-16" | "WEB33-P0-17" | "WEB33-P0-18" | "WEB33-P0-19" | "WEB33-P0-20" | "WEB33-P0-21" | "WEB33-P0-22" | "WEB33-P0-23" | "WEB33-P0-24")[];
|
|
13
|
+
export declare const WEB_E2E_SETTINGS_SCENARIOS_V1: readonly ("E2E-P0-01" | "E2E-P0-02" | "E2E-P0-03" | "E2E-P0-04" | "E2E-P0-05" | "E2E-P0-06" | "E2E-P0-07" | "E2E-P0-08" | "SET-P0-01" | "SET-P0-02" | "SET-P0-03" | "SET-P0-04" | "SET-P0-05" | "SET-P0-06" | "SET-P0-07" | "SET-P0-08" | "SET-P0-09" | "SET-P0-10" | "SET-P0-11" | "SET-P0-12" | "SET-P0-13" | "SET-P0-14" | "WEB31-P0-01" | "WEB31-P0-02" | "WEB31-P0-03" | "WEB31-P0-04" | "WEB31-P0-05" | "WEB31-P0-06" | "WEB31-P0-07" | "WEB31-P0-08" | "WEB31-P0-09" | "WEB31-P0-10" | "WEB31-P0-11" | "WEB31-P0-12" | "WEB32-P0-01" | "WEB32-P0-02" | "WEB32-P0-03" | "WEB32-P0-04" | "WEB32-P0-05" | "WEB32-P0-06" | "WEB32-P0-07" | "WEB32-P0-08" | "WEB32-P0-09" | "WEB32-P0-10" | "WEB32-P0-11" | "WEB32-P0-12" | "WEB33-P0-01" | "WEB33-P0-02" | "WEB33-P0-03" | "WEB33-P0-04" | "WEB33-P0-05" | "WEB33-P0-06" | "WEB33-P0-07" | "WEB33-P0-08" | "WEB33-P0-09" | "WEB33-P0-10" | "WEB33-P0-11" | "WEB33-P0-12" | "WEB33-P0-16" | "WEB33-P0-17" | "WEB33-P0-18" | "WEB33-P0-19" | "WEB33-P0-20" | "WEB33-P0-21" | "WEB33-P0-22" | "WEB33-P0-23" | "WEB33-P0-24")[];
|
|
11
14
|
export declare const WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1: readonly ["WEB31-P0-01", "WEB31-P0-02", "WEB31-P0-08", "WEB31-P0-09", "WEB31-P0-10", "WEB31-P0-12"];
|
|
12
15
|
export declare const WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1: readonly ["WEB32-P0-01", "WEB32-P0-04", "WEB32-P0-05", "WEB32-P0-06", "WEB32-P0-09", "WEB32-P0-11", "WEB32-P0-12"];
|
|
13
|
-
export declare const
|
|
16
|
+
export declare const WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1: readonly ["WEB33-P0-01", "WEB33-P0-03", "WEB33-P0-08", "WEB33-P0-10", "WEB33-P0-12", "WEB33-P0-16", "WEB33-P0-17", "WEB33-P0-18", "WEB33-P0-20", "WEB33-P0-21", "WEB33-P0-23", "WEB33-P0-24"];
|
|
17
|
+
export declare const WEB_E2E_CRITICAL_SCENARIOS_V1: readonly ("E2E-P0-01" | "E2E-P0-02" | "E2E-P0-03" | "E2E-P0-04" | "E2E-P0-05" | "E2E-P0-06" | "E2E-P0-07" | "E2E-P0-08" | "SET-P0-01" | "SET-P0-02" | "SET-P0-03" | "SET-P0-04" | "SET-P0-05" | "SET-P0-06" | "SET-P0-07" | "SET-P0-08" | "SET-P0-09" | "SET-P0-10" | "SET-P0-11" | "SET-P0-12" | "SET-P0-13" | "SET-P0-14" | "WEB31-P0-01" | "WEB31-P0-02" | "WEB31-P0-03" | "WEB31-P0-04" | "WEB31-P0-05" | "WEB31-P0-06" | "WEB31-P0-07" | "WEB31-P0-08" | "WEB31-P0-09" | "WEB31-P0-10" | "WEB31-P0-11" | "WEB31-P0-12" | "WEB32-P0-01" | "WEB32-P0-02" | "WEB32-P0-03" | "WEB32-P0-04" | "WEB32-P0-05" | "WEB32-P0-06" | "WEB32-P0-07" | "WEB32-P0-08" | "WEB32-P0-09" | "WEB32-P0-10" | "WEB32-P0-11" | "WEB32-P0-12" | "WEB33-P0-01" | "WEB33-P0-02" | "WEB33-P0-03" | "WEB33-P0-04" | "WEB33-P0-05" | "WEB33-P0-06" | "WEB33-P0-07" | "WEB33-P0-08" | "WEB33-P0-09" | "WEB33-P0-10" | "WEB33-P0-11" | "WEB33-P0-12" | "WEB33-P0-16" | "WEB33-P0-17" | "WEB33-P0-18" | "WEB33-P0-19" | "WEB33-P0-20" | "WEB33-P0-21" | "WEB33-P0-22" | "WEB33-P0-23" | "WEB33-P0-24")[];
|
|
14
18
|
export type ReleaseGateDecisionV1 = 'GO' | 'NO_GO';
|
|
15
19
|
export interface TarballArtifactReceiptV1 {
|
|
16
20
|
readonly version: typeof RELEASE_RECEIPT_VERSION_V1;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WEB_E2E_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_SETTINGS_SCENARIOS_V1 = exports.WEB_E2E_FULL_SCENARIOS_V1 = exports.WEB_E2E_WEB32_SCENARIOS_V1 = exports.WEB_E2E_WEB31_SCENARIOS_V1 = exports.WEB_E2E_LEGACY_SCENARIOS_V1 = exports.SUPPORTED_RELEASE_VERSION_LINE_V1 = exports.SUPPORTED_RELEASE_NODE_FLOORS_V1 = exports.SUPPORTED_RELEASE_NODE_MAJORS_V1 = exports.RELEASE_RECEIPT_VERSION_V1 = void 0;
|
|
3
|
+
exports.WEB_E2E_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_SETTINGS_SCENARIOS_V1 = exports.WEB_E2E_FULL_SCENARIOS_V1 = exports.WEB_E2E_WEB33_SCENARIOS_V1 = exports.WEB_E2E_WEB33_SESSION_SCENARIOS_V1 = exports.WEB_E2E_WEB33_THEME_SCENARIOS_V1 = exports.WEB_E2E_WEB32_SCENARIOS_V1 = exports.WEB_E2E_WEB31_SCENARIOS_V1 = exports.WEB_E2E_LEGACY_SCENARIOS_V1 = exports.SUPPORTED_RELEASE_VERSION_LINE_V1 = exports.SUPPORTED_RELEASE_NODE_FLOORS_V1 = exports.SUPPORTED_RELEASE_NODE_MAJORS_V1 = exports.RELEASE_RECEIPT_VERSION_V1 = void 0;
|
|
4
4
|
exports.createTarballArtifactReceiptV1 = createTarballArtifactReceiptV1;
|
|
5
5
|
exports.verifyTarballArtifactReceiptV1 = verifyTarballArtifactReceiptV1;
|
|
6
6
|
exports.createRuntimeMatrixReceiptV1 = createRuntimeMatrixReceiptV1;
|
|
@@ -72,10 +72,40 @@ exports.WEB_E2E_WEB32_SCENARIOS_V1 = Object.freeze([
|
|
|
72
72
|
'WEB32-P0-11',
|
|
73
73
|
'WEB32-P0-12',
|
|
74
74
|
]);
|
|
75
|
+
exports.WEB_E2E_WEB33_THEME_SCENARIOS_V1 = Object.freeze([
|
|
76
|
+
'WEB33-P0-01',
|
|
77
|
+
'WEB33-P0-02',
|
|
78
|
+
'WEB33-P0-03',
|
|
79
|
+
'WEB33-P0-04',
|
|
80
|
+
'WEB33-P0-05',
|
|
81
|
+
'WEB33-P0-06',
|
|
82
|
+
'WEB33-P0-07',
|
|
83
|
+
'WEB33-P0-08',
|
|
84
|
+
'WEB33-P0-09',
|
|
85
|
+
'WEB33-P0-10',
|
|
86
|
+
'WEB33-P0-11',
|
|
87
|
+
'WEB33-P0-12',
|
|
88
|
+
]);
|
|
89
|
+
exports.WEB_E2E_WEB33_SESSION_SCENARIOS_V1 = Object.freeze([
|
|
90
|
+
'WEB33-P0-16',
|
|
91
|
+
'WEB33-P0-17',
|
|
92
|
+
'WEB33-P0-18',
|
|
93
|
+
'WEB33-P0-19',
|
|
94
|
+
'WEB33-P0-20',
|
|
95
|
+
'WEB33-P0-21',
|
|
96
|
+
'WEB33-P0-22',
|
|
97
|
+
'WEB33-P0-23',
|
|
98
|
+
'WEB33-P0-24',
|
|
99
|
+
]);
|
|
100
|
+
exports.WEB_E2E_WEB33_SCENARIOS_V1 = Object.freeze([
|
|
101
|
+
...exports.WEB_E2E_WEB33_THEME_SCENARIOS_V1,
|
|
102
|
+
...exports.WEB_E2E_WEB33_SESSION_SCENARIOS_V1,
|
|
103
|
+
]);
|
|
75
104
|
exports.WEB_E2E_FULL_SCENARIOS_V1 = Object.freeze([
|
|
76
105
|
...exports.WEB_E2E_LEGACY_SCENARIOS_V1,
|
|
77
106
|
...exports.WEB_E2E_WEB31_SCENARIOS_V1,
|
|
78
107
|
...exports.WEB_E2E_WEB32_SCENARIOS_V1,
|
|
108
|
+
...exports.WEB_E2E_WEB33_SCENARIOS_V1,
|
|
79
109
|
]);
|
|
80
110
|
exports.WEB_E2E_SETTINGS_SCENARIOS_V1 = Object.freeze(exports.WEB_E2E_FULL_SCENARIOS_V1.filter(id => id.startsWith('SET-P0-')));
|
|
81
111
|
exports.WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1 = Object.freeze([
|
|
@@ -95,11 +125,26 @@ exports.WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1 = Object.freeze([
|
|
|
95
125
|
'WEB32-P0-11',
|
|
96
126
|
'WEB32-P0-12',
|
|
97
127
|
]);
|
|
128
|
+
exports.WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1 = Object.freeze([
|
|
129
|
+
'WEB33-P0-01',
|
|
130
|
+
'WEB33-P0-03',
|
|
131
|
+
'WEB33-P0-08',
|
|
132
|
+
'WEB33-P0-10',
|
|
133
|
+
'WEB33-P0-12',
|
|
134
|
+
'WEB33-P0-16',
|
|
135
|
+
'WEB33-P0-17',
|
|
136
|
+
'WEB33-P0-18',
|
|
137
|
+
'WEB33-P0-20',
|
|
138
|
+
'WEB33-P0-21',
|
|
139
|
+
'WEB33-P0-23',
|
|
140
|
+
'WEB33-P0-24',
|
|
141
|
+
]);
|
|
98
142
|
exports.WEB_E2E_CRITICAL_SCENARIOS_V1 = Object.freeze([
|
|
99
143
|
...exports.WEB_E2E_LEGACY_SCENARIOS_V1.slice(0, 4),
|
|
100
144
|
...exports.WEB_E2E_SETTINGS_SCENARIOS_V1,
|
|
101
145
|
...exports.WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1,
|
|
102
146
|
...exports.WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1,
|
|
147
|
+
...exports.WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1,
|
|
103
148
|
]);
|
|
104
149
|
function createTarballArtifactReceiptV1(input) {
|
|
105
150
|
assertIsoTimestamp(input.createdAt, 'artifact createdAt');
|
|
@@ -246,6 +291,8 @@ function createWebE2EReleaseReceiptV1(input) {
|
|
|
246
291
|
`consecutive=${primaryTimelineIsConsecutive}`,
|
|
247
292
|
});
|
|
248
293
|
const runtimeMajors = runtimeRuns.map(run => run.environment.nodeMajor);
|
|
294
|
+
const runtimeRunIds = new Set(runtimeRuns.map(run => run.runId));
|
|
295
|
+
const runtimeManifestDigests = new Set(runtimeRuns.map(run => run.manifestDigest));
|
|
249
296
|
checks.push({
|
|
250
297
|
id: 'node_matrix_complete',
|
|
251
298
|
status: runtimeRuns.length === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
|
|
@@ -254,6 +301,21 @@ function createWebE2EReleaseReceiptV1(input) {
|
|
|
254
301
|
: 'fail',
|
|
255
302
|
detail: `expected=${exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.join(',')} observed=${runtimeMajors.join(',') || 'none'}`,
|
|
256
303
|
});
|
|
304
|
+
checks.push({
|
|
305
|
+
id: 'node_matrix_runs_unique',
|
|
306
|
+
status: runtimeRuns.length === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
|
|
307
|
+
runtimeRunIds.size === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
|
|
308
|
+
runtimeManifestDigests.size === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length
|
|
309
|
+
? 'pass'
|
|
310
|
+
: 'fail',
|
|
311
|
+
detail: `runs=${runtimeRuns.length} uniqueRunIds=${runtimeRunIds.size} ` +
|
|
312
|
+
`uniqueManifests=${runtimeManifestDigests.size}`,
|
|
313
|
+
});
|
|
314
|
+
checks.push({
|
|
315
|
+
id: 'live_canary',
|
|
316
|
+
status: input.liveCanary === 'FAIL' ? 'fail' : 'pass',
|
|
317
|
+
detail: `observed=${input.liveCanary}`,
|
|
318
|
+
});
|
|
257
319
|
const primaryCoverage = primaryRuns.length === 3 &&
|
|
258
320
|
primaryRuns.every(run => run.role === 'primary' && sameOrderedValues(run.scenarioIds, exports.WEB_E2E_FULL_SCENARIOS_V1));
|
|
259
321
|
const runtimeCoverage = runtimeRuns.length === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
|
|
@@ -351,6 +413,22 @@ function createWebE2EReleaseReceiptV1(input) {
|
|
|
351
413
|
? `all WEB32 journeys passed in three primary runs; critical Composer/Layout journeys passed on Node ${runtimeMajors.join(',')} using one tgz`
|
|
352
414
|
: 'WEB32 full or critical exact-tarball coverage is missing, skipped, failed, or dirty',
|
|
353
415
|
});
|
|
416
|
+
const web33PrimaryComplete = primaryRuns.length === 3 &&
|
|
417
|
+
primaryRuns.every(run => run.decision === 'GO' &&
|
|
418
|
+
run.cleanEvidence &&
|
|
419
|
+
exports.WEB_E2E_WEB33_SCENARIOS_V1.every(id => run.scenarioIds.includes(id)));
|
|
420
|
+
const web33MatrixComplete = runtimeRuns.length === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
|
|
421
|
+
runtimeRuns.every(run => run.decision === 'GO' &&
|
|
422
|
+
run.cleanEvidence &&
|
|
423
|
+
run.tarballSha256 === input.tarballSha256 &&
|
|
424
|
+
exports.WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1.every(id => run.scenarioIds.includes(id)));
|
|
425
|
+
checks.push({
|
|
426
|
+
id: 'WEB33-P0-24',
|
|
427
|
+
status: web33PrimaryComplete && web33MatrixComplete ? 'pass' : 'fail',
|
|
428
|
+
detail: web33PrimaryComplete && web33MatrixComplete
|
|
429
|
+
? `all WEB33 journeys passed in three primary runs; critical theme/session journeys passed on Node ${runtimeMajors.join(',')} using one tgz`
|
|
430
|
+
: 'WEB33 full or critical exact-tarball coverage is missing, skipped, failed, or dirty',
|
|
431
|
+
});
|
|
354
432
|
const decision = checks.every(check => check.status === 'pass')
|
|
355
433
|
? 'GO'
|
|
356
434
|
: 'NO_GO';
|
|
@@ -133,6 +133,7 @@ export declare class ToolRouterSnapshotV1 {
|
|
|
133
133
|
assertIntegrity(): void;
|
|
134
134
|
}
|
|
135
135
|
export interface BoundToolExecutionRequestV1 {
|
|
136
|
+
readonly invocationId: string;
|
|
136
137
|
readonly snapshot: StepSnapshotV1;
|
|
137
138
|
readonly toolName: string;
|
|
138
139
|
readonly args: Record<string, unknown>;
|
|
@@ -140,6 +141,15 @@ export interface BoundToolExecutionRequestV1 {
|
|
|
140
141
|
readonly enforcement: 'full' | 'partial' | 'none';
|
|
141
142
|
readonly abortSignal?: AbortSignal;
|
|
142
143
|
}
|
|
144
|
+
export interface WorkspaceMutationCoordinatorV1 {
|
|
145
|
+
runWorkspaceMutation<T>(input: {
|
|
146
|
+
readonly workspaceId: string;
|
|
147
|
+
readonly invocationId: string;
|
|
148
|
+
readonly toolName: string;
|
|
149
|
+
readonly args: Readonly<Record<string, unknown>>;
|
|
150
|
+
readonly abortSignal?: AbortSignal;
|
|
151
|
+
}, operation: () => T | Promise<T>): Promise<T>;
|
|
152
|
+
}
|
|
143
153
|
export interface BoundToolExecutionResultV1 {
|
|
144
154
|
readonly terminal: 'completed' | 'failed' | 'interrupted' | 'indeterminate';
|
|
145
155
|
readonly result: ToolResult;
|
|
@@ -147,6 +157,8 @@ export interface BoundToolExecutionResultV1 {
|
|
|
147
157
|
}
|
|
148
158
|
/** The only runtime primitive allowed to call a frozen concrete tool executor. */
|
|
149
159
|
export declare class ExecutionService {
|
|
160
|
+
private readonly workspaceMutations?;
|
|
161
|
+
constructor(workspaceMutations?: WorkspaceMutationCoordinatorV1 | undefined);
|
|
150
162
|
run(request: BoundToolExecutionRequestV1): Promise<BoundToolExecutionResultV1>;
|
|
151
163
|
}
|
|
152
164
|
export interface StepSnapshotV1 {
|
|
@@ -105,6 +105,9 @@ class ToolRouterSnapshotV1 {
|
|
|
105
105
|
exports.ToolRouterSnapshotV1 = ToolRouterSnapshotV1;
|
|
106
106
|
/** The only runtime primitive allowed to call a frozen concrete tool executor. */
|
|
107
107
|
class ExecutionService {
|
|
108
|
+
constructor(workspaceMutations) {
|
|
109
|
+
this.workspaceMutations = workspaceMutations;
|
|
110
|
+
}
|
|
108
111
|
async run(request) {
|
|
109
112
|
const startedAt = Date.now();
|
|
110
113
|
request.snapshot.toolRouter.assertIntegrity();
|
|
@@ -132,7 +135,17 @@ class ExecutionService {
|
|
|
132
135
|
const timeout = setTimeout(() => timeoutController.abort(new Error('Tool invocation timed out')), request.snapshot.executionPolicy.timeoutMs);
|
|
133
136
|
timeout.unref?.();
|
|
134
137
|
try {
|
|
135
|
-
const
|
|
138
|
+
const execute = () => request.snapshot.toolRouter.executeBound(EXECUTION_SERVICE_TOKEN, request.toolName, structuredClone(request.args), { ...request.context, abortSignal: timeoutController.signal });
|
|
139
|
+
const descriptor = request.snapshot.toolRouter.resolveDescriptor(request.toolName);
|
|
140
|
+
const result = descriptor?.risk.effect === 'workspace_write' && this.workspaceMutations
|
|
141
|
+
? await this.workspaceMutations.runWorkspaceMutation({
|
|
142
|
+
workspaceId: request.snapshot.authority.projectRoot,
|
|
143
|
+
invocationId: request.invocationId,
|
|
144
|
+
toolName: request.toolName,
|
|
145
|
+
args: request.args,
|
|
146
|
+
abortSignal: timeoutController.signal,
|
|
147
|
+
}, execute)
|
|
148
|
+
: await execute();
|
|
136
149
|
const presented = persistLargeToolOutput(request.context.cwd, request.toolName, result);
|
|
137
150
|
return {
|
|
138
151
|
terminal: timeoutController.signal.aborted
|
|
@@ -624,7 +624,7 @@ function replayAllEvents(store) {
|
|
|
624
624
|
const events = [];
|
|
625
625
|
let cursor = 0;
|
|
626
626
|
while (true) {
|
|
627
|
-
const page = store.replay(cursor);
|
|
627
|
+
const page = store.replay(cursor, undefined, 'subagent_receipt_journal');
|
|
628
628
|
events.push(...page.events);
|
|
629
629
|
if (!page.hasMore)
|
|
630
630
|
return events;
|
|
@@ -14,6 +14,7 @@ export interface ThreadEventReplayV1 {
|
|
|
14
14
|
readonly nextCursor: number;
|
|
15
15
|
readonly hasMore: boolean;
|
|
16
16
|
}
|
|
17
|
+
export type ThreadEventReplayReasonV1 = 'direct' | 'capability_receipt_journal' | 'durable_tool_receipt' | 'legacy_materializer' | 'runtime_diagnostics_legacy' | 'subagent_receipt_journal' | 'thread_session_view' | 'turn_commit_journal' | 'ui_gap_recovery' | 'ui_initial_history';
|
|
17
18
|
export interface ThreadEventCommitV1 {
|
|
18
19
|
readonly events: readonly RuntimeEventEnvelopeV1[];
|
|
19
20
|
readonly projection: ThreadProjectionV1;
|
|
@@ -84,11 +85,19 @@ export interface ThreadEventStoreOptionsV1 {
|
|
|
84
85
|
readonly events: number;
|
|
85
86
|
}) => void;
|
|
86
87
|
}
|
|
88
|
+
export interface ThreadEventStorePerformanceCountersV1 {
|
|
89
|
+
readonly logScans: number;
|
|
90
|
+
readonly bytesScanned: number;
|
|
91
|
+
readonly eventsScanned: number;
|
|
92
|
+
readonly scanReasons: Readonly<Record<string, number>>;
|
|
93
|
+
}
|
|
87
94
|
export declare class ThreadEventStoreError extends Error {
|
|
88
95
|
readonly code: 'ORION_THREAD_EVENT_CORRUPT' | 'ORION_THREAD_EVENT_LIMIT' | 'ORION_THREAD_EVENT_CURSOR' | 'ORION_THREAD_EVENT_IDENTITY' | 'ORION_THREAD_COMPACT_INVALID' | 'ORION_THREAD_COMPACT_CONFLICT';
|
|
89
96
|
readonly offset?: number | undefined;
|
|
90
97
|
constructor(code: 'ORION_THREAD_EVENT_CORRUPT' | 'ORION_THREAD_EVENT_LIMIT' | 'ORION_THREAD_EVENT_CURSOR' | 'ORION_THREAD_EVENT_IDENTITY' | 'ORION_THREAD_COMPACT_INVALID' | 'ORION_THREAD_COMPACT_CONFLICT', message: string, offset?: number | undefined);
|
|
91
98
|
}
|
|
99
|
+
/** Process-local monotonic read counters for diagnostics and switch budgets. */
|
|
100
|
+
export declare function threadEventStorePerformanceCountersV1(): ThreadEventStorePerformanceCountersV1;
|
|
92
101
|
/**
|
|
93
102
|
* Append-only durable fact store for a single Thread.
|
|
94
103
|
*
|
|
@@ -120,7 +129,7 @@ export declare class ThreadEventStore {
|
|
|
120
129
|
createEphemeral<T extends Extract<RuntimeEventV1, {
|
|
121
130
|
type: 'item.delta';
|
|
122
131
|
}>>(input: AppendRuntimeEventV1<T>): RuntimeEventEnvelopeV1<T>;
|
|
123
|
-
replay(cursor?: number, limit?: number): ThreadEventReplayV1;
|
|
132
|
+
replay(cursor?: number, limit?: number, reason?: ThreadEventReplayReasonV1): ThreadEventReplayV1;
|
|
124
133
|
/**
|
|
125
134
|
* Verify and seal an immutable imported prefix. The first call may scan the
|
|
126
135
|
* authoritative log; later processes reuse the prefix receipt while the
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ThreadEventStore = exports.ThreadEventStoreError = void 0;
|
|
4
|
+
exports.threadEventStorePerformanceCountersV1 = threadEventStorePerformanceCountersV1;
|
|
4
5
|
const fs_1 = require("fs");
|
|
5
6
|
const path_1 = require("path");
|
|
6
7
|
const atomic_write_1 = require("../services/atomic-write");
|
|
@@ -21,6 +22,19 @@ exports.ThreadEventStoreError = ThreadEventStoreError;
|
|
|
21
22
|
const DEFAULT_MAX_LOG_BYTES = 128 * 1024 * 1024;
|
|
22
23
|
const DEFAULT_MAX_REPLAY_EVENTS = 10000;
|
|
23
24
|
const DEFAULT_LOCK_WAIT_MS = 10000;
|
|
25
|
+
const threadEventStorePerformance = {
|
|
26
|
+
logScans: 0,
|
|
27
|
+
bytesScanned: 0,
|
|
28
|
+
eventsScanned: 0,
|
|
29
|
+
scanReasons: {},
|
|
30
|
+
};
|
|
31
|
+
/** Process-local monotonic read counters for diagnostics and switch budgets. */
|
|
32
|
+
function threadEventStorePerformanceCountersV1() {
|
|
33
|
+
return Object.freeze({
|
|
34
|
+
...threadEventStorePerformance,
|
|
35
|
+
scanReasons: Object.freeze({ ...threadEventStorePerformance.scanReasons }),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
24
38
|
/**
|
|
25
39
|
* Append-only durable fact store for a single Thread.
|
|
26
40
|
*
|
|
@@ -172,7 +186,7 @@ class ThreadEventStore {
|
|
|
172
186
|
(0, runtime_protocol_v1_1.assertRuntimeEventEnvelopeV1)(event);
|
|
173
187
|
return deepFreeze(event);
|
|
174
188
|
}
|
|
175
|
-
replay(cursor = 0, limit = this.maxReplayEvents) {
|
|
189
|
+
replay(cursor = 0, limit = this.maxReplayEvents, reason = 'direct') {
|
|
176
190
|
if (!Number.isSafeInteger(cursor) || cursor < 0) {
|
|
177
191
|
throw new ThreadEventStoreError('ORION_THREAD_EVENT_CURSOR', 'Replay cursor must be a non-negative safe integer');
|
|
178
192
|
}
|
|
@@ -181,7 +195,7 @@ class ThreadEventStore {
|
|
|
181
195
|
throw new ThreadEventStoreError('ORION_THREAD_EVENT_LIMIT', `Replay limit ${safeLimit} exceeds ${this.maxReplayEvents}`);
|
|
182
196
|
}
|
|
183
197
|
return this.withLogLock(() => {
|
|
184
|
-
const scan = requireVerifiedScan(this.loadVerifiedHead(true));
|
|
198
|
+
const scan = requireVerifiedScan(this.loadVerifiedHead(true, `replay:${reason}`));
|
|
185
199
|
const lastSeq = scan.events.length;
|
|
186
200
|
if (cursor > lastSeq) {
|
|
187
201
|
throw new ThreadEventStoreError('ORION_THREAD_EVENT_CURSOR', `Replay cursor ${cursor} is ahead of durable cursor ${lastSeq}`);
|
|
@@ -216,7 +230,7 @@ class ThreadEventStore {
|
|
|
216
230
|
const expected = { cursor, eventDigest, projectionDigest };
|
|
217
231
|
if (head.verifiedPrefixes.some(prefix => sameVerifiedPrefix(prefix, expected)))
|
|
218
232
|
return true;
|
|
219
|
-
head = this.loadVerifiedHead(true);
|
|
233
|
+
head = this.loadVerifiedHead(true, 'verify_durable_prefix');
|
|
220
234
|
const scan = requireVerifiedScan(head);
|
|
221
235
|
const events = scan.events.slice(0, cursor);
|
|
222
236
|
if (events.length !== cursor ||
|
|
@@ -333,14 +347,14 @@ class ThreadEventStore {
|
|
|
333
347
|
*/
|
|
334
348
|
loadAuthoritativeModelHistory() {
|
|
335
349
|
return this.withLogLock(() => {
|
|
336
|
-
const
|
|
350
|
+
const head = this.loadVerifiedHead();
|
|
337
351
|
const state = readCompactState(this.compactStatePath, this.threadId);
|
|
338
352
|
if (state)
|
|
339
353
|
this.assertCompactCheckpoint(state);
|
|
340
|
-
const turnState =
|
|
354
|
+
const turnState = readLatestDurableTurnStateFromProjection(head.projection);
|
|
341
355
|
if (!state && !turnState)
|
|
342
356
|
return undefined;
|
|
343
|
-
return
|
|
357
|
+
return resolveCompactAuthorityState(turnState, state).history;
|
|
344
358
|
});
|
|
345
359
|
}
|
|
346
360
|
/**
|
|
@@ -350,7 +364,7 @@ class ThreadEventStore {
|
|
|
350
364
|
captureCompactSource(turnId) {
|
|
351
365
|
return this.withLogLock(() => {
|
|
352
366
|
ensurePrivateDirectory(this.rootDir);
|
|
353
|
-
const head = this.loadVerifiedHead(true);
|
|
367
|
+
const head = this.loadVerifiedHead(true, 'capture_compact_source');
|
|
354
368
|
const scan = requireVerifiedScan(head);
|
|
355
369
|
const { projection } = head;
|
|
356
370
|
assertActiveMaintenanceTurn(projection, turnId);
|
|
@@ -387,7 +401,7 @@ class ThreadEventStore {
|
|
|
387
401
|
ensurePrivateDirectory(this.compactCheckpointsDir);
|
|
388
402
|
validateCompactCommitInput(input, this.threadId);
|
|
389
403
|
input.onBoundary('before_cas_recheck');
|
|
390
|
-
const head = this.loadVerifiedHead(true);
|
|
404
|
+
const head = this.loadVerifiedHead(true, 'compact_cas');
|
|
391
405
|
const scan = requireVerifiedScan(head);
|
|
392
406
|
const { projection } = head;
|
|
393
407
|
const eventsAfterAnchor = scan.events.slice(input.expectedEventAnchor.cursor);
|
|
@@ -454,7 +468,10 @@ class ThreadEventStore {
|
|
|
454
468
|
}
|
|
455
469
|
listCompactEvents() {
|
|
456
470
|
return this.withLogLock(() => {
|
|
457
|
-
const
|
|
471
|
+
const projection = this.loadVerifiedHead().projection;
|
|
472
|
+
if (projection.compactEvents)
|
|
473
|
+
return projection.compactEvents;
|
|
474
|
+
const scan = requireVerifiedScan(this.loadVerifiedHead(true, 'legacy_compact_projection'));
|
|
458
475
|
return deepFreeze(scan.events.filter((event) => event.payload.type === 'compact.started' ||
|
|
459
476
|
event.payload.type === 'compact.completed' ||
|
|
460
477
|
event.payload.type === 'compact.failed'));
|
|
@@ -511,7 +528,7 @@ class ThreadEventStore {
|
|
|
511
528
|
* projection still match. Callers that need historical events explicitly
|
|
512
529
|
* request a scan; cursor/projection/append paths stay O(head + projection).
|
|
513
530
|
*/
|
|
514
|
-
loadVerifiedHead(requireScan = false) {
|
|
531
|
+
loadVerifiedHead(requireScan = false, scanReason = 'unspecified') {
|
|
515
532
|
ensurePrivateDirectory(this.rootDir);
|
|
516
533
|
const logIdentity = readFileIdentity(this.logPath);
|
|
517
534
|
if (this.cachedHead?.logFingerprint === logIdentity.fingerprint &&
|
|
@@ -528,6 +545,11 @@ class ThreadEventStore {
|
|
|
528
545
|
}
|
|
529
546
|
}
|
|
530
547
|
const scan = scanThreadEventLog(this.logPath, this.threadId, this.maxLogBytes);
|
|
548
|
+
threadEventStorePerformance.logScans += 1;
|
|
549
|
+
threadEventStorePerformance.bytesScanned += scan.safeByteLength + scan.discardedTailBytes;
|
|
550
|
+
threadEventStorePerformance.eventsScanned += scan.events.length;
|
|
551
|
+
threadEventStorePerformance.scanReasons[scanReason] =
|
|
552
|
+
(threadEventStorePerformance.scanReasons[scanReason] ?? 0) + 1;
|
|
531
553
|
this.onLogScan?.({
|
|
532
554
|
threadId: this.threadId,
|
|
533
555
|
bytes: scan.safeByteLength + scan.discardedTailBytes,
|
|
@@ -961,6 +983,9 @@ function assertActiveMaintenanceTurn(projection, turnId) {
|
|
|
961
983
|
}
|
|
962
984
|
function resolveCompactAuthority(events, compactState, threadId) {
|
|
963
985
|
const turnState = readLatestDurableTurnState(events, threadId);
|
|
986
|
+
return resolveCompactAuthorityState(turnState, compactState);
|
|
987
|
+
}
|
|
988
|
+
function resolveCompactAuthorityState(turnState, compactState) {
|
|
964
989
|
if (!turnState && !compactState) {
|
|
965
990
|
throw new ThreadEventStoreError('ORION_THREAD_COMPACT_INVALID', 'Compact requires a durable TurnCommitV1 source');
|
|
966
991
|
}
|
|
@@ -981,15 +1006,26 @@ function resolveCompactAuthority(events, compactState, threadId) {
|
|
|
981
1006
|
taskContextRevision: taskContextOwner.taskContextRevision,
|
|
982
1007
|
});
|
|
983
1008
|
}
|
|
1009
|
+
function readLatestDurableTurnStateFromProjection(projection) {
|
|
1010
|
+
const commit = Object.values(projection.turns)
|
|
1011
|
+
.map(turn => turn.commit)
|
|
1012
|
+
.filter((value) => Boolean(value))
|
|
1013
|
+
.sort((left, right) => left.seq - right.seq)
|
|
1014
|
+
.at(-1);
|
|
1015
|
+
return commit ? parseDurableTurnState(commit.receipt, commit.seq, projection.threadId) : null;
|
|
1016
|
+
}
|
|
984
1017
|
function readLatestDurableTurnState(events, threadId) {
|
|
985
1018
|
const event = [...events]
|
|
986
1019
|
.reverse()
|
|
987
1020
|
.find(candidate => candidate.payload.type === 'turn.committed');
|
|
988
1021
|
if (!event || event.payload.type !== 'turn.committed')
|
|
989
1022
|
return null;
|
|
1023
|
+
return parseDurableTurnState(event.payload.data.receipt, event.seq, threadId);
|
|
1024
|
+
}
|
|
1025
|
+
function parseDurableTurnState(serializedReceipt, eventSeq, threadId) {
|
|
990
1026
|
let receipt;
|
|
991
1027
|
try {
|
|
992
|
-
receipt = JSON.parse(
|
|
1028
|
+
receipt = JSON.parse(serializedReceipt);
|
|
993
1029
|
}
|
|
994
1030
|
catch {
|
|
995
1031
|
throw compactCorrupt('TurnCommitV1 receipt is not valid JSON');
|
|
@@ -1022,7 +1058,7 @@ function readLatestDurableTurnState(events, threadId) {
|
|
|
1022
1058
|
throw compactCorrupt('TurnCommitV1 history or TaskContext digest changed');
|
|
1023
1059
|
}
|
|
1024
1060
|
return deepFreeze({
|
|
1025
|
-
eventSeq
|
|
1061
|
+
eventSeq,
|
|
1026
1062
|
history: structuredClone(history),
|
|
1027
1063
|
historyDigest: receipt.historyDigest,
|
|
1028
1064
|
taskContext: structuredClone(taskContext),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RuntimeEventEnvelopeV1, RuntimeEventTypeV1 } from './protocol/runtime-protocol-v1';
|
|
2
|
+
import type { CompactRuntimeEventV1 } from './compact-transaction';
|
|
2
3
|
export type ThreadProjectionStatusV1 = 'new' | 'active' | 'idle';
|
|
3
4
|
export type TurnProjectionStatusV1 = 'active' | 'completed' | 'failed' | 'interrupted';
|
|
4
5
|
export type ItemProjectionStatusV1 = 'started' | 'completed' | 'failed' | 'interrupted' | 'indeterminate';
|
|
@@ -66,6 +67,10 @@ export interface PlanReviewProjectionV1 {
|
|
|
66
67
|
readonly feedback?: string;
|
|
67
68
|
readonly feedbackDigest?: string;
|
|
68
69
|
}
|
|
70
|
+
export interface ThreadDiagnosticEventsV1 {
|
|
71
|
+
readonly latestCapability?: RuntimeEventEnvelopeV1;
|
|
72
|
+
readonly latestStepSnapshot?: RuntimeEventEnvelopeV1;
|
|
73
|
+
}
|
|
69
74
|
export interface ThreadProjectionV1 {
|
|
70
75
|
readonly version: 1;
|
|
71
76
|
readonly threadId: string;
|
|
@@ -76,6 +81,15 @@ export interface ThreadProjectionV1 {
|
|
|
76
81
|
readonly items: Readonly<Record<string, ItemProjectionV1>>;
|
|
77
82
|
readonly queue: readonly QueuedTurnProjectionV1[];
|
|
78
83
|
readonly planReview?: PlanReviewProjectionV1;
|
|
84
|
+
/** Missing only on projections written before diagnostics became head-only. */
|
|
85
|
+
readonly diagnosticEvents?: ThreadDiagnosticEventsV1;
|
|
86
|
+
/**
|
|
87
|
+
* Compact lifecycle facts retained by new projections so fresh-process
|
|
88
|
+
* orphan recovery does not have to replay the full authoritative JSONL.
|
|
89
|
+
* Missing means a projection written by an older Orion version and forces
|
|
90
|
+
* the store to take the verified scan fallback.
|
|
91
|
+
*/
|
|
92
|
+
readonly compactEvents?: readonly RuntimeEventEnvelopeV1<CompactRuntimeEventV1>[];
|
|
79
93
|
readonly stepSnapshotDigests: readonly string[];
|
|
80
94
|
readonly capabilityReceiptDigests: readonly string[];
|
|
81
95
|
readonly toolInvocationIds: readonly string[];
|
|
@@ -91,6 +105,11 @@ interface MutableThreadProjectionV1 {
|
|
|
91
105
|
items: Record<string, ItemProjectionV1>;
|
|
92
106
|
queue: QueuedTurnProjectionV1[];
|
|
93
107
|
planReview?: PlanReviewProjectionV1;
|
|
108
|
+
diagnosticEvents: {
|
|
109
|
+
latestCapability?: RuntimeEventEnvelopeV1;
|
|
110
|
+
latestStepSnapshot?: RuntimeEventEnvelopeV1;
|
|
111
|
+
};
|
|
112
|
+
compactEvents: RuntimeEventEnvelopeV1<CompactRuntimeEventV1>[];
|
|
94
113
|
stepSnapshotDigests: string[];
|
|
95
114
|
capabilityReceiptDigests: string[];
|
|
96
115
|
toolInvocationIds: string[];
|
|
@@ -25,6 +25,8 @@ function projectThreadEvents(threadId, events) {
|
|
|
25
25
|
turns: {},
|
|
26
26
|
items: {},
|
|
27
27
|
queue: [],
|
|
28
|
+
diagnosticEvents: {},
|
|
29
|
+
compactEvents: [],
|
|
28
30
|
stepSnapshotDigests: [],
|
|
29
31
|
capabilityReceiptDigests: [],
|
|
30
32
|
toolInvocationIds: [],
|
|
@@ -65,6 +67,10 @@ function advanceThreadProjection(projection, events) {
|
|
|
65
67
|
items: Object.fromEntries(Object.entries(projection.items).map(([id, item]) => [id, { ...item }])),
|
|
66
68
|
queue: projection.queue.map(item => ({ ...item })),
|
|
67
69
|
...(projection.planReview ? { planReview: { ...projection.planReview } } : {}),
|
|
70
|
+
diagnosticEvents: projection.diagnosticEvents
|
|
71
|
+
? structuredClone(projection.diagnosticEvents)
|
|
72
|
+
: {},
|
|
73
|
+
compactEvents: (projection.compactEvents ?? []).map(event => structuredClone(event)),
|
|
68
74
|
stepSnapshotDigests: [...projection.stepSnapshotDigests],
|
|
69
75
|
capabilityReceiptDigests: [...projection.capabilityReceiptDigests],
|
|
70
76
|
toolInvocationIds: [...projection.toolInvocationIds],
|
|
@@ -148,6 +154,7 @@ function applyThreadEvent(state, event) {
|
|
|
148
154
|
throw invariant('step snapshot already exists', event);
|
|
149
155
|
}
|
|
150
156
|
state.stepSnapshotDigests.push(event.payload.data.digest);
|
|
157
|
+
state.diagnosticEvents.latestStepSnapshot = structuredClone(event);
|
|
151
158
|
break;
|
|
152
159
|
case 'capability.receipt':
|
|
153
160
|
validateCapabilityReceipt(event);
|
|
@@ -155,6 +162,7 @@ function applyThreadEvent(state, event) {
|
|
|
155
162
|
throw invariant('capability receipt already exists', event);
|
|
156
163
|
}
|
|
157
164
|
state.capabilityReceiptDigests.push(event.payload.data.digest);
|
|
165
|
+
state.diagnosticEvents.latestCapability = structuredClone(event);
|
|
158
166
|
break;
|
|
159
167
|
case 'tool.receipt':
|
|
160
168
|
if (state.toolInvocationIds.includes(event.payload.data.invocationId)) {
|
|
@@ -165,6 +173,8 @@ function applyThreadEvent(state, event) {
|
|
|
165
173
|
case 'compact.started':
|
|
166
174
|
case 'compact.completed':
|
|
167
175
|
case 'compact.failed':
|
|
176
|
+
state.compactEvents.push(structuredClone(event));
|
|
177
|
+
break;
|
|
168
178
|
case 'approval.requested':
|
|
169
179
|
break;
|
|
170
180
|
case 'item.delta':
|
|
@@ -517,6 +527,8 @@ function freezeProjection(state) {
|
|
|
517
527
|
])),
|
|
518
528
|
items: Object.fromEntries(Object.entries(state.items).map(([id, item]) => [id, { ...item }])),
|
|
519
529
|
queue: state.queue.map(item => ({ ...item })),
|
|
530
|
+
diagnosticEvents: structuredClone(state.diagnosticEvents),
|
|
531
|
+
compactEvents: state.compactEvents.map(event => structuredClone(event)),
|
|
520
532
|
stepSnapshotDigests: [...state.stepSnapshotDigests],
|
|
521
533
|
capabilityReceiptDigests: [...state.capabilityReceiptDigests],
|
|
522
534
|
toolInvocationIds: [...state.toolInvocationIds],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RuntimeEventBufferV1, type RuntimeEventBufferOptionsV1 } from './runtime-event-buffer';
|
|
2
2
|
import { type ThreadAdmissionOptionsV1, type ThreadCommandAdmissionV1, type ThreadTurnRequestV1 } from './thread-admission';
|
|
3
|
-
import { ThreadEventStore } from './thread-event-store';
|
|
3
|
+
import { ThreadEventStore, type ThreadEventReplayReasonV1 } from './thread-event-store';
|
|
4
4
|
import { type AgentRuntimeCommandV1, type RuntimeEventEnvelopeV1 } from './protocol/runtime-protocol-v1';
|
|
5
5
|
import type { CompactPrepareSourceReceiptV1 } from './compact-transaction';
|
|
6
6
|
export interface ThreadCompactCandidateDraftV1 {
|
|
@@ -143,7 +143,7 @@ export declare class ThreadRuntimeV1 {
|
|
|
143
143
|
unsubscribe(consumerId: string): void;
|
|
144
144
|
/** Observe committed durable facts without acquiring ownership of the Thread lifecycle. */
|
|
145
145
|
observeCommittedEvents(listener: (events: readonly RuntimeEventEnvelopeV1[]) => void): () => void;
|
|
146
|
-
replay(cursor?: number, limit?: number): import("./thread-event-store").ThreadEventReplayV1;
|
|
146
|
+
replay(cursor?: number, limit?: number, reason?: ThreadEventReplayReasonV1): import("./thread-event-store").ThreadEventReplayV1;
|
|
147
147
|
getProjection(): import("./thread-projection").ThreadProjectionV1;
|
|
148
148
|
getAdmissionSnapshot(): import("./thread-admission").ThreadAdmissionSnapshotV1;
|
|
149
149
|
waitForIdle(): Promise<void>;
|
|
@@ -252,8 +252,8 @@ class ThreadRuntimeV1 {
|
|
|
252
252
|
throw new Error('Closed Thread runtime cannot be observed');
|
|
253
253
|
return this.store.subscribeCommitted(listener);
|
|
254
254
|
}
|
|
255
|
-
replay(cursor = 0, limit) {
|
|
256
|
-
return this.store.replay(cursor, limit);
|
|
255
|
+
replay(cursor = 0, limit, reason) {
|
|
256
|
+
return this.store.replay(cursor, limit, reason);
|
|
257
257
|
}
|
|
258
258
|
getProjection() {
|
|
259
259
|
return this.store.loadProjection();
|