@orion-agents/orion-code 0.3.1 → 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 +126 -0
- package/README.md +71 -32
- package/README.zh-CN.md +56 -29
- package/dist/commands/model-command-handlers.js +59 -14
- package/dist/commands/types.d.ts +6 -0
- package/dist/commands/workflow-command-handlers.d.ts +1 -1
- package/dist/commands/workflow-command-handlers.js +42 -3
- package/dist/commands/workflow-commands.js +2 -2
- package/dist/runtime/agent-runtime-controller.d.ts +17 -2
- package/dist/runtime/agent-runtime-controller.js +207 -47
- package/dist/runtime/agent-runtime-protocol.d.ts +3 -0
- package/dist/runtime/agent-runtime-runner.d.ts +8 -0
- 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 +6 -0
- package/dist/runtime/orion-session-runner.js +27 -4
- package/dist/runtime/plan-review.d.ts +38 -0
- package/dist/runtime/plan-review.js +173 -0
- package/dist/runtime/product-bootstrap.d.ts +6 -0
- package/dist/runtime/product-bootstrap.js +388 -314
- package/dist/runtime/product-orion-runtime.d.ts +5 -0
- package/dist/runtime/product-orion-runtime.js +16 -35
- package/dist/runtime/protocol/runtime-protocol-v1.d.ts +73 -0
- package/dist/runtime/protocol/runtime-protocol-v1.js +37 -0
- package/dist/runtime/release-receipts.d.ts +9 -3
- package/dist/runtime/release-receipts.js +120 -1
- package/dist/runtime/session-composer-control.d.ts +136 -0
- package/dist/runtime/session-composer-control.js +532 -0
- 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 +36 -0
- package/dist/runtime/thread-projection.js +99 -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 +9 -1
- 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/session-storage.d.ts +36 -0
- package/dist/services/session-storage.js +77 -1
- 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 +53 -6
- package/dist/web/file-read-service.d.ts +11 -0
- package/dist/web/file-read-service.js +56 -19
- package/dist/web/git-read-model-service.d.ts +8 -0
- package/dist/web/git-read-model-service.js +35 -2
- package/dist/web/protocol.d.ts +193 -3
- package/dist/web/protocol.js +245 -2
- package/dist/web/review-service.d.ts +1 -0
- package/dist/web/review-service.js +1 -0
- package/dist/web/server.js +75 -14
- package/dist/web/session-runtime-registry.d.ts +124 -0
- package/dist/web/session-runtime-registry.js +448 -0
- package/dist/web/terminal-manager.d.ts +1 -0
- package/dist/web/terminal-manager.js +60 -9
- package/dist/web/terminal-server.js +35 -6
- package/dist/web/workbench-controller.d.ts +52 -11
- package/dist/web/workbench-controller.js +1049 -110
- 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-DpKoD07C.js → DiffViewer-D6mG729y.js} +1 -1
- package/dist/web-client/assets/FilesPanel-CCDoAZ1J.js +2 -0
- package/dist/web-client/assets/{GitPanel-D20StcdG.js → GitPanel-DtNgiH7A.js} +1 -1
- package/dist/web-client/assets/ReviewPanel-CKEBSt6P.js +1 -0
- package/dist/web-client/assets/{TerminalPanel-BLQ592Fb.js → TerminalPanel-CNxMaBLp.js} +15 -13
- 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/agent-mode-permission-contract.md +87 -0
- package/docs/architecture/v0.3.1-web-api.yaml +53 -5
- package/docs/architecture/v0.3.2-web-api.yaml +3029 -0
- 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.1-to-v0.3.2.md +94 -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.1-web-workbench-professional-shell-plan.md +1 -1
- package/docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md +869 -0
- package/docs/plan/v0.3.3-plan.md +1113 -0
- package/docs/plan/v0.3.4-stabilization-plan.md +89 -0
- package/docs/readme.md +12 -2
- package/docs/test/v0.3.1-web-workbench-e2e-plan.md +1 -1
- package/docs/test/v0.3.2-web-workbench-e2e-plan.md +100 -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 +15 -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/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-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-BkoLmgjR.js +0 -2
- package/dist/web-client/assets/ReviewPanel-3MVWbMQV.js +0 -1
- package/dist/web-client/assets/index-BkIDl_xk.js +0 -16
- package/dist/web-client/assets/index-DXMpnWE8.css +0 -1
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionComposerControlServiceV1 = exports.SessionComposerControlError = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const compact_1 = require("../services/compact");
|
|
6
|
+
const model_context_1 = require("../services/model-context");
|
|
7
|
+
const model_registry_1 = require("../services/model-registry");
|
|
8
|
+
const effort_1 = require("../services/effort");
|
|
9
|
+
const global_config_1 = require("../services/global-config");
|
|
10
|
+
const session_storage_1 = require("../services/session-storage");
|
|
11
|
+
const token_estimate_1 = require("../utils/token-estimate");
|
|
12
|
+
const canonical_1 = require("./protocol/canonical");
|
|
13
|
+
class SessionComposerControlError extends Error {
|
|
14
|
+
constructor(code, message) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.code = code;
|
|
17
|
+
this.name = 'SessionComposerControlError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.SessionComposerControlError = SessionComposerControlError;
|
|
21
|
+
/** Product-owned Session control service shared by slash commands and Web. */
|
|
22
|
+
class SessionComposerControlServiceV1 {
|
|
23
|
+
constructor(options) {
|
|
24
|
+
this.options = options;
|
|
25
|
+
this.listeners = new Set();
|
|
26
|
+
}
|
|
27
|
+
subscribe(listener) {
|
|
28
|
+
this.listeners.add(listener);
|
|
29
|
+
return () => this.listeners.delete(listener);
|
|
30
|
+
}
|
|
31
|
+
describe() {
|
|
32
|
+
const session = this.options.getSession() ?? this.options.ensureSession();
|
|
33
|
+
return this.project(session, true);
|
|
34
|
+
}
|
|
35
|
+
describeSession(session) {
|
|
36
|
+
return this.project(session, this.options.getSession()?.id === session.id);
|
|
37
|
+
}
|
|
38
|
+
catalog() {
|
|
39
|
+
const registry = this.options.config.modelRegistry;
|
|
40
|
+
const profiles = registry?.enabledProfiles ?? [this.legacyProfile(this.options.config.model)];
|
|
41
|
+
const models = Object.freeze(profiles.map(profile => {
|
|
42
|
+
const provider = registry?.providers.get(profile.provider);
|
|
43
|
+
return Object.freeze({
|
|
44
|
+
id: profile.id,
|
|
45
|
+
label: profile.displayName ?? profile.id,
|
|
46
|
+
providerId: profile.provider,
|
|
47
|
+
providerLabel: provider?.displayName ?? profile.provider,
|
|
48
|
+
contextWindow: profile.resolvedContextWindow,
|
|
49
|
+
maxOutputTokens: profile.resolvedMaxOutputTokens,
|
|
50
|
+
reasoning: Boolean(profile.reasoningCapability),
|
|
51
|
+
effortLevels: Object.freeze([...(profile.reasoningCapability?.supportedLevels ?? [])]),
|
|
52
|
+
...(profile.reasoningCapability?.defaultLevel
|
|
53
|
+
? { defaultEffort: profile.reasoningCapability.defaultLevel }
|
|
54
|
+
: {}),
|
|
55
|
+
aliases: Object.freeze([...(profile.aliases ?? [])]),
|
|
56
|
+
fingerprint: profile.fingerprint,
|
|
57
|
+
});
|
|
58
|
+
}));
|
|
59
|
+
const unavailableProviders = Object.freeze(registry
|
|
60
|
+
? [...registry.providers.values()]
|
|
61
|
+
.filter(provider => !providerCredentialAvailable(provider.apiKey))
|
|
62
|
+
.map(provider => Object.freeze({
|
|
63
|
+
id: provider.id,
|
|
64
|
+
reason: 'The configured credential slot is unavailable.',
|
|
65
|
+
}))
|
|
66
|
+
: []);
|
|
67
|
+
return Object.freeze({
|
|
68
|
+
revision: (0, canonical_1.digestRuntimeValue)({ models, unavailableProviders }),
|
|
69
|
+
models,
|
|
70
|
+
unavailableProviders,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
async selectModel(input) {
|
|
74
|
+
if (input.effort !== undefined && !(0, effort_1.isEffortPreference)(input.effort)) {
|
|
75
|
+
throw new SessionComposerControlError('model_effort_unsupported', `Unsupported effort preference: ${String(input.effort)}`);
|
|
76
|
+
}
|
|
77
|
+
const session = this.options.getSession() ?? this.options.ensureSession();
|
|
78
|
+
const before = (0, session_storage_1.projectSessionComposerPreferences)(session);
|
|
79
|
+
const profile = this.resolveProfile(input.modelId);
|
|
80
|
+
const requestedEffort = input.effort ?? session.effortPreference ?? 'auto';
|
|
81
|
+
const resolvedEffort = this.resolveEffort(profile, requestedEffort);
|
|
82
|
+
if (requestedEffort !== 'auto' && !resolvedEffort.supported) {
|
|
83
|
+
throw new SessionComposerControlError('model_effort_unsupported', resolvedEffort.warning ?? `Effort ${requestedEffort} is unavailable for ${profile.id}.`);
|
|
84
|
+
}
|
|
85
|
+
if (!this.options.runtimeIdle()) {
|
|
86
|
+
this.pendingModel = Object.freeze({
|
|
87
|
+
sessionId: session.id,
|
|
88
|
+
modelId: profile.id,
|
|
89
|
+
effort: requestedEffort,
|
|
90
|
+
});
|
|
91
|
+
this.lastError = undefined;
|
|
92
|
+
this.emitChanged();
|
|
93
|
+
return Object.freeze({
|
|
94
|
+
receiptId: (0, crypto_1.randomUUID)(),
|
|
95
|
+
fromModelId: session.model,
|
|
96
|
+
toModelId: profile.id,
|
|
97
|
+
requestedEffort,
|
|
98
|
+
compacted: false,
|
|
99
|
+
compactRequired: profile.resolvedContextWindow < this.project(session, true).model.contextWindow,
|
|
100
|
+
compactPreflight: 'deferred',
|
|
101
|
+
appliesFrom: 'next-logical-request',
|
|
102
|
+
sessionPreferencesDigest: (0, canonical_1.digestRuntimeValue)({
|
|
103
|
+
current: (0, session_storage_1.projectSessionComposerPreferences)(session),
|
|
104
|
+
pending: this.pendingModel,
|
|
105
|
+
}),
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
this.pendingModel = undefined;
|
|
109
|
+
const previousCoordinatorModel = this.options.modelCoordinator?.getCurrent()?.id;
|
|
110
|
+
let persisted = null;
|
|
111
|
+
let switchResult = {
|
|
112
|
+
success: true,
|
|
113
|
+
compacted: false,
|
|
114
|
+
compactRequired: false,
|
|
115
|
+
compactPreflight: 'not_required',
|
|
116
|
+
};
|
|
117
|
+
const effortValue = requestedEffort === 'auto' ? undefined : requestedEffort;
|
|
118
|
+
try {
|
|
119
|
+
// Commit the cheap, CAS-protected Session metadata first. A semantic
|
|
120
|
+
// compact is append-only and cannot be honestly "undone" after its
|
|
121
|
+
// checkpoint is installed, so it must never run before this write can
|
|
122
|
+
// succeed. Any later preflight failure rolls this metadata write back.
|
|
123
|
+
persisted = (0, session_storage_1.updateSessionComposerPreferences)(session.id, {
|
|
124
|
+
expected: before,
|
|
125
|
+
model: profile.id,
|
|
126
|
+
effort: { value: effortValue },
|
|
127
|
+
});
|
|
128
|
+
if (!persisted) {
|
|
129
|
+
throw new SessionComposerControlError('session_unavailable', `Session ${session.id} is no longer available.`);
|
|
130
|
+
}
|
|
131
|
+
copySessionPreferences(session, persisted);
|
|
132
|
+
if (this.options.modelCoordinator) {
|
|
133
|
+
switchResult = await this.options.modelCoordinator.switchToWithCompactPreflight(profile.id, request => this.commitCompact(request));
|
|
134
|
+
if (!switchResult.success) {
|
|
135
|
+
throw new SessionComposerControlError('model_unavailable', switchResult.error ?? `Model ${profile.id} could not be selected.`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
this.options.applySessionState(session);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
let rollbackFailed = false;
|
|
142
|
+
if (persisted) {
|
|
143
|
+
try {
|
|
144
|
+
const restored = (0, session_storage_1.updateSessionComposerPreferences)(session.id, {
|
|
145
|
+
expected: (0, session_storage_1.projectSessionComposerPreferences)(persisted),
|
|
146
|
+
model: before.model,
|
|
147
|
+
effort: { value: before.effortPreference },
|
|
148
|
+
});
|
|
149
|
+
if (restored)
|
|
150
|
+
copySessionPreferences(session, restored);
|
|
151
|
+
else
|
|
152
|
+
rollbackFailed = true;
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
rollbackFailed = true;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (previousCoordinatorModel)
|
|
159
|
+
this.options.modelCoordinator?.initModel(previousCoordinatorModel);
|
|
160
|
+
if (error instanceof session_storage_1.SessionComposerPreferencesConflictError) {
|
|
161
|
+
const latest = (0, session_storage_1.loadSessionMeta)(session.id);
|
|
162
|
+
if (latest)
|
|
163
|
+
copySessionPreferences(session, latest);
|
|
164
|
+
else
|
|
165
|
+
restoreSessionObject(session, before);
|
|
166
|
+
this.options.applySessionState(session);
|
|
167
|
+
return this.failControl(session.id, new SessionComposerControlError('composer_control_conflict', error.message));
|
|
168
|
+
}
|
|
169
|
+
restoreSessionObject(session, before);
|
|
170
|
+
this.options.applySessionState(session);
|
|
171
|
+
if (rollbackFailed) {
|
|
172
|
+
return this.failControl(session.id, new SessionComposerControlError('composer_recovery_required', 'Model selection failed and its durable Session metadata could not be rolled back.'));
|
|
173
|
+
}
|
|
174
|
+
if (error instanceof SessionComposerControlError) {
|
|
175
|
+
return this.failControl(session.id, error);
|
|
176
|
+
}
|
|
177
|
+
return this.failControl(session.id, new SessionComposerControlError('model_switch_rolled_back', `Model switch was rolled back: ${error instanceof Error ? error.message : String(error)}`));
|
|
178
|
+
}
|
|
179
|
+
const current = (0, session_storage_1.projectSessionComposerPreferences)(session);
|
|
180
|
+
this.lastError = undefined;
|
|
181
|
+
this.emitChanged();
|
|
182
|
+
return Object.freeze({
|
|
183
|
+
receiptId: (0, crypto_1.randomUUID)(),
|
|
184
|
+
fromModelId: before.model,
|
|
185
|
+
toModelId: profile.id,
|
|
186
|
+
requestedEffort,
|
|
187
|
+
compacted: switchResult.compacted === true,
|
|
188
|
+
compactRequired: switchResult.compactRequired === true,
|
|
189
|
+
compactPreflight: switchResult.compactPreflight ?? 'not_required',
|
|
190
|
+
appliesFrom: 'immediate',
|
|
191
|
+
sessionPreferencesDigest: (0, canonical_1.digestRuntimeValue)(current),
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
async setEffort(effort) {
|
|
195
|
+
const session = this.options.getSession() ?? this.options.ensureSession();
|
|
196
|
+
return this.selectModel({ modelId: session.model, effort });
|
|
197
|
+
}
|
|
198
|
+
async setPermissionOverride(override) {
|
|
199
|
+
if (override !== null && !['ask', 'allow', 'deny'].includes(override)) {
|
|
200
|
+
throw new SessionComposerControlError('permission_override_rejected', `Unsupported tool confirmation policy: ${String(override)}`);
|
|
201
|
+
}
|
|
202
|
+
const session = this.options.getSession() ?? this.options.ensureSession();
|
|
203
|
+
const previousState = this.project(session, true).permission;
|
|
204
|
+
const idle = this.options.runtimeIdle();
|
|
205
|
+
const before = (0, session_storage_1.projectSessionComposerPreferences)(session);
|
|
206
|
+
let persisted = null;
|
|
207
|
+
try {
|
|
208
|
+
persisted = (0, session_storage_1.updateSessionComposerPreferences)(session.id, {
|
|
209
|
+
expected: before,
|
|
210
|
+
permission: { value: override ?? undefined },
|
|
211
|
+
});
|
|
212
|
+
if (!persisted) {
|
|
213
|
+
throw new SessionComposerControlError('session_unavailable', `Session ${session.id} is no longer available.`);
|
|
214
|
+
}
|
|
215
|
+
copySessionPreferences(session, persisted);
|
|
216
|
+
this.options.applySessionState(session);
|
|
217
|
+
if (idle)
|
|
218
|
+
await this.options.rebindSessionRuntime();
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
let rollbackFailed = false;
|
|
222
|
+
if (persisted) {
|
|
223
|
+
const applied = (0, session_storage_1.projectSessionComposerPreferences)(persisted);
|
|
224
|
+
try {
|
|
225
|
+
const restored = (0, session_storage_1.updateSessionComposerPreferences)(session.id, {
|
|
226
|
+
expected: applied,
|
|
227
|
+
permission: { value: before.toolConfirmationOverride },
|
|
228
|
+
});
|
|
229
|
+
if (restored)
|
|
230
|
+
copySessionPreferences(session, restored);
|
|
231
|
+
else
|
|
232
|
+
rollbackFailed = true;
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
rollbackFailed = true;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
if (error instanceof session_storage_1.SessionComposerPreferencesConflictError) {
|
|
239
|
+
const latest = (0, session_storage_1.loadSessionMeta)(session.id);
|
|
240
|
+
if (latest)
|
|
241
|
+
copySessionPreferences(session, latest);
|
|
242
|
+
else
|
|
243
|
+
restoreSessionObject(session, before);
|
|
244
|
+
this.options.applySessionState(session);
|
|
245
|
+
if (idle)
|
|
246
|
+
await this.options.rebindSessionRuntime().catch(() => undefined);
|
|
247
|
+
return this.failControl(session.id, new SessionComposerControlError('composer_control_conflict', error.message));
|
|
248
|
+
}
|
|
249
|
+
restoreSessionObject(session, before);
|
|
250
|
+
this.options.applySessionState(session);
|
|
251
|
+
if (idle)
|
|
252
|
+
await this.options.rebindSessionRuntime().catch(() => undefined);
|
|
253
|
+
if (rollbackFailed) {
|
|
254
|
+
return this.failControl(session.id, new SessionComposerControlError('composer_recovery_required', 'Permission selection failed and its durable Session metadata could not be rolled back.'));
|
|
255
|
+
}
|
|
256
|
+
if (error instanceof SessionComposerControlError) {
|
|
257
|
+
return this.failControl(session.id, error);
|
|
258
|
+
}
|
|
259
|
+
return this.failControl(session.id, new SessionComposerControlError('permission_override_rejected', `Permission override was rolled back: ${error instanceof Error ? error.message : String(error)}`));
|
|
260
|
+
}
|
|
261
|
+
const currentState = this.project(session, true).permission;
|
|
262
|
+
const current = (0, session_storage_1.projectSessionComposerPreferences)(session);
|
|
263
|
+
this.lastError = undefined;
|
|
264
|
+
this.emitChanged();
|
|
265
|
+
return Object.freeze({
|
|
266
|
+
receiptId: (0, crypto_1.randomUUID)(),
|
|
267
|
+
previous: previousState,
|
|
268
|
+
current: currentState,
|
|
269
|
+
appliesFrom: idle ? 'immediate' : 'next-tool-admission',
|
|
270
|
+
sessionPreferencesDigest: (0, canonical_1.digestRuntimeValue)(current),
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
/** Apply controls queued during an active turn before the next logical request starts. */
|
|
274
|
+
async applyPendingAtLogicalBoundary() {
|
|
275
|
+
if (!this.options.runtimeIdle())
|
|
276
|
+
return;
|
|
277
|
+
const session = this.options.getSession();
|
|
278
|
+
if (!session) {
|
|
279
|
+
this.pendingModel = undefined;
|
|
280
|
+
this.emitChanged();
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
const pendingModel = this.pendingModel?.sessionId === session.id ? this.pendingModel : undefined;
|
|
284
|
+
this.pendingModel = undefined;
|
|
285
|
+
this.emitChanged();
|
|
286
|
+
try {
|
|
287
|
+
if (pendingModel) {
|
|
288
|
+
await this.selectModel({ modelId: pendingModel.modelId, effort: pendingModel.effort });
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
const normalized = error instanceof SessionComposerControlError
|
|
293
|
+
? error
|
|
294
|
+
: new SessionComposerControlError('composer_recovery_required', error instanceof Error ? error.message : String(error));
|
|
295
|
+
return this.failControl(session.id, normalized);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
project(session, active) {
|
|
299
|
+
const profile = this.resolveProfile(session.model);
|
|
300
|
+
const effort = this.resolveEffort(profile, session.effortPreference ?? 'auto');
|
|
301
|
+
const provider = this.options.config.modelRegistry?.providers.get(profile.provider);
|
|
302
|
+
const projectDefault = this.options.projectToolConfirmation();
|
|
303
|
+
const observedUsage = this.options.store.getSnapshot().contextUsage;
|
|
304
|
+
const contextUsage = active &&
|
|
305
|
+
observedUsage &&
|
|
306
|
+
(observedUsage.modelId === profile.id || observedUsage.modelId === profile.model)
|
|
307
|
+
? observedUsage
|
|
308
|
+
: null;
|
|
309
|
+
return Object.freeze({
|
|
310
|
+
sessionId: session.id,
|
|
311
|
+
model: Object.freeze({
|
|
312
|
+
modelId: profile.id,
|
|
313
|
+
providerId: profile.provider || null,
|
|
314
|
+
providerLabel: provider?.displayName ?? profile.provider ?? null,
|
|
315
|
+
contextWindow: profile.resolvedContextWindow,
|
|
316
|
+
maxOutputTokens: profile.resolvedMaxOutputTokens,
|
|
317
|
+
effort: Object.freeze({
|
|
318
|
+
requested: effort.requested,
|
|
319
|
+
effective: effort.effective ?? null,
|
|
320
|
+
source: effort.source,
|
|
321
|
+
supported: effort.supported,
|
|
322
|
+
supportedLevels: Object.freeze([...effort.supportedLevels]),
|
|
323
|
+
...(effort.warning ? { warning: effort.warning } : {}),
|
|
324
|
+
}),
|
|
325
|
+
}),
|
|
326
|
+
permission: Object.freeze({
|
|
327
|
+
effective: session.toolConfirmationOverride ?? projectDefault,
|
|
328
|
+
override: session.toolConfirmationOverride ?? null,
|
|
329
|
+
projectDefault,
|
|
330
|
+
source: session.toolConfirmationOverride === undefined ? 'project' : 'session',
|
|
331
|
+
}),
|
|
332
|
+
contextUsage,
|
|
333
|
+
pending: Object.freeze({
|
|
334
|
+
model: active && this.pendingModel?.sessionId === session.id
|
|
335
|
+
? Object.freeze({
|
|
336
|
+
modelId: this.pendingModel.modelId,
|
|
337
|
+
effort: this.pendingModel.effort,
|
|
338
|
+
})
|
|
339
|
+
: null,
|
|
340
|
+
permission: null,
|
|
341
|
+
}),
|
|
342
|
+
lastError: active && this.lastError?.sessionId === session.id
|
|
343
|
+
? Object.freeze({ code: this.lastError.code, message: this.lastError.message })
|
|
344
|
+
: null,
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
resolveProfile(selector) {
|
|
348
|
+
const registry = this.options.config.modelRegistry;
|
|
349
|
+
const profile = registry
|
|
350
|
+
? (0, model_registry_1.lookupProfile)(registry, selector)
|
|
351
|
+
: selector === this.options.config.model || selector === this.options.getSession()?.model
|
|
352
|
+
? this.legacyProfile(selector)
|
|
353
|
+
: undefined;
|
|
354
|
+
if (!profile) {
|
|
355
|
+
throw new SessionComposerControlError('model_unavailable', `Model ${selector} is not enabled in the configured registry.`);
|
|
356
|
+
}
|
|
357
|
+
return profile;
|
|
358
|
+
}
|
|
359
|
+
legacyProfile(modelId) {
|
|
360
|
+
return (0, model_registry_1.resolveModelProfile)({
|
|
361
|
+
id: modelId,
|
|
362
|
+
model: modelId,
|
|
363
|
+
provider: 'legacy',
|
|
364
|
+
enabled: true,
|
|
365
|
+
}, {
|
|
366
|
+
id: 'legacy',
|
|
367
|
+
baseUrl: this.options.config.apiBaseUrl ?? 'https://legacy.invalid',
|
|
368
|
+
apiKey: '',
|
|
369
|
+
protocol: 'openai-completions',
|
|
370
|
+
displayName: 'Legacy provider',
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
resolveEffort(profile, requested) {
|
|
374
|
+
return (0, effort_1.resolveProfileEffort)(profile, {
|
|
375
|
+
session: requested,
|
|
376
|
+
project: (0, global_config_1.getProjectConfig)(this.options.cwd).defaultEffort,
|
|
377
|
+
global: (0, global_config_1.loadGlobalConfig)().defaultEffort ?? this.options.config.defaultEffort,
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
emitChanged() {
|
|
381
|
+
for (const listener of this.listeners)
|
|
382
|
+
listener();
|
|
383
|
+
}
|
|
384
|
+
failControl(sessionId, error) {
|
|
385
|
+
this.lastError = Object.freeze({
|
|
386
|
+
sessionId,
|
|
387
|
+
code: error.code,
|
|
388
|
+
message: error.message,
|
|
389
|
+
});
|
|
390
|
+
this.emitChanged();
|
|
391
|
+
throw error;
|
|
392
|
+
}
|
|
393
|
+
async commitCompact(request) {
|
|
394
|
+
const history = this.options.store.getSnapshot().conversationHistory;
|
|
395
|
+
const currentTokens = (0, token_estimate_1.estimateMessagesTokens)(history);
|
|
396
|
+
if (currentTokens <= request.safeInputBudget) {
|
|
397
|
+
return { status: 'not_needed', currentTokens };
|
|
398
|
+
}
|
|
399
|
+
const session = this.options.getSession() ?? this.options.ensureSession();
|
|
400
|
+
const prepareSource = (0, session_storage_1.prepareSessionCompactSourceReceipt)(session.id);
|
|
401
|
+
const result = await (0, compact_1.compactMessages)(history, {
|
|
402
|
+
maxMessages: 20,
|
|
403
|
+
contextCapsule: this.options.store.getSnapshot().harnessState?.capsule,
|
|
404
|
+
harnessState: this.options.store.getSnapshot().harnessState,
|
|
405
|
+
llm: this.options.llm ?? undefined,
|
|
406
|
+
compactMode: 'manual',
|
|
407
|
+
safeInputBudget: request.safeInputBudget,
|
|
408
|
+
targetRatio: 0.65,
|
|
409
|
+
});
|
|
410
|
+
if (result.afterTokens > request.targetTokens) {
|
|
411
|
+
return {
|
|
412
|
+
status: 'rejected',
|
|
413
|
+
error: `Compact candidate uses ${result.afterTokens} tokens; target is ${request.targetTokens}.`,
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
const afterUsage = {
|
|
417
|
+
...(0, model_context_1.createContextUsageSnapshot)({
|
|
418
|
+
modelId: request.to.id,
|
|
419
|
+
usedTokens: result.afterTokens,
|
|
420
|
+
source: 'estimated',
|
|
421
|
+
outputReserveTokens: request.to.resolvedMaxOutputTokens,
|
|
422
|
+
}),
|
|
423
|
+
contextWindow: request.to.resolvedContextWindow,
|
|
424
|
+
safeInputBudget: request.safeInputBudget,
|
|
425
|
+
percent: Math.min(100, Math.floor((result.afterTokens / request.safeInputBudget) * 100)),
|
|
426
|
+
rawPercent: Math.min(100, Math.floor((result.afterTokens / request.to.resolvedContextWindow) * 100)),
|
|
427
|
+
};
|
|
428
|
+
const traceTurnId = 'composer:model-switch';
|
|
429
|
+
const traceDetails = {
|
|
430
|
+
model: request.to.id,
|
|
431
|
+
compactMode: 'manual',
|
|
432
|
+
compactStrategy: 'model-switch-semantic-v2',
|
|
433
|
+
compactCandidateFingerprint: result.fingerprint,
|
|
434
|
+
compactBeforeTokens: result.beforeTokens,
|
|
435
|
+
compactAfterTokens: result.afterTokens,
|
|
436
|
+
compactTargetTokens: result.plan.targetTokens,
|
|
437
|
+
compactTargetRatio: result.plan.targetRatio,
|
|
438
|
+
compactDiagnosticsCount: result.diagnostics.length,
|
|
439
|
+
compactSourceMessageCount: prepareSource.sourceMessageCount,
|
|
440
|
+
};
|
|
441
|
+
(0, session_storage_1.appendSessionTraceEvent)(session.id, {
|
|
442
|
+
turnId: traceTurnId,
|
|
443
|
+
type: 'compact_prepare',
|
|
444
|
+
...traceDetails,
|
|
445
|
+
});
|
|
446
|
+
const checkpoint = (0, session_storage_1.commitSessionCompactCheckpoint)({
|
|
447
|
+
sessionId: session.id,
|
|
448
|
+
mode: 'manual',
|
|
449
|
+
modelId: request.to.id,
|
|
450
|
+
sourceMessageCount: prepareSource.sourceMessageCount,
|
|
451
|
+
transcriptStartMessageIndex: Math.max(0, prepareSource.sourceMessageCount - 20),
|
|
452
|
+
modelHistory: result.messages,
|
|
453
|
+
summary: {
|
|
454
|
+
text: result.summary,
|
|
455
|
+
generatedAt: result.summaryGeneratedAt,
|
|
456
|
+
source: result.summarySource,
|
|
457
|
+
},
|
|
458
|
+
beforeUsage: (0, model_context_1.createContextUsageSnapshot)({
|
|
459
|
+
modelId: request.from.id,
|
|
460
|
+
usedTokens: currentTokens,
|
|
461
|
+
source: 'estimated',
|
|
462
|
+
outputReserveTokens: request.from.resolvedMaxOutputTokens,
|
|
463
|
+
}),
|
|
464
|
+
afterUsage,
|
|
465
|
+
strategy: 'model-switch-semantic-v2',
|
|
466
|
+
harnessState: this.options.store.getSnapshot().harnessState,
|
|
467
|
+
prepareSource,
|
|
468
|
+
candidate: {
|
|
469
|
+
fingerprint: result.fingerprint,
|
|
470
|
+
beforeTokens: result.beforeTokens,
|
|
471
|
+
afterTokens: result.afterTokens,
|
|
472
|
+
plan: result.plan,
|
|
473
|
+
semanticSummary: result.semanticSummary,
|
|
474
|
+
diagnostics: result.diagnostics,
|
|
475
|
+
},
|
|
476
|
+
});
|
|
477
|
+
for (const type of [
|
|
478
|
+
'compact_validate',
|
|
479
|
+
'compact_commit',
|
|
480
|
+
'compact_boundary',
|
|
481
|
+
'compact_completed',
|
|
482
|
+
]) {
|
|
483
|
+
(0, session_storage_1.appendSessionTraceEvent)(session.id, {
|
|
484
|
+
turnId: traceTurnId,
|
|
485
|
+
type,
|
|
486
|
+
checkpointId: checkpoint.checkpointId,
|
|
487
|
+
success: true,
|
|
488
|
+
...traceDetails,
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
this.options.store.setState({ conversationHistory: checkpoint.modelHistory });
|
|
492
|
+
this.options.store.setContextUsage(afterUsage);
|
|
493
|
+
return {
|
|
494
|
+
status: 'committed',
|
|
495
|
+
afterTokens: checkpoint.candidateReceipt.afterTokens,
|
|
496
|
+
candidateFingerprint: checkpoint.candidateReceipt.candidateFingerprint,
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
exports.SessionComposerControlServiceV1 = SessionComposerControlServiceV1;
|
|
501
|
+
function copySessionPreferences(target, source) {
|
|
502
|
+
target.model = source.model;
|
|
503
|
+
target.updatedAt = source.updatedAt;
|
|
504
|
+
target.updatedAtIso = source.updatedAtIso;
|
|
505
|
+
if (source.effortPreference === undefined)
|
|
506
|
+
delete target.effortPreference;
|
|
507
|
+
else
|
|
508
|
+
target.effortPreference = source.effortPreference;
|
|
509
|
+
if (source.toolConfirmationOverride === undefined)
|
|
510
|
+
delete target.toolConfirmationOverride;
|
|
511
|
+
else
|
|
512
|
+
target.toolConfirmationOverride = source.toolConfirmationOverride;
|
|
513
|
+
}
|
|
514
|
+
function restoreSessionObject(target, source) {
|
|
515
|
+
target.model = source.model;
|
|
516
|
+
if (source.effortPreference === undefined)
|
|
517
|
+
delete target.effortPreference;
|
|
518
|
+
else
|
|
519
|
+
target.effortPreference = source.effortPreference;
|
|
520
|
+
if (source.toolConfirmationOverride === undefined)
|
|
521
|
+
delete target.toolConfirmationOverride;
|
|
522
|
+
else
|
|
523
|
+
target.toolConfirmationOverride = source.toolConfirmationOverride;
|
|
524
|
+
}
|
|
525
|
+
function providerCredentialAvailable(apiKey) {
|
|
526
|
+
if (!apiKey.trim())
|
|
527
|
+
return false;
|
|
528
|
+
if (!apiKey.startsWith('$'))
|
|
529
|
+
return true;
|
|
530
|
+
return Boolean(process.env[apiKey.slice(1)]?.trim());
|
|
531
|
+
}
|
|
532
|
+
//# sourceMappingURL=session-composer-control.js.map
|
|
@@ -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
|