@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../source/tools/shell.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../source/tools/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAEL,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAQ3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,QAAA,MAAM,qBAAqB;;;;iBAczB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,CAAC;AA6CpF,eAAO,MAAM,yBAAyB,GACpC,MAAM,GAAG,EACT,OAAO,MAAM,EACb,uBAAuB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1C,cAAc,EAqFhB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,gBAAgB,CAAC;IAClC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,GAAG,cAAc,CAAC,eAAe,CAAC,CAsIlC"}
|
package/dist/tools/shell.js
CHANGED
|
@@ -13,18 +13,16 @@ const shellParametersSchema = z.object({
|
|
|
13
13
|
timeout_ms: relaxedNumber
|
|
14
14
|
.int()
|
|
15
15
|
.positive()
|
|
16
|
-
.
|
|
17
|
-
.default(null)
|
|
16
|
+
.optional()
|
|
18
17
|
.describe('Optional timeout in milliseconds for each command. Defaults to 120000 ms (2 minutes) if not specified.'),
|
|
19
18
|
max_output_length: relaxedNumber
|
|
20
19
|
.int()
|
|
21
20
|
.positive()
|
|
22
|
-
.
|
|
23
|
-
.default(null)
|
|
21
|
+
.optional()
|
|
24
22
|
.describe('Optional maximum output length in characters for each command. Outputs exceeding this length will be trimmed. Defaults to 10000 characters if not specified.'),
|
|
25
23
|
});
|
|
26
24
|
// Re-export trim utilities for backwards compatibility
|
|
27
|
-
export { setTrimConfig, getTrimConfig, DEFAULT_TRIM_CONFIG
|
|
25
|
+
export { setTrimConfig, getTrimConfig, DEFAULT_TRIM_CONFIG };
|
|
28
26
|
/**
|
|
29
27
|
* Strip redundant 'cd <path> &&' prefix if it targets the current working directory
|
|
30
28
|
*/
|
|
@@ -48,7 +46,7 @@ const coerceCommandText = (value) => {
|
|
|
48
46
|
}
|
|
49
47
|
if (Array.isArray(value)) {
|
|
50
48
|
return value
|
|
51
|
-
.map(part => coerceToText(part))
|
|
49
|
+
.map((part) => coerceToText(part))
|
|
52
50
|
.filter(Boolean)
|
|
53
51
|
.join('\n');
|
|
54
52
|
}
|
|
@@ -56,13 +54,9 @@ const coerceCommandText = (value) => {
|
|
|
56
54
|
};
|
|
57
55
|
export const formatShellCommandMessage = (item, index, toolCallArgumentsById) => {
|
|
58
56
|
const callId = getCallIdFromItem(item);
|
|
59
|
-
const fallbackArgs = callId && toolCallArgumentsById.has(callId)
|
|
60
|
-
? toolCallArgumentsById.get(callId)
|
|
61
|
-
: null;
|
|
57
|
+
const fallbackArgs = callId && toolCallArgumentsById.has(callId) ? toolCallArgumentsById.get(callId) : null;
|
|
62
58
|
const normalizedArgs = item?.rawItem?.arguments ?? item?.arguments;
|
|
63
|
-
const args = normalizeToolArguments(normalizedArgs) ??
|
|
64
|
-
normalizeToolArguments(fallbackArgs) ??
|
|
65
|
-
{};
|
|
59
|
+
const args = normalizeToolArguments(normalizedArgs) ?? normalizeToolArguments(fallbackArgs) ?? {};
|
|
66
60
|
const command = (() => {
|
|
67
61
|
if (typeof args === 'string') {
|
|
68
62
|
return args;
|
|
@@ -77,11 +71,9 @@ export const formatShellCommandMessage = (item, index, toolCallArgumentsById) =>
|
|
|
77
71
|
}
|
|
78
72
|
if (Array.isArray(commandsValue)) {
|
|
79
73
|
const commands = commandsValue
|
|
80
|
-
.map(entry => typeof entry === 'string'
|
|
74
|
+
.map((entry) => typeof entry === 'string'
|
|
81
75
|
? entry
|
|
82
|
-
: entry &&
|
|
83
|
-
typeof entry === 'object' &&
|
|
84
|
-
'command' in entry
|
|
76
|
+
: entry && typeof entry === 'object' && 'command' in entry
|
|
85
77
|
? coerceCommandText(entry.command)
|
|
86
78
|
: coerceCommandText(entry))
|
|
87
79
|
.filter(Boolean)
|
|
@@ -99,16 +91,11 @@ export const formatShellCommandMessage = (item, index, toolCallArgumentsById) =>
|
|
|
99
91
|
firstLine.includes('Error') ||
|
|
100
92
|
firstLine.includes('failed') ||
|
|
101
93
|
firstLine.includes('Failed') ||
|
|
102
|
-
(!firstLine.startsWith('exit ') &&
|
|
103
|
-
firstLine !== 'timeout' &&
|
|
104
|
-
outputText &&
|
|
105
|
-
!outputText.includes('\n'));
|
|
94
|
+
(!firstLine.startsWith('exit ') && firstLine !== 'timeout' && outputText && !outputText.includes('\n'));
|
|
106
95
|
let output;
|
|
107
96
|
let success;
|
|
108
97
|
let failureReason;
|
|
109
|
-
if (isErrorMessage &&
|
|
110
|
-
!firstLine.startsWith('exit ') &&
|
|
111
|
-
firstLine !== 'timeout') {
|
|
98
|
+
if (isErrorMessage && !firstLine.startsWith('exit ') && firstLine !== 'timeout') {
|
|
112
99
|
// For error messages, use the entire output
|
|
113
100
|
output = outputText || 'No output';
|
|
114
101
|
success = false;
|
|
@@ -126,9 +113,7 @@ export const formatShellCommandMessage = (item, index, toolCallArgumentsById) =>
|
|
|
126
113
|
}
|
|
127
114
|
else if (statusLine.startsWith('exit ')) {
|
|
128
115
|
const parsedExitCode = Number(statusLine.slice(5).trim());
|
|
129
|
-
success = Number.isFinite(parsedExitCode)
|
|
130
|
-
? parsedExitCode === 0
|
|
131
|
-
: undefined;
|
|
116
|
+
success = Number.isFinite(parsedExitCode) ? parsedExitCode === 0 : undefined;
|
|
132
117
|
}
|
|
133
118
|
}
|
|
134
119
|
return [
|
|
@@ -174,6 +159,7 @@ export function createShellToolDefinition(deps) {
|
|
|
174
159
|
execute: async ({ command, timeout_ms, max_output_length }) => {
|
|
175
160
|
const cwd = executionContext?.getCwd() || process.cwd();
|
|
176
161
|
const sshService = executionContext?.getSSHService();
|
|
162
|
+
const previousCorrelationId = loggingService.getCorrelationId();
|
|
177
163
|
const correlationId = randomUUID();
|
|
178
164
|
// Set correlation ID for tracking related operations
|
|
179
165
|
loggingService.setCorrelationId(correlationId);
|
|
@@ -181,11 +167,8 @@ export function createShellToolDefinition(deps) {
|
|
|
181
167
|
// Use provided values or settings defaults or hardcoded defaults
|
|
182
168
|
const timeoutValue = timeout_ms ?? settingsService.get('shell.timeout');
|
|
183
169
|
const timeout = timeoutValue != null ? timeoutValue : undefined;
|
|
184
|
-
const maxOutputLengthValue = max_output_length ??
|
|
185
|
-
|
|
186
|
-
const maxOutputLength = maxOutputLengthValue != null
|
|
187
|
-
? maxOutputLengthValue
|
|
188
|
-
: undefined;
|
|
170
|
+
const maxOutputLengthValue = max_output_length ?? settingsService.get('shell.maxOutputChars');
|
|
171
|
+
const maxOutputLength = maxOutputLengthValue != null ? maxOutputLengthValue : undefined;
|
|
189
172
|
loggingService.info('Shell command execution started', {
|
|
190
173
|
commandCount: 1,
|
|
191
174
|
commands: [command],
|
|
@@ -237,39 +220,28 @@ export function createShellToolDefinition(deps) {
|
|
|
237
220
|
}
|
|
238
221
|
loggingService.info('Shell command execution completed', {
|
|
239
222
|
commandCount: 1,
|
|
240
|
-
successCount: outcome.type === 'exit' && outcome.exitCode === 0
|
|
241
|
-
|
|
242
|
-
: 0,
|
|
243
|
-
failureCount: outcome.type === 'exit' && outcome.exitCode !== 0
|
|
244
|
-
? 1
|
|
245
|
-
: 0,
|
|
223
|
+
successCount: outcome.type === 'exit' && outcome.exitCode === 0 ? 1 : 0,
|
|
224
|
+
failureCount: outcome.type === 'exit' && outcome.exitCode !== 0 ? 1 : 0,
|
|
246
225
|
timeoutCount: outcome.type === 'timeout' ? 1 : 0,
|
|
247
226
|
});
|
|
248
227
|
const stdoutTrimmed = trimOutput(stdout, undefined, maxOutputLength).trimEnd();
|
|
249
228
|
const stderrTrimmed = trimOutput(stderr, undefined, maxOutputLength).trimEnd();
|
|
250
|
-
const combinedOutput = [stdoutTrimmed, stderrTrimmed]
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
.trimEnd();
|
|
254
|
-
const statusLine = outcome.type === 'timeout'
|
|
255
|
-
? 'timeout'
|
|
256
|
-
: `exit ${outcome.exitCode ?? 'null'}`;
|
|
257
|
-
const noteLine = optimizedCommand !== command
|
|
258
|
-
? 'note: stripped redundant cd prefix'
|
|
259
|
-
: '';
|
|
229
|
+
const combinedOutput = [stdoutTrimmed, stderrTrimmed].filter(Boolean).join('\n').trimEnd();
|
|
230
|
+
const statusLine = outcome.type === 'timeout' ? 'timeout' : `exit ${outcome.exitCode ?? 'null'}`;
|
|
231
|
+
const noteLine = optimizedCommand !== command ? 'note: stripped redundant cd prefix' : '';
|
|
260
232
|
// Add helpful note when command succeeds with no output
|
|
261
|
-
const emptyOutputNote = combinedOutput === '' &&
|
|
262
|
-
outcome.type === 'exit' &&
|
|
263
|
-
outcome.exitCode === 0
|
|
233
|
+
const emptyOutputNote = combinedOutput === '' && outcome.type === 'exit' && outcome.exitCode === 0
|
|
264
234
|
? 'note: command succeeded with no output'
|
|
265
235
|
: '';
|
|
266
|
-
return [statusLine, combinedOutput, noteLine, emptyOutputNote]
|
|
267
|
-
.filter(Boolean)
|
|
268
|
-
.join('\n');
|
|
236
|
+
return [statusLine, combinedOutput, noteLine, emptyOutputNote].filter(Boolean).join('\n');
|
|
269
237
|
}
|
|
270
238
|
finally {
|
|
271
|
-
|
|
272
|
-
|
|
239
|
+
if (previousCorrelationId) {
|
|
240
|
+
loggingService.setCorrelationId(previousCorrelationId);
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
loggingService.clearCorrelationId();
|
|
244
|
+
}
|
|
273
245
|
}
|
|
274
246
|
},
|
|
275
247
|
formatCommandMessage: formatShellCommandMessage,
|
package/dist/tools/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../source/tools/shell.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../source/tools/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell.test.d.ts","sourceRoot":"","sources":["../../source/tools/shell.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { createShellToolDefinition } from './shell.js';
|
|
3
|
+
import { createMockSettingsService } from '../services/settings-service.mock.js';
|
|
4
|
+
test.serial('shell execute restores previous correlation id after command execution', async (t) => {
|
|
5
|
+
const setCorrelationCalls = [];
|
|
6
|
+
let clearCorrelationCalls = 0;
|
|
7
|
+
let currentCorrelationId = 'trace-parent';
|
|
8
|
+
const loggingService = {
|
|
9
|
+
info: () => { },
|
|
10
|
+
warn: () => { },
|
|
11
|
+
error: () => { },
|
|
12
|
+
debug: () => { },
|
|
13
|
+
security: () => { },
|
|
14
|
+
setCorrelationId: (id) => {
|
|
15
|
+
currentCorrelationId = id;
|
|
16
|
+
setCorrelationCalls.push(id);
|
|
17
|
+
},
|
|
18
|
+
getCorrelationId: () => currentCorrelationId,
|
|
19
|
+
clearCorrelationId: () => {
|
|
20
|
+
currentCorrelationId = undefined;
|
|
21
|
+
clearCorrelationCalls += 1;
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
const tool = createShellToolDefinition({
|
|
25
|
+
loggingService,
|
|
26
|
+
settingsService: createMockSettingsService(),
|
|
27
|
+
});
|
|
28
|
+
const output = await tool.execute({
|
|
29
|
+
command: 'printf hello',
|
|
30
|
+
timeout_ms: 60000,
|
|
31
|
+
max_output_length: 10000,
|
|
32
|
+
});
|
|
33
|
+
t.true(output.includes('exit 0'));
|
|
34
|
+
t.is(currentCorrelationId, 'trace-parent');
|
|
35
|
+
t.is(clearCorrelationCalls, 0);
|
|
36
|
+
t.true(setCorrelationCalls.length >= 2);
|
|
37
|
+
t.not(setCorrelationCalls[0], 'trace-parent');
|
|
38
|
+
t.is(setCorrelationCalls[setCorrelationCalls.length - 1], 'trace-parent');
|
|
39
|
+
});
|
|
40
|
+
test.serial('shell execute clears correlation id when no previous correlation exists', async (t) => {
|
|
41
|
+
let currentCorrelationId = undefined;
|
|
42
|
+
let clearCorrelationCalls = 0;
|
|
43
|
+
const loggingService = {
|
|
44
|
+
info: () => { },
|
|
45
|
+
warn: () => { },
|
|
46
|
+
error: () => { },
|
|
47
|
+
debug: () => { },
|
|
48
|
+
security: () => { },
|
|
49
|
+
setCorrelationId: (id) => {
|
|
50
|
+
currentCorrelationId = id;
|
|
51
|
+
},
|
|
52
|
+
getCorrelationId: () => currentCorrelationId,
|
|
53
|
+
clearCorrelationId: () => {
|
|
54
|
+
currentCorrelationId = undefined;
|
|
55
|
+
clearCorrelationCalls += 1;
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
const tool = createShellToolDefinition({
|
|
59
|
+
loggingService,
|
|
60
|
+
settingsService: createMockSettingsService(),
|
|
61
|
+
});
|
|
62
|
+
await tool.execute({
|
|
63
|
+
command: 'printf hello',
|
|
64
|
+
timeout_ms: 60000,
|
|
65
|
+
max_output_length: 10000,
|
|
66
|
+
});
|
|
67
|
+
t.is(currentCorrelationId, undefined);
|
|
68
|
+
t.is(clearCorrelationCalls, 1);
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=shell.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell.test.js","sourceRoot":"","sources":["../../source/tools/shell.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-names.d.ts","sourceRoot":"","sources":["../../source/tools/tool-names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AACnD,eAAO,MAAM,wBAAwB,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-names.js","sourceRoot":"","sources":["../../source/tools/tool-names.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-names.test.d.ts","sourceRoot":"","sources":["../../source/tools/tool-names.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { TOOL_NAME_APPLY_PATCH, TOOL_NAME_SEARCH_REPLACE } from './tool-names.js';
|
|
3
|
+
test('tool name constants remain stable', (t) => {
|
|
4
|
+
t.is(TOOL_NAME_APPLY_PATCH, 'apply_patch');
|
|
5
|
+
t.is(TOOL_NAME_SEARCH_REPLACE, 'search_replace');
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=tool-names.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-names.test.js","sourceRoot":"","sources":["../../source/tools/tool-names.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAElF,IAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC9C,CAAC,CAAC,EAAE,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-parameter-schema.test.d.ts","sourceRoot":"","sources":["../../source/tools/tool-parameter-schema.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { createFindFilesToolDefinition } from './find-files.js';
|
|
3
|
+
import { createReadFileToolDefinition } from './read-file.js';
|
|
4
|
+
import { createShellToolDefinition } from './shell.js';
|
|
5
|
+
import { createGrepToolDefinition } from './grep.js';
|
|
6
|
+
import { grepToolDefinition as searchToolDefinition } from './search.js';
|
|
7
|
+
import { createWebFetchToolDefinition } from './web-fetch.js';
|
|
8
|
+
import { createAskMentorToolDefinition } from './ask-mentor.js';
|
|
9
|
+
import { createSearchReplaceToolDefinition } from './search-replace.js';
|
|
10
|
+
import { createMockSettingsService } from '../services/settings-service.mock.js';
|
|
11
|
+
const loggingService = {
|
|
12
|
+
info: () => { },
|
|
13
|
+
warn: () => { },
|
|
14
|
+
error: () => { },
|
|
15
|
+
debug: () => { },
|
|
16
|
+
security: () => { },
|
|
17
|
+
setCorrelationId: () => { },
|
|
18
|
+
getCorrelationId: () => undefined,
|
|
19
|
+
clearCorrelationId: () => { },
|
|
20
|
+
};
|
|
21
|
+
test('find_files schema uses optional params instead of nullable', (t) => {
|
|
22
|
+
const tool = createFindFilesToolDefinition();
|
|
23
|
+
t.true(tool.parameters.safeParse({ pattern: '*.ts' }).success);
|
|
24
|
+
t.false(tool.parameters.safeParse({ pattern: '*.ts', path: null }).success);
|
|
25
|
+
t.false(tool.parameters.safeParse({ pattern: '*.ts', max_results: null }).success);
|
|
26
|
+
});
|
|
27
|
+
test('read_file schema uses optional line params instead of nullable', (t) => {
|
|
28
|
+
const tool = createReadFileToolDefinition();
|
|
29
|
+
t.true(tool.parameters.safeParse({ path: 'README.md' }).success);
|
|
30
|
+
t.false(tool.parameters.safeParse({ path: 'README.md', start_line: null }).success);
|
|
31
|
+
t.false(tool.parameters.safeParse({ path: 'README.md', end_line: null }).success);
|
|
32
|
+
});
|
|
33
|
+
test('shell schema uses optional params instead of nullable', (t) => {
|
|
34
|
+
const tool = createShellToolDefinition({
|
|
35
|
+
loggingService,
|
|
36
|
+
settingsService: createMockSettingsService(),
|
|
37
|
+
});
|
|
38
|
+
t.true(tool.parameters.safeParse({ command: 'echo hi' }).success);
|
|
39
|
+
t.false(tool.parameters.safeParse({ command: 'echo hi', timeout_ms: null }).success);
|
|
40
|
+
t.false(tool.parameters.safeParse({ command: 'echo hi', max_output_length: null }).success);
|
|
41
|
+
});
|
|
42
|
+
test('grep schema uses optional file_pattern instead of nullable', (t) => {
|
|
43
|
+
const tool = createGrepToolDefinition();
|
|
44
|
+
t.true(tool.parameters.safeParse({ pattern: 'foo', path: '.' }).success);
|
|
45
|
+
t.false(tool.parameters.safeParse({ pattern: 'foo', path: '.', file_pattern: null }).success);
|
|
46
|
+
});
|
|
47
|
+
test('search schema uses optional params instead of nullable', (t) => {
|
|
48
|
+
t.true(searchToolDefinition.parameters.safeParse({ pattern: 'foo', path: '.', case_sensitive: true }).success);
|
|
49
|
+
t.true(searchToolDefinition.parameters.safeParse({ pattern: 'foo', path: '.' }).success);
|
|
50
|
+
t.false(searchToolDefinition.parameters.safeParse({ pattern: 'foo', path: '.', case_sensitive: null }).success);
|
|
51
|
+
t.false(searchToolDefinition.parameters.safeParse({ pattern: 'foo', path: '.', case_sensitive: true, file_pattern: null })
|
|
52
|
+
.success);
|
|
53
|
+
t.false(searchToolDefinition.parameters.safeParse({
|
|
54
|
+
pattern: 'foo',
|
|
55
|
+
path: '.',
|
|
56
|
+
case_sensitive: true,
|
|
57
|
+
exclude_pattern: null,
|
|
58
|
+
}).success);
|
|
59
|
+
t.false(searchToolDefinition.parameters.safeParse({ pattern: 'foo', path: '.', case_sensitive: true, max_results: null })
|
|
60
|
+
.success);
|
|
61
|
+
});
|
|
62
|
+
test('web_fetch schema uses optional continuation_token instead of nullable', (t) => {
|
|
63
|
+
const tool = createWebFetchToolDefinition({
|
|
64
|
+
settingsService: createMockSettingsService(),
|
|
65
|
+
loggingService,
|
|
66
|
+
});
|
|
67
|
+
t.true(tool.parameters.safeParse({ url: 'https://example.com' }).success);
|
|
68
|
+
t.true(tool.parameters.safeParse({ url: 'https://example.com', max_chars: 5000 }).success);
|
|
69
|
+
t.false(tool.parameters.safeParse({ url: 'https://example.com', max_chars: null }).success);
|
|
70
|
+
t.true(tool.parameters.safeParse({ url: 'https://example.com', heading: ['Intro'] }).success);
|
|
71
|
+
t.false(tool.parameters.safeParse({ url: 'https://example.com', heading: null }).success);
|
|
72
|
+
t.false(tool.parameters.safeParse({ url: 'https://example.com', continuation_token: null }).success);
|
|
73
|
+
});
|
|
74
|
+
test('ask_mentor schema uses optional context instead of nullable', (t) => {
|
|
75
|
+
const tool = createAskMentorToolDefinition(async () => 'ok');
|
|
76
|
+
t.true(tool.parameters.safeParse({ question: 'How?' }).success);
|
|
77
|
+
t.false(tool.parameters.safeParse({ question: 'How?', context: null }).success);
|
|
78
|
+
});
|
|
79
|
+
test('search_replace schema uses optional replace_all default', (t) => {
|
|
80
|
+
const tool = createSearchReplaceToolDefinition({
|
|
81
|
+
loggingService,
|
|
82
|
+
settingsService: createMockSettingsService(),
|
|
83
|
+
});
|
|
84
|
+
t.true(tool.parameters.safeParse({ path: 'a.ts', search_content: 'old', replace_content: 'new' }).success);
|
|
85
|
+
t.false(tool.parameters.safeParse({ path: 'a.ts', search_content: 'old', replace_content: 'new', replace_all: null })
|
|
86
|
+
.success);
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=tool-parameter-schema.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-parameter-schema.test.js","sourceRoot":"","sources":["../../source/tools/tool-parameter-schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../source/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../source/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACjF,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACnE;;;;;;OAMG;IACH,oBAAoB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,cAAc,EAAE,CAAC;CACnH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../source/tools/utils.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../source/tools/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,MAAsB,EAC/B,OAAO,CAAC,EAAE;IACR;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GACA,MAAM,CAoBR;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,6BAAoB,CAAC"}
|
package/dist/tools/utils.js
CHANGED
|
@@ -5,20 +5,15 @@ import { z } from 'zod';
|
|
|
5
5
|
*/
|
|
6
6
|
export function resolveWorkspacePath(relativePath, baseDir = process.cwd(), options) {
|
|
7
7
|
const allowOutsideWorkspace = options?.allowOutsideWorkspace ?? false;
|
|
8
|
-
const resolved = path.isAbsolute(relativePath)
|
|
9
|
-
? path.normalize(relativePath)
|
|
10
|
-
: path.resolve(baseDir, relativePath);
|
|
8
|
+
const resolved = path.isAbsolute(relativePath) ? path.normalize(relativePath) : path.resolve(baseDir, relativePath);
|
|
11
9
|
if (allowOutsideWorkspace) {
|
|
12
10
|
return resolved;
|
|
13
11
|
}
|
|
14
12
|
const normalizedBaseDir = path.resolve(baseDir);
|
|
15
13
|
const normalizedResolved = path.resolve(resolved);
|
|
16
14
|
// Ensure either exact match or within base directory (prefix with separator to avoid /foo/bar2 matching /foo/bar)
|
|
17
|
-
const basePrefix = normalizedBaseDir.endsWith(path.sep)
|
|
18
|
-
|
|
19
|
-
: normalizedBaseDir + path.sep;
|
|
20
|
-
const isInside = normalizedResolved === normalizedBaseDir ||
|
|
21
|
-
normalizedResolved.startsWith(basePrefix);
|
|
15
|
+
const basePrefix = normalizedBaseDir.endsWith(path.sep) ? normalizedBaseDir : normalizedBaseDir + path.sep;
|
|
16
|
+
const isInside = normalizedResolved === normalizedBaseDir || normalizedResolved.startsWith(basePrefix);
|
|
22
17
|
if (!isInside) {
|
|
23
18
|
throw new Error(`Operation outside workspace: ${relativePath}`);
|
|
24
19
|
}
|
package/dist/tools/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../source/tools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../source/tools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,UAAkB,OAAO,CAAC,GAAG,EAAE,EAC/B,OAMC;IAED,MAAM,qBAAqB,GAAG,OAAO,EAAE,qBAAqB,IAAI,KAAK,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEpH,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElD,kHAAkH;IAClH,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3G,MAAM,QAAQ,GAAG,kBAAkB,KAAK,iBAAiB,IAAI,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAEvG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC"}
|
|
@@ -3,9 +3,9 @@ import type { ToolDefinition, CommandMessage } from './types.js';
|
|
|
3
3
|
import type { ISettingsService, ILoggingService } from '../services/service-interfaces.js';
|
|
4
4
|
declare const webFetchSchema: z.ZodObject<{
|
|
5
5
|
url: z.ZodString;
|
|
6
|
-
max_chars: z.ZodDefault<z.ZodNumber
|
|
7
|
-
heading: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]
|
|
8
|
-
continuation_token: z.
|
|
6
|
+
max_chars: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7
|
+
heading: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>;
|
|
8
|
+
continuation_token: z.ZodOptional<z.ZodString>;
|
|
9
9
|
}, z.core.$strip>;
|
|
10
10
|
export type WebFetchParams = z.infer<typeof webFetchSchema>;
|
|
11
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-fetch.d.ts","sourceRoot":"","sources":["../../source/tools/web-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"web-fetch.d.ts","sourceRoot":"","sources":["../../source/tools/web-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAK3F,QAAA,MAAM,cAAc;;;;;iBAkBlB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,GAAG,EACT,OAAO,MAAM,EACb,uBAAuB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1C,cAAc,EAoBhB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,MAAM;IACjD,eAAe,EAAE,gBAAgB,CAAC;IAClC,cAAc,EAAE,eAAe,CAAC;CACjC,KAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAyCzC,CAAC"}
|
package/dist/tools/web-fetch.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { fetchWebPage } from '@qduc/web-fetch';
|
|
3
|
-
import { getOutputText, normalizeToolArguments, createBaseMessage, getCallIdFromItem
|
|
3
|
+
import { getOutputText, normalizeToolArguments, createBaseMessage, getCallIdFromItem } from './format-helpers.js';
|
|
4
4
|
const DEFAULT_MAX_CHARS = 10000;
|
|
5
5
|
const MAX_CHARS_LIMIT = 200000;
|
|
6
6
|
const webFetchSchema = z.object({
|
|
@@ -9,16 +9,17 @@ const webFetchSchema = z.object({
|
|
|
9
9
|
.number()
|
|
10
10
|
.min(200)
|
|
11
11
|
.max(MAX_CHARS_LIMIT)
|
|
12
|
+
.optional()
|
|
12
13
|
.default(DEFAULT_MAX_CHARS)
|
|
13
14
|
.describe(`Maximum number of characters to return (default: ${DEFAULT_MAX_CHARS}).`),
|
|
14
15
|
heading: z
|
|
15
16
|
.array(z.union([z.string(), z.number()]))
|
|
17
|
+
.optional()
|
|
16
18
|
.default([])
|
|
17
19
|
.describe('Optional: Array of headings (h1-h3) to retrieve content from.'),
|
|
18
20
|
continuation_token: z
|
|
19
21
|
.string()
|
|
20
|
-
.
|
|
21
|
-
.default(null)
|
|
22
|
+
.optional()
|
|
22
23
|
.describe('Optional: Token from previous response to fetch the next chunk of content.'),
|
|
23
24
|
});
|
|
24
25
|
/**
|
|
@@ -26,13 +27,9 @@ const webFetchSchema = z.object({
|
|
|
26
27
|
*/
|
|
27
28
|
export const formatWebFetchCommandMessage = (item, index, toolCallArgumentsById) => {
|
|
28
29
|
const callId = getCallIdFromItem(item);
|
|
29
|
-
const fallbackArgs = callId && toolCallArgumentsById.has(callId)
|
|
30
|
-
? toolCallArgumentsById.get(callId)
|
|
31
|
-
: null;
|
|
30
|
+
const fallbackArgs = callId && toolCallArgumentsById.has(callId) ? toolCallArgumentsById.get(callId) : null;
|
|
32
31
|
const normalizedArgs = item?.rawItem?.arguments ?? item?.arguments;
|
|
33
|
-
const args = normalizeToolArguments(normalizedArgs) ??
|
|
34
|
-
normalizeToolArguments(fallbackArgs) ??
|
|
35
|
-
{};
|
|
32
|
+
const args = normalizeToolArguments(normalizedArgs) ?? normalizeToolArguments(fallbackArgs) ?? {};
|
|
36
33
|
const url = args?.url ?? 'unknown url';
|
|
37
34
|
const command = `web_fetch: "${url}"`;
|
|
38
35
|
const output = getOutputText(item) || 'No results';
|
|
@@ -55,7 +52,7 @@ export const createWebFetchToolDefinition = (deps) => {
|
|
|
55
52
|
parameters: webFetchSchema,
|
|
56
53
|
needsApproval: () => false,
|
|
57
54
|
execute: async (params) => {
|
|
58
|
-
const { url, max_chars = DEFAULT_MAX_CHARS, heading: targetHeadings, continuation_token
|
|
55
|
+
const { url, max_chars = DEFAULT_MAX_CHARS, heading: targetHeadings, continuation_token } = params;
|
|
59
56
|
try {
|
|
60
57
|
const result = await fetchWebPage({
|
|
61
58
|
url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-fetch.js","sourceRoot":"","sources":["../../source/tools/web-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,
|
|
1
|
+
{"version":3,"file":"web-fetch.js","sourceRoot":"","sources":["../../source/tools/web-fetch.ts"],"names":[],"mappings":"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"}
|