@orion-agents/orion-code 0.3.2 → 0.3.7
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 +207 -0
- package/README.md +102 -18
- package/README.zh-CN.md +40 -16
- package/dist/commands/context-tool-command-handlers.js +1 -5
- package/dist/commands/registry.js +1 -4
- package/dist/harness/intent.js +69 -16
- package/dist/harness/turn-summary.js +3 -1
- package/dist/memory/embeddings.js +2 -3
- package/dist/memory/prompts.js +1 -1
- package/dist/memory/relevant-finder.js +125 -15
- package/dist/memory/vector-store.js +13 -8
- package/dist/migration/migrate.js +8 -12
- 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/composer/history.js +1 -3
- package/dist/runtime/composer/layout.js +7 -4
- package/dist/runtime/durable-tool-receipt-reader.js +1 -1
- package/dist/runtime/legacy-thread-materializer.d.ts +3 -1
- package/dist/runtime/legacy-thread-materializer.js +17 -5
- 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 +18 -0
- package/dist/runtime/product-bootstrap.js +402 -335
- 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/rich-text/ansi-parser.js +12 -2
- package/dist/runtime/rich-text/layout.js +15 -19
- 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/subagents/budget.js +4 -1
- package/dist/runtime/subagents/policy.js +11 -4
- package/dist/runtime/subagents/provider-gate.js +6 -4
- package/dist/runtime/subagents/research-quality.js +3 -1
- package/dist/runtime/subagents/research-renderer.js +9 -2
- package/dist/runtime/subagents/result-parser.js +18 -7
- package/dist/runtime/thread-event-store.d.ts +14 -3
- package/dist/runtime/thread-event-store.js +77 -20
- package/dist/runtime/thread-projection.d.ts +36 -0
- package/dist/runtime/thread-projection.js +54 -1
- 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/tool-output-presentation.js +7 -7
- package/dist/runtime/turn-commit.js +1 -1
- package/dist/runtime/turn-controller.js +1 -2
- 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/auth/auth.js +1 -4
- package/dist/services/auth/aws.js +24 -14
- package/dist/services/auto-fix/autoFixRunner.js +1 -1
- package/dist/services/auto-fix/index.d.ts +1 -1
- package/dist/services/diagnostic-tracking/diagnosticTracking.js +4 -2
- package/dist/services/diagnostic-tracking/index.d.ts +1 -1
- package/dist/services/effort.js +1 -9
- package/dist/services/file-glob.js +3 -4
- package/dist/services/global-config.d.ts +2 -0
- package/dist/services/global-config.js +7 -1
- package/dist/services/mcp/transports.js +4 -4
- package/dist/services/model-catalog.js +179 -30
- package/dist/services/model-context.js +1 -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/provider-resilience/stream-recovery.js +1 -3
- package/dist/services/redaction.js +19 -2
- package/dist/services/session-storage.d.ts +28 -3
- package/dist/services/session-storage.js +70 -6
- 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/services/smart-routing.js +19 -11
- package/dist/services/verification-profile.js +17 -22
- package/dist/services/web-search-provider.js +21 -9
- package/dist/services/workspace-diff.js +10 -4
- package/dist/skills/builtin/code-review/SKILL.md +1 -1
- package/dist/skills/builtin/security-check/SKILL.md +1 -1
- package/dist/skills/builtin/test-gen/SKILL.md +1 -1
- package/dist/terminal-ui/editor.js +6 -2
- package/dist/terminal-ui/output-queue.js +9 -3
- package/dist/tools/lsp.js +12 -6
- package/dist/tui-core/frame.js +9 -7
- package/dist/tui-ui/transcript-cache.js +6 -6
- package/dist/tui-ui/transcript-inspector-layout.js +13 -6
- package/dist/tui-ui/transcript-inspector-surface.js +4 -1
- package/dist/tui-ui/transcript-inspector.js +3 -8
- package/dist/ui/box.js +14 -7
- package/dist/ui/markdown.js +4 -2
- package/dist/ui/shared/input-frame.js +12 -8
- package/dist/ui/stream-markdown.js +1 -1
- package/dist/ui/tool-preview.js +11 -3
- package/dist/ui/user-input.js +16 -10
- 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 +53 -3
- package/dist/web/protocol.js +39 -2
- package/dist/web/review-service.d.ts +1 -0
- package/dist/web/review-service.js +1 -0
- package/dist/web/server.js +99 -6
- package/dist/web/session-runtime-registry.d.ts +138 -0
- package/dist/web/session-runtime-registry.js +471 -0
- package/dist/web/terminal-manager.js +23 -4
- package/dist/web/terminal-server.js +35 -6
- package/dist/web/workbench-controller.d.ts +82 -3
- package/dist/web/workbench-controller.js +771 -138
- 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-DqbZ02RN.js} +1 -1
- package/dist/web-client/assets/FilesPanel-Bu1Ab2kJ.js +2 -0
- package/dist/web-client/assets/{GitPanel-CnU4XVr7.js → GitPanel-BixIWb4k.js} +1 -1
- package/dist/web-client/assets/ReviewPanel-DsqJpku_.js +1 -0
- package/dist/web-client/assets/{TerminalPanel-Q5mSSsoK.js → TerminalPanel-DdjQP2mp.js} +14 -14
- package/dist/web-client/assets/index-30GT9Vnx.js +17 -0
- package/dist/web-client/assets/index-DQfpqPTD.css +1 -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 +379 -143
- package/package.json +12 -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
|
@@ -86,13 +86,17 @@ class TerminalOutputQueue {
|
|
|
86
86
|
try {
|
|
87
87
|
this.writer.off('drain', drainListener);
|
|
88
88
|
}
|
|
89
|
-
catch {
|
|
89
|
+
catch {
|
|
90
|
+
/* ok */
|
|
91
|
+
}
|
|
90
92
|
drainListener = null;
|
|
91
93
|
}
|
|
92
94
|
try {
|
|
93
95
|
this.writer.off('error', onError);
|
|
94
96
|
}
|
|
95
|
-
catch {
|
|
97
|
+
catch {
|
|
98
|
+
/* ok */
|
|
99
|
+
}
|
|
96
100
|
};
|
|
97
101
|
const onError = (error) => {
|
|
98
102
|
cleanup();
|
|
@@ -114,7 +118,9 @@ class TerminalOutputQueue {
|
|
|
114
118
|
try {
|
|
115
119
|
this.writer.off('drain', listener);
|
|
116
120
|
}
|
|
117
|
-
catch {
|
|
121
|
+
catch {
|
|
122
|
+
/* ok */
|
|
123
|
+
}
|
|
118
124
|
writeNext();
|
|
119
125
|
};
|
|
120
126
|
this.writer.on('drain', drainListener);
|
package/dist/tools/lsp.js
CHANGED
|
@@ -32,7 +32,9 @@ class LspClient extends events_1.EventEmitter {
|
|
|
32
32
|
* Uses spawnSync with `which`/`where` to avoid async ENOENT race.
|
|
33
33
|
*/
|
|
34
34
|
static probeBinary(cmd) {
|
|
35
|
-
const res = (0, child_process_1.spawnSync)(process.platform === 'win32' ? 'where' : 'which', [cmd], {
|
|
35
|
+
const res = (0, child_process_1.spawnSync)(process.platform === 'win32' ? 'where' : 'which', [cmd], {
|
|
36
|
+
stdio: 'ignore',
|
|
37
|
+
});
|
|
36
38
|
return res.status === 0;
|
|
37
39
|
}
|
|
38
40
|
async start() {
|
|
@@ -267,7 +269,7 @@ class LspManager {
|
|
|
267
269
|
const client = new LspClient(language, projectRoot);
|
|
268
270
|
// Fallback error listener — ensures the client NEVER crashes the process
|
|
269
271
|
// due to an unhandled 'error' event emission.
|
|
270
|
-
client.on('error',
|
|
272
|
+
client.on('error', msg => {
|
|
271
273
|
console.warn(`[LSP:${language}] ${msg}`);
|
|
272
274
|
});
|
|
273
275
|
try {
|
|
@@ -326,12 +328,14 @@ function formatLocationResult(location) {
|
|
|
326
328
|
const locations = Array.isArray(location) ? location : [location];
|
|
327
329
|
if (locations.length === 0)
|
|
328
330
|
return 'No definition found';
|
|
329
|
-
return locations
|
|
331
|
+
return locations
|
|
332
|
+
.map(loc => {
|
|
330
333
|
const path = loc.uri.replace('file://', '');
|
|
331
334
|
const line = loc.range.start.line + 1;
|
|
332
335
|
const char = loc.range.start.character + 1;
|
|
333
336
|
return `${path}:${line}:${char}`;
|
|
334
|
-
})
|
|
337
|
+
})
|
|
338
|
+
.join('\n');
|
|
335
339
|
}
|
|
336
340
|
/**
|
|
337
341
|
* 解析 Hover 结果
|
|
@@ -543,12 +547,14 @@ exports.lspGetDiagnosticsTool = (0, tool_1.buildTool)({
|
|
|
543
547
|
3: 'Information',
|
|
544
548
|
4: 'Hint',
|
|
545
549
|
};
|
|
546
|
-
const output = diagnostics
|
|
550
|
+
const output = diagnostics
|
|
551
|
+
.map(d => {
|
|
547
552
|
const sev = severityMap[d.severity] || 'Unknown';
|
|
548
553
|
const line = d.range.start.line + 1;
|
|
549
554
|
const char = d.range.start.character + 1;
|
|
550
555
|
return `[${sev}] ${file_path}:${line}:${char}: ${d.message}`;
|
|
551
|
-
})
|
|
556
|
+
})
|
|
557
|
+
.join('\n');
|
|
552
558
|
return { success: true, output };
|
|
553
559
|
}
|
|
554
560
|
catch (err) {
|
package/dist/tui-core/frame.js
CHANGED
|
@@ -58,9 +58,7 @@ function setFrameCursor(frame, row, column, visible = true) {
|
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
60
|
function renderFrameRows(frame) {
|
|
61
|
-
return frame.rows.map(row => row
|
|
62
|
-
.map(cell => cell.width === 0 ? '' : cell.char)
|
|
63
|
-
.join(''));
|
|
61
|
+
return frame.rows.map(row => row.map(cell => (cell.width === 0 ? '' : cell.char)).join(''));
|
|
64
62
|
}
|
|
65
63
|
function diffTuiFrames(previous, next) {
|
|
66
64
|
if (!previous || previous.width !== next.width || previous.height !== next.height) {
|
|
@@ -78,9 +76,9 @@ function diffTuiFrames(previous, next) {
|
|
|
78
76
|
}
|
|
79
77
|
return {
|
|
80
78
|
changedRows,
|
|
81
|
-
cursorChanged: previous.cursor.row !== next.cursor.row
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
cursorChanged: previous.cursor.row !== next.cursor.row ||
|
|
80
|
+
previous.cursor.column !== next.cursor.column ||
|
|
81
|
+
previous.cursor.visible !== next.cursor.visible,
|
|
84
82
|
};
|
|
85
83
|
}
|
|
86
84
|
function rowsDifferent(prev, next) {
|
|
@@ -97,7 +95,11 @@ function rowsDifferent(prev, next) {
|
|
|
97
95
|
return false;
|
|
98
96
|
}
|
|
99
97
|
function createEmptyRow(width) {
|
|
100
|
-
return Array.from({ length: width }, () => ({
|
|
98
|
+
return Array.from({ length: width }, () => ({
|
|
99
|
+
char: ' ',
|
|
100
|
+
width: 1,
|
|
101
|
+
style: style_1.DEFAULT_STYLE,
|
|
102
|
+
}));
|
|
101
103
|
}
|
|
102
104
|
function charWidth(char) {
|
|
103
105
|
const width = (0, string_width_1.default)(char);
|
|
@@ -22,9 +22,9 @@ class TranscriptLayoutCache {
|
|
|
22
22
|
}
|
|
23
23
|
/** Get cached rows for an entry, or null if not cached / stale. */
|
|
24
24
|
get(id, revision, generation, width, themeId = 'default') {
|
|
25
|
-
if (generation !== this.lastGeneration
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
if (generation !== this.lastGeneration ||
|
|
26
|
+
width !== this.lastWidth ||
|
|
27
|
+
themeId !== this.lastThemeId) {
|
|
28
28
|
this.invalidate(generation, width, themeId);
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
@@ -38,9 +38,9 @@ class TranscriptLayoutCache {
|
|
|
38
38
|
}
|
|
39
39
|
/** Store layout result for an entry. */
|
|
40
40
|
set(id, revision, rows, generation, width, themeId = 'default') {
|
|
41
|
-
if (generation !== this.lastGeneration
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
if (generation !== this.lastGeneration ||
|
|
42
|
+
width !== this.lastWidth ||
|
|
43
|
+
themeId !== this.lastThemeId) {
|
|
44
44
|
this.invalidate(generation, width, themeId);
|
|
45
45
|
}
|
|
46
46
|
// Evict oldest if at capacity.
|
|
@@ -15,7 +15,9 @@ function renderTranscriptInspectorFrame(view, options) {
|
|
|
15
15
|
const width = frame.width;
|
|
16
16
|
const height = frame.height;
|
|
17
17
|
(0, frame_1.writeFrameText)(frame, 0, 0, ' Orion Code Tool Inspector', theme.heading);
|
|
18
|
-
const search = view.searchQuery
|
|
18
|
+
const search = view.searchQuery
|
|
19
|
+
? `search: ${sanitizeInlineIdentifier(view.searchQuery)}`
|
|
20
|
+
: `${view.entries.length} tools`;
|
|
19
21
|
(0, frame_1.writeFrameText)(frame, 1, 1, search, theme.toolMeta);
|
|
20
22
|
if (width < 60) {
|
|
21
23
|
const listRows = Math.max(2, Math.min(6, Math.floor((height - 4) / 3)));
|
|
@@ -43,10 +45,12 @@ function renderList(frame, view, top, maxRows, width, theme) {
|
|
|
43
45
|
const entry = view.entries[index];
|
|
44
46
|
const selected = index === view.selectedIndex;
|
|
45
47
|
const marker = entry.state === 'success' ? '✓' : entry.state === 'error' ? '✗' : '-';
|
|
46
|
-
const text = `${selected ? '›' : ' '} ${marker} #${entry.sequence} ${entry.toolName}`;
|
|
48
|
+
const text = `${selected ? '›' : ' '} ${marker} #${entry.sequence} ${sanitizeInlineIdentifier(entry.toolName)}`;
|
|
47
49
|
(0, frame_1.writeFrameText)(frame, top + row, 0, truncateWidth(text, Math.max(1, width - 1)), selected
|
|
48
50
|
? { ...theme.toolName, inverse: true }
|
|
49
|
-
: entry.state === 'error'
|
|
51
|
+
: entry.state === 'error'
|
|
52
|
+
? theme.toolError
|
|
53
|
+
: theme.toolMeta);
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
function renderDetail(frame, view, top, maxRows, left, width, theme) {
|
|
@@ -55,17 +59,17 @@ function renderDetail(frame, view, top, maxRows, left, width, theme) {
|
|
|
55
59
|
const entry = view.selected;
|
|
56
60
|
if (!entry)
|
|
57
61
|
return;
|
|
58
|
-
const heading = ` ${entry.toolName} · ${formatBytes(entry.outputBytes)}${entry.artifactId ? '' : ' · legacy'}`;
|
|
62
|
+
const heading = ` ${sanitizeInlineIdentifier(entry.toolName)} · ${formatBytes(entry.outputBytes)}${entry.artifactId ? '' : ' · legacy'}`;
|
|
59
63
|
(0, frame_1.writeFrameText)(frame, top, left, heading, theme.toolName);
|
|
60
64
|
const expanded = view.expandedCallIds.includes(entry.callId);
|
|
61
65
|
const detail = view.detail;
|
|
62
66
|
const body = !expanded
|
|
63
|
-
? entry.summary ?? 'Press Enter to expand detail.'
|
|
67
|
+
? (entry.summary ?? 'Press Enter to expand detail.')
|
|
64
68
|
: detail?.loading
|
|
65
69
|
? 'Loading detail...'
|
|
66
70
|
: detail?.error
|
|
67
71
|
? `Detail error: ${detail.error}`
|
|
68
|
-
: detail?.content ?? entry.summary ?? 'Press Enter to load detail.';
|
|
72
|
+
: (detail?.content ?? entry.summary ?? 'Press Enter to load detail.');
|
|
69
73
|
const lines = (0, style_1.sanitizeTerminalText)(body).split('\n');
|
|
70
74
|
const detailOffset = expanded ? Math.max(0, view.detailOffset) : 0;
|
|
71
75
|
for (let index = 0; index < maxRows - 1 && detailOffset + index < lines.length; index += 1) {
|
|
@@ -82,6 +86,9 @@ function formatBytes(bytes) {
|
|
|
82
86
|
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
83
87
|
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
84
88
|
}
|
|
89
|
+
function sanitizeInlineIdentifier(value) {
|
|
90
|
+
return (0, style_1.sanitizeTerminalText)(value, 2).replace(/\s+/gu, ' ').trim();
|
|
91
|
+
}
|
|
85
92
|
function truncateWidth(value, maxWidth) {
|
|
86
93
|
let output = '';
|
|
87
94
|
let width = 0;
|
|
@@ -72,7 +72,10 @@ class TranscriptInspectorSurface {
|
|
|
72
72
|
this.output.off('error', onError);
|
|
73
73
|
this.output.off('close', onClose);
|
|
74
74
|
};
|
|
75
|
-
const onDrain = () => {
|
|
75
|
+
const onDrain = () => {
|
|
76
|
+
cleanup();
|
|
77
|
+
resolve();
|
|
78
|
+
};
|
|
76
79
|
const onError = (error) => {
|
|
77
80
|
cleanup();
|
|
78
81
|
reject(error instanceof Error ? error : new Error(String(error ?? 'terminal output error')));
|
|
@@ -14,12 +14,7 @@ class TranscriptInspectorController {
|
|
|
14
14
|
view(entries, inspector) {
|
|
15
15
|
const query = inspector.searchQuery.trim().toLowerCase();
|
|
16
16
|
const filtered = query
|
|
17
|
-
? entries.filter(entry => [
|
|
18
|
-
entry.toolName,
|
|
19
|
-
entry.callId,
|
|
20
|
-
entry.summary,
|
|
21
|
-
this.details.get(entry.callId)?.content,
|
|
22
|
-
]
|
|
17
|
+
? entries.filter(entry => [entry.toolName, entry.callId, entry.summary, this.details.get(entry.callId)?.content]
|
|
23
18
|
.filter(Boolean)
|
|
24
19
|
.some(value => String(value).toLowerCase().includes(query)))
|
|
25
20
|
: entries;
|
|
@@ -43,7 +38,7 @@ class TranscriptInspectorController {
|
|
|
43
38
|
return;
|
|
44
39
|
const generation = ++this.requestGeneration;
|
|
45
40
|
this.details.set(entry.callId, {
|
|
46
|
-
content: append ? current?.content ?? '' : '',
|
|
41
|
+
content: append ? (current?.content ?? '') : '',
|
|
47
42
|
totalBytes: current?.totalBytes ?? entry.outputBytes,
|
|
48
43
|
nextOffsetBytes: current?.nextOffsetBytes,
|
|
49
44
|
redacted: current?.redacted ?? false,
|
|
@@ -72,7 +67,7 @@ class TranscriptInspectorController {
|
|
|
72
67
|
if (generation !== this.requestGeneration)
|
|
73
68
|
return;
|
|
74
69
|
this.details.set(entry.callId, {
|
|
75
|
-
content: append ? current?.content ?? '' : '',
|
|
70
|
+
content: append ? (current?.content ?? '') : '',
|
|
76
71
|
totalBytes: current?.totalBytes ?? entry.outputBytes,
|
|
77
72
|
redacted: current?.redacted ?? false,
|
|
78
73
|
loading: false,
|
package/dist/ui/box.js
CHANGED
|
@@ -40,18 +40,25 @@ function renderHeaderBox(config) {
|
|
|
40
40
|
// Model name
|
|
41
41
|
parts.push(ACCENT(config.model));
|
|
42
42
|
// Provider (shortened)
|
|
43
|
-
const providerShort = config.provider === 'Alibaba Cloud'
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
const providerShort = config.provider === 'Alibaba Cloud'
|
|
44
|
+
? 'Qwen'
|
|
45
|
+
: config.provider === 'Anthropic'
|
|
46
|
+
? 'Anthropic'
|
|
47
|
+
: config.provider === 'OpenAI'
|
|
48
|
+
? 'OpenAI'
|
|
46
49
|
: config.provider;
|
|
47
50
|
if (providerShort) {
|
|
48
51
|
parts.push(DIM(providerShort));
|
|
49
52
|
}
|
|
50
53
|
// Status
|
|
51
|
-
const statusIcon = config.status === 'ready'
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
const statusIcon = config.status === 'ready'
|
|
55
|
+
? GREEN('●')
|
|
56
|
+
: config.status === 'loading'
|
|
57
|
+
? YELLOW('○')
|
|
58
|
+
: config.status === 'error'
|
|
59
|
+
? RED('●')
|
|
60
|
+
: config.status === 'processing'
|
|
61
|
+
? ACCENT('◌')
|
|
55
62
|
: DIM('○');
|
|
56
63
|
parts.push(statusIcon);
|
|
57
64
|
return ` ${BRAND('orion')} ${DIM('v' + config.version)} ${DIM('│')} ${parts.join(` ${DIM('│')} `)}`;
|
package/dist/ui/markdown.js
CHANGED
|
@@ -149,8 +149,10 @@ function renderMarkdownFallback(text, maxWidth = DEFAULT_MAX_WIDTH) {
|
|
|
149
149
|
const level = headingMatch[1].length;
|
|
150
150
|
const headingText = headingMatch[2].trim();
|
|
151
151
|
const prefix = ' '.repeat(level - 1);
|
|
152
|
-
const styled = level <= 2
|
|
153
|
-
|
|
152
|
+
const styled = level <= 2
|
|
153
|
+
? BOLD(CYAN(prefix + ' ' + headingText))
|
|
154
|
+
: level <= 4
|
|
155
|
+
? BOLD(CYAN(prefix + headingText))
|
|
154
156
|
: BOLD(DIM(headingText));
|
|
155
157
|
result.push(styled);
|
|
156
158
|
result.push(DIM('─'.repeat(Math.min(headingText.length + prefix.length + 2, maxWidth - 2))));
|
|
@@ -9,13 +9,15 @@ exports.renderFramedInputFrame = renderFramedInputFrame;
|
|
|
9
9
|
const chalk_1 = __importDefault(require("chalk"));
|
|
10
10
|
const text_1 = require("./text");
|
|
11
11
|
const NO_COLOR = process.env.NO_COLOR !== undefined || process.env.TERM === 'dumb';
|
|
12
|
-
const colorize = NO_COLOR
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
const colorize = NO_COLOR
|
|
13
|
+
? {
|
|
14
|
+
accent: (s) => s,
|
|
15
|
+
dim: (s) => s,
|
|
16
|
+
}
|
|
17
|
+
: {
|
|
18
|
+
accent: chalk_1.default.hex('#00D4AA'),
|
|
19
|
+
dim: chalk_1.default.dim,
|
|
20
|
+
};
|
|
19
21
|
const INPUT_BG = '\x1b[48;2;56;56;56m';
|
|
20
22
|
const INPUT_FG = '\x1b[38;2;226;232;240m';
|
|
21
23
|
const RESET_COLORS = '\x1b[39;49m';
|
|
@@ -34,7 +36,9 @@ function renderFramedInputFrame(options) {
|
|
|
34
36
|
const prefix = index === 0 ? firstPrompt : continuationPrompt;
|
|
35
37
|
return renderInputLine((0, text_1.truncateVisible)(prefix + line, inputWidth));
|
|
36
38
|
});
|
|
37
|
-
const statusLine = options.statusText
|
|
39
|
+
const statusLine = options.statusText
|
|
40
|
+
? renderInputStatusLine(inputWidth, options.statusText)
|
|
41
|
+
: undefined;
|
|
38
42
|
const rowSpans = logicalLines.map((line, index) => {
|
|
39
43
|
const prefix = index === 0 ? firstPrompt : continuationPrompt;
|
|
40
44
|
return terminalRowsFor((0, text_1.visualWidth)(prefix) + (0, text_1.visualWidth)(line), width);
|
|
@@ -157,7 +157,7 @@ class StreamMarkdownRenderer {
|
|
|
157
157
|
// Ordered list
|
|
158
158
|
const orderedMatch = line.match(/^(\s*)(\d+)\.\s+(.*)$/);
|
|
159
159
|
if (orderedMatch) {
|
|
160
|
-
return orderedMatch[1] + CYAN(orderedMatch[2] + '.') + ' ' + this.renderInline(orderedMatch[3]);
|
|
160
|
+
return (orderedMatch[1] + CYAN(orderedMatch[2] + '.') + ' ' + this.renderInline(orderedMatch[3]));
|
|
161
161
|
}
|
|
162
162
|
return this.renderInline(line);
|
|
163
163
|
}
|
package/dist/ui/tool-preview.js
CHANGED
|
@@ -46,7 +46,9 @@ function renderToolCard(tool) {
|
|
|
46
46
|
lines.push(DIM('│ ') + truncated.padEnd(maxWidth - 4) + DIM(' │'));
|
|
47
47
|
}
|
|
48
48
|
if (tool.result.split('\n').length > 6) {
|
|
49
|
-
lines.push(DIM('│ ') +
|
|
49
|
+
lines.push(DIM('│ ') +
|
|
50
|
+
DIM(`... ${tool.result.split('\n').length - 6} more lines`).padEnd(maxWidth - 4) +
|
|
51
|
+
DIM(' │'));
|
|
50
52
|
}
|
|
51
53
|
// 底部
|
|
52
54
|
lines.push(DIM('└') + '─'.repeat(maxWidth - 2) + DIM('┘'));
|
|
@@ -92,7 +94,11 @@ function renderReadPreview(path, content, success) {
|
|
|
92
94
|
const maxWidth = 60;
|
|
93
95
|
const icon = success ? SUCCESS('📖') : ERROR('📖');
|
|
94
96
|
const title = `${icon} Read: ${path}`;
|
|
95
|
-
lines.push(DIM('┌─ ') +
|
|
97
|
+
lines.push(DIM('┌─ ') +
|
|
98
|
+
title.slice(0, maxWidth - 5) +
|
|
99
|
+
DIM(' ') +
|
|
100
|
+
'─'.repeat(Math.max(0, maxWidth - title.length - 5)) +
|
|
101
|
+
DIM('┐'));
|
|
96
102
|
if (success && content) {
|
|
97
103
|
const contentLines = content.split('\n').slice(0, 8);
|
|
98
104
|
for (const line of contentLines) {
|
|
@@ -100,7 +106,9 @@ function renderReadPreview(path, content, success) {
|
|
|
100
106
|
lines.push(DIM('│ ') + truncated.padEnd(maxWidth - 4) + DIM(' │'));
|
|
101
107
|
}
|
|
102
108
|
if (content.split('\n').length > 8) {
|
|
103
|
-
lines.push(DIM('│ ') +
|
|
109
|
+
lines.push(DIM('│ ') +
|
|
110
|
+
DIM(`... ${content.split('\n').length - 8} more lines`).padEnd(maxWidth - 4) +
|
|
111
|
+
DIM(' │'));
|
|
104
112
|
}
|
|
105
113
|
}
|
|
106
114
|
lines.push(DIM('└') + '─'.repeat(maxWidth - 2) + DIM('┘'));
|
package/dist/ui/user-input.js
CHANGED
|
@@ -33,16 +33,22 @@ function visualWidth(text) {
|
|
|
33
33
|
let width = 0;
|
|
34
34
|
for (const ch of text) {
|
|
35
35
|
const cp = ch.codePointAt(0) || 0;
|
|
36
|
-
width +=
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
width +=
|
|
37
|
+
cp >= 0x1100 &&
|
|
38
|
+
(cp <= 0x115f ||
|
|
39
|
+
cp === 0x2329 ||
|
|
40
|
+
cp === 0x232a ||
|
|
41
|
+
(cp >= 0x2e80 && cp <= 0xa4cf && cp !== 0x303f) ||
|
|
42
|
+
(cp >= 0xac00 && cp <= 0xd7a3) ||
|
|
43
|
+
(cp >= 0xf900 && cp <= 0xfaff) ||
|
|
44
|
+
(cp >= 0xfe10 && cp <= 0xfe19) ||
|
|
45
|
+
(cp >= 0xfe30 && cp <= 0xfe6f) ||
|
|
46
|
+
(cp >= 0xff01 && cp <= 0xff60) ||
|
|
47
|
+
(cp >= 0xffe0 && cp <= 0xffe6) ||
|
|
48
|
+
(cp >= 0x20000 && cp <= 0x2fffd) ||
|
|
49
|
+
(cp >= 0x30000 && cp <= 0x3fffd))
|
|
50
|
+
? 2
|
|
51
|
+
: 1;
|
|
46
52
|
}
|
|
47
53
|
return width;
|
|
48
54
|
}
|
package/dist/web/event-hub.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export declare class WebEventHub {
|
|
|
18
18
|
private nextCursor;
|
|
19
19
|
private retainedBytes;
|
|
20
20
|
private discardedDurableThrough;
|
|
21
|
+
private replayResetCount;
|
|
21
22
|
constructor(options?: WebEventHubOptions);
|
|
22
23
|
emitRuntime(event: AgentRuntimeEvent, context?: {
|
|
23
24
|
readonly sessionId?: string;
|
|
@@ -35,6 +36,7 @@ export declare class WebEventHub {
|
|
|
35
36
|
readonly earliest: number;
|
|
36
37
|
readonly latest: number;
|
|
37
38
|
readonly retained: number;
|
|
39
|
+
readonly replayResets: number;
|
|
38
40
|
};
|
|
39
41
|
private trim;
|
|
40
42
|
private compactRuntimeEvent;
|
package/dist/web/event-hub.js
CHANGED
|
@@ -31,12 +31,16 @@ class WebEventHub {
|
|
|
31
31
|
this.nextCursor = 1;
|
|
32
32
|
this.retainedBytes = 0;
|
|
33
33
|
this.discardedDurableThrough = 0;
|
|
34
|
+
this.replayResetCount = 0;
|
|
34
35
|
this.maxEvents = positiveInteger(options.maxEvents ?? DEFAULT_MAX_EVENTS, 'maxEvents');
|
|
35
36
|
this.maxBytes = positiveInteger(options.maxBytes ?? DEFAULT_MAX_BYTES, 'maxBytes');
|
|
36
37
|
this.now = options.now ?? Date.now;
|
|
37
38
|
}
|
|
38
39
|
emitRuntime(event, context = {}) {
|
|
39
|
-
return this.emit({
|
|
40
|
+
return this.emit({
|
|
41
|
+
type: 'runtime_event',
|
|
42
|
+
value: this.compactRuntimeEvent(sanitizeRuntimeEvent(event), context.sessionId),
|
|
43
|
+
}, isDurableRuntimeEvent(event), context);
|
|
40
44
|
}
|
|
41
45
|
emitThread(event, sessionId) {
|
|
42
46
|
return this.emit({ type: 'thread_event', value: sanitizeThreadEvent(event) }, true, {
|
|
@@ -73,6 +77,7 @@ class WebEventHub {
|
|
|
73
77
|
attach(response, cursor) {
|
|
74
78
|
const latest = this.nextCursor - 1;
|
|
75
79
|
if (cursor > latest || cursor < this.discardedDurableThrough) {
|
|
80
|
+
this.replayResetCount += 1;
|
|
76
81
|
const reset = {
|
|
77
82
|
apiVersion: protocol_1.WEB_API_VERSION,
|
|
78
83
|
eventId: (0, crypto_1.randomUUID)(),
|
|
@@ -117,6 +122,7 @@ class WebEventHub {
|
|
|
117
122
|
earliest: this.retained[0]?.envelope.cursor ?? this.nextCursor,
|
|
118
123
|
latest: this.nextCursor - 1,
|
|
119
124
|
retained: this.retained.length,
|
|
125
|
+
replayResets: this.replayResetCount,
|
|
120
126
|
});
|
|
121
127
|
}
|
|
122
128
|
trim() {
|
|
@@ -128,11 +134,12 @@ class WebEventHub {
|
|
|
128
134
|
this.discardedDurableThrough = Math.max(this.discardedDurableThrough, removed.envelope.cursor);
|
|
129
135
|
}
|
|
130
136
|
}
|
|
131
|
-
compactRuntimeEvent(event) {
|
|
137
|
+
compactRuntimeEvent(event, sessionId) {
|
|
132
138
|
if (event.type === 'transcript_update' && typeof event.patch.content === 'string') {
|
|
133
139
|
const content = event.patch.content;
|
|
134
|
-
const
|
|
135
|
-
this.
|
|
140
|
+
const key = transcriptContentKey(sessionId, event.id);
|
|
141
|
+
const previous = this.transcriptContents.get(key);
|
|
142
|
+
this.rememberTranscriptContent(key, content);
|
|
136
143
|
if (previous !== undefined && content.startsWith(previous)) {
|
|
137
144
|
const patch = { ...event.patch };
|
|
138
145
|
delete patch.content;
|
|
@@ -146,10 +153,14 @@ class WebEventHub {
|
|
|
146
153
|
return event;
|
|
147
154
|
}
|
|
148
155
|
if (event.type === 'transcript_finalize' || event.type === 'transcript_remove') {
|
|
149
|
-
this.transcriptContents.delete(event.id);
|
|
156
|
+
this.transcriptContents.delete(transcriptContentKey(sessionId, event.id));
|
|
150
157
|
}
|
|
151
158
|
else if (event.type === 'transcript_clear' || event.type === 'transcript_replace') {
|
|
152
|
-
|
|
159
|
+
const prefix = transcriptSessionPrefix(sessionId);
|
|
160
|
+
for (const key of this.transcriptContents.keys()) {
|
|
161
|
+
if (key.startsWith(prefix))
|
|
162
|
+
this.transcriptContents.delete(key);
|
|
163
|
+
}
|
|
153
164
|
}
|
|
154
165
|
return event;
|
|
155
166
|
}
|
|
@@ -165,6 +176,12 @@ class WebEventHub {
|
|
|
165
176
|
}
|
|
166
177
|
}
|
|
167
178
|
exports.WebEventHub = WebEventHub;
|
|
179
|
+
function transcriptSessionPrefix(sessionId) {
|
|
180
|
+
return `${sessionId ?? '<surface>'}\u0000`;
|
|
181
|
+
}
|
|
182
|
+
function transcriptContentKey(sessionId, id) {
|
|
183
|
+
return `${transcriptSessionPrefix(sessionId)}${id}`;
|
|
184
|
+
}
|
|
168
185
|
function toEnvelope(base, event) {
|
|
169
186
|
switch (event.type) {
|
|
170
187
|
case 'runtime_event':
|
|
@@ -232,6 +249,26 @@ function toEnvelope(base, event) {
|
|
|
232
249
|
type: event.type,
|
|
233
250
|
payload: { state: event.state },
|
|
234
251
|
};
|
|
252
|
+
case 'session_runtime_changed':
|
|
253
|
+
if (!base.sessionId)
|
|
254
|
+
throw new Error('Session Runtime events require Session identity');
|
|
255
|
+
return {
|
|
256
|
+
...base,
|
|
257
|
+
sessionId: base.sessionId,
|
|
258
|
+
durable: true,
|
|
259
|
+
type: event.type,
|
|
260
|
+
payload: { runtime: event.runtime },
|
|
261
|
+
};
|
|
262
|
+
case 'workspace_mutation_changed':
|
|
263
|
+
if (!base.sessionId)
|
|
264
|
+
throw new Error('Workspace mutation events require Session identity');
|
|
265
|
+
return {
|
|
266
|
+
...base,
|
|
267
|
+
sessionId: base.sessionId,
|
|
268
|
+
durable: false,
|
|
269
|
+
type: event.type,
|
|
270
|
+
payload: { state: event.state },
|
|
271
|
+
};
|
|
235
272
|
case 'replay_reset':
|
|
236
273
|
return {
|
|
237
274
|
...base,
|
|
@@ -5,6 +5,8 @@ export interface WebFileNodeV1 {
|
|
|
5
5
|
/** Sanitized Workspace-relative display path. Requests must continue to use the opaque id. */
|
|
6
6
|
readonly displayPath: string;
|
|
7
7
|
readonly kind: WebFileKindV1;
|
|
8
|
+
/** Effective target kind for a readable symbolic link. */
|
|
9
|
+
readonly targetKind?: 'file' | 'directory';
|
|
8
10
|
readonly sizeBytes?: number;
|
|
9
11
|
readonly modifiedAt: string;
|
|
10
12
|
readonly sensitive: boolean;
|
|
@@ -114,7 +114,7 @@ class FileReadServiceV1 {
|
|
|
114
114
|
if (!node.stat.isFile()) {
|
|
115
115
|
throw new errors_1.WebWorkbenchError(409, 'File node is not a regular file.', 'file_not_regular');
|
|
116
116
|
}
|
|
117
|
-
const sensitive = (
|
|
117
|
+
const sensitive = isSensitiveResolvedPath(this.root, node.relativePath, node.canonicalPath);
|
|
118
118
|
if (sensitive) {
|
|
119
119
|
throw new errors_1.WebWorkbenchError(403, 'Sensitive file content is not available in the Web Workbench.', 'sensitive_file_blocked');
|
|
120
120
|
}
|
|
@@ -152,6 +152,19 @@ class FileReadServiceV1 {
|
|
|
152
152
|
const remaining = Math.max(0, Number(before.size) - offset);
|
|
153
153
|
const page = readLineSafePage(descriptor, offset, remaining, limitBytes);
|
|
154
154
|
this.performance.bytesRead += page.bytesRead;
|
|
155
|
+
if (isBinary(page.content)) {
|
|
156
|
+
return Object.freeze({
|
|
157
|
+
fileId: input.fileId,
|
|
158
|
+
name: (0, path_1.basename)(node.relativePath),
|
|
159
|
+
revision,
|
|
160
|
+
sizeBytes: Number(before.size),
|
|
161
|
+
binary: true,
|
|
162
|
+
sensitive: false,
|
|
163
|
+
mediaType: 'application/octet-stream',
|
|
164
|
+
offsetBytes: offset,
|
|
165
|
+
nextCursor: null,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
155
168
|
const contentBuffer = validUtf8Prefix(page.content);
|
|
156
169
|
if (page.consumedBytes > 0 && contentBuffer.length === 0) {
|
|
157
170
|
throw new errors_1.WebWorkbenchError(415, 'File is not valid UTF-8 text.', 'file_binary');
|
|
@@ -192,25 +205,32 @@ class FileReadServiceV1 {
|
|
|
192
205
|
const symlink = lexicalStat.isSymbolicLink();
|
|
193
206
|
let readable = true;
|
|
194
207
|
let effectiveStat = lexicalStat;
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
catch {
|
|
203
|
-
readable = false;
|
|
204
|
-
}
|
|
208
|
+
let canonicalPath;
|
|
209
|
+
try {
|
|
210
|
+
canonicalPath = (0, fs_1.realpathSync)(lexicalPath);
|
|
211
|
+
readable = isWithinRoot(canonicalPath, this.root);
|
|
212
|
+
if (readable)
|
|
213
|
+
effectiveStat = (0, fs_1.statSync)(canonicalPath, { bigint: true });
|
|
205
214
|
}
|
|
215
|
+
catch {
|
|
216
|
+
readable = false;
|
|
217
|
+
}
|
|
218
|
+
const targetKind = readable
|
|
219
|
+
? effectiveStat.isDirectory()
|
|
220
|
+
? 'directory'
|
|
221
|
+
: effectiveStat.isFile()
|
|
222
|
+
? 'file'
|
|
223
|
+
: undefined
|
|
224
|
+
: undefined;
|
|
206
225
|
return Object.freeze({
|
|
207
226
|
id: this.remember(relativePath),
|
|
208
227
|
name: (0, path_1.basename)(relativePath),
|
|
209
228
|
displayPath: normalizeRelativePath(relativePath),
|
|
210
229
|
kind: symlink ? 'symlink' : effectiveStat.isDirectory() ? 'directory' : 'file',
|
|
230
|
+
...(symlink && targetKind ? { targetKind } : {}),
|
|
211
231
|
...(effectiveStat.isFile() ? { sizeBytes: Number(effectiveStat.size) } : {}),
|
|
212
232
|
modifiedAt: new Date(Number(effectiveStat.mtimeMs)).toISOString(),
|
|
213
|
-
sensitive: (
|
|
233
|
+
sensitive: isSensitiveResolvedPath(this.root, relativePath, canonicalPath),
|
|
214
234
|
readable,
|
|
215
235
|
});
|
|
216
236
|
}
|
|
@@ -360,6 +380,13 @@ function isWithinRoot(candidate, root) {
|
|
|
360
380
|
const rel = (0, path_1.relative)(root, candidate);
|
|
361
381
|
return rel === '' || (!rel.startsWith(`..${path_1.sep}`) && rel !== '..' && !(0, path_1.isAbsolute)(rel));
|
|
362
382
|
}
|
|
383
|
+
function isSensitiveResolvedPath(root, aliasRelativePath, canonicalPath) {
|
|
384
|
+
if ((0, redaction_1.isSensitiveFilePath)(aliasRelativePath))
|
|
385
|
+
return true;
|
|
386
|
+
if (!canonicalPath || !isWithinRoot(canonicalPath, root))
|
|
387
|
+
return false;
|
|
388
|
+
return (0, redaction_1.isSensitiveFilePath)((0, path_1.relative)(root, canonicalPath));
|
|
389
|
+
}
|
|
363
390
|
function fingerprintStat(stat) {
|
|
364
391
|
return (0, crypto_1.createHash)('sha256')
|
|
365
392
|
.update([stat.dev, stat.ino, stat.mode, stat.size, stat.mtimeNs, stat.ctimeNs]
|
|
@@ -122,6 +122,9 @@ class GitReadModelServiceV1 {
|
|
|
122
122
|
if (!record) {
|
|
123
123
|
throw new errors_1.WebWorkbenchError(409, 'Git file changed before diff.', 'git_revision_conflict');
|
|
124
124
|
}
|
|
125
|
+
if (isSensitiveGitRecord(record)) {
|
|
126
|
+
throw new errors_1.WebWorkbenchError(403, 'Sensitive file content is not available in the Web Workbench.', 'sensitive_file_blocked');
|
|
127
|
+
}
|
|
125
128
|
const lineLimit = boundedInteger(input.lineLimit ?? DEFAULT_DIFF_LINES, 1, MAX_DIFF_LINES, 'lineLimit');
|
|
126
129
|
const byteLimit = boundedInteger(input.byteLimit ?? DEFAULT_DIFF_BYTES, 1024, MAX_DIFF_BYTES, 'byteLimit');
|
|
127
130
|
const offset = input.cursor
|
|
@@ -440,6 +443,10 @@ function isConflictRecord(record) {
|
|
|
440
443
|
`${record.indexStatus}${record.worktreeStatus}` === 'AA' ||
|
|
441
444
|
`${record.indexStatus}${record.worktreeStatus}` === 'DD');
|
|
442
445
|
}
|
|
446
|
+
function isSensitiveGitRecord(record) {
|
|
447
|
+
return ((0, redaction_1.isSensitiveFilePath)(record.path) ||
|
|
448
|
+
(record.renamedFrom !== undefined && (0, redaction_1.isSensitiveFilePath)(record.renamedFrom)));
|
|
449
|
+
}
|
|
443
450
|
async function streamDiffPage(input) {
|
|
444
451
|
const lines = [];
|
|
445
452
|
let virtualLine = 0;
|