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
package/dist/tui-ui/launch.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.launchTuiUI = launchTuiUI;
|
|
4
|
+
exports.statusSnapshotString = statusSnapshotString;
|
|
4
5
|
const agent_runtime_controller_1 = require("../runtime/agent-runtime-controller");
|
|
6
|
+
const util_1 = require("util");
|
|
5
7
|
const ui_events_1 = require("../runtime/ui-events");
|
|
8
|
+
const ui_view_model_1 = require("../runtime/ui-view-model");
|
|
6
9
|
const runner_1 = require("./runner");
|
|
7
|
-
const
|
|
8
|
-
const EXIT_ALT_SCREEN = '\x1b[?1049l';
|
|
9
|
-
const ENABLE_BRACKETED_PASTE = '\x1b[?2004h';
|
|
10
|
+
const inline_surface_1 = require("./inline-surface");
|
|
10
11
|
const DISABLE_BRACKETED_PASTE = '\x1b[?2004l';
|
|
11
12
|
const SHOW_CURSOR = '\x1b[?25h';
|
|
12
|
-
const
|
|
13
|
+
const ENABLE_AUTOWRAP = '\x1b[?7h';
|
|
13
14
|
async function launchTuiUI(runtime, options = {}) {
|
|
14
15
|
const input = options.input ?? process.stdin;
|
|
15
16
|
const output = options.output ?? process.stdout;
|
|
@@ -18,9 +19,14 @@ async function launchTuiUI(runtime, options = {}) {
|
|
|
18
19
|
}
|
|
19
20
|
let runner;
|
|
20
21
|
let controller;
|
|
22
|
+
let surface;
|
|
23
|
+
let systemId = null;
|
|
21
24
|
let stopping = false;
|
|
22
25
|
let settled = false;
|
|
23
26
|
let resolveLaunch = null;
|
|
27
|
+
// Once guard: shared cleanup promise so concurrent stop calls share one execution.
|
|
28
|
+
let cleanupPromise = null;
|
|
29
|
+
let restoreConsole = null;
|
|
24
30
|
const dimensions = () => {
|
|
25
31
|
const size = readTtyDimensions(output);
|
|
26
32
|
return {
|
|
@@ -34,31 +40,216 @@ async function launchTuiUI(runtime, options = {}) {
|
|
|
34
40
|
settled = true;
|
|
35
41
|
resolveLaunch?.();
|
|
36
42
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Emergency terminal restore — independent of runner/controller/surface.
|
|
45
|
+
* Used when cleanup cannot complete normally (renderer error, partial init).
|
|
46
|
+
* Must not throw; all operations are best-effort with optional guards.
|
|
47
|
+
*/
|
|
48
|
+
const emergencyRestore = () => {
|
|
49
|
+
try {
|
|
50
|
+
if (typeof input.setRawMode === 'function') {
|
|
44
51
|
input.setRawMode(false);
|
|
45
52
|
}
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
/* best effort */
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
input.pause();
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
/* best effort */
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
output.write(`${SHOW_CURSOR}${ENABLE_AUTOWRAP}${DISABLE_BRACKETED_PASTE}\n`);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
/* best effort */
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
/** Route process-level rejection feedback through the owned TUI surface. */
|
|
71
|
+
const onUnhandledRejection = (reason) => {
|
|
72
|
+
if (stopping)
|
|
73
|
+
return;
|
|
74
|
+
const message = reason instanceof Error ? reason.message : String(reason);
|
|
75
|
+
runner.dispatch({ type: 'setStatus', message: `Unhandled rejection: ${message}` });
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Once-guarded cleanup. Multiple concurrent calls (SIGINT, SIGTERM, runtime
|
|
79
|
+
* shutdown, renderer error) all share the same promise. Only the first call
|
|
80
|
+
* executes; subsequent calls await the same promise.
|
|
81
|
+
*/
|
|
82
|
+
const cleanup = () => {
|
|
83
|
+
if (cleanupPromise)
|
|
84
|
+
return cleanupPromise;
|
|
85
|
+
cleanupPromise = (async () => {
|
|
86
|
+
// Clear any pending resize debounce timer.
|
|
87
|
+
if (resizeDebounceTimer !== null) {
|
|
88
|
+
clearTimeout(resizeDebounceTimer);
|
|
89
|
+
resizeDebounceTimer = null;
|
|
90
|
+
}
|
|
91
|
+
// Remove listeners first to prevent re-entrancy.
|
|
92
|
+
try {
|
|
93
|
+
input.off('data', handleData);
|
|
94
|
+
}
|
|
46
95
|
catch {
|
|
47
|
-
|
|
96
|
+
/* ok */
|
|
48
97
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
98
|
+
try {
|
|
99
|
+
output.off('resize', handleResize);
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
/* ok */
|
|
103
|
+
}
|
|
104
|
+
try {
|
|
105
|
+
process.off('SIGWINCH', handleResize);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
/* ok */
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
process.off('SIGINT', handleSigint);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
/* ok */
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
process.off('SIGTERM', handleSigterm);
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
/* ok */
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
process.off('SIGHUP', handleSighup);
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
/* ok */
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
process.off('unhandledRejection', onUnhandledRejection);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
/* ok */
|
|
133
|
+
}
|
|
134
|
+
// Stop active turn (controller may not exist if init failed).
|
|
135
|
+
if (controller) {
|
|
136
|
+
try {
|
|
137
|
+
await controller.stopActiveTurn();
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
/* best effort — don't block cleanup */
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Restore raw mode.
|
|
144
|
+
try {
|
|
145
|
+
if (typeof input.setRawMode === 'function') {
|
|
146
|
+
input.setRawMode(false);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
/* best effort */
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
input.pause();
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
/* best effort */
|
|
157
|
+
}
|
|
158
|
+
// Stop scheduler before surface cleanup (prevents pending renders).
|
|
159
|
+
if (runner) {
|
|
160
|
+
try {
|
|
161
|
+
runner.getScheduler().stop();
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
/* best effort */
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// Flush surface queue to ensure all pending writes complete.
|
|
168
|
+
if (surface) {
|
|
169
|
+
try {
|
|
170
|
+
await surface.flush();
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
/* best effort */
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// Unmount surface (clears ephemeral live region only).
|
|
177
|
+
if (surface) {
|
|
178
|
+
try {
|
|
179
|
+
await surface.unmount();
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
/* best effort */
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
restoreConsole?.();
|
|
186
|
+
restoreConsole = null;
|
|
187
|
+
// Restore terminal state: cursor, autowrap, bracketed paste.
|
|
188
|
+
// NO alternate-screen exit, NO full clear, NO erasing committed scrollback.
|
|
189
|
+
try {
|
|
190
|
+
output.write(`${SHOW_CURSOR}${ENABLE_AUTOWRAP}${DISABLE_BRACKETED_PASTE}`);
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
/* best effort */
|
|
194
|
+
}
|
|
195
|
+
// Runtime shutdown last; preserves original exit code/signal semantics.
|
|
196
|
+
try {
|
|
197
|
+
await runtime.shutdown();
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
/* best effort */
|
|
201
|
+
}
|
|
202
|
+
})();
|
|
203
|
+
return cleanupPromise;
|
|
53
204
|
};
|
|
205
|
+
/**
|
|
206
|
+
* Initiate graceful stop. Once-guarded: only the first call proceeds.
|
|
207
|
+
* Uses async/await so finishLaunch() runs in the same microtask chain
|
|
208
|
+
* as cleanup completion.
|
|
209
|
+
*/
|
|
54
210
|
const stop = async () => {
|
|
55
211
|
if (stopping)
|
|
56
212
|
return;
|
|
57
213
|
stopping = true;
|
|
58
|
-
|
|
59
|
-
|
|
214
|
+
try {
|
|
215
|
+
await cleanup();
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
// Cleanup error must not mask the original error.
|
|
219
|
+
// Emergency restore as fallback.
|
|
220
|
+
emergencyRestore();
|
|
221
|
+
}
|
|
60
222
|
finishLaunch();
|
|
61
223
|
};
|
|
224
|
+
/**
|
|
225
|
+
* Handle renderer-layer errors. Emergency restore first, then report.
|
|
226
|
+
*/
|
|
227
|
+
const failRenderer = (error) => {
|
|
228
|
+
if (stopping)
|
|
229
|
+
return;
|
|
230
|
+
stopping = true;
|
|
231
|
+
// Emergency restore independent of partially-constructed objects.
|
|
232
|
+
emergencyRestore();
|
|
233
|
+
// Report sanitized renderer-layer error to stderr.
|
|
234
|
+
try {
|
|
235
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
236
|
+
process.stderr.write(`\nTUI renderer error: ${message}\n`);
|
|
237
|
+
}
|
|
238
|
+
catch {
|
|
239
|
+
/* best effort */
|
|
240
|
+
}
|
|
241
|
+
// Attempt full cleanup (may partially fail — that's ok).
|
|
242
|
+
// Ensure finishLaunch() runs on both success and rejection so the error
|
|
243
|
+
// path always completes and no unhandled promise rejection escapes.
|
|
244
|
+
void cleanup()
|
|
245
|
+
.catch(() => {
|
|
246
|
+
// Cleanup failure must not mask the original renderer error.
|
|
247
|
+
emergencyRestore();
|
|
248
|
+
})
|
|
249
|
+
.finally(() => {
|
|
250
|
+
finishLaunch();
|
|
251
|
+
});
|
|
252
|
+
};
|
|
62
253
|
const consumeSessionPickerSelection = (inputValue) => {
|
|
63
254
|
const overlay = runner.getState().overlay;
|
|
64
255
|
if (overlay?.type !== 'sessions')
|
|
@@ -72,7 +263,12 @@ async function launchTuiUI(runtime, options = {}) {
|
|
|
72
263
|
runner.events.append({ role: 'error', content: 'No session selected.' });
|
|
73
264
|
return '';
|
|
74
265
|
}
|
|
75
|
-
return {
|
|
266
|
+
return {
|
|
267
|
+
type: 'select_session',
|
|
268
|
+
sessionId: selected.id,
|
|
269
|
+
allProjects: request.allProjects,
|
|
270
|
+
source: 'picker',
|
|
271
|
+
};
|
|
76
272
|
}
|
|
77
273
|
if (trimmed.startsWith('/'))
|
|
78
274
|
return trimmed;
|
|
@@ -84,11 +280,27 @@ async function launchTuiUI(runtime, options = {}) {
|
|
|
84
280
|
runner.events.append({ role: 'error', content: `No session at index ${numeric[1]}.` });
|
|
85
281
|
return '';
|
|
86
282
|
}
|
|
87
|
-
return {
|
|
283
|
+
return {
|
|
284
|
+
type: 'select_session',
|
|
285
|
+
sessionId: selected.id,
|
|
286
|
+
allProjects: request.allProjects,
|
|
287
|
+
source: 'picker',
|
|
288
|
+
};
|
|
88
289
|
}
|
|
89
|
-
return {
|
|
290
|
+
return {
|
|
291
|
+
type: 'select_session',
|
|
292
|
+
sessionId: trimmed,
|
|
293
|
+
allProjects: request.allProjects,
|
|
294
|
+
source: 'picker',
|
|
295
|
+
};
|
|
90
296
|
};
|
|
91
297
|
const submit = (rawInput) => {
|
|
298
|
+
// Finalize the initial system message so it can be committed to scrollback
|
|
299
|
+
// and the commit boundary can advance past it.
|
|
300
|
+
if (systemId !== null) {
|
|
301
|
+
runner.events.finalize(systemId);
|
|
302
|
+
systemId = null; // Only finalize once.
|
|
303
|
+
}
|
|
92
304
|
const selectedInput = consumeSessionPickerSelection(rawInput);
|
|
93
305
|
const runtimeInput = typeof selectedInput === 'string'
|
|
94
306
|
? { type: 'submit', text: selectedInput.trim(), source: 'composer' }
|
|
@@ -109,74 +321,191 @@ async function launchTuiUI(runtime, options = {}) {
|
|
|
109
321
|
const result = controller.handle({ type: 'interrupt', source: 'keyboard' });
|
|
110
322
|
if (result.type === 'exit_requested') {
|
|
111
323
|
void stop();
|
|
324
|
+
return;
|
|
112
325
|
}
|
|
326
|
+
// Visual feedback: show interrupt/exit-prompt warning in the status bar
|
|
327
|
+
runner.dispatch({
|
|
328
|
+
type: 'setStatus',
|
|
329
|
+
message: result.type === 'interrupted'
|
|
330
|
+
? '⚠️ Interrupted — press Ctrl+C again to force exit'
|
|
331
|
+
: '⚠️ Press Ctrl+C again to exit',
|
|
332
|
+
});
|
|
113
333
|
};
|
|
114
334
|
const handleData = (chunk) => {
|
|
115
335
|
if (!stopping) {
|
|
116
336
|
runner.feedInput(chunk);
|
|
117
337
|
}
|
|
118
338
|
};
|
|
339
|
+
let resizeDebounceTimer = null;
|
|
340
|
+
const RESIZE_DEBOUNCE_MS = 100;
|
|
119
341
|
const handleResize = () => {
|
|
120
342
|
if (stopping)
|
|
121
343
|
return;
|
|
122
|
-
|
|
123
|
-
|
|
344
|
+
runner.beginResize(dimensions().width);
|
|
345
|
+
if (resizeDebounceTimer !== null) {
|
|
346
|
+
clearTimeout(resizeDebounceTimer);
|
|
347
|
+
}
|
|
348
|
+
resizeDebounceTimer = setTimeout(() => {
|
|
349
|
+
resizeDebounceTimer = null;
|
|
350
|
+
if (stopping)
|
|
351
|
+
return;
|
|
352
|
+
const { width, height } = dimensions();
|
|
353
|
+
runner.resize(width, height);
|
|
354
|
+
}, RESIZE_DEBOUNCE_MS);
|
|
124
355
|
};
|
|
125
356
|
const handleSigint = () => {
|
|
126
357
|
handleCtrlC();
|
|
127
358
|
};
|
|
128
|
-
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
359
|
+
// SIGTERM/SIGHUP: direct cancel + cleanup (no "double Ctrl+C" product semantics).
|
|
360
|
+
const handleSigterm = () => {
|
|
361
|
+
void stop();
|
|
362
|
+
};
|
|
363
|
+
const handleSighup = () => {
|
|
364
|
+
void stop();
|
|
365
|
+
};
|
|
366
|
+
try {
|
|
367
|
+
// Primary-screen inline surface: no alternate screen (1049).
|
|
368
|
+
const { width, height } = dimensions();
|
|
369
|
+
surface = new inline_surface_1.InlineTerminalSurface({ output });
|
|
370
|
+
// Mount enters the same serialized queue as subsequent paints. Start it
|
|
371
|
+
// synchronously so input listeners are installed in this turn; awaiting it
|
|
372
|
+
// here creates a window where early keystrokes are dropped.
|
|
373
|
+
void surface.mount(width, height).catch(error => failRenderer(error));
|
|
374
|
+
// surface.mount() enables bracketed paste and hides cursor; no need for
|
|
375
|
+
// redundant output.write of those sequences.
|
|
376
|
+
runner = new runner_1.TuiRunner({
|
|
377
|
+
output,
|
|
378
|
+
width,
|
|
379
|
+
height,
|
|
380
|
+
cwd: runtime.cwd,
|
|
381
|
+
onSubmit: submit,
|
|
382
|
+
onCtrlC: handleCtrlC,
|
|
383
|
+
onPermissionDecision: (requestId, approved) => {
|
|
384
|
+
controller.handle({
|
|
385
|
+
type: 'permission_decision',
|
|
386
|
+
requestId,
|
|
387
|
+
approved,
|
|
388
|
+
source: 'keyboard',
|
|
389
|
+
});
|
|
390
|
+
},
|
|
391
|
+
surface,
|
|
392
|
+
onSurfaceError: failRenderer,
|
|
393
|
+
});
|
|
394
|
+
restoreConsole = installTuiConsoleBridge(runner.events, () => stopping);
|
|
395
|
+
const dispatchStatusSnapshot = (phase) => {
|
|
396
|
+
const runtimeSnapshot = runtime.store.getSnapshot();
|
|
397
|
+
const snapshot = (0, ui_view_model_1.createStatusSnapshot)({
|
|
398
|
+
renderer: 'tui',
|
|
399
|
+
model: runtimeSnapshot.currentModel || runtime.config.model,
|
|
400
|
+
sessionId: runtime.getSession()?.id,
|
|
401
|
+
context: runtimeSnapshot.contextUsage ?? undefined,
|
|
402
|
+
runningState: phase,
|
|
403
|
+
tokens: tokensFromRuntime(runtime),
|
|
143
404
|
});
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
405
|
+
runner.dispatch({ type: 'setStatusSnapshot', snapshot, phase });
|
|
406
|
+
return statusSnapshotString(runtime);
|
|
407
|
+
};
|
|
408
|
+
controller = new agent_runtime_controller_1.AgentRuntimeController({
|
|
409
|
+
runtime,
|
|
410
|
+
events: runner.events,
|
|
411
|
+
uiCapabilities: (0, ui_events_1.resolveUiRendererCapabilities)(undefined, 'tui'),
|
|
412
|
+
uiRenderer: 'tui',
|
|
413
|
+
useRuntimeToolPermissions: true,
|
|
414
|
+
runningStatus: () => dispatchStatusSnapshot('running'),
|
|
415
|
+
readyStatus: () => dispatchStatusSnapshot('ready'),
|
|
416
|
+
});
|
|
417
|
+
// The initial system message stays live (not finalized) so it's visible
|
|
418
|
+
// in the live region rather than scrolling off into shell scrollback.
|
|
419
|
+
// It's finalized when the user submits their first input.
|
|
420
|
+
systemId = runner.events.append({
|
|
421
|
+
role: 'system',
|
|
422
|
+
content: `OPENHORSE v${runtime.version}\nProject ${runtime.cwd}\n/ commands @ files ? shortcuts Ctrl+C twice exits`,
|
|
423
|
+
live: true,
|
|
424
|
+
});
|
|
425
|
+
runner.events.setStatus(statusSnapshotString(runtime));
|
|
426
|
+
dispatchStatusSnapshot('ready');
|
|
427
|
+
input.resume();
|
|
428
|
+
if (typeof input.setRawMode === 'function') {
|
|
429
|
+
input.setRawMode(true);
|
|
430
|
+
}
|
|
431
|
+
input.on('data', handleData);
|
|
432
|
+
output.on('resize', handleResize);
|
|
433
|
+
process.on('SIGWINCH', handleResize);
|
|
434
|
+
process.on('SIGINT', handleSigint);
|
|
435
|
+
process.on('SIGTERM', handleSigterm);
|
|
436
|
+
process.on('SIGHUP', handleSighup);
|
|
437
|
+
process.on('unhandledRejection', onUnhandledRejection);
|
|
438
|
+
await new Promise(resolve => {
|
|
439
|
+
resolveLaunch = resolve;
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
catch (error) {
|
|
443
|
+
failRenderer(error);
|
|
444
|
+
throw error;
|
|
163
445
|
}
|
|
164
|
-
input.on('data', handleData);
|
|
165
|
-
output.on('resize', handleResize);
|
|
166
|
-
process.on('SIGWINCH', handleResize);
|
|
167
|
-
process.on('SIGINT', handleSigint);
|
|
168
|
-
await new Promise(resolve => {
|
|
169
|
-
resolveLaunch = resolve;
|
|
170
|
-
});
|
|
171
446
|
}
|
|
172
|
-
function
|
|
173
|
-
const
|
|
174
|
-
const
|
|
447
|
+
function installTuiConsoleBridge(events, isStopping) {
|
|
448
|
+
const originalLog = console.log;
|
|
449
|
+
const originalInfo = console.info;
|
|
450
|
+
const originalDebug = console.debug;
|
|
451
|
+
const originalWarn = console.warn;
|
|
452
|
+
const originalError = console.error;
|
|
453
|
+
const publish = (role, args) => {
|
|
454
|
+
if (isStopping())
|
|
455
|
+
return;
|
|
456
|
+
const content = stripTerminalControlSequences((0, util_1.format)(...args)).trimEnd();
|
|
457
|
+
if (!content)
|
|
458
|
+
return;
|
|
459
|
+
const id = events.append({ role, content });
|
|
460
|
+
events.finalize(id);
|
|
461
|
+
};
|
|
462
|
+
const log = (...args) => publish('system', args);
|
|
463
|
+
const info = (...args) => publish('system', args);
|
|
464
|
+
const debug = (...args) => publish('system', args);
|
|
465
|
+
const warn = (...args) => publish('system', args);
|
|
466
|
+
const error = (...args) => publish('error', args);
|
|
467
|
+
console.log = log;
|
|
468
|
+
console.info = info;
|
|
469
|
+
console.debug = debug;
|
|
470
|
+
console.warn = warn;
|
|
471
|
+
console.error = error;
|
|
472
|
+
return () => {
|
|
473
|
+
console.log = originalLog;
|
|
474
|
+
console.info = originalInfo;
|
|
475
|
+
console.debug = originalDebug;
|
|
476
|
+
console.warn = originalWarn;
|
|
477
|
+
console.error = originalError;
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
function stripTerminalControlSequences(value) {
|
|
481
|
+
return value
|
|
482
|
+
.replace(/\x1b\[[0-?]*[ -/]*[@-~]/g, '')
|
|
483
|
+
.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g, '');
|
|
484
|
+
}
|
|
485
|
+
function tokensFromRuntime(rt) {
|
|
486
|
+
const snapshot = rt.store.getSnapshot();
|
|
487
|
+
const usage = snapshot.tokenUsage;
|
|
488
|
+
return {
|
|
489
|
+
input: usage?.promptTokens,
|
|
490
|
+
output: usage?.completionTokens,
|
|
491
|
+
contextPercent: snapshot.contextUsage?.percent,
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
function statusSnapshotString(rt) {
|
|
495
|
+
const snapshot = rt.store.getSnapshot();
|
|
496
|
+
const session = rt.getSession()?.id.slice(0, 8) ?? 'none';
|
|
175
497
|
const tokens = snapshot.tokenUsage
|
|
176
498
|
? `${((snapshot.tokenUsage.promptTokens + snapshot.tokenUsage.completionTokens) / 1000).toFixed(1)}K`
|
|
177
499
|
: '0.0K';
|
|
178
|
-
const
|
|
179
|
-
return
|
|
500
|
+
const context = (0, ui_view_model_1.contextUsageStatusText)(snapshot.contextUsage);
|
|
501
|
+
return [
|
|
502
|
+
`model=${snapshot.currentModel || rt.config.model}`,
|
|
503
|
+
context,
|
|
504
|
+
`session=${session}`,
|
|
505
|
+
`tokens=${tokens}`,
|
|
506
|
+
]
|
|
507
|
+
.filter(Boolean)
|
|
508
|
+
.join(' ');
|
|
180
509
|
}
|
|
181
510
|
function readTtyDimensions(output) {
|
|
182
511
|
const getWindowSize = output.getWindowSize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/tui-ui/launch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/tui-ui/launch.ts"],"names":[],"mappings":"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"}
|
package/dist/tui-ui/layout.d.ts
CHANGED
|
@@ -1,9 +1,58 @@
|
|
|
1
1
|
import { type TuiFrame } from '../tui-core/frame';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import type { StyledRow, TuiTheme } from '../tui-core/style';
|
|
3
|
+
import { type TuiTranscriptRecord, type TuiUiState } from './state';
|
|
4
|
+
export type TranscriptRecordLayout = (entry: TuiTranscriptRecord, width: number) => StyledRow[];
|
|
5
|
+
export interface TuiTranscriptLayoutOptions {
|
|
6
|
+
/** Transcript content width; production uses the surface safe width. */
|
|
7
|
+
transcriptWidth?: number;
|
|
8
|
+
theme?: TuiTheme;
|
|
9
|
+
/** Runner-provided cached layout. Pure render callers use the shared default. */
|
|
10
|
+
layoutTranscriptRecord?: TranscriptRecordLayout;
|
|
11
|
+
}
|
|
12
|
+
export interface TuiLayoutOptions extends TuiTranscriptLayoutOptions {
|
|
4
13
|
width: number;
|
|
5
14
|
height: number;
|
|
6
15
|
maxTranscriptRows?: number;
|
|
7
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Options for the live-region-only layout (renderTuiLiveFrame).
|
|
19
|
+
* This function produces a frame for the inline surface's live region only,
|
|
20
|
+
* containing: live transcript entries, timeline (if any), overlay, status, and
|
|
21
|
+
* prompt. Committed (static) transcript entries are handled by surface.commit()
|
|
22
|
+
* separately and are NOT included in this frame.
|
|
23
|
+
*/
|
|
24
|
+
export interface TuiLiveLayoutOptions extends TuiTranscriptLayoutOptions {
|
|
25
|
+
width: number;
|
|
26
|
+
/** Height of the live region (the inline surface bottom band). */
|
|
27
|
+
height: number;
|
|
28
|
+
}
|
|
29
|
+
export interface TuiLayoutBudget {
|
|
30
|
+
promptLineCount: number;
|
|
31
|
+
/** Rows consumed by the prompt box (2 borders + N content lines). */
|
|
32
|
+
promptRows: number;
|
|
33
|
+
/** Rows consumed by the timeline strip (0 when there is no activity). */
|
|
34
|
+
timelineRows: number;
|
|
35
|
+
/** Rows available for the (live) transcript region at the top. */
|
|
36
|
+
transcriptRows: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Measure the cursor-owned live block. Idle TUI state stays compact like an
|
|
40
|
+
* ordinary shell prompt; streaming transcript and overlays grow the block only
|
|
41
|
+
* as needed, up to the surface's viewport-derived limit.
|
|
42
|
+
*/
|
|
43
|
+
export declare function measureTuiLiveFrameHeight(state: TuiUiState, width: number, maxHeight: number, options?: TuiTranscriptLayoutOptions): number;
|
|
8
44
|
export declare function renderTuiUiFrame(state: TuiUiState, options: TuiLayoutOptions): TuiFrame;
|
|
45
|
+
/**
|
|
46
|
+
* Render the live-region frame for InlineTerminalSurface.
|
|
47
|
+
*
|
|
48
|
+
* This frame contains ONLY the ephemeral content that sits at the bottom of
|
|
49
|
+
* the terminal: live (uncommitted) transcript entries, timeline (if any),
|
|
50
|
+
* overlay (if active), status bar, and prompt. Committed transcript entries are
|
|
51
|
+
* written to scrollback by surface.commit() and are NOT included in this frame.
|
|
52
|
+
*
|
|
53
|
+
* The frame height should be sized to fill the terminal viewport's bottom band
|
|
54
|
+
* (see InlineTerminalSurface.getLiveBandRows); the dynamic budget allocates the
|
|
55
|
+
* band rows between transcript / timeline / status / prompt.
|
|
56
|
+
*/
|
|
57
|
+
export declare function renderTuiLiveFrame(state: TuiUiState, options: TuiLiveLayoutOptions): TuiFrame;
|
|
9
58
|
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/tui-ui/layout.ts"],"names":[],"mappings":"AACA,OAAO,EAAkD,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/tui-ui/layout.ts"],"names":[],"mappings":"AACA,OAAO,EAAkD,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAM7D,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,MAAM,KACV,SAAS,EAAE,CAAC;AAEjB,MAAM,WAAW,0BAA0B;IACzC,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,iFAAiF;IACjF,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED,MAAM,WAAW,gBAAiB,SAAQ,0BAA0B;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAqB,SAAQ,0BAA0B;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;CACxB;AA2CD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,GACvC,MAAM,CAkBR;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,QAAQ,CAqBvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAiB7F"}
|