@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
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import type { Message } from '../services/llm';
|
|
2
2
|
import type { RuntimeEventEnvelopeV1 } from './protocol/runtime-protocol-v1';
|
|
3
3
|
import type { ThreadLogIdentityV1 } from './thread-event-store';
|
|
4
|
-
import type { ItemProjectionV1, ThreadProjectionV1 } from './thread-projection';
|
|
4
|
+
import type { ItemProjectionV1, PlanReviewProjectionV1, ThreadProjectionV1, TurnProjectionStatusV1 } from './thread-projection';
|
|
5
|
+
export interface ThreadSessionIndexPerformanceCountersV1 {
|
|
6
|
+
readonly indexBuilds: number;
|
|
7
|
+
readonly manifestReads: number;
|
|
8
|
+
readonly pageReads: number;
|
|
9
|
+
readonly bytesRead: number;
|
|
10
|
+
}
|
|
11
|
+
/** Process-local monotonic derived-index counters for Web performance evidence. */
|
|
12
|
+
export declare function threadSessionIndexPerformanceCountersV1(): ThreadSessionIndexPerformanceCountersV1;
|
|
5
13
|
export interface ThreadSessionTranscriptMessageV1 {
|
|
6
14
|
readonly role: Message['role'];
|
|
7
15
|
readonly content: string;
|
|
@@ -15,6 +23,12 @@ export interface ThreadSessionTurnCommitV1 {
|
|
|
15
23
|
readonly seq: number;
|
|
16
24
|
readonly receipt: string;
|
|
17
25
|
}
|
|
26
|
+
export interface ThreadSessionLatestTurnV1 {
|
|
27
|
+
readonly turnId: string;
|
|
28
|
+
readonly status: TurnProjectionStatusV1;
|
|
29
|
+
readonly startedSeq: number;
|
|
30
|
+
readonly terminalSeq?: number;
|
|
31
|
+
}
|
|
18
32
|
export interface ThreadSessionIndexHeadV1 {
|
|
19
33
|
readonly cursor: number;
|
|
20
34
|
readonly projectionDigest: string;
|
|
@@ -41,8 +55,10 @@ export interface ThreadSessionIndexManifestV1 {
|
|
|
41
55
|
readonly updatedAt: number;
|
|
42
56
|
readonly messageCount: number;
|
|
43
57
|
readonly pages: readonly StoredTranscriptPagePointerV1[];
|
|
58
|
+
readonly latestTurn?: ThreadSessionLatestTurnV1;
|
|
44
59
|
readonly latestTurnCommit?: ThreadSessionTurnCommitV1;
|
|
45
60
|
readonly latestPlanTurnCommit?: ThreadSessionTurnCommitV1;
|
|
61
|
+
readonly planReview?: PlanReviewProjectionV1;
|
|
46
62
|
readonly digest: string;
|
|
47
63
|
}
|
|
48
64
|
export interface ThreadSessionIndexedPageV1 {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ThreadSessionIndexError = void 0;
|
|
4
|
+
exports.threadSessionIndexPerformanceCountersV1 = threadSessionIndexPerformanceCountersV1;
|
|
4
5
|
exports.buildThreadSessionIndexV1 = buildThreadSessionIndexV1;
|
|
5
6
|
exports.advanceThreadSessionIndexV1 = advanceThreadSessionIndexV1;
|
|
6
7
|
exports.loadThreadSessionIndexManifestV1 = loadThreadSessionIndexManifestV1;
|
|
@@ -12,6 +13,16 @@ const atomic_write_1 = require("../services/atomic-write");
|
|
|
12
13
|
const canonical_1 = require("./protocol/canonical");
|
|
13
14
|
const TRANSCRIPT_PAGE_ITEMS = 100;
|
|
14
15
|
const MAX_MANIFEST_PAGES = 100000;
|
|
16
|
+
const threadSessionIndexPerformance = {
|
|
17
|
+
indexBuilds: 0,
|
|
18
|
+
manifestReads: 0,
|
|
19
|
+
pageReads: 0,
|
|
20
|
+
bytesRead: 0,
|
|
21
|
+
};
|
|
22
|
+
/** Process-local monotonic derived-index counters for Web performance evidence. */
|
|
23
|
+
function threadSessionIndexPerformanceCountersV1() {
|
|
24
|
+
return Object.freeze({ ...threadSessionIndexPerformance });
|
|
25
|
+
}
|
|
15
26
|
class ThreadSessionIndexError extends Error {
|
|
16
27
|
constructor(code, message) {
|
|
17
28
|
super(message);
|
|
@@ -21,6 +32,7 @@ class ThreadSessionIndexError extends Error {
|
|
|
21
32
|
}
|
|
22
33
|
exports.ThreadSessionIndexError = ThreadSessionIndexError;
|
|
23
34
|
function buildThreadSessionIndexV1(input) {
|
|
35
|
+
threadSessionIndexPerformance.indexBuilds += 1;
|
|
24
36
|
const previous = readManifest(manifestPath(input.rootDir, input.threadId), input.threadId);
|
|
25
37
|
const messages = projectTranscriptMessages(input.projection.items, input.events);
|
|
26
38
|
const pages = [];
|
|
@@ -36,6 +48,7 @@ function buildThreadSessionIndexV1(input) {
|
|
|
36
48
|
updatedAt: input.events.at(-1)?.timestamp ?? 0,
|
|
37
49
|
messageCount: messages.length,
|
|
38
50
|
pages,
|
|
51
|
+
...(input.projection.planReview ? { planReview: input.projection.planReview } : {}),
|
|
39
52
|
...commits,
|
|
40
53
|
});
|
|
41
54
|
writeManifest(input.rootDir, manifest);
|
|
@@ -63,7 +76,22 @@ function advanceThreadSessionIndexV1(input) {
|
|
|
63
76
|
}
|
|
64
77
|
const pages = [...current.pages];
|
|
65
78
|
let messageCount = current.messageCount;
|
|
66
|
-
|
|
79
|
+
let messageOffset = 0;
|
|
80
|
+
const partialTail = pages.at(-1);
|
|
81
|
+
if (partialTail &&
|
|
82
|
+
partialTail.end === messageCount &&
|
|
83
|
+
partialTail.end - partialTail.start < TRANSCRIPT_PAGE_ITEMS &&
|
|
84
|
+
messages.length > 0) {
|
|
85
|
+
const existing = readPage(input.rootDir, input.threadId, partialTail);
|
|
86
|
+
const appended = messages.slice(0, Math.min(messages.length, TRANSCRIPT_PAGE_ITEMS - existing.items.length));
|
|
87
|
+
pages[pages.length - 1] = writeImmutablePage(input.rootDir, input.threadId, partialTail.start, [
|
|
88
|
+
...existing.items,
|
|
89
|
+
...appended,
|
|
90
|
+
]);
|
|
91
|
+
messageOffset = appended.length;
|
|
92
|
+
messageCount += appended.length;
|
|
93
|
+
}
|
|
94
|
+
for (let start = messageOffset; start < messages.length; start += TRANSCRIPT_PAGE_ITEMS) {
|
|
67
95
|
const chunk = messages.slice(start, start + TRANSCRIPT_PAGE_ITEMS);
|
|
68
96
|
pages.push(writeImmutablePage(input.rootDir, input.threadId, messageCount, chunk));
|
|
69
97
|
messageCount += chunk.length;
|
|
@@ -77,8 +105,10 @@ function advanceThreadSessionIndexV1(input) {
|
|
|
77
105
|
updatedAt: input.nextHead.lastEventTimestamp,
|
|
78
106
|
messageCount,
|
|
79
107
|
pages,
|
|
108
|
+
...(nextCommits.latestTurn ? { latestTurn: nextCommits.latestTurn } : {}),
|
|
80
109
|
latestTurnCommit: nextCommits.latestTurnCommit ?? current.latestTurnCommit,
|
|
81
110
|
latestPlanTurnCommit: nextCommits.latestPlanTurnCommit ?? current.latestPlanTurnCommit,
|
|
111
|
+
...(input.projection.planReview ? { planReview: input.projection.planReview } : {}),
|
|
82
112
|
});
|
|
83
113
|
writeManifest(input.rootDir, manifest);
|
|
84
114
|
return true;
|
|
@@ -155,10 +185,12 @@ function createManifest(input) {
|
|
|
155
185
|
updatedAt: input.updatedAt,
|
|
156
186
|
messageCount: input.messageCount,
|
|
157
187
|
pages: input.pages.map(page => ({ ...page })),
|
|
188
|
+
...(input.latestTurn ? { latestTurn: { ...input.latestTurn } } : {}),
|
|
158
189
|
...(input.latestTurnCommit ? { latestTurnCommit: { ...input.latestTurnCommit } } : {}),
|
|
159
190
|
...(input.latestPlanTurnCommit
|
|
160
191
|
? { latestPlanTurnCommit: { ...input.latestPlanTurnCommit } }
|
|
161
192
|
: {}),
|
|
193
|
+
...(input.planReview ? { planReview: { ...input.planReview } } : {}),
|
|
162
194
|
};
|
|
163
195
|
return deepFreeze({ ...content, digest: (0, canonical_1.digestRuntimeValue)(content) });
|
|
164
196
|
}
|
|
@@ -168,7 +200,9 @@ function latestAuthorityCommits(projection, events) {
|
|
|
168
200
|
.filter(event => event.payload.type === 'turn.committed' && event.turnId)
|
|
169
201
|
.map(event => event.turnId))
|
|
170
202
|
: undefined;
|
|
171
|
-
const
|
|
203
|
+
const orderedTurns = Object.values(projection.turns).sort((left, right) => left.startedSeq - right.startedSeq);
|
|
204
|
+
const latestTurnProjection = orderedTurns.at(-1);
|
|
205
|
+
const commits = orderedTurns
|
|
172
206
|
.filter(turn => !committedTurns || committedTurns.has(turn.turnId))
|
|
173
207
|
.flatMap(turn => (turn.commit ? [{ seq: turn.commit.seq, receipt: turn.commit.receipt }] : []))
|
|
174
208
|
.sort((left, right) => left.seq - right.seq);
|
|
@@ -177,6 +211,18 @@ function latestAuthorityCommits(projection, events) {
|
|
|
177
211
|
.reverse()
|
|
178
212
|
.find(commit => turnCommitContainsPlan(commit.receipt));
|
|
179
213
|
return {
|
|
214
|
+
...(latestTurnProjection
|
|
215
|
+
? {
|
|
216
|
+
latestTurn: {
|
|
217
|
+
turnId: latestTurnProjection.turnId,
|
|
218
|
+
status: latestTurnProjection.status,
|
|
219
|
+
startedSeq: latestTurnProjection.startedSeq,
|
|
220
|
+
...(latestTurnProjection.terminalSeq !== undefined
|
|
221
|
+
? { terminalSeq: latestTurnProjection.terminalSeq }
|
|
222
|
+
: {}),
|
|
223
|
+
},
|
|
224
|
+
}
|
|
225
|
+
: {}),
|
|
180
226
|
...(latestTurnCommit ? { latestTurnCommit } : {}),
|
|
181
227
|
...(latestPlanTurnCommit ? { latestPlanTurnCommit } : {}),
|
|
182
228
|
};
|
|
@@ -208,7 +254,7 @@ function writeManifest(rootDir, manifest) {
|
|
|
208
254
|
fsyncDirectory(rootDir);
|
|
209
255
|
}
|
|
210
256
|
function readManifest(path, threadId) {
|
|
211
|
-
const value = readRegularJson(path);
|
|
257
|
+
const value = readRegularJson(path, 'manifest');
|
|
212
258
|
if (!isRecord(value))
|
|
213
259
|
return null;
|
|
214
260
|
const { digest: _digest, ...content } = value;
|
|
@@ -238,13 +284,44 @@ function readManifest(path, threadId) {
|
|
|
238
284
|
}
|
|
239
285
|
if (nextStart !== value.messageCount)
|
|
240
286
|
return null;
|
|
287
|
+
if (value.latestTurn !== undefined && !isLatestTurn(value.latestTurn))
|
|
288
|
+
return null;
|
|
241
289
|
if (value.latestTurnCommit !== undefined && !isTurnCommit(value.latestTurnCommit))
|
|
242
290
|
return null;
|
|
243
291
|
if (value.latestPlanTurnCommit !== undefined && !isTurnCommit(value.latestPlanTurnCommit)) {
|
|
244
292
|
return null;
|
|
245
293
|
}
|
|
294
|
+
if (value.planReview !== undefined && !isPlanReview(value.planReview))
|
|
295
|
+
return null;
|
|
246
296
|
return deepFreeze(value);
|
|
247
297
|
}
|
|
298
|
+
function isPlanReview(value) {
|
|
299
|
+
if (!isRecord(value))
|
|
300
|
+
return false;
|
|
301
|
+
return (typeof value.reviewId === 'string' &&
|
|
302
|
+
value.reviewId.length > 0 &&
|
|
303
|
+
typeof value.revision === 'string' &&
|
|
304
|
+
value.revision.length > 0 &&
|
|
305
|
+
isSha256(value.planDigest) &&
|
|
306
|
+
isSha256(value.planReceiptDigest) &&
|
|
307
|
+
['awaiting_review', 'approved', 'continued', 'cancelled'].includes(String(value.status)) &&
|
|
308
|
+
nonNegativeSafeInteger(value.createdAt) &&
|
|
309
|
+
typeof value.createdModel === 'string' &&
|
|
310
|
+
value.createdModel.length > 0 &&
|
|
311
|
+
['build', 'auto'].includes(String(value.returnMode)) &&
|
|
312
|
+
positiveSafeInteger(value.requestedSeq) &&
|
|
313
|
+
(value.resolvedAt === undefined || nonNegativeSafeInteger(value.resolvedAt)) &&
|
|
314
|
+
(value.resolvedSeq === undefined || positiveSafeInteger(value.resolvedSeq)) &&
|
|
315
|
+
(value.feedback === undefined || typeof value.feedback === 'string') &&
|
|
316
|
+
(value.feedbackDigest === undefined || isSha256(value.feedbackDigest)));
|
|
317
|
+
}
|
|
318
|
+
function isLatestTurn(value) {
|
|
319
|
+
return (isRecord(value) &&
|
|
320
|
+
typeof value.turnId === 'string' &&
|
|
321
|
+
['active', 'completed', 'failed', 'interrupted'].includes(String(value.status)) &&
|
|
322
|
+
positiveSafeInteger(value.startedSeq) &&
|
|
323
|
+
(value.terminalSeq === undefined || positiveSafeInteger(value.terminalSeq)));
|
|
324
|
+
}
|
|
248
325
|
function readPage(rootDir, threadId, pointer) {
|
|
249
326
|
if ((0, path_1.basename)(pointer.file) !== pointer.file)
|
|
250
327
|
throw indexCorrupt('Transcript page path escaped.');
|
|
@@ -258,7 +335,7 @@ function readPage(rootDir, threadId, pointer) {
|
|
|
258
335
|
return page;
|
|
259
336
|
}
|
|
260
337
|
function readStoredPage(path, threadId) {
|
|
261
|
-
const value = readRegularJson(path);
|
|
338
|
+
const value = readRegularJson(path, 'page');
|
|
262
339
|
if (!isRecord(value))
|
|
263
340
|
return null;
|
|
264
341
|
const { digest: _digest, ...content } = value;
|
|
@@ -435,13 +512,19 @@ function isItemTerminalEvent(event) {
|
|
|
435
512
|
function isMessageRole(value) {
|
|
436
513
|
return value === 'system' || value === 'user' || value === 'assistant' || value === 'tool';
|
|
437
514
|
}
|
|
438
|
-
function readRegularJson(path) {
|
|
515
|
+
function readRegularJson(path, kind) {
|
|
439
516
|
let fd;
|
|
440
517
|
try {
|
|
441
518
|
fd = (0, fs_1.openSync)(path, fs_1.constants.O_RDONLY | (typeof fs_1.constants.O_NOFOLLOW === 'number' ? fs_1.constants.O_NOFOLLOW : 0));
|
|
442
519
|
if (!(0, fs_1.fstatSync)(fd).isFile())
|
|
443
520
|
return undefined;
|
|
444
|
-
|
|
521
|
+
const bytes = (0, fs_1.readFileSync)(fd);
|
|
522
|
+
threadSessionIndexPerformance.bytesRead += bytes.byteLength;
|
|
523
|
+
if (kind === 'manifest')
|
|
524
|
+
threadSessionIndexPerformance.manifestReads += 1;
|
|
525
|
+
else
|
|
526
|
+
threadSessionIndexPerformance.pageReads += 1;
|
|
527
|
+
return JSON.parse(bytes.toString('utf8'));
|
|
445
528
|
}
|
|
446
529
|
catch {
|
|
447
530
|
return undefined;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Message } from '../services/llm';
|
|
2
2
|
import { type SessionHistoryRecoveryDiagnosticV1, type SessionHistoryResolvedSourceV1 } from './session-history-recovery';
|
|
3
3
|
import { ThreadEventStore, type ThreadReadModelHeadV1 } from './thread-event-store';
|
|
4
|
-
import { type ThreadSessionTranscriptMessageV1, type ThreadSessionTurnCommitV1 } from './thread-session-index';
|
|
4
|
+
import { type ThreadSessionLatestTurnV1, type ThreadSessionTranscriptMessageV1, type ThreadSessionTurnCommitV1 } from './thread-session-index';
|
|
5
|
+
import type { PlanReviewProjectionV1 } from './thread-projection';
|
|
5
6
|
export type { ThreadSessionTranscriptMessageV1, ThreadSessionTurnCommitV1, } from './thread-session-index';
|
|
6
7
|
/** Metadata/transcript projection that never needs to decode model history. */
|
|
7
8
|
export interface ThreadSessionSummaryV1 {
|
|
@@ -72,8 +73,10 @@ export interface ThreadSessionSnapshotPageV1 {
|
|
|
72
73
|
readonly lastRecordHash: string | null;
|
|
73
74
|
readonly log: ThreadReadModelHeadV1['log'];
|
|
74
75
|
};
|
|
76
|
+
readonly latestTurn?: ThreadSessionLatestTurnV1;
|
|
75
77
|
readonly latestTurnCommit?: ThreadSessionTurnCommitV1;
|
|
76
78
|
readonly latestPlanTurnCommit?: ThreadSessionTurnCommitV1;
|
|
79
|
+
readonly planReview?: PlanReviewProjectionV1;
|
|
77
80
|
}
|
|
78
81
|
export declare class ThreadSessionViewError extends Error {
|
|
79
82
|
readonly code = "ORION_THREAD_SESSION_VIEW_INVALID";
|
|
@@ -119,7 +119,8 @@ function loadThreadSessionSnapshotPageV1(projectPath, sessionId, cursor, pageSiz
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
catch (error) {
|
|
122
|
-
if (!(error instanceof thread_session_index_1.ThreadSessionIndexError) ||
|
|
122
|
+
if (!(error instanceof thread_session_index_1.ThreadSessionIndexError) ||
|
|
123
|
+
error.code !== 'ORION_THREAD_SESSION_INDEX_CORRUPT') {
|
|
123
124
|
throw error;
|
|
124
125
|
}
|
|
125
126
|
}
|
|
@@ -268,10 +269,12 @@ function snapshotPageFromIndex(sessionId, cutoverGeneration, page) {
|
|
|
268
269
|
lastRecordHash: manifest.lastRecordHash,
|
|
269
270
|
log: manifest.log,
|
|
270
271
|
},
|
|
272
|
+
...(manifest.latestTurn ? { latestTurn: manifest.latestTurn } : {}),
|
|
271
273
|
...(manifest.latestTurnCommit ? { latestTurnCommit: manifest.latestTurnCommit } : {}),
|
|
272
274
|
...(manifest.latestPlanTurnCommit
|
|
273
275
|
? { latestPlanTurnCommit: manifest.latestPlanTurnCommit }
|
|
274
276
|
: {}),
|
|
277
|
+
...(manifest.planReview ? { planReview: manifest.planReview } : {}),
|
|
275
278
|
});
|
|
276
279
|
}
|
|
277
280
|
function captureStableThreadView(store, minimumCursor, minimumProjectionDigest, includeDurableHistory) {
|
|
@@ -301,7 +304,7 @@ function replayAll(store, cursor) {
|
|
|
301
304
|
const events = [];
|
|
302
305
|
let nextCursor = 0;
|
|
303
306
|
while (nextCursor < cursor) {
|
|
304
|
-
const replay = store.replay(nextCursor);
|
|
307
|
+
const replay = store.replay(nextCursor, undefined, 'thread_session_view');
|
|
305
308
|
const page = replay.events.filter(event => event.seq <= cursor);
|
|
306
309
|
if (page.length === 0) {
|
|
307
310
|
throw new ThreadSessionViewError(`Thread ${store.threadId} replay stopped at ${nextCursor}/${cursor}.`);
|
|
@@ -141,7 +141,7 @@ class ThreadUiAdapterV1 {
|
|
|
141
141
|
}
|
|
142
142
|
replayInitialHistory() {
|
|
143
143
|
while (this.cursorValue < this.initialReplayTarget) {
|
|
144
|
-
const replay = this.runtime.replay(this.cursorValue);
|
|
144
|
+
const replay = this.runtime.replay(this.cursorValue, undefined, 'ui_initial_history');
|
|
145
145
|
const events = replay.events.filter(event => event.seq <= this.initialReplayTarget);
|
|
146
146
|
if (events.length === 0) {
|
|
147
147
|
throw new ThreadUiAdapterError(`Thread replay stalled at cursor ${this.cursorValue} before ${this.initialReplayTarget}.`);
|
|
@@ -157,7 +157,7 @@ class ThreadUiAdapterV1 {
|
|
|
157
157
|
throw new ThreadUiAdapterError(`Replay cursor ${fromCursor} differs from projected cursor ${this.cursorValue}.`);
|
|
158
158
|
}
|
|
159
159
|
while (true) {
|
|
160
|
-
const replay = this.runtime.replay(this.cursorValue);
|
|
160
|
+
const replay = this.runtime.replay(this.cursorValue, undefined, 'ui_gap_recovery');
|
|
161
161
|
for (const event of replay.events) {
|
|
162
162
|
this.project(event);
|
|
163
163
|
this.cursorValue = event.seq;
|
|
@@ -380,7 +380,14 @@ class ThreadUiAdapterV1 {
|
|
|
380
380
|
if (isToolItem(presentation.kind)) {
|
|
381
381
|
const durableReceiptFact = this.toolReceiptFacts.get(presentation.itemId);
|
|
382
382
|
let receipt;
|
|
383
|
-
|
|
383
|
+
const hasTerminalReceipt = terminal.receipt !== undefined;
|
|
384
|
+
const hasDurableReceiptFact = durableReceiptFact !== undefined;
|
|
385
|
+
if (hasTerminalReceipt !== hasDurableReceiptFact) {
|
|
386
|
+
throw new ThreadUiAdapterError(hasTerminalReceipt
|
|
387
|
+
? `Tool item ${presentation.itemId} has a canonical receipt without its durable receipt fact.`
|
|
388
|
+
: `Tool item ${presentation.itemId} has a durable receipt fact without its canonical terminal receipt.`);
|
|
389
|
+
}
|
|
390
|
+
if (hasTerminalReceipt && durableReceiptFact) {
|
|
384
391
|
try {
|
|
385
392
|
receipt = (0, tool_receipt_validator_1.validateDurableToolInvocationReceiptV1)({
|
|
386
393
|
terminalEvent: event,
|
|
@@ -43,7 +43,7 @@ class ThreadTurnCommitJournalV1 {
|
|
|
43
43
|
const receiptEvents = [];
|
|
44
44
|
let cursor = 0;
|
|
45
45
|
while (true) {
|
|
46
|
-
const page = this.store.replay(cursor);
|
|
46
|
+
const page = this.store.replay(cursor, undefined, 'turn_commit_journal');
|
|
47
47
|
receiptEvents.push(...page.events.filter(event => event.turnId === input.turnId));
|
|
48
48
|
if (!page.hasMore)
|
|
49
49
|
break;
|
|
@@ -16,6 +16,7 @@ import type { EffortLevel, EffortPreference, EffortScope } from '../services/eff
|
|
|
16
16
|
import type { AgentRuntimeRunnerV1 } from './agent-runtime-runner';
|
|
17
17
|
import type { FirstPartyApprovalHandlerV1 } from './first-party-tool-services';
|
|
18
18
|
import type { OrionRuntimeDiagnosticsV1 } from './orion-runtime-v1';
|
|
19
|
+
import type { WorkspaceRuntimeKernelV1 } from './workspace-runtime-kernel';
|
|
19
20
|
import type { SettingsCoordinatorV1, SettingsDocumentViewV1, SettingsOperationV1, SettingsUpdateResultV1 } from '../services/settings-coordinator';
|
|
20
21
|
/** Re-export so the runtime event protocol can reference subtask events. */
|
|
21
22
|
export type { RuntimeSubtaskEvent } from './subagents/types';
|
|
@@ -281,6 +282,8 @@ export interface OrionCodeUiRuntime extends RuntimeSessionAccessors {
|
|
|
281
282
|
modelCoordinator?: ModelCoordinator;
|
|
282
283
|
/** Sole Session-scoped mode/model/effort/permission control authority. */
|
|
283
284
|
sessionComposerControls?: SessionComposerControlServiceV1;
|
|
285
|
+
/** Workspace-scoped services shared by Web Session actors. */
|
|
286
|
+
workspaceRuntimeKernel?: WorkspaceRuntimeKernelV1;
|
|
284
287
|
/** Creates the sole product runner after a renderer-neutral event sink exists. */
|
|
285
288
|
createAgentRunner?: (events: UiEventSink, options: {
|
|
286
289
|
readonly approvalHandler: FirstPartyApprovalHandlerV1;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { OrionCodeCLIConfig } from '../services/config';
|
|
2
|
+
import { ProviderRequestGate, ProviderResilienceCoordinator } from '../services/provider-resilience';
|
|
3
|
+
import { SettingsCoordinatorV1, type SettingsInvalidationV1, type SettingsUpdateContextV1 } from '../services/settings-coordinator';
|
|
4
|
+
import type { ProductionFirstPartyToolUniverseV1 } from './first-party-tool-universe';
|
|
5
|
+
import type { FirstPartyMcpAdapterV1 } from './mcp';
|
|
6
|
+
import type { FilesystemSkillProviderV1 } from './skills';
|
|
7
|
+
export interface WorkspaceSettingsRuntimeParticipantV1 {
|
|
8
|
+
readonly runtimeIdle: () => boolean;
|
|
9
|
+
readonly runtimePrepare: (context: Omit<SettingsUpdateContextV1, 'document'>) => void | Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Apply one committed Settings document and return an exact in-memory
|
|
12
|
+
* compensation. The kernel invokes compensations in reverse order when a
|
|
13
|
+
* later participant rejects, before the coordinator restores durable bytes.
|
|
14
|
+
*/
|
|
15
|
+
readonly runtimeApply: (context: SettingsUpdateContextV1) => void | (() => void | Promise<void>) | Promise<void | (() => void | Promise<void>)>;
|
|
16
|
+
}
|
|
17
|
+
export interface WorkspaceRuntimeKernelOptionsV1 {
|
|
18
|
+
readonly cwd: string;
|
|
19
|
+
readonly config: OrionCodeCLIConfig;
|
|
20
|
+
readonly toolUniverse: ProductionFirstPartyToolUniverseV1;
|
|
21
|
+
readonly skillProvider: FilesystemSkillProviderV1;
|
|
22
|
+
readonly mcpAdapter: FirstPartyMcpAdapterV1;
|
|
23
|
+
readonly onSettingsInvalidated?: (event: SettingsInvalidationV1) => void;
|
|
24
|
+
readonly providerRequestGate?: ProviderRequestGate;
|
|
25
|
+
readonly providerResilience?: ProviderResilienceCoordinator;
|
|
26
|
+
}
|
|
27
|
+
export interface WorkspaceRuntimeKernelDiagnosticsV1 {
|
|
28
|
+
readonly participantCount: number;
|
|
29
|
+
readonly ownerReleased: boolean;
|
|
30
|
+
readonly closed: boolean;
|
|
31
|
+
readonly providerGate: ReturnType<ProviderRequestGate['snapshot']>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Workspace-owned services shared by every Web Session actor.
|
|
35
|
+
*
|
|
36
|
+
* Session runtimes still own mutable Store/LLM/Thread/controller state. This
|
|
37
|
+
* kernel owns only workspace-scoped, concurrency-safe resources: the parsed
|
|
38
|
+
* model/client configuration, static Tool and MCP descriptors, the filesystem
|
|
39
|
+
* Skill provider, one Settings coordinator/watcher, and one provider request
|
|
40
|
+
* gate/cooldown domain.
|
|
41
|
+
*/
|
|
42
|
+
export declare class WorkspaceRuntimeKernelV1 {
|
|
43
|
+
readonly version: 1;
|
|
44
|
+
readonly cwd: string;
|
|
45
|
+
readonly toolUniverse: ProductionFirstPartyToolUniverseV1;
|
|
46
|
+
readonly skillProvider: FilesystemSkillProviderV1;
|
|
47
|
+
readonly mcpAdapter: FirstPartyMcpAdapterV1;
|
|
48
|
+
readonly providerRequestGate: ProviderRequestGate;
|
|
49
|
+
readonly providerResilience: ProviderResilienceCoordinator;
|
|
50
|
+
readonly settingsCoordinator: SettingsCoordinatorV1;
|
|
51
|
+
private readonly configSnapshot;
|
|
52
|
+
private readonly participants;
|
|
53
|
+
private ownerReleasedValue;
|
|
54
|
+
private closedValue;
|
|
55
|
+
constructor(options: WorkspaceRuntimeKernelOptionsV1);
|
|
56
|
+
createRuntimeConfig(): OrionCodeCLIConfig;
|
|
57
|
+
registerSettingsRuntime(participant: WorkspaceSettingsRuntimeParticipantV1): () => void;
|
|
58
|
+
runtimeIdle(): boolean;
|
|
59
|
+
diagnostics(): WorkspaceRuntimeKernelDiagnosticsV1;
|
|
60
|
+
/** Release the sole workspace owner; final close waits for actor teardown. */
|
|
61
|
+
releaseOwner(): void;
|
|
62
|
+
private prepareParticipants;
|
|
63
|
+
private applyParticipants;
|
|
64
|
+
private closeWhenUnowned;
|
|
65
|
+
private assertOpen;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=workspace-runtime-kernel.d.ts.map
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkspaceRuntimeKernelV1 = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const provider_resilience_1 = require("../services/provider-resilience");
|
|
6
|
+
const settings_coordinator_1 = require("../services/settings-coordinator");
|
|
7
|
+
/**
|
|
8
|
+
* Workspace-owned services shared by every Web Session actor.
|
|
9
|
+
*
|
|
10
|
+
* Session runtimes still own mutable Store/LLM/Thread/controller state. This
|
|
11
|
+
* kernel owns only workspace-scoped, concurrency-safe resources: the parsed
|
|
12
|
+
* model/client configuration, static Tool and MCP descriptors, the filesystem
|
|
13
|
+
* Skill provider, one Settings coordinator/watcher, and one provider request
|
|
14
|
+
* gate/cooldown domain.
|
|
15
|
+
*/
|
|
16
|
+
class WorkspaceRuntimeKernelV1 {
|
|
17
|
+
constructor(options) {
|
|
18
|
+
this.version = 1;
|
|
19
|
+
this.participants = new Set();
|
|
20
|
+
this.ownerReleasedValue = false;
|
|
21
|
+
this.closedValue = false;
|
|
22
|
+
// The composition root owns canonical workspace identity. Resolving
|
|
23
|
+
// lexical segments here is safe; realpath re-keying (/var -> /private/var
|
|
24
|
+
// on macOS) would diverge from the durable project Settings key.
|
|
25
|
+
this.cwd = (0, path_1.resolve)(options.cwd);
|
|
26
|
+
this.configSnapshot = cloneRuntimeConfig(options.config);
|
|
27
|
+
this.toolUniverse = options.toolUniverse;
|
|
28
|
+
this.skillProvider = options.skillProvider;
|
|
29
|
+
this.mcpAdapter = options.mcpAdapter;
|
|
30
|
+
this.providerRequestGate = options.providerRequestGate ?? new provider_resilience_1.ProviderRequestGate();
|
|
31
|
+
this.providerResilience =
|
|
32
|
+
options.providerResilience ??
|
|
33
|
+
new provider_resilience_1.ProviderResilienceCoordinator(undefined, this.providerRequestGate);
|
|
34
|
+
this.settingsCoordinator = settings_coordinator_1.SettingsCoordinatorV1.create({
|
|
35
|
+
workspace: this.cwd,
|
|
36
|
+
onInvalidated: options.onSettingsInvalidated,
|
|
37
|
+
models: options.config.modelRegistry?.enabledProfiles.map(profile => ({
|
|
38
|
+
id: profile.id,
|
|
39
|
+
label: profile.displayName ?? profile.id,
|
|
40
|
+
provider: profile.provider,
|
|
41
|
+
})),
|
|
42
|
+
internalDefaultModel: 'gpt-4o',
|
|
43
|
+
modelDefaultEffort: 'auto',
|
|
44
|
+
internalToolConfirmation: 'allow',
|
|
45
|
+
runtimeIdle: () => this.runtimeIdle(),
|
|
46
|
+
runtimePrepare: context => this.prepareParticipants(context),
|
|
47
|
+
runtimeApply: context => this.applyParticipants(context),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
createRuntimeConfig() {
|
|
51
|
+
this.assertOpen();
|
|
52
|
+
return cloneRuntimeConfig(this.configSnapshot);
|
|
53
|
+
}
|
|
54
|
+
registerSettingsRuntime(participant) {
|
|
55
|
+
this.assertOpen();
|
|
56
|
+
if (this.ownerReleasedValue) {
|
|
57
|
+
throw new Error('Workspace Runtime kernel owner has already been released.');
|
|
58
|
+
}
|
|
59
|
+
this.participants.add(participant);
|
|
60
|
+
let disposed = false;
|
|
61
|
+
return () => {
|
|
62
|
+
if (disposed)
|
|
63
|
+
return;
|
|
64
|
+
disposed = true;
|
|
65
|
+
this.participants.delete(participant);
|
|
66
|
+
this.closeWhenUnowned();
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
runtimeIdle() {
|
|
70
|
+
for (const participant of this.participants) {
|
|
71
|
+
if (!participant.runtimeIdle())
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
diagnostics() {
|
|
77
|
+
return Object.freeze({
|
|
78
|
+
participantCount: this.participants.size,
|
|
79
|
+
ownerReleased: this.ownerReleasedValue,
|
|
80
|
+
closed: this.closedValue,
|
|
81
|
+
providerGate: Object.freeze({ ...this.providerRequestGate.snapshot() }),
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/** Release the sole workspace owner; final close waits for actor teardown. */
|
|
85
|
+
releaseOwner() {
|
|
86
|
+
if (this.ownerReleasedValue)
|
|
87
|
+
return;
|
|
88
|
+
this.ownerReleasedValue = true;
|
|
89
|
+
this.closeWhenUnowned();
|
|
90
|
+
}
|
|
91
|
+
async prepareParticipants(context) {
|
|
92
|
+
for (const participant of [...this.participants]) {
|
|
93
|
+
await participant.runtimePrepare(context);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async applyParticipants(context) {
|
|
97
|
+
const compensations = [];
|
|
98
|
+
try {
|
|
99
|
+
for (const participant of [...this.participants]) {
|
|
100
|
+
const compensate = await participant.runtimeApply(context);
|
|
101
|
+
if (typeof compensate === 'function')
|
|
102
|
+
compensations.push(compensate);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
let compensationFailed = false;
|
|
107
|
+
for (const compensate of compensations.reverse()) {
|
|
108
|
+
try {
|
|
109
|
+
await compensate();
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
compensationFailed = true;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (compensationFailed) {
|
|
116
|
+
throw new settings_coordinator_1.SettingsCoordinatorError(503, 'settings_recovery_required', 'One or more Session runtimes could not restore their previous Settings state.');
|
|
117
|
+
}
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
closeWhenUnowned() {
|
|
122
|
+
if (this.closedValue || !this.ownerReleasedValue || this.participants.size > 0) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
this.closedValue = true;
|
|
126
|
+
this.settingsCoordinator.close();
|
|
127
|
+
}
|
|
128
|
+
assertOpen() {
|
|
129
|
+
if (this.closedValue)
|
|
130
|
+
throw new Error('Workspace Runtime kernel is closed.');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.WorkspaceRuntimeKernelV1 = WorkspaceRuntimeKernelV1;
|
|
134
|
+
function cloneRuntimeConfig(config) {
|
|
135
|
+
return {
|
|
136
|
+
...config,
|
|
137
|
+
...(config.ui ? { ui: { ...config.ui } } : {}),
|
|
138
|
+
...(config.skills
|
|
139
|
+
? {
|
|
140
|
+
skills: {
|
|
141
|
+
...config.skills,
|
|
142
|
+
...(config.skills.paths ? { paths: [...config.skills.paths] } : {}),
|
|
143
|
+
},
|
|
144
|
+
}
|
|
145
|
+
: {}),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=workspace-runtime-kernel.js.map
|
|
@@ -33,7 +33,9 @@ export interface ProjectConfig {
|
|
|
33
33
|
/** How to handle tool permission checks that request interactive confirmation. */
|
|
34
34
|
export type ToolConfirmationPolicy = 'ask' | 'allow' | 'deny';
|
|
35
35
|
/** Browser appearance preferences persisted in the canonical global document. */
|
|
36
|
+
export type WebUiStylePreferenceV1 = 'classic' | 'orion-blocksmith';
|
|
36
37
|
export interface WebAppearanceConfigV1 {
|
|
38
|
+
style?: WebUiStylePreferenceV1;
|
|
37
39
|
theme?: 'system' | 'light' | 'dark';
|
|
38
40
|
motion?: 'system' | 'reduced';
|
|
39
41
|
}
|
|
@@ -165,7 +165,10 @@ function validateGlobalConfigDocumentStrict(value) {
|
|
|
165
165
|
if (value.web.appearance !== undefined) {
|
|
166
166
|
if (!isRecord(value.web.appearance))
|
|
167
167
|
invalidField('web.appearance');
|
|
168
|
-
const { theme, motion } = value.web.appearance;
|
|
168
|
+
const { style, theme, motion } = value.web.appearance;
|
|
169
|
+
if (style !== undefined && style !== 'classic' && style !== 'orion-blocksmith') {
|
|
170
|
+
invalidField('web.appearance.style');
|
|
171
|
+
}
|
|
169
172
|
if (theme !== undefined && theme !== 'system' && theme !== 'light' && theme !== 'dark') {
|
|
170
173
|
invalidField('web.appearance.theme');
|
|
171
174
|
}
|
|
@@ -442,6 +445,9 @@ function sanitizeWebConfig(value) {
|
|
|
442
445
|
const sanitized = { ...raw };
|
|
443
446
|
if (raw.appearance && typeof raw.appearance === 'object' && !Array.isArray(raw.appearance)) {
|
|
444
447
|
const appearance = { ...raw.appearance };
|
|
448
|
+
if (appearance.style !== 'classic' && appearance.style !== 'orion-blocksmith') {
|
|
449
|
+
delete appearance.style;
|
|
450
|
+
}
|
|
445
451
|
if (appearance.theme !== 'system' &&
|
|
446
452
|
appearance.theme !== 'light' &&
|
|
447
453
|
appearance.theme !== 'dark') {
|
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
* through this coordinator.
|
|
7
7
|
*/
|
|
8
8
|
import type { ProviderRequestContext, ProviderRequestDiagnosticsV2, ProviderResilienceConfig, ProviderAttemptReporter } from './types';
|
|
9
|
+
import type { ProviderRequestGate } from './request-gate';
|
|
9
10
|
export declare class ProviderResilienceCoordinator {
|
|
11
|
+
private readonly requestGate?;
|
|
10
12
|
private readonly config;
|
|
11
|
-
constructor(config?: Partial<ProviderResilienceConfig
|
|
13
|
+
constructor(config?: Partial<ProviderResilienceConfig>, requestGate?: ProviderRequestGate | undefined);
|
|
12
14
|
/** Execute a logical request with full retry/fallback/recovery logic. */
|
|
13
15
|
execute<T>(ctx: ProviderRequestContext, transport: (attempt: number, signal?: AbortSignal, model?: string, reporter?: ProviderAttemptReporter) => Promise<{
|
|
14
16
|
response: T;
|