@qduc/term2 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +4 -24
- package/dist/agent.js.map +1 -1
- package/dist/agent.lite-mode.test.d.ts +2 -0
- package/dist/agent.lite-mode.test.d.ts.map +1 -0
- package/dist/agent.lite-mode.test.js +39 -0
- package/dist/agent.lite-mode.test.js.map +1 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +11 -32
- package/dist/app.js.map +1 -1
- package/dist/app.parseInput.test.js +4 -4
- package/dist/app.parseInput.test.js.map +1 -1
- package/dist/cli.js +44 -29
- package/dist/cli.js.map +1 -1
- package/dist/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/ApprovalPrompt.js +14 -11
- package/dist/components/ApprovalPrompt.js.map +1 -1
- package/dist/components/Banner.d.ts.map +1 -1
- package/dist/components/Banner.js +4 -12
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/BottomArea.js +4 -7
- package/dist/components/BottomArea.js.map +1 -1
- package/dist/components/BottomArea.test.js +4 -6
- package/dist/components/BottomArea.test.js.map +1 -1
- package/dist/components/ChatMessage.d.ts.map +1 -1
- package/dist/components/ChatMessage.js.map +1 -1
- package/dist/components/CommandMessage.d.ts.map +1 -1
- package/dist/components/CommandMessage.js +19 -30
- package/dist/components/CommandMessage.js.map +1 -1
- package/dist/components/CommandMessage.test.js +2 -2
- package/dist/components/CommandMessage.test.js.map +1 -1
- package/dist/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/ErrorBoundary.js +3 -9
- package/dist/components/ErrorBoundary.js.map +1 -1
- package/dist/components/ErrorBoundary.test.js +2 -2
- package/dist/components/ErrorBoundary.test.js.map +1 -1
- package/dist/components/Input/PopupManager.d.ts.map +1 -1
- package/dist/components/Input/PopupManager.js.map +1 -1
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +15 -33
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.menu-logic.test.js +6 -7
- package/dist/components/InputBox.menu-logic.test.js.map +1 -1
- package/dist/components/InputBox.test.js +7 -9
- package/dist/components/InputBox.test.js.map +1 -1
- package/dist/components/LiveResponse.d.ts.map +1 -1
- package/dist/components/LiveResponse.js.map +1 -1
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +12 -12
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/MessageList.test.js +1 -1
- package/dist/components/MessageList.test.js.map +1 -1
- package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/ModelSelectionMenu.js +11 -16
- package/dist/components/ModelSelectionMenu.js.map +1 -1
- package/dist/components/ModelSelectionMenu.test.js +9 -9
- package/dist/components/ModelSelectionMenu.test.js.map +1 -1
- package/dist/components/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/PathSelectionMenu.js +1 -1
- package/dist/components/PathSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsSelectionMenu.js +1 -1
- package/dist/components/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.test.js +4 -4
- package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.js +5 -6
- package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.test.js +5 -5
- package/dist/components/SettingsValueSelectionMenu.test.js.map +1 -1
- package/dist/components/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/SlashCommandMenu.js +1 -1
- package/dist/components/SlashCommandMenu.js.map +1 -1
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +3 -4
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/components/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput.js +2 -1
- package/dist/components/TextInput.js.map +1 -1
- package/dist/components/TextInput.test.js.map +1 -1
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.js.map +1 -1
- package/dist/context/InputContext.stability.test.js +1 -1
- package/dist/context/InputContext.stability.test.js.map +1 -1
- package/dist/context/InputContext.test.js +15 -15
- package/dist/context/InputContext.test.js.map +1 -1
- package/dist/debug_ask_mentor.d.ts +2 -0
- package/dist/debug_ask_mentor.d.ts.map +1 -0
- package/dist/debug_ask_mentor.js +73 -0
- package/dist/debug_ask_mentor.js.map +1 -0
- package/dist/hooks/use-conversation.d.ts +3 -13
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +35 -184
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-input-history.d.ts.map +1 -1
- package/dist/hooks/use-input-history.js +1 -3
- package/dist/hooks/use-input-history.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +8 -10
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-path-completion.d.ts.map +1 -1
- package/dist/hooks/use-path-completion.js +6 -6
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-setting.d.ts.map +1 -1
- package/dist/hooks/use-setting.js +3 -6
- package/dist/hooks/use-setting.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +10 -12
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.test.js +46 -46
- package/dist/hooks/use-settings-completion.test.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +13 -43
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.test.js +12 -18
- package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts +1 -1
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +6 -11
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-slash-commands.test.js +24 -24
- package/dist/hooks/use-slash-commands.test.js.map +1 -1
- package/dist/lib/editor-impl.d.ts.map +1 -1
- package/dist/lib/editor-impl.js +6 -16
- package/dist/lib/editor-impl.js.map +1 -1
- package/dist/lib/editor-impl.test.js.map +1 -1
- package/dist/lib/openai-agent-client.chat.test.js +33 -8
- package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.flex-tier.test.js +5 -5
- package/dist/lib/openai-agent-client.flex-tier.test.js.map +1 -1
- package/dist/lib/openai-agent-client.js +89 -85
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-agent-client.public-methods.test.js +186 -12
- package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
- package/dist/lib/openai-agent-client.test.js +17 -17
- package/dist/lib/openai-agent-client.test.js.map +1 -1
- package/dist/lib/openai-strict-tool-schema.d.ts +10 -0
- package/dist/lib/openai-strict-tool-schema.d.ts.map +1 -0
- package/dist/lib/openai-strict-tool-schema.js +39 -0
- package/dist/lib/openai-strict-tool-schema.js.map +1 -0
- package/dist/lib/openai-strict-tool-schema.test.d.ts +2 -0
- package/dist/lib/openai-strict-tool-schema.test.d.ts.map +1 -0
- package/dist/lib/openai-strict-tool-schema.test.js +26 -0
- package/dist/lib/openai-strict-tool-schema.test.js.map +1 -0
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/lib/tool-invoke.test.js.map +1 -1
- package/dist/modes/companion/command-index.d.ts +26 -0
- package/dist/modes/companion/command-index.d.ts.map +1 -0
- package/dist/modes/companion/command-index.js +50 -0
- package/dist/modes/companion/command-index.js.map +1 -0
- package/dist/modes/companion/command-index.test.d.ts +2 -0
- package/dist/modes/companion/command-index.test.d.ts.map +1 -0
- package/dist/modes/companion/command-index.test.js +86 -0
- package/dist/modes/companion/command-index.test.js.map +1 -0
- package/dist/modes/companion/companion-app.d.ts +12 -0
- package/dist/modes/companion/companion-app.d.ts.map +1 -0
- package/dist/modes/companion/companion-app.js +297 -0
- package/dist/modes/companion/companion-app.js.map +1 -0
- package/dist/modes/companion/companion-session.d.ts +63 -0
- package/dist/modes/companion/companion-session.d.ts.map +1 -0
- package/dist/modes/companion/companion-session.js +146 -0
- package/dist/modes/companion/companion-session.js.map +1 -0
- package/dist/modes/companion/companion-session.test.d.ts +2 -0
- package/dist/modes/companion/companion-session.test.d.ts.map +1 -0
- package/dist/modes/companion/companion-session.test.js +28 -0
- package/dist/modes/companion/companion-session.test.js.map +1 -0
- package/dist/modes/companion/components/status-bar.d.ts +13 -0
- package/dist/modes/companion/components/status-bar.d.ts.map +1 -0
- package/dist/modes/companion/components/status-bar.js +26 -0
- package/dist/modes/companion/components/status-bar.js.map +1 -0
- package/dist/modes/companion/context-buffer.d.ts +65 -0
- package/dist/modes/companion/context-buffer.d.ts.map +1 -0
- package/dist/modes/companion/context-buffer.js +156 -0
- package/dist/modes/companion/context-buffer.js.map +1 -0
- package/dist/modes/companion/context-buffer.test.d.ts +2 -0
- package/dist/modes/companion/context-buffer.test.d.ts.map +1 -0
- package/dist/modes/companion/context-buffer.test.js +154 -0
- package/dist/modes/companion/context-buffer.test.js.map +1 -0
- package/dist/modes/companion/event-detector.d.ts +46 -0
- package/dist/modes/companion/event-detector.d.ts.map +1 -0
- package/dist/modes/companion/event-detector.js +169 -0
- package/dist/modes/companion/event-detector.js.map +1 -0
- package/dist/modes/companion/event-detector.test.d.ts +2 -0
- package/dist/modes/companion/event-detector.test.d.ts.map +1 -0
- package/dist/modes/companion/event-detector.test.js +121 -0
- package/dist/modes/companion/event-detector.test.js.map +1 -0
- package/dist/modes/companion/index.d.ts +33 -0
- package/dist/modes/companion/index.d.ts.map +1 -0
- package/dist/modes/companion/index.js +21 -0
- package/dist/modes/companion/index.js.map +1 -0
- package/dist/modes/companion/input-key-mapper.d.ts +3 -0
- package/dist/modes/companion/input-key-mapper.d.ts.map +1 -0
- package/dist/modes/companion/input-key-mapper.js +31 -0
- package/dist/modes/companion/input-key-mapper.js.map +1 -0
- package/dist/modes/companion/input-key-mapper.test.d.ts +2 -0
- package/dist/modes/companion/input-key-mapper.test.d.ts.map +1 -0
- package/dist/modes/companion/input-key-mapper.test.js +26 -0
- package/dist/modes/companion/input-key-mapper.test.js.map +1 -0
- package/dist/modes/companion/input-parser.d.ts +53 -0
- package/dist/modes/companion/input-parser.d.ts.map +1 -0
- package/dist/modes/companion/input-parser.js +114 -0
- package/dist/modes/companion/input-parser.js.map +1 -0
- package/dist/modes/companion/input-parser.test.d.ts +2 -0
- package/dist/modes/companion/input-parser.test.d.ts.map +1 -0
- package/dist/modes/companion/input-parser.test.js +123 -0
- package/dist/modes/companion/input-parser.test.js.map +1 -0
- package/dist/modes/companion/mode-manager.d.ts +41 -0
- package/dist/modes/companion/mode-manager.d.ts.map +1 -0
- package/dist/modes/companion/mode-manager.js +56 -0
- package/dist/modes/companion/mode-manager.js.map +1 -0
- package/dist/modes/companion/mode-manager.test.d.ts +2 -0
- package/dist/modes/companion/mode-manager.test.d.ts.map +1 -0
- package/dist/modes/companion/mode-manager.test.js +65 -0
- package/dist/modes/companion/mode-manager.test.js.map +1 -0
- package/dist/modes/companion/output-classifier.d.ts +15 -0
- package/dist/modes/companion/output-classifier.d.ts.map +1 -0
- package/dist/modes/companion/output-classifier.js +77 -0
- package/dist/modes/companion/output-classifier.js.map +1 -0
- package/dist/modes/companion/output-classifier.test.d.ts +2 -0
- package/dist/modes/companion/output-classifier.test.d.ts.map +1 -0
- package/dist/modes/companion/output-classifier.test.js +133 -0
- package/dist/modes/companion/output-classifier.test.js.map +1 -0
- package/dist/modes/companion/pty-wrapper.d.ts +46 -0
- package/dist/modes/companion/pty-wrapper.d.ts.map +1 -0
- package/dist/modes/companion/pty-wrapper.js +143 -0
- package/dist/modes/companion/pty-wrapper.js.map +1 -0
- package/dist/modes/companion/safety-classifier.d.ts +31 -0
- package/dist/modes/companion/safety-classifier.d.ts.map +1 -0
- package/dist/modes/companion/safety-classifier.js +140 -0
- package/dist/modes/companion/safety-classifier.js.map +1 -0
- package/dist/modes/companion/safety-classifier.test.d.ts +2 -0
- package/dist/modes/companion/safety-classifier.test.d.ts.map +1 -0
- package/dist/modes/companion/safety-classifier.test.js +151 -0
- package/dist/modes/companion/safety-classifier.test.js.map +1 -0
- package/dist/modes/companion/summarizer.d.ts +24 -0
- package/dist/modes/companion/summarizer.d.ts.map +1 -0
- package/dist/modes/companion/summarizer.js +132 -0
- package/dist/modes/companion/summarizer.js.map +1 -0
- package/dist/modes/companion/terminal-history.d.ts +27 -0
- package/dist/modes/companion/terminal-history.d.ts.map +1 -0
- package/dist/modes/companion/terminal-history.js +142 -0
- package/dist/modes/companion/terminal-history.js.map +1 -0
- package/dist/no-singleton-imports.test.js +1 -1
- package/dist/no-singleton-imports.test.js.map +1 -1
- package/dist/non-interactive.d.ts +20 -0
- package/dist/non-interactive.d.ts.map +1 -0
- package/dist/non-interactive.js +86 -0
- package/dist/non-interactive.js.map +1 -0
- package/dist/non-interactive.test.d.ts +2 -0
- package/dist/non-interactive.test.d.ts.map +1 -0
- package/dist/non-interactive.test.js +213 -0
- package/dist/non-interactive.test.js.map +1 -0
- package/dist/prompts/anthropic.md +11 -11
- package/dist/prompts/codex.md +63 -63
- package/dist/prompts/gpt-5.md +95 -95
- package/dist/prompts/mentor-addon.md +6 -5
- package/dist/prompts/prompt-selector.d.ts +8 -0
- package/dist/prompts/prompt-selector.d.ts.map +1 -0
- package/dist/prompts/prompt-selector.js +21 -0
- package/dist/prompts/prompt-selector.js.map +1 -0
- package/dist/prompts/prompt-selector.test.d.ts +2 -0
- package/dist/prompts/prompt-selector.test.d.ts.map +1 -0
- package/dist/prompts/prompt-selector.test.js +21 -0
- package/dist/prompts/prompt-selector.test.js.map +1 -0
- package/dist/prompts/prompt-selector.test.ts +32 -0
- package/dist/prompts/prompt-selector.ts +30 -0
- package/dist/prompts/simple-mentor.md +8 -0
- package/dist/prompts/simple.md +58 -58
- package/dist/providers/github-copilot/model.d.ts.map +1 -1
- package/dist/providers/github-copilot/model.js +25 -108
- package/dist/providers/github-copilot/model.js.map +1 -1
- package/dist/providers/github-copilot/model.test.d.ts +2 -0
- package/dist/providers/github-copilot/model.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/model.test.js +63 -0
- package/dist/providers/github-copilot/model.test.js.map +1 -0
- package/dist/providers/github-copilot/provider.d.ts +0 -5
- package/dist/providers/github-copilot/provider.d.ts.map +1 -1
- package/dist/providers/github-copilot/provider.js +2 -7
- package/dist/providers/github-copilot/provider.js.map +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai-compatible/api.d.ts.map +1 -1
- package/dist/providers/openai-compatible/api.js.map +1 -1
- package/dist/providers/openai-compatible/model.d.ts.map +1 -1
- package/dist/providers/openai-compatible/model.js +22 -56
- package/dist/providers/openai-compatible/model.js.map +1 -1
- package/dist/providers/openai-compatible/provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible/provider.js.map +1 -1
- package/dist/providers/openai-compatible/reasoning-content.test.js +72 -2
- package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -1
- package/dist/providers/openai-compatible/utils.d.ts.map +1 -1
- package/dist/providers/openai-compatible/utils.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +5 -1
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai.provider.js +4 -0
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openrouter/api.d.ts.map +1 -1
- package/dist/providers/openrouter/api.js +5 -13
- package/dist/providers/openrouter/api.js.map +1 -1
- package/dist/providers/openrouter/converters.d.ts.map +1 -1
- package/dist/providers/openrouter/converters.js +9 -28
- package/dist/providers/openrouter/converters.js.map +1 -1
- package/dist/providers/openrouter/converters.test.js +7 -11
- package/dist/providers/openrouter/converters.test.js.map +1 -1
- package/dist/providers/openrouter/index.d.ts.map +1 -1
- package/dist/providers/openrouter/index.js.map +1 -1
- package/dist/providers/openrouter/model.d.ts.map +1 -1
- package/dist/providers/openrouter/model.js +22 -58
- package/dist/providers/openrouter/model.js.map +1 -1
- package/dist/providers/openrouter/provider.d.ts.map +1 -1
- package/dist/providers/openrouter/provider.js.map +1 -1
- package/dist/providers/openrouter/reasoning-content.test.js +1 -1
- package/dist/providers/openrouter/reasoning-content.test.js.map +1 -1
- package/dist/providers/openrouter/utils.d.ts +1 -0
- package/dist/providers/openrouter/utils.d.ts.map +1 -1
- package/dist/providers/openrouter/utils.js +5 -3
- package/dist/providers/openrouter/utils.js.map +1 -1
- package/dist/providers/openrouter.api.retry.test.js.map +1 -1
- package/dist/providers/openrouter.provider.createRunner.test.js +1 -1
- package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
- package/dist/providers/openrouter.provider.js +6 -4
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/openrouter.test.js +77 -17
- package/dist/providers/openrouter.test.js.map +1 -1
- package/dist/providers/registry.d.ts +5 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/registry.test.js +11 -11
- package/dist/providers/registry.test.js.map +1 -1
- package/dist/providers/web-search/index.d.ts +1 -1
- package/dist/providers/web-search/index.d.ts.map +1 -1
- package/dist/providers/web-search/index.js.map +1 -1
- package/dist/providers/web-search/registry.d.ts.map +1 -1
- package/dist/providers/web-search/registry.js.map +1 -1
- package/dist/providers/web-search/registry.test.js +14 -14
- package/dist/providers/web-search/registry.test.js.map +1 -1
- package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
- package/dist/providers/web-search/tavily.provider.js +4 -4
- package/dist/providers/web-search/tavily.provider.js.map +1 -1
- package/dist/providers/web-search/tavily.provider.test.js +7 -7
- package/dist/providers/web-search/tavily.provider.test.js.map +1 -1
- package/dist/providers/web-search/types.d.ts.map +1 -1
- package/dist/scripts/extract-provider-traffic.d.ts +3 -0
- package/dist/scripts/extract-provider-traffic.d.ts.map +1 -0
- package/dist/scripts/extract-provider-traffic.js +32 -0
- package/dist/scripts/extract-provider-traffic.js.map +1 -0
- package/dist/services/approval-state.d.ts +24 -0
- package/dist/services/approval-state.d.ts.map +1 -0
- package/dist/services/approval-state.js +41 -0
- package/dist/services/approval-state.js.map +1 -0
- package/dist/services/approval-state.test.d.ts +2 -0
- package/dist/services/approval-state.test.d.ts.map +1 -0
- package/dist/services/approval-state.test.js +59 -0
- package/dist/services/approval-state.test.js.map +1 -0
- package/dist/services/check_mock.d.ts +2 -0
- package/dist/services/check_mock.d.ts.map +1 -0
- package/dist/services/check_mock.js +22 -0
- package/dist/services/check_mock.js.map +1 -0
- package/dist/services/command-message-streaming.d.ts +12 -0
- package/dist/services/command-message-streaming.d.ts.map +1 -0
- package/dist/services/command-message-streaming.js +68 -0
- package/dist/services/command-message-streaming.js.map +1 -0
- package/dist/services/command-message-streaming.test.d.ts +2 -0
- package/dist/services/command-message-streaming.test.d.ts.map +1 -0
- package/dist/services/command-message-streaming.test.js +78 -0
- package/dist/services/command-message-streaming.test.js.map +1 -0
- package/dist/services/conversation-events.d.ts +2 -13
- package/dist/services/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation-integration.test.d.ts +2 -0
- package/dist/services/conversation-integration.test.d.ts.map +1 -0
- package/dist/services/conversation-integration.test.js +155 -0
- package/dist/services/conversation-integration.test.js.map +1 -0
- package/dist/services/conversation-service.d.ts +1 -1
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-service.js.map +1 -1
- package/dist/services/conversation-service.test.d.ts +2 -0
- package/dist/services/conversation-service.test.d.ts.map +1 -0
- package/dist/services/conversation-service.test.js +149 -183
- package/dist/services/conversation-service.test.js.map +1 -0
- package/dist/services/conversation-session-reasoning.test.js +3 -3
- package/dist/services/conversation-session-reasoning.test.js.map +1 -1
- package/dist/services/conversation-session.d.ts +5 -17
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +164 -275
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation-store.js +3 -9
- package/dist/services/conversation-store.js.map +1 -1
- package/dist/services/conversation-store.test.js +17 -14
- package/dist/services/conversation-store.test.js.map +1 -1
- package/dist/services/execution-context.d.ts.map +1 -1
- package/dist/services/execution-context.js.map +1 -1
- package/dist/services/execution-context.test.js +7 -7
- package/dist/services/execution-context.test.js.map +1 -1
- package/dist/services/file-service.d.ts.map +1 -1
- package/dist/services/file-service.js +5 -9
- package/dist/services/file-service.js.map +1 -1
- package/dist/services/history-service.d.ts.map +1 -1
- package/dist/services/history-service.js +3 -7
- package/dist/services/history-service.js.map +1 -1
- package/dist/services/logging-contract.d.ts +74 -0
- package/dist/services/logging-contract.d.ts.map +1 -0
- package/dist/services/logging-contract.js +157 -0
- package/dist/services/logging-contract.js.map +1 -0
- package/dist/services/logging-contract.test.d.ts +2 -0
- package/dist/services/logging-contract.test.d.ts.map +1 -0
- package/dist/services/logging-contract.test.js +66 -0
- package/dist/services/logging-contract.test.js.map +1 -0
- package/dist/services/logging-service.d.ts +5 -0
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +93 -21
- package/dist/services/logging-service.js.map +1 -1
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +2 -2
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/model-service.test.js +6 -6
- package/dist/services/model-service.test.js.map +1 -1
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/settings-env.d.ts +9 -0
- package/dist/services/settings-env.d.ts.map +1 -0
- package/dist/services/settings-env.js +75 -0
- package/dist/services/settings-env.js.map +1 -0
- package/dist/services/settings-env.test.d.ts +2 -0
- package/dist/services/settings-env.test.d.ts.map +1 -0
- package/dist/services/settings-env.test.js +32 -0
- package/dist/services/settings-env.test.js.map +1 -0
- package/dist/services/settings-merger.d.ts +26 -0
- package/dist/services/settings-merger.d.ts.map +1 -0
- package/dist/services/settings-merger.js +122 -0
- package/dist/services/settings-merger.js.map +1 -0
- package/dist/services/settings-merger.test.d.ts +2 -0
- package/dist/services/settings-merger.test.d.ts.map +1 -0
- package/dist/services/settings-merger.test.js +26 -0
- package/dist/services/settings-merger.test.js.map +1 -0
- package/dist/services/settings-persistence.d.ts +32 -0
- package/dist/services/settings-persistence.d.ts.map +1 -0
- package/dist/services/settings-persistence.js +134 -0
- package/dist/services/settings-persistence.js.map +1 -0
- package/dist/services/settings-persistence.test.d.ts +2 -0
- package/dist/services/settings-persistence.test.d.ts.map +1 -0
- package/dist/services/settings-persistence.test.js +51 -0
- package/dist/services/settings-persistence.test.js.map +1 -0
- package/dist/services/settings-schema.d.ts +320 -0
- package/dist/services/settings-schema.d.ts.map +1 -0
- package/dist/services/settings-schema.js +272 -0
- package/dist/services/settings-schema.js.map +1 -0
- package/dist/services/settings-service.d.ts +4 -248
- package/dist/services/settings-service.d.ts.map +1 -1
- package/dist/services/settings-service.js +45 -641
- package/dist/services/settings-service.js.map +1 -1
- package/dist/services/settings-service.mock.d.ts.map +1 -1
- package/dist/services/settings-service.mock.js.map +1 -1
- package/dist/services/singleton-deprecation.test.js +2 -2
- package/dist/services/singleton-deprecation.test.js.map +1 -1
- package/dist/services/ssh-service.d.ts.map +1 -1
- package/dist/services/ssh-service.js +8 -7
- package/dist/services/ssh-service.js.map +1 -1
- package/dist/services/ssh-service.test.js +15 -13
- package/dist/services/ssh-service.test.js.map +1 -1
- package/dist/services/stream-event-parsing.d.ts +4 -0
- package/dist/services/stream-event-parsing.d.ts.map +1 -0
- package/dist/services/stream-event-parsing.js +76 -0
- package/dist/services/stream-event-parsing.js.map +1 -0
- package/dist/services/stream-event-parsing.test.d.ts +2 -0
- package/dist/services/stream-event-parsing.test.d.ts.map +1 -0
- package/dist/services/stream-event-parsing.test.js +59 -0
- package/dist/services/stream-event-parsing.test.js.map +1 -0
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +45 -35
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/apply-patch.test.js +23 -0
- package/dist/tools/apply-patch.test.js.map +1 -1
- package/dist/tools/ask-mentor.d.ts +1 -1
- package/dist/tools/ask-mentor.d.ts.map +1 -1
- package/dist/tools/ask-mentor.js +5 -15
- package/dist/tools/ask-mentor.js.map +1 -1
- package/dist/tools/ask-mentor.test.js +10 -4
- package/dist/tools/ask-mentor.test.js.map +1 -1
- package/dist/tools/create-file.d.ts.map +1 -1
- package/dist/tools/create-file.js +2 -2
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/create-file.test.js.map +1 -1
- package/dist/tools/edit-healing.d.ts.map +1 -1
- package/dist/tools/edit-healing.js +5 -4
- package/dist/tools/edit-healing.js.map +1 -1
- package/dist/tools/edit-healing.test.js.map +1 -1
- package/dist/tools/find-files.d.ts +2 -2
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +10 -27
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/find-files.test.js +8 -21
- package/dist/tools/find-files.test.js.map +1 -1
- package/dist/tools/format-helpers.d.ts.map +1 -1
- package/dist/tools/format-helpers.js +2 -6
- package/dist/tools/format-helpers.js.map +1 -1
- package/dist/tools/grep.d.ts +2 -2
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +7 -26
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/read-file.d.ts +2 -2
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +5 -11
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-file.test.js +7 -13
- package/dist/tools/read-file.test.js.map +1 -1
- package/dist/tools/search-replace.d.ts +1 -1
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +15 -31
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/tools/search-replace.test.js.map +1 -1
- package/dist/tools/search.d.ts +5 -5
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +10 -29
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/shell.d.ts +3 -3
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +27 -55
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/shell.test.d.ts +2 -0
- package/dist/tools/shell.test.d.ts.map +1 -0
- package/dist/tools/shell.test.js +70 -0
- package/dist/tools/shell.test.js.map +1 -0
- package/dist/tools/tool-names.d.ts +3 -0
- package/dist/tools/tool-names.d.ts.map +1 -0
- package/dist/tools/tool-names.js +3 -0
- package/dist/tools/tool-names.js.map +1 -0
- package/dist/tools/tool-names.test.d.ts +2 -0
- package/dist/tools/tool-names.test.d.ts.map +1 -0
- package/dist/tools/tool-names.test.js +7 -0
- package/dist/tools/tool-names.test.js.map +1 -0
- package/dist/tools/tool-parameter-schema.test.d.ts +2 -0
- package/dist/tools/tool-parameter-schema.test.d.ts.map +1 -0
- package/dist/tools/tool-parameter-schema.test.js +88 -0
- package/dist/tools/tool-parameter-schema.test.js.map +1 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +3 -8
- package/dist/tools/utils.js.map +1 -1
- package/dist/tools/web-fetch.d.ts +3 -3
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +7 -10
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/web-fetch.test.js +3 -3
- package/dist/tools/web-fetch.test.js.map +1 -1
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +6 -10
- package/dist/tools/web-search.js.map +1 -1
- package/dist/tools/web-search.test.js +12 -14
- package/dist/tools/web-search.test.js.map +1 -1
- package/dist/utils/command-logger.d.ts.map +1 -1
- package/dist/utils/command-logger.js.map +1 -1
- package/dist/utils/command-safety/constants.d.ts.map +1 -1
- package/dist/utils/command-safety/constants.js +1 -9
- package/dist/utils/command-safety/constants.js.map +1 -1
- package/dist/utils/command-safety/find-helpers.d.ts.map +1 -1
- package/dist/utils/command-safety/find-helpers.js +4 -9
- package/dist/utils/command-safety/find-helpers.js.map +1 -1
- package/dist/utils/command-safety/handlers/find-handler.d.ts.map +1 -1
- package/dist/utils/command-safety/handlers/find-handler.js +3 -10
- package/dist/utils/command-safety/handlers/find-handler.js.map +1 -1
- package/dist/utils/command-safety/handlers/git-handler.d.ts.map +1 -1
- package/dist/utils/command-safety/handlers/git-handler.js +2 -4
- package/dist/utils/command-safety/handlers/git-handler.js.map +1 -1
- package/dist/utils/command-safety/handlers/index.d.ts +1 -1
- package/dist/utils/command-safety/handlers/index.d.ts.map +1 -1
- package/dist/utils/command-safety/handlers/index.js.map +1 -1
- package/dist/utils/command-safety/handlers/sed-handler.d.ts.map +1 -1
- package/dist/utils/command-safety/handlers/sed-handler.js.map +1 -1
- package/dist/utils/command-safety/handlers/types.d.ts.map +1 -1
- package/dist/utils/command-safety/index.d.ts.map +1 -1
- package/dist/utils/command-safety/index.js +4 -10
- package/dist/utils/command-safety/index.js.map +1 -1
- package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
- package/dist/utils/command-safety/path-analysis.js +9 -20
- package/dist/utils/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/command-safety/utils.d.ts.map +1 -1
- package/dist/utils/command-safety/utils.js +1 -3
- package/dist/utils/command-safety/utils.js.map +1 -1
- package/dist/utils/command-safety.d.ts.map +1 -1
- package/dist/utils/command-safety.devnull.test.d.ts +2 -0
- package/dist/utils/command-safety.devnull.test.d.ts.map +1 -0
- package/dist/utils/command-safety.devnull.test.js +13 -0
- package/dist/utils/command-safety.devnull.test.js.map +1 -0
- package/dist/utils/command-safety.find.test.js +44 -87
- package/dist/utils/command-safety.find.test.js.map +1 -1
- package/dist/utils/command-safety.js +10 -364
- package/dist/utils/command-safety.js.map +1 -1
- package/dist/utils/command-safety.path.test.js +32 -67
- package/dist/utils/command-safety.path.test.js.map +1 -1
- package/dist/utils/conversation-event-handler.d.ts +4 -16
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +4 -8
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +16 -18
- package/dist/utils/conversation-event-handler.test.js.map +1 -1
- package/dist/utils/conversation-utils.d.ts.map +1 -1
- package/dist/utils/conversation-utils.js +5 -8
- package/dist/utils/conversation-utils.js.map +1 -1
- package/dist/utils/conversation-utils.test.js +45 -44
- package/dist/utils/conversation-utils.test.js.map +1 -1
- package/dist/utils/diff.d.ts.map +1 -1
- package/dist/utils/diff.js +2 -4
- package/dist/utils/diff.js.map +1 -1
- package/dist/utils/diff.test.js +12 -12
- package/dist/utils/diff.test.js.map +1 -1
- package/dist/utils/error-helpers.d.ts.map +1 -1
- package/dist/utils/error-helpers.js +2 -6
- package/dist/utils/error-helpers.js.map +1 -1
- package/dist/utils/error-helpers.test.js +32 -32
- package/dist/utils/error-helpers.test.js.map +1 -1
- package/dist/utils/execute-shell.d.ts.map +1 -1
- package/dist/utils/execute-shell.js.map +1 -1
- package/dist/utils/execute-shell.test.js.map +1 -1
- package/dist/utils/extract-command-messages.d.ts.map +1 -1
- package/dist/utils/extract-command-messages.js +16 -21
- package/dist/utils/extract-command-messages.js.map +1 -1
- package/dist/utils/extract-command-messages.test.d.ts +2 -0
- package/dist/utils/extract-command-messages.test.d.ts.map +1 -0
- package/dist/utils/extract-command-messages.test.js +58 -51
- package/dist/utils/extract-command-messages.test.js.map +1 -0
- package/dist/utils/ink-render-options.d.ts.map +1 -1
- package/dist/utils/ink-render-options.js.map +1 -1
- package/dist/utils/log-viewer-filters.d.ts +29 -0
- package/dist/utils/log-viewer-filters.d.ts.map +1 -0
- package/dist/utils/log-viewer-filters.js +49 -0
- package/dist/utils/log-viewer-filters.js.map +1 -0
- package/dist/utils/log-viewer-filters.test.d.ts +2 -0
- package/dist/utils/log-viewer-filters.test.d.ts.map +1 -0
- package/dist/utils/log-viewer-filters.test.js +48 -0
- package/dist/utils/log-viewer-filters.test.js.map +1 -0
- package/dist/utils/message-buffer.d.ts.map +1 -1
- package/dist/utils/message-buffer.js.map +1 -1
- package/dist/utils/message-buffer.test.js +4 -4
- package/dist/utils/message-buffer.test.js.map +1 -1
- package/dist/utils/output-trim.d.ts.map +1 -1
- package/dist/utils/output-trim.js.map +1 -1
- package/dist/utils/provider-credentials.d.ts.map +1 -1
- package/dist/utils/provider-credentials.js +1 -1
- package/dist/utils/provider-credentials.js.map +1 -1
- package/dist/utils/provider-traffic-extractor.d.ts +18 -0
- package/dist/utils/provider-traffic-extractor.d.ts.map +1 -0
- package/dist/utils/provider-traffic-extractor.js +121 -0
- package/dist/utils/provider-traffic-extractor.js.map +1 -0
- package/dist/utils/provider-traffic-extractor.test.d.ts +2 -0
- package/dist/utils/provider-traffic-extractor.test.d.ts.map +1 -0
- package/dist/utils/provider-traffic-extractor.test.js +84 -0
- package/dist/utils/provider-traffic-extractor.test.js.map +1 -0
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +5 -12
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/ssh-config-parser.d.ts.map +1 -1
- package/dist/utils/ssh-config-parser.js.map +1 -1
- package/dist/utils/ssh-config-parser.test.js.map +1 -1
- package/dist/utils/streaming-session-factory.d.ts +33 -0
- package/dist/utils/streaming-session-factory.d.ts.map +1 -0
- package/dist/utils/streaming-session-factory.js +75 -0
- package/dist/utils/streaming-session-factory.js.map +1 -0
- package/dist/utils/streaming-session-factory.test.d.ts +2 -0
- package/dist/utils/streaming-session-factory.test.d.ts.map +1 -0
- package/dist/utils/streaming-session-factory.test.js +74 -0
- package/dist/utils/streaming-session-factory.test.js.map +1 -0
- package/dist/utils/streaming-updater.d.ts.map +1 -1
- package/dist/utils/streaming-updater.js.map +1 -1
- package/dist/utils/throttle.d.ts.map +1 -1
- package/dist/utils/throttle.js.map +1 -1
- package/dist/utils/token-usage.d.ts.map +1 -1
- package/dist/utils/token-usage.js +1 -2
- package/dist/utils/token-usage.js.map +1 -1
- package/dist/utils/token-usage.test.js +8 -8
- package/dist/utils/token-usage.test.js.map +1 -1
- package/dist/utils/trim-tool-output.d.ts.map +1 -1
- package/dist/utils/trim-tool-output.js +1 -1
- package/dist/utils/trim-tool-output.js.map +1 -1
- package/package.json +117 -111
- package/readme.md +196 -145
- package/dist/app.model-command-feedback.test.d.ts +0 -2
- package/dist/app.model-command-feedback.test.d.ts.map +0 -1
- package/dist/app.model-command-feedback.test.js +0 -19
- package/dist/app.model-command-feedback.test.js.map +0 -1
- package/dist/components/MentorMode.test.d.ts +0 -2
- package/dist/components/MentorMode.test.d.ts.map +0 -1
- package/dist/components/MentorMode.test.js.map +0 -1
- package/dist/components/StatusBar.test.d.ts +0 -2
- package/dist/components/StatusBar.test.d.ts.map +0 -1
- package/dist/components/StatusBar.test.js +0 -19
- package/dist/components/StatusBar.test.js.map +0 -1
- package/dist/debug-schema.d.ts +0 -2
- package/dist/debug-schema.d.ts.map +0 -1
- package/dist/debug-schema.js +0 -22
- package/dist/debug-schema.js.map +0 -1
- package/dist/hooks/use-model-selection.test.d.ts +0 -2
- package/dist/hooks/use-model-selection.test.d.ts.map +0 -1
- package/dist/hooks/use-model-selection.test.js +0 -28
- package/dist/hooks/use-model-selection.test.js.map +0 -1
- package/dist/hooks/use-path-completion.test.d.ts +0 -2
- package/dist/hooks/use-path-completion.test.d.ts.map +0 -1
- package/dist/hooks/use-path-completion.test.js +0 -29
- package/dist/hooks/use-path-completion.test.js.map +0 -1
- package/dist/prompts/default.md.bak +0 -77
- package/dist/providers/github-copilot/model-direct.d.ts +0 -34
- package/dist/providers/github-copilot/model-direct.d.ts.map +0 -1
- package/dist/providers/github-copilot/model-direct.js +0 -443
- package/dist/providers/github-copilot/model-direct.js.map +0 -1
- package/dist/providers/openrouter/merge-messages.test.d.ts +0 -2
- package/dist/providers/openrouter/merge-messages.test.d.ts.map +0 -1
- package/dist/providers/openrouter/merge-messages.test.js +0 -83
- package/dist/providers/openrouter/merge-messages.test.js.map +0 -1
- package/dist/providers/openrouter.history.test.d.ts +0 -2
- package/dist/providers/openrouter.history.test.d.ts.map +0 -1
- package/dist/providers/openrouter.history.test.js +0 -533
- package/dist/providers/openrouter.history.test.js.map +0 -1
- package/dist/reproduce_issue.test.d.ts +0 -2
- package/dist/reproduce_issue.test.d.ts.map +0 -1
- package/dist/reproduce_issue.test.js +0 -31
- package/dist/reproduce_issue.test.js.map +0 -1
- package/dist/services/conversation-session.usage.test.d.ts +0 -2
- package/dist/services/conversation-session.usage.test.d.ts.map +0 -1
- package/dist/services/conversation-session.usage.test.js +0 -59
- package/dist/services/conversation-session.usage.test.js.map +0 -1
- package/dist/test-search-tool.d.ts +0 -2
- package/dist/test-search-tool.d.ts.map +0 -1
- package/dist/test-search-tool.js +0 -36
- package/dist/test-search-tool.js.map +0 -1
- package/dist/utils/extract-command-messages.repro.test.d.ts +0 -2
- package/dist/utils/extract-command-messages.repro.test.d.ts.map +0 -1
- package/dist/utils/extract-command-messages.repro.test.js +0 -31
- package/dist/utils/extract-command-messages.repro.test.js.map +0 -1
- package/dist/utils/message-utils.d.ts +0 -17
- package/dist/utils/message-utils.d.ts.map +0 -1
- package/dist/utils/message-utils.js +0 -52
- package/dist/utils/message-utils.js.map +0 -1
- package/dist/utils/message-utils.test.d.ts +0 -2
- package/dist/utils/message-utils.test.d.ts.map +0 -1
- package/dist/utils/message-utils.test.js +0 -48
- package/dist/utils/message-utils.test.js.map +0 -1
package/readme.md
CHANGED
|
@@ -13,32 +13,34 @@ https://github.com/user-attachments/assets/ac960d65-f7c8-453a-9440-91f6397ae842
|
|
|
13
13
|
|
|
14
14
|
## Features
|
|
15
15
|
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
16
|
+
- 🎭 **Three Operating Modes** - Default (full-power), Lite (fast & safe), and Mentor (get help from a smarter model on complex problems)
|
|
17
|
+
- 🌍 **Open Source** - MIT licensed, hackable, auditable, community-driven
|
|
18
|
+
- 🤖 **Multi-Provider Support** - Works with OpenAI, OpenRouter, and OpenAI-compatible APIs
|
|
19
|
+
- 🔒 **Safe Execution** - Every command requires your explicit approval with diff preview
|
|
20
|
+
- 🛠️ **Advanced Tools** - Shell execution, file patching, search/replace, grep, find files, file reading, web search, and mentor consultation
|
|
21
|
+
- 💬 **Slash Commands** - Quick actions like `/clear`, `/quit`, `/model`, `/mentor`, `/lite` for easy control
|
|
22
|
+
- 📝 **Smart Context** - The assistant understands your environment and provides relevant help
|
|
23
|
+
- 🎯 **Streaming Responses** - See the AI's thoughts and reasoning in real-time
|
|
24
|
+
- 🧠 **Reasoning Effort Control** - Configurable reasoning levels (minimal to high) for O1/O3 models
|
|
25
|
+
- ⚡ **Command History** - Navigate previous inputs with arrow keys
|
|
26
|
+
- 🎨 **Markdown Rendering** - Formatted code blocks and text in the terminal
|
|
27
|
+
- 🔄 **Retry Logic** - Automatic recovery from tool hallucinations and upstream errors
|
|
28
|
+
- 🌐 **SSH Mode** - Execute commands and edit files on remote servers over SSH
|
|
29
|
+
- 🤖 **Non-Interactive Mode** - Run commands from the CLI without starting the full UI
|
|
29
30
|
|
|
30
31
|
## Why term2 vs Alternatives?
|
|
31
32
|
|
|
32
|
-
|
|
|
33
|
-
|
|
34
|
-
| **Open Source**
|
|
35
|
-
| **Cost**
|
|
36
|
-
| **AI Providers**
|
|
37
|
-
| **SSH Remote**
|
|
38
|
-
| **Mentor Mode**
|
|
39
|
-
| **Self-Hostable** |
|
|
33
|
+
| | **term2** | Claude Code | Warp |
|
|
34
|
+
| ----------------- | :-----------------------------------: | :------------: | :------------------: |
|
|
35
|
+
| **Open Source** | ✅ MIT | ❌ Proprietary | ❌ Proprietary |
|
|
36
|
+
| **Cost** | Pay-per-use | $20-200/mo | Freemium |
|
|
37
|
+
| **AI Providers** | Any (OpenAI, OpenRouter, local, etc.) | Anthropic only | selected models only |
|
|
38
|
+
| **SSH Remote** | ✅ Native | ❌ No | ✅ Yes |
|
|
39
|
+
| **Mentor Mode** | ✅ Built-in | ❌ No | ❌ No |
|
|
40
|
+
| **Self-Hostable** | ✅ | ❌ | ❌ |
|
|
40
41
|
|
|
41
42
|
**term2 gives you:**
|
|
43
|
+
|
|
42
44
|
- **Freedom** — No vendor lock-in. Use any AI provider or model you prefer.
|
|
43
45
|
- **Transparency** — Open source means you can audit every line of code.
|
|
44
46
|
- **Cost Control** — Pay only for API usage, no monthly subscriptions.
|
|
@@ -49,8 +51,8 @@ https://github.com/user-attachments/assets/ac960d65-f7c8-453a-9440-91f6397ae842
|
|
|
49
51
|
|
|
50
52
|
**Requirements:**
|
|
51
53
|
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
+
- Node.js 16 or higher
|
|
55
|
+
- An API key from OpenAI, OpenRouter, or any OpenAI-compatible provider
|
|
54
56
|
|
|
55
57
|
Install globally via npm:
|
|
56
58
|
|
|
@@ -77,9 +79,9 @@ Then simply chat with the AI! Type your question or request, press Enter, and th
|
|
|
77
79
|
|
|
78
80
|
**New to term2?**
|
|
79
81
|
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
82
|
+
- Working on a codebase/project? Use default mode: `term2`
|
|
83
|
+
- Just need general terminal help? Use lite mode: `term2 --lite`
|
|
84
|
+
- Tackling a complex problem? Enable mentor mode with `/mentor` command
|
|
83
85
|
|
|
84
86
|
See the "Operating Modes" section below for full details.
|
|
85
87
|
|
|
@@ -122,18 +124,22 @@ term2 --ssh deploy@server.com --remote-dir /var/www/app --ssh-port 2222
|
|
|
122
124
|
|
|
123
125
|
# Combine SSH with lite mode for lightweight remote assistance
|
|
124
126
|
term2 --ssh user@host --remote-dir /path --lite
|
|
127
|
+
|
|
128
|
+
# Non-interactive mode
|
|
129
|
+
term2 "how to use grep"
|
|
130
|
+
term2 --auto-approve "list files in current directory"
|
|
125
131
|
```
|
|
126
132
|
|
|
127
133
|
### Slash Commands
|
|
128
134
|
|
|
129
135
|
While in the chat, you can use these commands:
|
|
130
136
|
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
+
- `/clear` - Clear the conversation history
|
|
138
|
+
- `/quit` - Exit the application
|
|
139
|
+
- `/model [model-name]` - Switch to a different model
|
|
140
|
+
- `/mentor` - Toggle mentor mode (see "Operating Modes" section for details)
|
|
141
|
+
- `/lite` - Toggle lite mode (see "Operating Modes" section for details)
|
|
142
|
+
- `/settings [key] [value]` - Modify runtime settings (e.g., `/settings agent.temperature 0.7`)
|
|
137
143
|
|
|
138
144
|
## Operating Modes
|
|
139
145
|
|
|
@@ -155,20 +161,20 @@ Lite mode is designed for general terminal work: system administration, file man
|
|
|
155
161
|
|
|
156
162
|
**Key benefits:**
|
|
157
163
|
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
-
|
|
162
|
-
-
|
|
164
|
+
- 🚀 **Fast and lightweight** - No codebase context, no project file loading, quick startup
|
|
165
|
+
- 🔧 **General terminal tools** - Shell commands, grep, read files, find files (no code editing)
|
|
166
|
+
- 🌐 **Perfect for SSH** - Ideal for remote server management and investigation
|
|
167
|
+
- 🔄 **Toggleable** - Switch on/off mid-session with `/lite` command
|
|
168
|
+
- 🐚 **Shell mode** - Press Shift+Tab to toggle direct shell command execution
|
|
163
169
|
|
|
164
170
|
**When to use Lite mode:**
|
|
165
171
|
|
|
166
|
-
-
|
|
167
|
-
-
|
|
168
|
-
-
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
+
- System administration and server management tasks
|
|
173
|
+
- Investigating logs, config files, and system issues
|
|
174
|
+
- File system navigation and organization
|
|
175
|
+
- SSH into servers for maintenance or debugging
|
|
176
|
+
- General terminal help when not working on a codebase
|
|
177
|
+
- Quick command help and syntax lookups
|
|
172
178
|
|
|
173
179
|
**Example:**
|
|
174
180
|
|
|
@@ -191,10 +197,10 @@ Mentor mode gives you two AI minds working together on your codebase. Your prima
|
|
|
191
197
|
|
|
192
198
|
**Key benefits:**
|
|
193
199
|
|
|
194
|
-
-
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
-
|
|
200
|
+
- 🧠 **Two minds, better solutions** - Primary AI gathers context, mentor provides strategic guidance
|
|
201
|
+
- 🔍 **Structured problem-solving** - Forces clear articulation of findings before jumping to solutions
|
|
202
|
+
- ❓ **Challenges assumptions** - Mentor actively probes for gaps and alternative approaches
|
|
203
|
+
- 🎯 **You stay in control** - Mentor advises, primary AI implements your decisions
|
|
198
204
|
|
|
199
205
|
**How it works:**
|
|
200
206
|
|
|
@@ -208,17 +214,17 @@ Mentor mode gives you two AI minds working together on your codebase. Your prima
|
|
|
208
214
|
|
|
209
215
|
**When to use Mentor mode:**
|
|
210
216
|
|
|
211
|
-
-
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
-
|
|
217
|
+
- Architectural decisions with multiple valid approaches
|
|
218
|
+
- "Am I missing something?" sanity checks before major refactoring
|
|
219
|
+
- Stuck on a problem after trying multiple solutions
|
|
220
|
+
- Designing new features that must fit existing patterns
|
|
221
|
+
- Getting a pre-commit review of your approach
|
|
216
222
|
|
|
217
223
|
**Requirements:**
|
|
218
224
|
|
|
219
|
-
-
|
|
220
|
-
-
|
|
221
|
-
-
|
|
225
|
+
- Configure `agent.mentorModel` in settings (e.g., `gpt-5.2`, `claude-opus-4.5` or `gemini-3-pro-preview`)
|
|
226
|
+
- Mentor model should be more capable than primary model for best results
|
|
227
|
+
- Toggle with `/mentor` command mid-session
|
|
222
228
|
|
|
223
229
|
**Example workflow:**
|
|
224
230
|
|
|
@@ -247,10 +253,10 @@ AI: [Does additional checks based on mentor's questions]
|
|
|
247
253
|
|
|
248
254
|
Modes are mutually exclusive—each represents a different working style matched to your task. You can switch modes mid-session:
|
|
249
255
|
|
|
250
|
-
-
|
|
251
|
-
-
|
|
252
|
-
-
|
|
253
|
-
-
|
|
256
|
+
- `/lite` - Toggle lite mode (clears history when switching)
|
|
257
|
+
- `/mentor` - Toggle mentor mode
|
|
258
|
+
- Switching to lite mode automatically disables edit/mentor modes
|
|
259
|
+
- Enabling edit or mentor mode automatically disables lite mode
|
|
254
260
|
|
|
255
261
|
## SSH Mode
|
|
256
262
|
|
|
@@ -258,9 +264,9 @@ SSH mode enables term2 to execute commands and modify files on remote servers ov
|
|
|
258
264
|
|
|
259
265
|
### Requirements
|
|
260
266
|
|
|
261
|
-
-
|
|
262
|
-
-
|
|
263
|
-
-
|
|
267
|
+
- SSH agent running with your keys loaded (`ssh-add`)
|
|
268
|
+
- SSH access to the target server
|
|
269
|
+
- `--remote-dir` is required to specify the working directory (optional in lite mode - will auto-detect)
|
|
264
270
|
|
|
265
271
|
### Usage
|
|
266
272
|
|
|
@@ -295,23 +301,68 @@ term2 --ssh user@host --remote-dir /path/to/project --lite
|
|
|
295
301
|
|
|
296
302
|
This combination provides:
|
|
297
303
|
|
|
298
|
-
-
|
|
299
|
-
-
|
|
300
|
-
-
|
|
301
|
-
-
|
|
304
|
+
- Remote command execution over SSH
|
|
305
|
+
- Read-only tools (grep, find_files, read_file) for exploration
|
|
306
|
+
- Minimal context and faster responses
|
|
307
|
+
- No file editing tools (safer for production servers)
|
|
302
308
|
|
|
303
309
|
### Limitations
|
|
304
310
|
|
|
305
|
-
-
|
|
306
|
-
-
|
|
307
|
-
-
|
|
311
|
+
- Authentication is via SSH agent only (no password prompts)
|
|
312
|
+
- Binary file operations are not supported (text files only)
|
|
313
|
+
- Large file transfers may be slower than local operations
|
|
314
|
+
|
|
315
|
+
## Non-Interactive Mode
|
|
316
|
+
|
|
317
|
+
term2 can be used for one-off tasks without entering the interactive chat UI. To use non-interactive mode, simply pass your prompt as a positional argument.
|
|
318
|
+
|
|
319
|
+
### Usage
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
term2 "list files in current directory"
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Tool Execution & Approval
|
|
326
|
+
|
|
327
|
+
By default, non-interactive mode will **reject** any tool execution that requires approval (like destructive shell commands or file edits) to prevent accidents.
|
|
328
|
+
|
|
329
|
+
- If a tool is rejected, the AI will respond acknowledging the rejection and may suggest how to run the command manually.
|
|
330
|
+
- To allow tools to run automatically, use the `--auto-approve` flag.
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
# This will fail to delete files (rejection default)
|
|
334
|
+
term2 "delete /tmp/test-file"
|
|
335
|
+
|
|
336
|
+
# This will proceed with execution
|
|
337
|
+
term2 --auto-approve "delete /tmp/test-file"
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Output Redirection
|
|
341
|
+
|
|
342
|
+
- **AI text response** is written to `stdout`.
|
|
343
|
+
- **Events** (tool starts, completions, errors, approval requests) are written to `stderr`.
|
|
344
|
+
|
|
345
|
+
This makes it easy to use term2 in shell scripts:
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
# Capture the response but see events in console
|
|
349
|
+
ANSWER=$(term2 "is there any TODO in source/cli.tsx?")
|
|
350
|
+
echo "The answer is: $ANSWER"
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Default Mode vs Lite Mode
|
|
354
|
+
|
|
355
|
+
- When running **with** `--auto-approve`, term2 defaults to **Default Mode** (full codebase context).
|
|
356
|
+
- When running **without** `--auto-approve`, term2 defaults to **Lite Mode** (no codebase context, safe/fast).
|
|
357
|
+
|
|
358
|
+
You can always override this by passing `--lite` or running in a directory without a codebase.
|
|
308
359
|
|
|
309
360
|
## Configuration
|
|
310
361
|
|
|
311
362
|
term2 stores its configuration in:
|
|
312
363
|
|
|
313
|
-
-
|
|
314
|
-
-
|
|
364
|
+
- **macOS**: `~/Library/Logs/term2-nodejs/settings.json`
|
|
365
|
+
- **Linux**: `~/.local/state/term2-nodejs/settings.json`
|
|
315
366
|
|
|
316
367
|
### Environment Variables (API Keys Only)
|
|
317
368
|
|
|
@@ -336,8 +387,8 @@ Settings (model, provider, temperature, etc.) can be configured via:
|
|
|
336
387
|
|
|
337
388
|
1. **App menu** - Use `/settings` command during a session (e.g., `/settings agent.model gpt-5.2`)
|
|
338
389
|
2. **Settings file** - Manually edit the JSON file:
|
|
339
|
-
|
|
340
|
-
|
|
390
|
+
- **macOS**: `~/Library/Logs/term2-nodejs/settings.json`
|
|
391
|
+
- **Linux**: `~/.local/state/term2-nodejs/settings.json`
|
|
341
392
|
3. **CLI flags** - Override for a single session (e.g., `-m gpt-5.2`)
|
|
342
393
|
|
|
343
394
|
### Provider Configuration Examples
|
|
@@ -348,11 +399,11 @@ You can easily switch between providers by editing `settings.json`.
|
|
|
348
399
|
|
|
349
400
|
```json
|
|
350
401
|
{
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
402
|
+
"agent": {
|
|
403
|
+
"provider": "openai",
|
|
404
|
+
"model": "gpt-5.1",
|
|
405
|
+
"temperature": 0.7
|
|
406
|
+
}
|
|
356
407
|
}
|
|
357
408
|
```
|
|
358
409
|
|
|
@@ -361,10 +412,10 @@ Access a wide range of models.
|
|
|
361
412
|
|
|
362
413
|
```json
|
|
363
414
|
{
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
415
|
+
"agent": {
|
|
416
|
+
"provider": "openrouter",
|
|
417
|
+
"model": "anthropic/claude-4.5-sonnet"
|
|
418
|
+
}
|
|
368
419
|
}
|
|
369
420
|
```
|
|
370
421
|
|
|
@@ -375,16 +426,16 @@ _Llama.cpp Example:_
|
|
|
375
426
|
|
|
376
427
|
```json
|
|
377
428
|
{
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
}
|
|
383
|
-
],
|
|
384
|
-
"agent": {
|
|
385
|
-
"provider": "llama.cpp",
|
|
386
|
-
"model": "qwen3-coder"
|
|
429
|
+
"providers": [
|
|
430
|
+
{
|
|
431
|
+
"name": "llama.cpp",
|
|
432
|
+
"baseUrl": "http://127.0.0.1:8080/v1"
|
|
387
433
|
}
|
|
434
|
+
],
|
|
435
|
+
"agent": {
|
|
436
|
+
"provider": "llama.cpp",
|
|
437
|
+
"model": "qwen3-coder"
|
|
438
|
+
}
|
|
388
439
|
}
|
|
389
440
|
```
|
|
390
441
|
|
|
@@ -392,16 +443,16 @@ _LM Studio Example:_
|
|
|
392
443
|
|
|
393
444
|
```json
|
|
394
445
|
{
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
}
|
|
400
|
-
],
|
|
401
|
-
"agent": {
|
|
402
|
-
"provider": "lm-studio",
|
|
403
|
-
"model": "local-model"
|
|
446
|
+
"providers": [
|
|
447
|
+
{
|
|
448
|
+
"name": "lm-studio",
|
|
449
|
+
"baseUrl": "http://localhost:1234/v1"
|
|
404
450
|
}
|
|
451
|
+
],
|
|
452
|
+
"agent": {
|
|
453
|
+
"provider": "lm-studio",
|
|
454
|
+
"model": "local-model"
|
|
455
|
+
}
|
|
405
456
|
}
|
|
406
457
|
```
|
|
407
458
|
|
|
@@ -409,14 +460,14 @@ _LM Studio Example:_
|
|
|
409
460
|
|
|
410
461
|
```json
|
|
411
462
|
{
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
463
|
+
"shell": {
|
|
464
|
+
"timeout": 120000,
|
|
465
|
+
"maxOutputLines": 1000
|
|
466
|
+
},
|
|
467
|
+
"agent": {
|
|
468
|
+
"reasoningEffort": "medium",
|
|
469
|
+
"mentorModel": "gpt-5.2"
|
|
470
|
+
}
|
|
420
471
|
}
|
|
421
472
|
```
|
|
422
473
|
|
|
@@ -426,25 +477,25 @@ term2 works with multiple AI providers:
|
|
|
426
477
|
|
|
427
478
|
### OpenAI (default)
|
|
428
479
|
|
|
429
|
-
-
|
|
430
|
-
-
|
|
431
|
-
-
|
|
432
|
-
-
|
|
433
|
-
-
|
|
434
|
-
-
|
|
435
|
-
-
|
|
436
|
-
-
|
|
437
|
-
-
|
|
438
|
-
-
|
|
439
|
-
-
|
|
480
|
+
- `gpt-5.2` (latest)
|
|
481
|
+
- `gpt-5.1` (default)
|
|
482
|
+
- `gpt-5`
|
|
483
|
+
- `gpt-5-mini`
|
|
484
|
+
- `gpt-4.1`
|
|
485
|
+
- `gpt-4.1-mini`
|
|
486
|
+
- `gpt-5.1`
|
|
487
|
+
- `gpt-5.1-mini`
|
|
488
|
+
- `o3` (supports reasoning effort)
|
|
489
|
+
- `o3-mini` (supports reasoning effort)
|
|
490
|
+
- `o1` (supports reasoning effort)
|
|
440
491
|
|
|
441
492
|
### OpenRouter
|
|
442
493
|
|
|
443
494
|
Access hundreds of models through OpenRouter including:
|
|
444
495
|
|
|
445
|
-
-
|
|
446
|
-
-
|
|
447
|
-
-
|
|
496
|
+
- Claude models (Anthropic)
|
|
497
|
+
- Gemini models (Google)
|
|
498
|
+
- Open-source models (Deepseek, GLM, Minimax, Devstral, etc.)
|
|
448
499
|
|
|
449
500
|
Use CLI flags (`-m model-name`) or settings file to select OpenRouter models.
|
|
450
501
|
|
|
@@ -452,19 +503,19 @@ Use CLI flags (`-m model-name`) or settings file to select OpenRouter models.
|
|
|
452
503
|
|
|
453
504
|
term2 can connect to any OpenAI-compatible API. This allows you to use:
|
|
454
505
|
|
|
455
|
-
-
|
|
456
|
-
-
|
|
457
|
-
-
|
|
506
|
+
- **Local Models**: Run private models locally via Ollama, LM Studio, vLLM, or LocalAI.
|
|
507
|
+
- **Self-Hosted**: Connect to private deployments of models.
|
|
508
|
+
- **Other Providers**: Any service offering an OpenAI-compatible endpoint (e.g., Groq, Together AI).
|
|
458
509
|
|
|
459
510
|
## Safety Features
|
|
460
511
|
|
|
461
|
-
-
|
|
462
|
-
-
|
|
463
|
-
-
|
|
464
|
-
-
|
|
465
|
-
-
|
|
466
|
-
-
|
|
467
|
-
-
|
|
512
|
+
- **Command Approval** - Every destructive operation requires your explicit confirmation
|
|
513
|
+
- **Diff Preview** - See exact file changes before approving patches or edits
|
|
514
|
+
- **Risk Analysis** - Dangerous operations (like `rm -rf`, `git push --force`) are flagged
|
|
515
|
+
- **Path Safety** - Operations on sensitive directories require extra caution
|
|
516
|
+
- **Dry-Run Validation** - Patches are validated before approval to prevent errors
|
|
517
|
+
- **No Hidden Actions** - All tool usage is transparent and visible
|
|
518
|
+
- **Retry Limits** - Automatic abort after consecutive tool failures (default: 3)
|
|
468
519
|
|
|
469
520
|
## How It Works
|
|
470
521
|
|
|
@@ -558,14 +609,14 @@ term2 --ssh user@host --lite
|
|
|
558
609
|
|
|
559
610
|
## Tips
|
|
560
611
|
|
|
561
|
-
-
|
|
562
|
-
-
|
|
563
|
-
-
|
|
564
|
-
-
|
|
565
|
-
-
|
|
566
|
-
-
|
|
567
|
-
-
|
|
568
|
-
-
|
|
612
|
+
- **Choose the right mode** - Use lite mode for general terminal work (not codebase), default mode for codebase work, mentor mode for complex codebase problems (see "Operating Modes" section)
|
|
613
|
+
- The assistant won't run dangerous commands without your approval
|
|
614
|
+
- You can reject any command by choosing 'No' when prompted
|
|
615
|
+
- Press Ctrl+C to exit the chat at any time
|
|
616
|
+
- Use arrow keys to navigate through your command history
|
|
617
|
+
- Be specific in your requests for better results
|
|
618
|
+
- Use `/mentor` to get expert consultation on difficult architectural decisions
|
|
619
|
+
- Use `--lite` flag when SSH'ing to servers for general system work without codebase context
|
|
569
620
|
|
|
570
621
|
## Contributing
|
|
571
622
|
|
|
@@ -579,11 +630,11 @@ MIT License - see [LICENSE](LICENSE) file for details
|
|
|
579
630
|
|
|
580
631
|
Built with:
|
|
581
632
|
|
|
582
|
-
-
|
|
583
|
-
-
|
|
584
|
-
-
|
|
585
|
-
-
|
|
633
|
+
- [OpenAI Agents SDK](https://github.com/openai/openai-agents-js)
|
|
634
|
+
- [Ink](https://github.com/vadimdemedes/ink) - React for CLI
|
|
635
|
+
- [TypeScript](https://www.typescriptlang.org/)
|
|
636
|
+
- [ssh2](https://github.com/mscdex/ssh2) - SSH client for Node.js
|
|
586
637
|
|
|
587
638
|
---
|
|
588
639
|
|
|
589
|
-
Made with ❤️ by [qduc](https://github.com/qduc)
|
|
640
|
+
Made with ❤️ by [qduc](https://github.com/qduc)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.model-command-feedback.test.d.ts","sourceRoot":"","sources":["../source/app.model-command-feedback.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import test from 'ava';
|
|
2
|
-
import { parseInput } from './app.js';
|
|
3
|
-
test('parseInput identifies /model as slash command', t => {
|
|
4
|
-
const result = parseInput('/model gpt-4o');
|
|
5
|
-
t.is(result.type, 'slash-command');
|
|
6
|
-
if (result.type === 'slash-command') {
|
|
7
|
-
t.is(result.commandName, 'model');
|
|
8
|
-
t.is(result.args, 'gpt-4o');
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
test('parseInput identifies /model with provider as slash command', t => {
|
|
12
|
-
const result = parseInput('/model gpt-4o --provider=openai');
|
|
13
|
-
t.is(result.type, 'slash-command');
|
|
14
|
-
if (result.type === 'slash-command') {
|
|
15
|
-
t.is(result.commandName, 'model');
|
|
16
|
-
t.is(result.args, 'gpt-4o --provider=openai');
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=app.model-command-feedback.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.model-command-feedback.test.js","sourceRoot":"","sources":["../source/app.model-command-feedback.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,IAAI,CAAC,+CAA+C,EAAE,CAAC,CAAC,EAAE;IACtD,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6DAA6D,EAAE,CAAC,CAAC,EAAE;IACpE,MAAM,MAAM,GAAG,UAAU,CAAC,iCAAiC,CAAC,CAAC;IAC7D,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IAClD,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MentorMode.test.d.ts","sourceRoot":"","sources":["../../source/components/MentorMode.test.tsx"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MentorMode.test.js","sourceRoot":"","sources":["../../source/components/MentorMode.test.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAE/E,IAAI,CAAC,8CAA8C,EAAE,CAAC,CAAC,EAAE;IACrD,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IACpD,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1C,eAAe,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAEnD,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CAAC,oBAAC,MAAM,IAAC,eAAe,EAAE,eAAe,GAAI,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,EAAE;IACxD,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IACpD,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1C,eAAe,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAEnD,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CAAC,oBAAC,SAAS,IAAC,eAAe,EAAE,eAAe,GAAI,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.test.d.ts","sourceRoot":"","sources":["../../source/components/StatusBar.test.tsx"],"names":[],"mappings":""}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import test from 'ava';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { render } from 'ink-testing-library';
|
|
4
|
-
import StatusBar from './StatusBar.js';
|
|
5
|
-
import { createMockSettingsService } from '../services/settings-service.mock.js';
|
|
6
|
-
test('StatusBar renders token usage on the right', t => {
|
|
7
|
-
const settingsService = createMockSettingsService();
|
|
8
|
-
const lastUsage = { prompt_tokens: 100, completion_tokens: 50, total_tokens: 150 };
|
|
9
|
-
const { lastFrame } = render(React.createElement(StatusBar, { settingsService: settingsService, lastUsage: lastUsage }));
|
|
10
|
-
const output = lastFrame() ?? '';
|
|
11
|
-
t.true(output.includes('Tok: 100 in / 50 out / 150 total'));
|
|
12
|
-
});
|
|
13
|
-
test('StatusBar does not render usage when not provided', t => {
|
|
14
|
-
const settingsService = createMockSettingsService();
|
|
15
|
-
const { lastFrame } = render(React.createElement(StatusBar, { settingsService: settingsService, lastUsage: null }));
|
|
16
|
-
const output = lastFrame() ?? '';
|
|
17
|
-
t.false(output.includes('Tok:'));
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=StatusBar.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.test.js","sourceRoot":"","sources":["../../source/components/StatusBar.test.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAE/E,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC,EAAE;IACnD,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,EAAC,aAAa,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAC,CAAC;IAEjF,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACtB,oBAAC,SAAS,IACN,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,GACtB,CACL,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,CAAC,CAAC,EAAE;IAC1D,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IAEpD,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACtB,oBAAC,SAAS,IACN,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,IAAI,GACjB,CACL,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC"}
|
package/dist/debug-schema.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-schema.d.ts","sourceRoot":"","sources":["../source/debug-schema.ts"],"names":[],"mappings":""}
|
package/dist/debug-schema.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { searchToolDefinition } from './tools/search.js';
|
|
2
|
-
import { shellToolDefinition } from './tools/shell.js';
|
|
3
|
-
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
4
|
-
console.log('Shell params type:', shellToolDefinition.parameters.constructor.name);
|
|
5
|
-
console.log('Search params type:', searchToolDefinition.parameters.constructor.name);
|
|
6
|
-
try {
|
|
7
|
-
const shellSchema = zodToJsonSchema(shellToolDefinition.parameters, "shell");
|
|
8
|
-
console.log('--- Shell Tool Schema ---');
|
|
9
|
-
console.log(JSON.stringify(shellSchema, null, 2));
|
|
10
|
-
}
|
|
11
|
-
catch (e) {
|
|
12
|
-
console.error('Shell schema error:', e);
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
const searchSchema = zodToJsonSchema(searchToolDefinition.parameters, "search");
|
|
16
|
-
console.log('\n--- Search Tool Schema ---');
|
|
17
|
-
console.log(JSON.stringify(searchSchema, null, 2));
|
|
18
|
-
}
|
|
19
|
-
catch (e) {
|
|
20
|
-
console.error('Search schema error:', e);
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=debug-schema.js.map
|
package/dist/debug-schema.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-schema.js","sourceRoot":"","sources":["../source/debug-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACnF,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAErF,IAAI,CAAC;IACD,MAAM,WAAW,GAAG,eAAe,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,IAAI,CAAC;IACD,MAAM,YAAY,GAAG,eAAe,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACT,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-selection.test.d.ts","sourceRoot":"","sources":["../../source/hooks/use-model-selection.test.ts"],"names":[],"mappings":""}
|