openhorse 0.2.19 → 0.2.22
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/dist/agents/coordinator.d.ts.map +1 -1
- package/dist/agents/fork.d.ts.map +1 -1
- package/dist/agents/fork.js +0 -1
- package/dist/agents/fork.js.map +1 -1
- package/dist/agents/worker-pool.d.ts.map +1 -1
- package/dist/agents/worker-pool.js +3 -1
- package/dist/agents/worker-pool.js.map +1 -1
- package/dist/cli.js +28 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +202 -77
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/parser.d.ts.map +1 -1
- package/dist/commands/parser.js +8 -3
- package/dist/commands/parser.js.map +1 -1
- package/dist/commands/types.d.ts +2 -0
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js.map +1 -1
- package/dist/core/checkpoint.d.ts.map +1 -1
- package/dist/core/checkpoint.js +3 -0
- package/dist/core/checkpoint.js.map +1 -1
- package/dist/core/cost-tracker.d.ts +45 -5
- package/dist/core/cost-tracker.d.ts.map +1 -1
- package/dist/core/cost-tracker.js +78 -13
- package/dist/core/cost-tracker.js.map +1 -1
- package/dist/framework/index.d.ts +1 -1
- package/dist/framework/index.d.ts.map +1 -1
- package/dist/framework/index.js.map +1 -1
- package/dist/framework/prompt.d.ts.map +1 -1
- package/dist/framework/prompt.js +16 -0
- package/dist/framework/prompt.js.map +1 -1
- package/dist/framework/query.d.ts +25 -0
- package/dist/framework/query.d.ts.map +1 -1
- package/dist/framework/query.js +196 -56
- package/dist/framework/query.js.map +1 -1
- package/dist/framework/store.d.ts +6 -1
- package/dist/framework/store.d.ts.map +1 -1
- package/dist/framework/store.js +10 -1
- package/dist/framework/store.js.map +1 -1
- package/dist/harness/context-harness.d.ts.map +1 -1
- package/dist/harness/context-harness.js +6 -1
- package/dist/harness/context-harness.js.map +1 -1
- package/dist/harness/ledger.d.ts +1 -0
- package/dist/harness/ledger.d.ts.map +1 -1
- package/dist/harness/ledger.js +12 -0
- package/dist/harness/ledger.js.map +1 -1
- package/dist/harness/safety.d.ts +2 -0
- package/dist/harness/safety.d.ts.map +1 -1
- package/dist/harness/safety.js +27 -3
- package/dist/harness/safety.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/init.d.ts +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +1 -1
- package/dist/init.js.map +1 -1
- package/dist/ink-ui/components/Markdown.d.ts +1 -1
- package/dist/ink-ui/components/Markdown.d.ts.map +1 -1
- package/dist/ink-ui/components/Markdown.js +1 -1
- package/dist/ink-ui/components/Markdown.js.map +1 -1
- package/dist/ink-ui/components/StatusLine.d.ts.map +1 -1
- package/dist/ink-ui/components/StatusLine.js +0 -2
- package/dist/ink-ui/components/StatusLine.js.map +1 -1
- package/dist/ink-ui/runtime/grapheme.d.ts +9 -8
- package/dist/ink-ui/runtime/grapheme.d.ts.map +1 -1
- package/dist/ink-ui/runtime/grapheme.js +14 -60
- package/dist/ink-ui/runtime/grapheme.js.map +1 -1
- package/dist/ink-ui/runtime/input-buffer.d.ts +9 -31
- package/dist/ink-ui/runtime/input-buffer.d.ts.map +1 -1
- package/dist/ink-ui/runtime/input-buffer.js +15 -162
- package/dist/ink-ui/runtime/input-buffer.js.map +1 -1
- package/dist/ink-ui/runtime/native-cursor.js +0 -25
- package/dist/ink-ui/runtime/native-cursor.js.map +1 -1
- package/dist/ink-ui/runtime/prompt-layout.d.ts +9 -29
- package/dist/ink-ui/runtime/prompt-layout.d.ts.map +1 -1
- package/dist/ink-ui/runtime/prompt-layout.js +18 -166
- package/dist/ink-ui/runtime/prompt-layout.js.map +1 -1
- package/dist/ink-ui/runtime/transcript-state.d.ts.map +1 -1
- package/dist/ink-ui/runtime/transcript-state.js +2 -0
- package/dist/ink-ui/runtime/transcript-state.js.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.js +23 -5
- package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
- package/dist/memory/entrypoint.js +1 -1
- package/dist/memory/entrypoint.js.map +1 -1
- package/dist/memory/storage.js +1 -1
- package/dist/memory/storage.js.map +1 -1
- package/dist/memory/store.d.ts +1 -0
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +9 -0
- package/dist/memory/store.js.map +1 -1
- package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-controller.js +25 -0
- package/dist/runtime/agent-runtime-controller.js.map +1 -1
- package/dist/runtime/agent-runtime-protocol.d.ts +4 -1
- package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-protocol.js +6 -0
- package/dist/runtime/agent-runtime-protocol.js.map +1 -1
- package/dist/runtime/chat-controller.d.ts +27 -0
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +374 -88
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/runtime/composer/buffer.d.ts +43 -0
- package/dist/runtime/composer/buffer.d.ts.map +1 -0
- package/dist/runtime/composer/buffer.js +176 -0
- package/dist/runtime/composer/buffer.js.map +1 -0
- package/dist/runtime/composer/grapheme.d.ts +19 -0
- package/dist/runtime/composer/grapheme.d.ts.map +1 -0
- package/dist/runtime/composer/grapheme.js +73 -0
- package/dist/runtime/composer/grapheme.js.map +1 -0
- package/dist/runtime/composer/history.d.ts +39 -0
- package/dist/runtime/composer/history.d.ts.map +1 -0
- package/dist/runtime/composer/history.js +91 -0
- package/dist/runtime/composer/history.js.map +1 -0
- package/dist/runtime/composer/layout.d.ts +40 -0
- package/dist/runtime/composer/layout.d.ts.map +1 -0
- package/dist/runtime/composer/layout.js +174 -0
- package/dist/runtime/composer/layout.js.map +1 -0
- package/dist/runtime/rich-text/ansi-parser.d.ts +31 -0
- package/dist/runtime/rich-text/ansi-parser.d.ts.map +1 -0
- package/dist/runtime/rich-text/ansi-parser.js +310 -0
- package/dist/runtime/rich-text/ansi-parser.js.map +1 -0
- package/dist/runtime/rich-text/layout.d.ts +12 -0
- package/dist/runtime/rich-text/layout.d.ts.map +1 -0
- package/dist/runtime/rich-text/layout.js +362 -0
- package/dist/runtime/rich-text/layout.js.map +1 -0
- package/dist/runtime/rich-text/markdown-parser.d.ts +17 -0
- package/dist/runtime/rich-text/markdown-parser.d.ts.map +1 -0
- package/dist/runtime/rich-text/markdown-parser.js +218 -0
- package/dist/runtime/rich-text/markdown-parser.js.map +1 -0
- package/dist/runtime/rich-text/sanitizer.d.ts +18 -0
- package/dist/runtime/rich-text/sanitizer.d.ts.map +1 -0
- package/dist/runtime/rich-text/sanitizer.js +32 -0
- package/dist/runtime/rich-text/sanitizer.js.map +1 -0
- package/dist/runtime/rich-text/types.d.ts +59 -0
- package/dist/runtime/rich-text/types.d.ts.map +1 -0
- package/dist/runtime/rich-text/types.js +17 -0
- package/dist/runtime/rich-text/types.js.map +1 -0
- package/dist/runtime/subagents/budget.d.ts +118 -0
- package/dist/runtime/subagents/budget.d.ts.map +1 -0
- package/dist/runtime/subagents/budget.js +173 -0
- package/dist/runtime/subagents/budget.js.map +1 -0
- package/dist/runtime/subagents/child-executor-guard.d.ts +60 -0
- package/dist/runtime/subagents/child-executor-guard.d.ts.map +1 -0
- package/dist/runtime/subagents/child-executor-guard.js +219 -0
- package/dist/runtime/subagents/child-executor-guard.js.map +1 -0
- package/dist/runtime/subagents/context-builder.d.ts +34 -0
- package/dist/runtime/subagents/context-builder.d.ts.map +1 -0
- package/dist/runtime/subagents/context-builder.js +99 -0
- package/dist/runtime/subagents/context-builder.js.map +1 -0
- package/dist/runtime/subagents/index.d.ts +21 -0
- package/dist/runtime/subagents/index.d.ts.map +1 -0
- package/dist/runtime/subagents/index.js +62 -0
- package/dist/runtime/subagents/index.js.map +1 -0
- package/dist/runtime/subagents/policy.d.ts +68 -0
- package/dist/runtime/subagents/policy.d.ts.map +1 -0
- package/dist/runtime/subagents/policy.js +230 -0
- package/dist/runtime/subagents/policy.js.map +1 -0
- package/dist/runtime/subagents/presets.d.ts +44 -0
- package/dist/runtime/subagents/presets.d.ts.map +1 -0
- package/dist/runtime/subagents/presets.js +148 -0
- package/dist/runtime/subagents/presets.js.map +1 -0
- package/dist/runtime/subagents/production.d.ts +44 -0
- package/dist/runtime/subagents/production.d.ts.map +1 -0
- package/dist/runtime/subagents/production.js +143 -0
- package/dist/runtime/subagents/production.js.map +1 -0
- package/dist/runtime/subagents/provider-gate.d.ts +99 -0
- package/dist/runtime/subagents/provider-gate.d.ts.map +1 -0
- package/dist/runtime/subagents/provider-gate.js +186 -0
- package/dist/runtime/subagents/provider-gate.js.map +1 -0
- package/dist/runtime/subagents/result-parser.d.ts +40 -0
- package/dist/runtime/subagents/result-parser.d.ts.map +1 -0
- package/dist/runtime/subagents/result-parser.js +240 -0
- package/dist/runtime/subagents/result-parser.js.map +1 -0
- package/dist/runtime/subagents/runner.d.ts +53 -0
- package/dist/runtime/subagents/runner.d.ts.map +1 -0
- package/dist/runtime/subagents/runner.js +172 -0
- package/dist/runtime/subagents/runner.js.map +1 -0
- package/dist/runtime/subagents/runtime-integration.d.ts +73 -0
- package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -0
- package/dist/runtime/subagents/runtime-integration.js +148 -0
- package/dist/runtime/subagents/runtime-integration.js.map +1 -0
- package/dist/runtime/subagents/supervisor.d.ts +79 -0
- package/dist/runtime/subagents/supervisor.d.ts.map +1 -0
- package/dist/runtime/subagents/supervisor.js +301 -0
- package/dist/runtime/subagents/supervisor.js.map +1 -0
- package/dist/runtime/subagents/tool.d.ts +38 -0
- package/dist/runtime/subagents/tool.d.ts.map +1 -0
- package/dist/runtime/subagents/tool.js +171 -0
- package/dist/runtime/subagents/tool.js.map +1 -0
- package/dist/runtime/subagents/types.d.ts +152 -0
- package/dist/runtime/subagents/types.d.ts.map +1 -0
- package/dist/runtime/subagents/types.js +56 -0
- package/dist/runtime/subagents/types.js.map +1 -0
- package/dist/runtime/ui-events.d.ts +18 -0
- package/dist/runtime/ui-events.d.ts.map +1 -1
- package/dist/runtime/ui-events.js.map +1 -1
- package/dist/runtime/ui-view-model.d.ts +44 -1
- package/dist/runtime/ui-view-model.d.ts.map +1 -1
- package/dist/runtime/ui-view-model.js +90 -37
- package/dist/runtime/ui-view-model.js.map +1 -1
- package/dist/sdk/query.d.ts.map +1 -1
- package/dist/sdk/query.js +0 -1
- package/dist/sdk/query.js.map +1 -1
- package/dist/services/auto-fix/autoFixHook.d.ts.map +1 -1
- package/dist/services/auto-fix/autoFixHook.js +3 -2
- package/dist/services/auto-fix/autoFixHook.js.map +1 -1
- package/dist/services/auto-fix/autoFixRunner.d.ts +2 -2
- package/dist/services/auto-fix/autoFixRunner.d.ts.map +1 -1
- package/dist/services/auto-fix/autoFixRunner.js +2 -2
- package/dist/services/auto-fix/autoFixRunner.js.map +1 -1
- package/dist/services/compact/auto-compact.d.ts +15 -2
- package/dist/services/compact/auto-compact.d.ts.map +1 -1
- package/dist/services/compact/auto-compact.js +59 -27
- package/dist/services/compact/auto-compact.js.map +1 -1
- package/dist/services/compact/compact.d.ts +2 -0
- package/dist/services/compact/compact.d.ts.map +1 -1
- package/dist/services/compact/compact.js +22 -5
- package/dist/services/compact/compact.js.map +1 -1
- package/dist/services/compact/coordinator.d.ts +26 -0
- package/dist/services/compact/coordinator.d.ts.map +1 -0
- package/dist/services/compact/coordinator.js +44 -0
- package/dist/services/compact/coordinator.js.map +1 -0
- package/dist/services/compact/index.d.ts +1 -0
- package/dist/services/compact/index.d.ts.map +1 -1
- package/dist/services/compact/index.js +3 -1
- package/dist/services/compact/index.js.map +1 -1
- package/dist/services/compact/summary-generator.d.ts +6 -2
- package/dist/services/compact/summary-generator.d.ts.map +1 -1
- package/dist/services/compact/summary-generator.js +73 -32
- package/dist/services/compact/summary-generator.js.map +1 -1
- package/dist/services/concurrent-sessions.d.ts.map +1 -1
- package/dist/services/concurrent-sessions.js +3 -0
- package/dist/services/concurrent-sessions.js.map +1 -1
- package/dist/services/config-dir.d.ts +11 -1
- package/dist/services/config-dir.d.ts.map +1 -1
- package/dist/services/config-dir.js +19 -2
- package/dist/services/config-dir.js.map +1 -1
- package/dist/services/config.d.ts +13 -4
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +85 -4
- package/dist/services/config.js.map +1 -1
- package/dist/services/doctor.d.ts +2 -0
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +9 -2
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/global-config.d.ts +33 -1
- package/dist/services/global-config.d.ts.map +1 -1
- package/dist/services/global-config.js +3 -0
- package/dist/services/global-config.js.map +1 -1
- package/dist/services/llm.d.ts +21 -4
- package/dist/services/llm.d.ts.map +1 -1
- package/dist/services/llm.js +75 -9
- package/dist/services/llm.js.map +1 -1
- package/dist/services/mcp/transports.d.ts +2 -0
- package/dist/services/mcp/transports.d.ts.map +1 -1
- package/dist/services/mcp/transports.js +23 -2
- package/dist/services/mcp/transports.js.map +1 -1
- package/dist/services/memory.d.ts.map +1 -1
- package/dist/services/memory.js.map +1 -1
- package/dist/services/model-context.d.ts +36 -0
- package/dist/services/model-context.d.ts.map +1 -1
- package/dist/services/model-context.js +243 -31
- package/dist/services/model-context.js.map +1 -1
- package/dist/services/redaction.js +1 -1
- package/dist/services/redaction.js.map +1 -1
- package/dist/services/session-memory/sessionMemory.js +1 -1
- package/dist/services/session-memory/sessionMemory.js.map +1 -1
- package/dist/services/session-storage.d.ts +39 -1
- package/dist/services/session-storage.d.ts.map +1 -1
- package/dist/services/session-storage.js +156 -28
- package/dist/services/session-storage.js.map +1 -1
- package/dist/services/task-manager.d.ts +2 -0
- package/dist/services/task-manager.d.ts.map +1 -1
- package/dist/services/task-manager.js +13 -0
- package/dist/services/task-manager.js.map +1 -1
- package/dist/services/usage-state.d.ts +55 -5
- package/dist/services/usage-state.d.ts.map +1 -1
- package/dist/services/usage-state.js +188 -59
- package/dist/services/usage-state.js.map +1 -1
- package/dist/services/verification-profile.d.ts.map +1 -1
- package/dist/services/verification-profile.js +3 -2
- package/dist/services/verification-profile.js.map +1 -1
- package/dist/services/workspace-diff.d.ts.map +1 -1
- package/dist/services/workspace-diff.js +34 -3
- package/dist/services/workspace-diff.js.map +1 -1
- package/dist/services/yaml-config.js +1 -1
- package/dist/skills/loader.d.ts +1 -1
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +1 -1
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/registry.d.ts +1 -1
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +1 -1
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/runtime.d.ts +9 -5
- package/dist/skills/runtime.d.ts.map +1 -1
- package/dist/skills/runtime.js +157 -12
- package/dist/skills/runtime.js.map +1 -1
- package/dist/terminal-ui/launch.d.ts +20 -3
- package/dist/terminal-ui/launch.d.ts.map +1 -1
- package/dist/terminal-ui/launch.js +86 -25
- package/dist/terminal-ui/launch.js.map +1 -1
- package/dist/terminal-ui/raw-editor.d.ts +9 -0
- package/dist/terminal-ui/raw-editor.d.ts.map +1 -1
- package/dist/terminal-ui/raw-editor.js +207 -30
- package/dist/terminal-ui/raw-editor.js.map +1 -1
- package/dist/tools/bash_security.d.ts.map +1 -1
- package/dist/tools/bash_security.js +14 -5
- package/dist/tools/bash_security.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +51 -24
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/lsp.js.map +1 -1
- package/dist/tools/plan.d.ts.map +1 -1
- package/dist/tools/plan.js +7 -0
- package/dist/tools/plan.js.map +1 -1
- package/dist/tools/web.d.ts +10 -0
- package/dist/tools/web.d.ts.map +1 -1
- package/dist/tools/web.js +84 -4
- package/dist/tools/web.js.map +1 -1
- package/dist/tui-core/frame.d.ts +13 -1
- package/dist/tui-core/frame.d.ts.map +1 -1
- package/dist/tui-core/frame.js +61 -8
- package/dist/tui-core/frame.js.map +1 -1
- package/dist/tui-core/input-parser.d.ts +1 -1
- package/dist/tui-core/input-parser.d.ts.map +1 -1
- package/dist/tui-core/input-parser.js +20 -1
- package/dist/tui-core/input-parser.js.map +1 -1
- package/dist/tui-core/style.d.ts +103 -0
- package/dist/tui-core/style.d.ts.map +1 -0
- package/dist/tui-core/style.js +269 -0
- package/dist/tui-core/style.js.map +1 -0
- package/dist/tui-core/terminal-writer.d.ts.map +1 -1
- package/dist/tui-core/terminal-writer.js +16 -3
- package/dist/tui-core/terminal-writer.js.map +1 -1
- package/dist/tui-ui/inline-surface.d.ts +185 -0
- package/dist/tui-ui/inline-surface.d.ts.map +1 -0
- package/dist/tui-ui/inline-surface.js +615 -0
- package/dist/tui-ui/inline-surface.js.map +1 -0
- package/dist/tui-ui/launch.d.ts +1 -0
- package/dist/tui-ui/launch.d.ts.map +1 -1
- package/dist/tui-ui/launch.js +398 -69
- package/dist/tui-ui/launch.js.map +1 -1
- package/dist/tui-ui/layout.d.ts +51 -2
- package/dist/tui-ui/layout.d.ts.map +1 -1
- package/dist/tui-ui/layout.js +240 -77
- package/dist/tui-ui/layout.js.map +1 -1
- package/dist/tui-ui/render-scheduler.d.ts +37 -0
- package/dist/tui-ui/render-scheduler.d.ts.map +1 -0
- package/dist/tui-ui/render-scheduler.js +118 -0
- package/dist/tui-ui/render-scheduler.js.map +1 -0
- package/dist/tui-ui/runner.d.ts +78 -5
- package/dist/tui-ui/runner.d.ts.map +1 -1
- package/dist/tui-ui/runner.js +317 -22
- package/dist/tui-ui/runner.js.map +1 -1
- package/dist/tui-ui/state.d.ts +38 -7
- package/dist/tui-ui/state.d.ts.map +1 -1
- package/dist/tui-ui/state.js +199 -40
- package/dist/tui-ui/state.js.map +1 -1
- package/dist/tui-ui/theme.d.ts +13 -0
- package/dist/tui-ui/theme.d.ts.map +1 -0
- package/dist/tui-ui/theme.js +20 -0
- package/dist/tui-ui/theme.js.map +1 -0
- package/dist/tui-ui/transcript-cache.d.ts +35 -0
- package/dist/tui-ui/transcript-cache.d.ts.map +1 -0
- package/dist/tui-ui/transcript-cache.js +74 -0
- package/dist/tui-ui/transcript-cache.js.map +1 -0
- package/dist/tui-ui/transcript-layout.d.ts +21 -0
- package/dist/tui-ui/transcript-layout.d.ts.map +1 -0
- package/dist/tui-ui/transcript-layout.js +398 -0
- package/dist/tui-ui/transcript-layout.js.map +1 -0
- package/dist/ui/box.d.ts.map +1 -1
- package/dist/ui/box.js +0 -11
- package/dist/ui/box.js.map +1 -1
- package/dist/ui/command-panel.d.ts.map +1 -1
- package/dist/ui/command-panel.js +1 -3
- package/dist/ui/command-panel.js.map +1 -1
- package/dist/ui/file-completion.js +1 -1
- package/dist/ui/file-completion.js.map +1 -1
- package/dist/ui/markdown.d.ts.map +1 -1
- package/dist/ui/markdown.js +1 -2
- package/dist/ui/markdown.js.map +1 -1
- package/dist/ui/multiline-input.d.ts.map +1 -1
- package/dist/ui/multiline-input.js +1 -2
- package/dist/ui/multiline-input.js.map +1 -1
- package/dist/ui/progress.d.ts.map +1 -1
- package/dist/ui/progress.js +0 -3
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/status-bar.d.ts +1 -1
- package/dist/ui/status-bar.d.ts.map +1 -1
- package/dist/ui/status-bar.js +2 -16
- package/dist/ui/status-bar.js.map +1 -1
- package/dist/ui/stream-markdown.d.ts +3 -0
- package/dist/ui/stream-markdown.d.ts.map +1 -1
- package/dist/ui/stream-markdown.js +0 -6
- package/dist/ui/stream-markdown.js.map +1 -1
- package/dist/ui/tool-preview.d.ts.map +1 -1
- package/dist/ui/tool-preview.js +0 -1
- package/dist/ui/tool-preview.js.map +1 -1
- package/dist/ui-v2/components/shell.d.ts.map +1 -1
- package/dist/ui-v2/components/shell.js +0 -8
- package/dist/ui-v2/components/shell.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli-dbg.js +0 -717
- package/dist/cli-debug.d.ts +0 -7
- package/dist/cli-debug.d.ts.map +0 -1
- package/dist/cli-debug.js +0 -717
- package/dist/cli-debug.js.map +0 -1
- package/dist/cli-debug2.d.ts +0 -7
- package/dist/cli-debug2.d.ts.map +0 -1
- package/dist/cli-debug2.js +0 -717
- package/dist/cli-debug2.js.map +0 -1
- package/dist/cli-debug3.d.ts +0 -7
- package/dist/cli-debug3.d.ts.map +0 -1
- package/dist/cli-debug3.js +0 -719
- package/dist/cli-debug3.js.map +0 -1
- package/dist/cli-ink.d.ts +0 -8
- package/dist/cli-ink.d.ts.map +0 -1
- package/dist/cli-ink.js +0 -32
- package/dist/cli-ink.js.map +0 -1
- package/dist/cli-patch.js +0 -716
- package/dist/cli-test.js +0 -726
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.summaryGenerator = summaryGenerator;
|
|
9
9
|
exports.generateSummary = summaryGenerator;
|
|
10
|
+
exports.generateSummaryWithSource = generateSummaryWithSource;
|
|
10
11
|
exports.generateLLMSummary = generateLLMSummary;
|
|
12
|
+
const redaction_1 = require("../redaction");
|
|
11
13
|
// ============================================================================
|
|
12
14
|
// 默认配置
|
|
13
15
|
// ============================================================================
|
|
@@ -31,12 +33,12 @@ async function summaryGenerator(messages, options) {
|
|
|
31
33
|
if (messages.length === 0) {
|
|
32
34
|
return '';
|
|
33
35
|
}
|
|
36
|
+
const prepared = prepareSummaryInput(messages);
|
|
34
37
|
// 收集关键信息
|
|
35
38
|
const userTopics = [];
|
|
36
39
|
const toolsUsed = [];
|
|
37
40
|
const filesModified = [];
|
|
38
|
-
const
|
|
39
|
-
for (const msg of messages) {
|
|
41
|
+
for (const msg of prepared.messages) {
|
|
40
42
|
if (msg.role === 'user' && msg.content) {
|
|
41
43
|
// 提取用户主题(截取前 50 字符)
|
|
42
44
|
const topic = msg.content.slice(0, 50).trim();
|
|
@@ -52,7 +54,7 @@ async function summaryGenerator(messages, options) {
|
|
|
52
54
|
try {
|
|
53
55
|
const args = JSON.parse(tc.function.arguments);
|
|
54
56
|
if (args.path) {
|
|
55
|
-
filesModified.push(args.path);
|
|
57
|
+
filesModified.push((0, redaction_1.redactTraceText)(String(args.path)));
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
catch {
|
|
@@ -68,15 +70,20 @@ async function summaryGenerator(messages, options) {
|
|
|
68
70
|
const uniqueFiles = [...new Set(filesModified)];
|
|
69
71
|
// 构建摘要
|
|
70
72
|
const maxLen = opts.maxLength || 500;
|
|
73
|
+
let freshSummary = '';
|
|
71
74
|
switch (opts.format) {
|
|
72
75
|
case 'bullet':
|
|
73
|
-
|
|
76
|
+
freshSummary = buildBulletSummary(uniqueTopics, uniqueTools, uniqueFiles, maxLen);
|
|
77
|
+
break;
|
|
74
78
|
case 'narrative':
|
|
75
|
-
|
|
79
|
+
freshSummary = buildNarrativeSummary(uniqueTopics, uniqueTools, uniqueFiles, maxLen);
|
|
80
|
+
break;
|
|
76
81
|
case 'structured':
|
|
77
|
-
|
|
82
|
+
freshSummary = buildStructuredSummary(uniqueTopics, uniqueTools, uniqueFiles, maxLen);
|
|
83
|
+
break;
|
|
78
84
|
}
|
|
79
|
-
|
|
85
|
+
const combined = [prepared.priorSummary, freshSummary].filter(Boolean).join('\n');
|
|
86
|
+
return combined.length > maxLen ? `${combined.slice(0, maxLen - 3)}...` : combined;
|
|
80
87
|
}
|
|
81
88
|
// ============================================================================
|
|
82
89
|
// 摘要格式化
|
|
@@ -126,38 +133,52 @@ function buildStructuredSummary(topics, tools, files, maxLength) {
|
|
|
126
133
|
});
|
|
127
134
|
return summary.length > maxLength ? summary.slice(0, maxLength - 3) + '...' : summary;
|
|
128
135
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
136
|
+
const CONTEXT_SUMMARY_PREFIX = '[Context Summary]\n';
|
|
137
|
+
function prepareSummaryInput(messages) {
|
|
138
|
+
let priorSummary;
|
|
139
|
+
const prepared = [];
|
|
140
|
+
for (const message of messages) {
|
|
141
|
+
if (message.content?.startsWith(CONTEXT_SUMMARY_PREFIX)) {
|
|
142
|
+
priorSummary = (0, redaction_1.redactTraceText)(message.content.slice(CONTEXT_SUMMARY_PREFIX.length));
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
if (message.role === 'assistant' &&
|
|
146
|
+
message.content ===
|
|
147
|
+
'I understand the context. I will continue the conversation with this background information.') {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
prepared.push({
|
|
151
|
+
...message,
|
|
152
|
+
content: (0, redaction_1.redactTraceText)(message.content ?? ''),
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
return { priorSummary, messages: prepared };
|
|
156
|
+
}
|
|
157
|
+
async function generateSummaryWithSource(messages, llm, options) {
|
|
139
158
|
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
140
159
|
if (messages.length === 0)
|
|
141
|
-
return '';
|
|
142
|
-
|
|
143
|
-
const condensed = messages
|
|
160
|
+
return { text: '', source: 'heuristic' };
|
|
161
|
+
const prepared = prepareSummaryInput(messages);
|
|
162
|
+
const condensed = prepared.messages
|
|
144
163
|
.map(msg => {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
164
|
+
const content = msg.content ?? '';
|
|
165
|
+
if (msg.role === 'user')
|
|
166
|
+
return `[User]: ${content.slice(0, 200)}`;
|
|
148
167
|
if (msg.role === 'assistant') {
|
|
149
168
|
const toolCalls = msg.tool_calls
|
|
150
169
|
? ` (tools: ${msg.tool_calls.map(tc => tc.function.name).join(', ')})`
|
|
151
170
|
: '';
|
|
152
|
-
return `[Assistant]: ${
|
|
153
|
-
}
|
|
154
|
-
if (msg.role === 'tool') {
|
|
155
|
-
return `[Tool]: ${(msg.content || '').slice(0, 150)}`;
|
|
171
|
+
return `[Assistant]: ${content.slice(0, 300)}${toolCalls}`;
|
|
156
172
|
}
|
|
173
|
+
if (msg.role === 'tool')
|
|
174
|
+
return `[Tool]: ${content.slice(0, 150)}`;
|
|
157
175
|
return '';
|
|
158
176
|
})
|
|
159
177
|
.filter(Boolean)
|
|
160
178
|
.join('\n');
|
|
179
|
+
const priorSummarySection = prepared.priorSummary
|
|
180
|
+
? `Prior durable summary (merge it with only the new conversation below):\n${prepared.priorSummary}\n\n`
|
|
181
|
+
: '';
|
|
161
182
|
const prompt = `Summarize the following coding agent conversation compactly. Focus on:
|
|
162
183
|
1. User's main goal/objective
|
|
163
184
|
2. Key actions taken (files modified, commands run)
|
|
@@ -166,20 +187,40 @@ async function generateLLMSummary(messages, llm, options) {
|
|
|
166
187
|
|
|
167
188
|
Keep the summary under ${opts.maxLength || 500} characters. Use bullet points.
|
|
168
189
|
|
|
169
|
-
|
|
190
|
+
${priorSummarySection}New conversation since the prior summary:
|
|
170
191
|
${condensed.slice(0, 8000)}
|
|
171
192
|
|
|
172
193
|
Summary:`;
|
|
173
194
|
try {
|
|
174
195
|
const response = await llm.chat([{ role: 'user', content: prompt }]);
|
|
175
196
|
if (response.content) {
|
|
176
|
-
return
|
|
197
|
+
return {
|
|
198
|
+
text: response.content.trim().slice(0, opts.maxLength || 500),
|
|
199
|
+
source: 'llm',
|
|
200
|
+
};
|
|
177
201
|
}
|
|
178
202
|
}
|
|
179
203
|
catch {
|
|
180
|
-
//
|
|
204
|
+
// Fall back to the deterministic summarizer below.
|
|
181
205
|
}
|
|
182
|
-
|
|
183
|
-
|
|
206
|
+
const freshSummary = await summaryGenerator(prepared.messages, options);
|
|
207
|
+
const combined = [prepared.priorSummary, freshSummary].filter(Boolean).join('\n');
|
|
208
|
+
const maxLength = opts.maxLength || 500;
|
|
209
|
+
return {
|
|
210
|
+
text: combined.length > maxLength ? `${combined.slice(0, maxLength - 3)}...` : combined,
|
|
211
|
+
source: 'heuristic',
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Generate a summary using the LLM for high-quality context compaction.
|
|
216
|
+
* Falls back to heuristic summary if LLM call fails or times out.
|
|
217
|
+
*
|
|
218
|
+
* @param messages - Messages to summarize
|
|
219
|
+
* @param llm - LLM service instance
|
|
220
|
+
* @param options - Summary options
|
|
221
|
+
* @returns Structured summary string
|
|
222
|
+
*/
|
|
223
|
+
async function generateLLMSummary(messages, llm, options) {
|
|
224
|
+
return (await generateSummaryWithSource(messages, llm, options)).text;
|
|
184
225
|
}
|
|
185
226
|
//# sourceMappingURL=summary-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary-generator.js","sourceRoot":"","sources":["../../../src/services/compact/summary-generator.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"summary-generator.js","sourceRoot":"","sources":["../../../src/services/compact/summary-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrent-sessions.d.ts","sourceRoot":"","sources":["../../src/services/concurrent-sessions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,WAAW,WAAW;IAC1B,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,UAAU;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS;IACT,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAA+C;gBAEzD,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAalD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW;IAoBnD;;OAEG;IACH,cAAc,IAAI,IAAI;IAetB;;OAEG;IACH,OAAO,IAAI,IAAI;IAcf;;OAEG;IACH,SAAS,IAAI,IAAI;IAajB;;OAEG;IACH,iBAAiB,IAAI,WAAW,EAAE;IA0ClC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAK7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"concurrent-sessions.d.ts","sourceRoot":"","sources":["../../src/services/concurrent-sessions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,WAAW,WAAW;IAC1B,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,UAAU;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS;IACT,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAA+C;gBAEzD,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAalD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW;IAoBnD;;OAEG;IACH,cAAc,IAAI,IAAI;IAetB;;OAEG;IACH,OAAO,IAAI,IAAI;IAcf;;OAEG;IACH,SAAS,IAAI,IAAI;IAajB;;OAEG;IACH,iBAAiB,IAAI,WAAW,EAAE;IA0ClC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAK7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,IAAI,MAAM;CAyClB;AAQD,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,cAAc,CAKxF;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C"}
|
|
@@ -190,6 +190,9 @@ class SessionManager {
|
|
|
190
190
|
this.heartbeatTimer = setInterval(() => {
|
|
191
191
|
this.updateActivity();
|
|
192
192
|
}, this.config.heartbeatInterval);
|
|
193
|
+
if (this.heartbeatTimer && typeof this.heartbeatTimer.unref === 'function') {
|
|
194
|
+
this.heartbeatTimer.unref();
|
|
195
|
+
}
|
|
193
196
|
}
|
|
194
197
|
/**
|
|
195
198
|
* 停止心跳
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrent-sessions.js","sourceRoot":"","sources":["../../src/services/concurrent-sessions.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"concurrent-sessions.js","sourceRoot":"","sources":["../../src/services/concurrent-sessions.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAiTH,8CAKC;AAED,kDAKC;AA3TD,2BAAiG;AACjG,+BAA4B;AAC5B,6CAA4D;AAgC5D,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAa,cAAc;IAMzB,YAAY,MAAsC;QAF1C,mBAAc,GAA0C,IAAI,CAAC;QAGnE,IAAI,CAAC,MAAM,GAAG;YACZ,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,EAAE;YACtC,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM;YACrE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,IAAI,KAAK,EAAE,OAAO;SAC/D,CAAC;QAEF,IAAA,4BAAe,GAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAA,WAAI,EAAC,IAAA,wBAAW,GAAE,EAAE,iBAAiB,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,IAAA,cAAS,EAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAA4B;QACnC,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;YACxB,MAAM,EAAE,QAAQ;SACjB,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3E,OAAO;QACP,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC;YAAE,OAAO;QAElC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;YACnD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC1B,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC;YAAE,OAAO;QAElC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;YACnD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAExE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;oBAEnD,SAAS;oBACT,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;wBACnE,SAAS;wBACT,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;wBACrB,SAAS;oBACX,CAAC;oBAED,WAAW;oBACX,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtC,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;wBACrB,SAAS;oBACX,CAAC;oBAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,OAAO,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAW;QAChC,IAAI,CAAC;YACH,kBAAkB;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,SAAiB;QAC1C,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,cAAc,IAAI,OAAQ,IAAI,CAAC,cAAsB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACnF,IAAI,CAAC,cAAsB,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAExE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;oBAEnD,SAAS;oBACT,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;oBACjF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAEjD,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;wBACxB,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;wBACrB,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,UAAU;oBACV,IAAI,CAAC;wBACH,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;wBACrB,OAAO,EAAE,CAAC;oBACZ,CAAC;oBAAC,MAAM,CAAC;wBACP,KAAK;oBACP,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAjQD,wCAiQC;AAED,+EAA+E;AAC/E,KAAK;AACL,+EAA+E;AAE/E,IAAI,cAAc,GAA0B,IAAI,CAAC;AAEjD,SAAgB,iBAAiB,CAAC,MAAsC;IACtE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAgB,mBAAmB;IACjC,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;IACD,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
|
|
@@ -31,13 +31,21 @@ export declare function getGlobalConfigPath(): string;
|
|
|
31
31
|
export declare function getSettingsPath(): string;
|
|
32
32
|
/** Global usage counters state path. */
|
|
33
33
|
export declare function getUsageStatePath(): string;
|
|
34
|
+
/** Append-only model usage ledger used for cross-session cost accounting. */
|
|
35
|
+
export declare function getUsageLedgerPath(): string;
|
|
34
36
|
/** 用户级 Memory 文件路径 */
|
|
35
37
|
export declare function getUserMemoryPath(): string;
|
|
36
38
|
/** 命令历史文件路径 (JSONL) */
|
|
37
39
|
export declare function getHistoryPath(): string;
|
|
38
40
|
/** 项目配置目录路径 */
|
|
39
41
|
export declare function getProjectsDir(): string;
|
|
40
|
-
/** Encode an absolute project path into a stable, readable directory key.
|
|
42
|
+
/** Encode an absolute project path into a stable, readable directory key.
|
|
43
|
+
*
|
|
44
|
+
* Mixes a short hash of the original path into the key so that two distinct
|
|
45
|
+
* paths cannot collapse to the same key. Without the hash, paths that differ
|
|
46
|
+
* only in separator structure (e.g. "/a/b c" vs "/a/b-c") would both encode to
|
|
47
|
+
* "a-b-c" and silently share the same project store - a data-confusion bug.
|
|
48
|
+
*/
|
|
41
49
|
export declare function encodeProjectPath(projectPath: string): string;
|
|
42
50
|
/** Resolve a project path for storage identity without depending on session-storage. */
|
|
43
51
|
export declare function resolveProjectStoragePath(projectPath: string): string;
|
|
@@ -61,6 +69,8 @@ export declare function getProjectSessionMetaPath(projectPath: string, sessionId
|
|
|
61
69
|
export declare function getProjectSessionMessagesPath(projectPath: string, sessionId: string): string;
|
|
62
70
|
/** 项目内单个会话 Harness sidecar 路径 */
|
|
63
71
|
export declare function getProjectSessionHarnessPath(projectPath: string, sessionId: string): string;
|
|
72
|
+
/** Latest durable compact checkpoint for a session. */
|
|
73
|
+
export declare function getProjectSessionCompactPath(projectPath: string, sessionId: string): string;
|
|
64
74
|
/** 项目内单个会话 trace sidecar 路径 */
|
|
65
75
|
export declare function getProjectSessionTracePath(projectPath: string, sessionId: string): string;
|
|
66
76
|
/** 项目 Memory 目录路径 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-dir.d.ts","sourceRoot":"","sources":["../../src/services/config-dir.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,8BAA8B;AAC9B,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,CActC;AAMD,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAe;AACf,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,gBAAgB;AAChB,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wCAAwC;AACxC,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,sBAAsB;AACtB,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,uBAAuB;AACvB,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,eAAe;AACf,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED
|
|
1
|
+
{"version":3,"file":"config-dir.d.ts","sourceRoot":"","sources":["../../src/services/config-dir.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ exports.ensureConfigDir = ensureConfigDir;
|
|
|
13
13
|
exports.getGlobalConfigPath = getGlobalConfigPath;
|
|
14
14
|
exports.getSettingsPath = getSettingsPath;
|
|
15
15
|
exports.getUsageStatePath = getUsageStatePath;
|
|
16
|
+
exports.getUsageLedgerPath = getUsageLedgerPath;
|
|
16
17
|
exports.getUserMemoryPath = getUserMemoryPath;
|
|
17
18
|
exports.getHistoryPath = getHistoryPath;
|
|
18
19
|
exports.getProjectsDir = getProjectsDir;
|
|
@@ -28,6 +29,7 @@ exports.updateProjectMetadata = updateProjectMetadata;
|
|
|
28
29
|
exports.getProjectSessionMetaPath = getProjectSessionMetaPath;
|
|
29
30
|
exports.getProjectSessionMessagesPath = getProjectSessionMessagesPath;
|
|
30
31
|
exports.getProjectSessionHarnessPath = getProjectSessionHarnessPath;
|
|
32
|
+
exports.getProjectSessionCompactPath = getProjectSessionCompactPath;
|
|
31
33
|
exports.getProjectSessionTracePath = getProjectSessionTracePath;
|
|
32
34
|
exports.getProjectMemoryDir = getProjectMemoryDir;
|
|
33
35
|
exports.getLegacyProjectMemoryDir = getLegacyProjectMemoryDir;
|
|
@@ -93,6 +95,10 @@ function getSettingsPath() {
|
|
|
93
95
|
function getUsageStatePath() {
|
|
94
96
|
return (0, path_1.join)(getConfigHome(), 'usage.json');
|
|
95
97
|
}
|
|
98
|
+
/** Append-only model usage ledger used for cross-session cost accounting. */
|
|
99
|
+
function getUsageLedgerPath() {
|
|
100
|
+
return (0, path_1.join)(getConfigHome(), 'cost', 'usage-ledger.jsonl');
|
|
101
|
+
}
|
|
96
102
|
/** 用户级 Memory 文件路径 */
|
|
97
103
|
function getUserMemoryPath() {
|
|
98
104
|
return (0, path_1.join)(getConfigHome(), 'OPENHORSE.md');
|
|
@@ -105,13 +111,20 @@ function getHistoryPath() {
|
|
|
105
111
|
function getProjectsDir() {
|
|
106
112
|
return (0, path_1.join)(getConfigHome(), 'projects');
|
|
107
113
|
}
|
|
108
|
-
/** Encode an absolute project path into a stable, readable directory key.
|
|
114
|
+
/** Encode an absolute project path into a stable, readable directory key.
|
|
115
|
+
*
|
|
116
|
+
* Mixes a short hash of the original path into the key so that two distinct
|
|
117
|
+
* paths cannot collapse to the same key. Without the hash, paths that differ
|
|
118
|
+
* only in separator structure (e.g. "/a/b c" vs "/a/b-c") would both encode to
|
|
119
|
+
* "a-b-c" and silently share the same project store - a data-confusion bug.
|
|
120
|
+
*/
|
|
109
121
|
function encodeProjectPath(projectPath) {
|
|
110
122
|
const normalized = projectPath.replace(/\\/g, '/');
|
|
111
123
|
const encoded = normalized
|
|
112
124
|
.replace(/[^A-Za-z0-9]+/g, '-')
|
|
113
125
|
.replace(/^-+|-+$/g, '');
|
|
114
|
-
|
|
126
|
+
const suffix = (0, crypto_1.createHash)('sha256').update(normalized).digest('hex').slice(0, 8);
|
|
127
|
+
return `${encoded || 'root'}-${suffix}`;
|
|
115
128
|
}
|
|
116
129
|
/** Resolve a project path for storage identity without depending on session-storage. */
|
|
117
130
|
function resolveProjectStoragePath(projectPath) {
|
|
@@ -225,6 +238,10 @@ function getProjectSessionMessagesPath(projectPath, sessionId) {
|
|
|
225
238
|
function getProjectSessionHarnessPath(projectPath, sessionId) {
|
|
226
239
|
return (0, path_1.join)(getProjectSessionsDir(projectPath), `${sessionId}.harness.json`);
|
|
227
240
|
}
|
|
241
|
+
/** Latest durable compact checkpoint for a session. */
|
|
242
|
+
function getProjectSessionCompactPath(projectPath, sessionId) {
|
|
243
|
+
return (0, path_1.join)(getProjectSessionsDir(projectPath), `${sessionId}.compact.json`);
|
|
244
|
+
}
|
|
228
245
|
/** 项目内单个会话 trace sidecar 路径 */
|
|
229
246
|
function getProjectSessionTracePath(projectPath, sessionId) {
|
|
230
247
|
return (0, path_1.join)(getProjectSessionsDir(projectPath), `${sessionId}.trace.jsonl`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-dir.js","sourceRoot":"","sources":["../../src/services/config-dir.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiBH,sCAEC;AAGD,oCAEC;AAMD,0CAcC;AAkBD,kDAEC;AAGD,0CAEC;AAGD,8CAEC;AAGD,8CAEC;AAGD,wCAEC;AAGD,wCAEC;
|
|
1
|
+
{"version":3,"file":"config-dir.js","sourceRoot":"","sources":["../../src/services/config-dir.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,12 +10,15 @@
|
|
|
10
10
|
* 4. Agent 内部默认值
|
|
11
11
|
*
|
|
12
12
|
* UI renderer is intentionally not read from openhorse.json or env. The stable
|
|
13
|
-
* native terminal UI is the default; --ui tui
|
|
14
|
-
*
|
|
13
|
+
* native terminal UI is the default; --ui tui is the recommended beta renderer;
|
|
14
|
+
* --ui ink is deprecated and will be removed in a future release.
|
|
15
15
|
*/
|
|
16
|
-
import { type ToolConfirmationPolicy, type UIConfig, type UIRenderer, type UIConfirmationMode, type WebSearchMcpConfig, type SkillsConfig, type AgentLoopConfig, type AgentLoopBudgetConfig } from './global-config';
|
|
17
|
-
|
|
16
|
+
import { type ToolConfirmationPolicy, type UIConfig, type UIRenderer, type UIConfirmationMode, type WebSearchMcpConfig, type SkillsConfig, type AgentLoopConfig, type AgentLoopBudgetConfig, type SubagentUserConfig, type SubagentMode, type SubagentRole, type CostConfig } from './global-config';
|
|
17
|
+
import { type SubagentConfig } from '../runtime/subagents/types';
|
|
18
|
+
export type { ToolConfirmationPolicy, UIConfig, UIRenderer, UIConfirmationMode, WebSearchMcpConfig, SkillsConfig, AgentLoopConfig, AgentLoopBudgetConfig, SubagentUserConfig, SubagentMode, SubagentRole, CostConfig, };
|
|
18
19
|
export declare const STABLE_UI_RENDERER: UIRenderer;
|
|
20
|
+
export declare const RECOMMENDED_BETA_UI_RENDERER: UIRenderer;
|
|
21
|
+
export declare const DEPRECATED_BETA_UI_RENDERERS: readonly ["ink"];
|
|
19
22
|
export declare const BETA_UI_RENDERERS: readonly ["tui", "ink"];
|
|
20
23
|
export declare const SUPPORTED_UI_RENDERERS: readonly ["terminal", "tui", "ink"];
|
|
21
24
|
/**
|
|
@@ -42,6 +45,10 @@ export interface OpenHorseCLIConfig {
|
|
|
42
45
|
skills?: SkillsConfig;
|
|
43
46
|
/** Agent loop guardrail configuration. */
|
|
44
47
|
agentLoop?: AgentLoopConfig;
|
|
48
|
+
/** Resolved subagent runtime configuration (v0.2.20 beta). */
|
|
49
|
+
subagents?: SubagentConfig;
|
|
50
|
+
/** Cost-accounting overrides for custom or routed models. */
|
|
51
|
+
cost?: CostConfig;
|
|
45
52
|
/** 实例名称 */
|
|
46
53
|
name: string;
|
|
47
54
|
/** 运行模式 */
|
|
@@ -53,6 +60,8 @@ export declare function resolveUIRenderer(value: unknown): UIRenderer | undefine
|
|
|
53
60
|
export declare function isSupportedUIRenderer(value: unknown): value is UIRenderer;
|
|
54
61
|
export declare function isInteractiveUIRenderer(value: unknown): value is UIRenderer;
|
|
55
62
|
export declare function isBetaUIRenderer(value: unknown): value is typeof BETA_UI_RENDERERS[number];
|
|
63
|
+
export declare function isRecommendedBetaUIRenderer(value: unknown): boolean;
|
|
64
|
+
export declare function isDeprecatedUIRenderer(value: unknown): boolean;
|
|
56
65
|
/**
|
|
57
66
|
* 从多源加载配置
|
|
58
67
|
* 优先级:命令行 > 配置文件 > 环境变量 > Agent 内部默认值
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
|
package/dist/services/config.js
CHANGED
|
@@ -11,23 +11,29 @@
|
|
|
11
11
|
* 4. Agent 内部默认值
|
|
12
12
|
*
|
|
13
13
|
* UI renderer is intentionally not read from openhorse.json or env. The stable
|
|
14
|
-
* native terminal UI is the default; --ui tui
|
|
15
|
-
*
|
|
14
|
+
* native terminal UI is the default; --ui tui is the recommended beta renderer;
|
|
15
|
+
* --ui ink is deprecated and will be removed in a future release.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.SUPPORTED_UI_RENDERERS = exports.BETA_UI_RENDERERS = exports.STABLE_UI_RENDERER = void 0;
|
|
18
|
+
exports.SUPPORTED_UI_RENDERERS = exports.BETA_UI_RENDERERS = exports.DEPRECATED_BETA_UI_RENDERERS = exports.RECOMMENDED_BETA_UI_RENDERER = exports.STABLE_UI_RENDERER = void 0;
|
|
19
19
|
exports.resolveUIRenderer = resolveUIRenderer;
|
|
20
20
|
exports.isSupportedUIRenderer = isSupportedUIRenderer;
|
|
21
21
|
exports.isInteractiveUIRenderer = isInteractiveUIRenderer;
|
|
22
22
|
exports.isBetaUIRenderer = isBetaUIRenderer;
|
|
23
|
+
exports.isRecommendedBetaUIRenderer = isRecommendedBetaUIRenderer;
|
|
24
|
+
exports.isDeprecatedUIRenderer = isDeprecatedUIRenderer;
|
|
23
25
|
exports.loadConfig = loadConfig;
|
|
24
26
|
exports.isConfigured = isConfigured;
|
|
25
27
|
exports.getConfigErrors = getConfigErrors;
|
|
26
28
|
exports.getConfigSummary = getConfigSummary;
|
|
27
29
|
const global_config_1 = require("./global-config");
|
|
28
30
|
const path_1 = require("path");
|
|
31
|
+
const types_1 = require("../runtime/subagents/types");
|
|
32
|
+
const policy_1 = require("../runtime/subagents/policy");
|
|
29
33
|
exports.STABLE_UI_RENDERER = 'terminal';
|
|
30
|
-
exports.
|
|
34
|
+
exports.RECOMMENDED_BETA_UI_RENDERER = 'tui';
|
|
35
|
+
exports.DEPRECATED_BETA_UI_RENDERERS = ['ink'];
|
|
36
|
+
exports.BETA_UI_RENDERERS = [exports.RECOMMENDED_BETA_UI_RENDERER, ...exports.DEPRECATED_BETA_UI_RENDERERS];
|
|
31
37
|
exports.SUPPORTED_UI_RENDERERS = [exports.STABLE_UI_RENDERER, ...exports.BETA_UI_RENDERERS];
|
|
32
38
|
// ============================================================================
|
|
33
39
|
// Agent 内部默认值(用户无需关心)
|
|
@@ -66,6 +72,12 @@ function isInteractiveUIRenderer(value) {
|
|
|
66
72
|
function isBetaUIRenderer(value) {
|
|
67
73
|
return typeof value === 'string' && exports.BETA_UI_RENDERERS.includes(value);
|
|
68
74
|
}
|
|
75
|
+
function isRecommendedBetaUIRenderer(value) {
|
|
76
|
+
return value === exports.RECOMMENDED_BETA_UI_RENDERER;
|
|
77
|
+
}
|
|
78
|
+
function isDeprecatedUIRenderer(value) {
|
|
79
|
+
return typeof value === 'string' && exports.DEPRECATED_BETA_UI_RENDERERS.includes(value);
|
|
80
|
+
}
|
|
69
81
|
function normalizeUIConfirmationMode(value) {
|
|
70
82
|
return value === 'config' || value === 'interactive'
|
|
71
83
|
? value
|
|
@@ -162,6 +174,73 @@ function loadAgentLoopConfig(globalConfig, overrides) {
|
|
|
162
174
|
}
|
|
163
175
|
return Object.keys(budget).length > 0 ? { budget } : undefined;
|
|
164
176
|
}
|
|
177
|
+
function normalizePricing(value) {
|
|
178
|
+
if (!value || typeof value !== 'object')
|
|
179
|
+
return undefined;
|
|
180
|
+
const pricing = value;
|
|
181
|
+
const input = pricing.input;
|
|
182
|
+
const output = pricing.output;
|
|
183
|
+
const cachedInput = pricing.cachedInput;
|
|
184
|
+
if (typeof input !== 'number'
|
|
185
|
+
|| !Number.isFinite(input)
|
|
186
|
+
|| input < 0
|
|
187
|
+
|| typeof output !== 'number'
|
|
188
|
+
|| !Number.isFinite(output)
|
|
189
|
+
|| output < 0) {
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
return {
|
|
193
|
+
input,
|
|
194
|
+
output,
|
|
195
|
+
...(typeof cachedInput === 'number' && Number.isFinite(cachedInput) && cachedInput >= 0
|
|
196
|
+
? { cachedInput }
|
|
197
|
+
: {}),
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
function loadCostConfig(globalConfig, overrides) {
|
|
201
|
+
const sourceModels = {
|
|
202
|
+
...(globalConfig.cost?.modelPricing ?? {}),
|
|
203
|
+
...(overrides.cost?.modelPricing ?? {}),
|
|
204
|
+
};
|
|
205
|
+
const modelPricing = Object.fromEntries(Object.entries(sourceModels)
|
|
206
|
+
.map(([model, pricing]) => [model, normalizePricing(pricing)])
|
|
207
|
+
.filter((entry) => Boolean(entry[1])));
|
|
208
|
+
const defaultPricing = normalizePricing(overrides.cost?.defaultPricing ?? globalConfig.cost?.defaultPricing);
|
|
209
|
+
if (Object.keys(modelPricing).length === 0 && !defaultPricing)
|
|
210
|
+
return undefined;
|
|
211
|
+
return {
|
|
212
|
+
...(Object.keys(modelPricing).length > 0 ? { modelPricing } : {}),
|
|
213
|
+
...(defaultPricing ? { defaultPricing } : {}),
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
function parseSubagentMode(value) {
|
|
217
|
+
return value === 'off' || value === 'explicit' || value === 'auto' ? value : undefined;
|
|
218
|
+
}
|
|
219
|
+
function loadSubagentConfig(globalConfig, overrides) {
|
|
220
|
+
const merged = {
|
|
221
|
+
...globalConfig.subagents,
|
|
222
|
+
...overrides.subagents,
|
|
223
|
+
};
|
|
224
|
+
const envMode = parseSubagentMode(process.env.OPENHORSE_SUBAGENTS);
|
|
225
|
+
if (envMode)
|
|
226
|
+
merged.mode = envMode;
|
|
227
|
+
const envMaxParallel = parsePositiveInt(process.env.OPENHORSE_SUBAGENT_MAX_PARALLEL);
|
|
228
|
+
if (envMaxParallel)
|
|
229
|
+
merged.maxParallel = envMaxParallel;
|
|
230
|
+
const resolved = {
|
|
231
|
+
mode: merged.mode ?? types_1.DEFAULT_SUBAGENT_CONFIG.mode,
|
|
232
|
+
maxParallel: merged.maxParallel ?? types_1.DEFAULT_SUBAGENT_CONFIG.maxParallel,
|
|
233
|
+
maxTasksPerTurn: merged.maxTasksPerTurn ?? types_1.DEFAULT_SUBAGENT_CONFIG.maxTasksPerTurn,
|
|
234
|
+
maxTurnsPerTask: merged.maxTurnsPerTask ?? types_1.DEFAULT_SUBAGENT_CONFIG.maxTurnsPerTask,
|
|
235
|
+
maxModelRequestsPerTask: merged.maxModelRequestsPerTask ?? types_1.DEFAULT_SUBAGENT_CONFIG.maxModelRequestsPerTask,
|
|
236
|
+
maxModelRequestsPerTurn: merged.maxModelRequestsPerTurn ?? types_1.DEFAULT_SUBAGENT_CONFIG.maxModelRequestsPerTurn,
|
|
237
|
+
maxToolCallsPerTask: merged.maxToolCallsPerTask ?? types_1.DEFAULT_SUBAGENT_CONFIG.maxToolCallsPerTask,
|
|
238
|
+
timeoutMs: merged.timeoutMs ?? types_1.DEFAULT_SUBAGENT_CONFIG.timeoutMs,
|
|
239
|
+
roles: merged.roles && merged.roles.length > 0 ? merged.roles : types_1.DEFAULT_SUBAGENT_CONFIG.roles,
|
|
240
|
+
};
|
|
241
|
+
// Clamp to enforced bounds so a misconfigured openhorse.json cannot weaken limits.
|
|
242
|
+
return (0, policy_1.clampSubagentConfig)(resolved);
|
|
243
|
+
}
|
|
165
244
|
// ============================================================================
|
|
166
245
|
// 加载配置
|
|
167
246
|
// ============================================================================
|
|
@@ -198,6 +277,8 @@ function loadConfig(overrides = {}) {
|
|
|
198
277
|
ui: loadUIConfig(globalConfig, overrides),
|
|
199
278
|
skills: loadSkillsConfig(globalConfig, overrides),
|
|
200
279
|
agentLoop: loadAgentLoopConfig(globalConfig, overrides),
|
|
280
|
+
subagents: loadSubagentConfig(globalConfig, overrides),
|
|
281
|
+
cost: loadCostConfig(globalConfig, overrides),
|
|
201
282
|
// Agent 内部参数
|
|
202
283
|
name: overrides.name ?? process.env.OPENHORSE_NAME ?? INTERNAL_DEFAULTS.name,
|
|
203
284
|
mode: (overrides.mode ?? process.env.OPENHORSE_MODE ?? INTERNAL_DEFAULTS.mode),
|