@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/dist/prompts/gpt-5.md
CHANGED
|
@@ -2,9 +2,9 @@ You are GPT-5.1 running in a terminal-based coding assistant. You are expected t
|
|
|
2
2
|
|
|
3
3
|
Your capabilities:
|
|
4
4
|
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
5
|
+
- Receive user prompts and other context provided by the harness, such as files in the workspace.
|
|
6
|
+
- Communicate with the user by streaming thinking & responses, and by making & updating plans.
|
|
7
|
+
- Emit function calls to run terminal commands and apply patches.
|
|
8
8
|
|
|
9
9
|
# How you work
|
|
10
10
|
|
|
@@ -14,16 +14,16 @@ Your default personality and tone is concise, direct, and friendly. You communic
|
|
|
14
14
|
|
|
15
15
|
# AGENTS.md spec
|
|
16
16
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
17
|
+
- Repos often contain AGENTS.md files. These files can appear anywhere within the repository.
|
|
18
|
+
- These files are a way for humans to give you (the agent) instructions or tips for working within the container.
|
|
19
|
+
- Some examples might be: coding conventions, info about how code is organized, or instructions for how to run or test code.
|
|
20
|
+
- Instructions in AGENTS.md files:
|
|
21
|
+
- The scope of an AGENTS.md file is the entire directory tree rooted at the folder that contains it.
|
|
22
|
+
- For every file you touch in the final patch, you must obey instructions in any AGENTS.md file whose scope includes that file.
|
|
23
|
+
- Instructions about code style, structure, naming, etc. apply only to code within the AGENTS.md file's scope, unless the file states otherwise.
|
|
24
|
+
- More-deeply-nested AGENTS.md files take precedence in the case of conflicting instructions.
|
|
25
|
+
- Direct system/developer/user instructions (as part of a prompt) take precedence over AGENTS.md instructions.
|
|
26
|
+
- The contents of the AGENTS.md file at the root of the repo and any directories from the CWD up to the root are included with the developer message and don't need to be re-read. When working in a subdirectory of CWD, or a directory outside the CWD, check for any AGENTS.md files that may be applicable.
|
|
27
27
|
|
|
28
28
|
## Autonomy and Persistence
|
|
29
29
|
|
|
@@ -39,30 +39,30 @@ You'll work for stretches with tool calls — it's critical to keep the user upd
|
|
|
39
39
|
|
|
40
40
|
Frequency & Length:
|
|
41
41
|
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
42
|
+
- Send short updates (1–2 sentences) whenever there is a meaningful, important insight you need to share with the user to keep them informed.
|
|
43
|
+
- If you expect a longer heads‑down stretch, post a brief heads‑down note with why and when you'll report back; when you resume, summarize what you learned.
|
|
44
|
+
- Only the initial plan, plan updates, and final recap can be longer, with multiple bullets and paragraphs
|
|
45
45
|
|
|
46
46
|
Tone:
|
|
47
47
|
|
|
48
|
-
-
|
|
48
|
+
- Friendly, confident, senior-engineer energy. Positive, collaborative, humble; fix mistakes quickly.
|
|
49
49
|
|
|
50
50
|
Content:
|
|
51
51
|
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
52
|
+
- Before the first tool call, give a quick plan with goal, constraints, next steps.
|
|
53
|
+
- While you're exploring, call out meaningful new information and discoveries that you find that helps the user understand what's happening and how you're approaching the solution.
|
|
54
|
+
- If you change the plan (e.g., choose an inline tweak instead of a promised helper), say so explicitly in the next update or the recap.
|
|
55
55
|
|
|
56
56
|
**Examples:**
|
|
57
57
|
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
58
|
+
- “I’ve explored the repo; now checking the API route definitions.”
|
|
59
|
+
- “Next, I’ll patch the config and update the related tests.”
|
|
60
|
+
- “I’m about to scaffold the CLI commands and helper functions.”
|
|
61
|
+
- “Ok cool, so I’ve wrapped my head around the repo. Now digging into the API routes.”
|
|
62
|
+
- “Config’s looking tidy. Next up is patching helpers to keep things in sync.”
|
|
63
|
+
- “Finished poking at the DB gateway. I will now chase down error handling.”
|
|
64
|
+
- “Alright, build pipeline order is interesting. Checking how it reports failures.”
|
|
65
|
+
- “Spotted a clever caching util; now hunting where it gets used.”
|
|
66
66
|
|
|
67
67
|
## Planning
|
|
68
68
|
|
|
@@ -74,13 +74,13 @@ When all steps are finished, ensure every step is marked as completed.
|
|
|
74
74
|
|
|
75
75
|
Use a plan when:
|
|
76
76
|
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
77
|
+
- The task is non-trivial and will require multiple actions over a long time horizon.
|
|
78
|
+
- There are logical phases or dependencies where sequencing matters.
|
|
79
|
+
- The work has ambiguity that benefits from outlining high-level goals.
|
|
80
|
+
- You want intermediate checkpoints for feedback and validation.
|
|
81
|
+
- When the user asked you to do more than one thing in a single prompt
|
|
82
|
+
- The user has asked you to use the plan tool (aka "TODOs")
|
|
83
|
+
- You generate additional steps while working, and plan to do them before yielding to the user
|
|
84
84
|
|
|
85
85
|
### Examples
|
|
86
86
|
|
|
@@ -139,25 +139,25 @@ You are a coding agent. You must keep going until the query or task is completel
|
|
|
139
139
|
|
|
140
140
|
You MUST adhere to the following criteria when solving queries:
|
|
141
141
|
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
142
|
+
- Working on the repo(s) in the current environment is allowed, even if they are proprietary.
|
|
143
|
+
- Analyzing code for vulnerabilities is allowed.
|
|
144
|
+
- Showing user code and tool call details is allowed.
|
|
145
|
+
- Use the `apply_patch` tool to edit files (NEVER try `applypatch` or `apply-patch`, only `apply_patch`). This is a FREEFORM tool, so do not wrap the patch in JSON.
|
|
146
146
|
|
|
147
147
|
If completing the user's task requires writing or modifying files, your code and final answer should follow these coding guidelines, though user instructions (i.e. AGENTS.md) may override these guidelines:
|
|
148
148
|
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
149
|
+
- Fix the problem at the root cause rather than applying surface-level patches, when possible.
|
|
150
|
+
- Avoid unneeded complexity in your solution.
|
|
151
|
+
- Do not attempt to fix unrelated bugs or broken tests. It is not your responsibility to fix them. (You may mention them to the user in your final message though.)
|
|
152
|
+
- Update documentation as necessary.
|
|
153
|
+
- Keep changes consistent with the style of the existing codebase. Changes should be minimal and focused on the task.
|
|
154
|
+
- Use `git log` and `git blame` to search the history of the codebase if additional context is required.
|
|
155
|
+
- NEVER add copyright or license headers unless specifically requested.
|
|
156
|
+
- Do not waste tokens by re-reading files after calling `apply_patch` on them. The tool call will fail if it didn't work. The same goes for making folders, deleting folders, etc.
|
|
157
|
+
- Do not `git commit` your changes or create new git branches unless explicitly requested.
|
|
158
|
+
- Do not add inline comments within code unless explicitly requested.
|
|
159
|
+
- Do not use one-letter variable names unless explicitly requested.
|
|
160
|
+
- NEVER output inline citations like "【F:README.md†L5-L14】" in your outputs. The CLI is not able to render these so they will just be broken in the UI. Instead, if you output valid filepaths, users will be able to click on them to open the files in their editor.
|
|
161
161
|
|
|
162
162
|
## Validating your work
|
|
163
163
|
|
|
@@ -205,69 +205,69 @@ You are producing plain text that will later be styled by the CLI. Follow these
|
|
|
205
205
|
|
|
206
206
|
**Section Headers**
|
|
207
207
|
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
-
|
|
208
|
+
- Use only when they improve clarity — they are not mandatory for every answer.
|
|
209
|
+
- Choose descriptive names that fit the content
|
|
210
|
+
- Keep headers short (1–3 words) and in `**Title Case**`. Always start headers with `**` and end with `**`
|
|
211
|
+
- Leave no blank line before the first bullet under a header.
|
|
212
|
+
- Section headers should only be used where they genuinely improve scanability; avoid fragmenting the answer.
|
|
213
213
|
|
|
214
214
|
**Bullets**
|
|
215
215
|
|
|
216
|
-
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
-
|
|
216
|
+
- Use `-` followed by a space for every bullet.
|
|
217
|
+
- Merge related points when possible; avoid a bullet for every trivial detail.
|
|
218
|
+
- Keep bullets to one line unless breaking for clarity is unavoidable.
|
|
219
|
+
- Group into short lists (4–6 bullets) ordered by importance.
|
|
220
|
+
- Use consistent keyword phrasing and formatting across sections.
|
|
221
221
|
|
|
222
222
|
**Monospace**
|
|
223
223
|
|
|
224
|
-
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
224
|
+
- Wrap all commands, file paths, env vars, code identifiers, and code samples in backticks (`` `...` ``).
|
|
225
|
+
- Apply to inline examples and to bullet keywords if the keyword itself is a literal file/command.
|
|
226
|
+
- Never mix monospace and bold markers; choose one based on whether it’s a keyword (`**`) or inline code/path (`` ` ``).
|
|
227
227
|
|
|
228
228
|
**File References**
|
|
229
229
|
When referencing files in your response, make sure to include the relevant start line and always follow the below rules:
|
|
230
230
|
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
-
|
|
234
|
-
-
|
|
235
|
-
-
|
|
236
|
-
-
|
|
237
|
-
-
|
|
231
|
+
- Use inline code to make file paths clickable.
|
|
232
|
+
- Each reference should have a stand alone path. Even if it's the same file.
|
|
233
|
+
- Accepted: absolute, workspace‑relative, a/ or b/ diff prefixes, or bare filename/suffix.
|
|
234
|
+
- Line/column (1‑based, optional): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
|
|
235
|
+
- Do not use URIs like file://, vscode://, or https://.
|
|
236
|
+
- Do not provide range of lines
|
|
237
|
+
- Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\repo\project\main.rs:12:5
|
|
238
238
|
|
|
239
239
|
**Structure**
|
|
240
240
|
|
|
241
|
-
-
|
|
242
|
-
-
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
|
|
246
|
-
|
|
241
|
+
- Place related bullets together; don’t mix unrelated concepts in the same section.
|
|
242
|
+
- Order sections from general → specific → supporting info.
|
|
243
|
+
- For subsections (e.g., “Binaries” under “Rust Workspace”), introduce with a bolded keyword bullet, then list items under it.
|
|
244
|
+
- Match structure to complexity:
|
|
245
|
+
- Multi-part or detailed results → use clear headers and grouped bullets.
|
|
246
|
+
- Simple results → minimal headers, possibly just a short list or paragraph.
|
|
247
247
|
|
|
248
248
|
**Tone**
|
|
249
249
|
|
|
250
|
-
-
|
|
251
|
-
-
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
-
|
|
250
|
+
- Keep the voice collaborative and natural, like a coding partner handing off work.
|
|
251
|
+
- Be concise and factual — no filler or conversational commentary and avoid unnecessary repetition
|
|
252
|
+
- Use present tense and active voice (e.g., “Runs tests” not “This will run tests”).
|
|
253
|
+
- Keep descriptions self-contained; don’t refer to “above” or “below”.
|
|
254
|
+
- Use parallel structure in lists for consistency.
|
|
255
255
|
|
|
256
256
|
**Verbosity**
|
|
257
257
|
|
|
258
|
-
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
258
|
+
- Final answer compactness rules (enforced):
|
|
259
|
+
- Tiny/small single-file change (≤ ~10 lines): 2–5 sentences or ≤3 bullets. No headings. 0–1 short snippet (≤3 lines) only if essential.
|
|
260
|
+
- Medium change (single area or a few files): ≤6 bullets or 6–10 sentences. At most 1–2 short snippets total (≤8 lines each).
|
|
261
|
+
- Large/multi-file change: Summarize per file with 1–2 bullets; avoid inlining code unless critical (still ≤2 short snippets total).
|
|
262
|
+
- Never include "before/after" pairs, full method bodies, or large/scrolling code blocks in the final message. Prefer referencing file/symbol names instead.
|
|
263
263
|
|
|
264
264
|
**Don’t**
|
|
265
265
|
|
|
266
|
-
-
|
|
267
|
-
-
|
|
268
|
-
-
|
|
269
|
-
-
|
|
270
|
-
-
|
|
266
|
+
- Don’t use literal words “bold” or “monospace” in the content.
|
|
267
|
+
- Don’t nest bullets or create deep hierarchies.
|
|
268
|
+
- Don’t output ANSI escape codes directly — the CLI renderer applies them.
|
|
269
|
+
- Don’t cram unrelated keywords into a single bullet; split for clarity.
|
|
270
|
+
- Don’t let keyword lists run long — wrap or reformat for scanability.
|
|
271
271
|
|
|
272
272
|
Generally, ensure your final answers adapt their shape and depth to the request. For example, answers to code explanations should have a precise, structured explanation with code references that answer the question directly. For tasks with a simple implementation, lead with the outcome and supplement only with what’s needed for clarity. Larger changes can be presented as a logical walkthrough of your approach, grouping related steps, explaining rationale where it adds value, and highlighting next actions to accelerate the user. Your answers should provide the right level of detail while being easily scannable.
|
|
273
273
|
|
|
@@ -279,7 +279,7 @@ For casual greetings, acknowledgements, or other one-off conversational messages
|
|
|
279
279
|
|
|
280
280
|
When using the shell, you must adhere to the following guidelines:
|
|
281
281
|
|
|
282
|
-
-
|
|
282
|
+
- Read files in chunks with a max chunk size of 250 lines. Do not use python scripts to attempt to output larger chunks of a file.
|
|
283
283
|
|
|
284
284
|
## apply_patch
|
|
285
285
|
|
|
@@ -314,5 +314,5 @@ Example patch:
|
|
|
314
314
|
|
|
315
315
|
It is important to remember:
|
|
316
316
|
|
|
317
|
-
-
|
|
318
|
-
-
|
|
317
|
+
- You must include a header with your intended action (Add/Delete/Update)
|
|
318
|
+
- You must prefix new lines with `+` even when creating a new file
|
|
@@ -42,11 +42,12 @@ Your mentor is your strategic partner for complex decisions and guidance. They a
|
|
|
42
42
|
Think of this as a phone call with a remote colleague who can't see your screen. They need you to describe everything you're looking at. Come with findings, not open-ended questions.
|
|
43
43
|
|
|
44
44
|
**What to include:**
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
45
|
+
|
|
46
|
+
- **User's goal**: State clearly and completely what the user wants
|
|
47
|
+
- **What you found**: File paths, relevant code snippets, current patterns
|
|
48
|
+
- **What's unclear or missing**: Specific unknowns or gaps
|
|
49
|
+
- **Your proposed approach**: Present your recommendation or options
|
|
50
|
+
- **Your confidence level**: High/medium/low on the proposed approach
|
|
50
51
|
|
|
51
52
|
## Mentor Collaboration Examples
|
|
52
53
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type PromptSelectorOptions = {
|
|
2
|
+
basePromptDir: string;
|
|
3
|
+
model: string;
|
|
4
|
+
liteMode: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function getPromptPath({ basePromptDir, model, liteMode }: PromptSelectorOptions): string;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=prompt-selector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-selector.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-selector.ts"],"names":[],"mappings":"AAQA,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAe/F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
const DEFAULT_PROMPT = 'simple.md';
|
|
3
|
+
const ANTHROPIC_PROMPT = 'anthropic.md';
|
|
4
|
+
const GPT_PROMPT = 'gpt-5.md';
|
|
5
|
+
const CODEX_PROMPT = 'codex.md';
|
|
6
|
+
const LITE_PROMPT = 'lite.md';
|
|
7
|
+
export function getPromptPath({ basePromptDir, model, liteMode }) {
|
|
8
|
+
const normalizedModel = model.trim().toLowerCase();
|
|
9
|
+
// Lite mode takes precedence - minimal context for terminal assistance
|
|
10
|
+
if (liteMode) {
|
|
11
|
+
return path.join(basePromptDir, LITE_PROMPT);
|
|
12
|
+
}
|
|
13
|
+
if (normalizedModel.includes('sonnet') || normalizedModel.includes('haiku'))
|
|
14
|
+
return path.join(basePromptDir, ANTHROPIC_PROMPT);
|
|
15
|
+
if (normalizedModel.includes('gpt-5') && normalizedModel.includes('codex'))
|
|
16
|
+
return path.join(basePromptDir, CODEX_PROMPT);
|
|
17
|
+
if (normalizedModel.includes('gpt-5'))
|
|
18
|
+
return path.join(basePromptDir, GPT_PROMPT);
|
|
19
|
+
return path.join(basePromptDir, DEFAULT_PROMPT);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=prompt-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-selector.js","sourceRoot":"","sources":["../../source/prompts/prompt-selector.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AACxC,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,WAAW,GAAG,SAAS,CAAC;AAQ9B,MAAM,UAAU,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAyB;IACrF,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEnD,uEAAuE;IACvE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACpD,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAEnF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-selector.test.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-selector.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { getPromptPath } from './prompt-selector.js';
|
|
4
|
+
const basePromptDir = '/prompts';
|
|
5
|
+
test('getPromptPath prefers lite mode', (t) => {
|
|
6
|
+
t.is(getPromptPath({ basePromptDir, model: 'gpt-5', liteMode: true }), path.join(basePromptDir, 'lite.md'));
|
|
7
|
+
});
|
|
8
|
+
test('getPromptPath selects anthropic prompt for sonnet or haiku', (t) => {
|
|
9
|
+
t.is(getPromptPath({ basePromptDir, model: 'claude-3-sonnet', liteMode: false }), path.join(basePromptDir, 'anthropic.md'));
|
|
10
|
+
t.is(getPromptPath({ basePromptDir, model: ' Claude Haiku ', liteMode: false }), path.join(basePromptDir, 'anthropic.md'));
|
|
11
|
+
});
|
|
12
|
+
test('getPromptPath selects codex prompt for gpt-5 codex', (t) => {
|
|
13
|
+
t.is(getPromptPath({ basePromptDir, model: 'gpt-5-codex', liteMode: false }), path.join(basePromptDir, 'codex.md'));
|
|
14
|
+
});
|
|
15
|
+
test('getPromptPath selects gpt-5 prompt when gpt-5 without codex', (t) => {
|
|
16
|
+
t.is(getPromptPath({ basePromptDir, model: ' GPT-5 ', liteMode: false }), path.join(basePromptDir, 'gpt-5.md'));
|
|
17
|
+
});
|
|
18
|
+
test('getPromptPath falls back to simple prompt', (t) => {
|
|
19
|
+
t.is(getPromptPath({ basePromptDir, model: 'gpt-4o', liteMode: false }), path.join(basePromptDir, 'simple.md'));
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=prompt-selector.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-selector.test.js","sourceRoot":"","sources":["../../source/prompts/prompt-selector.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5C,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAC9G,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,CAAC,CAAC,EAAE,EAAE;IACvE,CAAC,CAAC,EAAE,CACF,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC3E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CACzC,CAAC;IACF,CAAC,CAAC,EAAE,CACF,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC1E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CACzC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/D,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AACtH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6DAA6D,EAAE,CAAC,CAAC,EAAE,EAAE;IACxE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAClH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,CAAC,CAAC,EAAE,EAAE;IACtD,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAClH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { getPromptPath } from './prompt-selector.js';
|
|
4
|
+
|
|
5
|
+
const basePromptDir = '/prompts';
|
|
6
|
+
|
|
7
|
+
test('getPromptPath prefers lite mode', (t) => {
|
|
8
|
+
t.is(getPromptPath({ basePromptDir, model: 'gpt-5', liteMode: true }), path.join(basePromptDir, 'lite.md'));
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('getPromptPath selects anthropic prompt for sonnet or haiku', (t) => {
|
|
12
|
+
t.is(
|
|
13
|
+
getPromptPath({ basePromptDir, model: 'claude-3-sonnet', liteMode: false }),
|
|
14
|
+
path.join(basePromptDir, 'anthropic.md'),
|
|
15
|
+
);
|
|
16
|
+
t.is(
|
|
17
|
+
getPromptPath({ basePromptDir, model: ' Claude Haiku ', liteMode: false }),
|
|
18
|
+
path.join(basePromptDir, 'anthropic.md'),
|
|
19
|
+
);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
test('getPromptPath selects codex prompt for gpt-5 codex', (t) => {
|
|
23
|
+
t.is(getPromptPath({ basePromptDir, model: 'gpt-5-codex', liteMode: false }), path.join(basePromptDir, 'codex.md'));
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('getPromptPath selects gpt-5 prompt when gpt-5 without codex', (t) => {
|
|
27
|
+
t.is(getPromptPath({ basePromptDir, model: ' GPT-5 ', liteMode: false }), path.join(basePromptDir, 'gpt-5.md'));
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test('getPromptPath falls back to simple prompt', (t) => {
|
|
31
|
+
t.is(getPromptPath({ basePromptDir, model: 'gpt-4o', liteMode: false }), path.join(basePromptDir, 'simple.md'));
|
|
32
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
|
|
3
|
+
const DEFAULT_PROMPT = 'simple.md';
|
|
4
|
+
const ANTHROPIC_PROMPT = 'anthropic.md';
|
|
5
|
+
const GPT_PROMPT = 'gpt-5.md';
|
|
6
|
+
const CODEX_PROMPT = 'codex.md';
|
|
7
|
+
const LITE_PROMPT = 'lite.md';
|
|
8
|
+
|
|
9
|
+
type PromptSelectorOptions = {
|
|
10
|
+
basePromptDir: string;
|
|
11
|
+
model: string;
|
|
12
|
+
liteMode: boolean;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export function getPromptPath({ basePromptDir, model, liteMode }: PromptSelectorOptions): string {
|
|
16
|
+
const normalizedModel = model.trim().toLowerCase();
|
|
17
|
+
|
|
18
|
+
// Lite mode takes precedence - minimal context for terminal assistance
|
|
19
|
+
if (liteMode) {
|
|
20
|
+
return path.join(basePromptDir, LITE_PROMPT);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (normalizedModel.includes('sonnet') || normalizedModel.includes('haiku'))
|
|
24
|
+
return path.join(basePromptDir, ANTHROPIC_PROMPT);
|
|
25
|
+
if (normalizedModel.includes('gpt-5') && normalizedModel.includes('codex'))
|
|
26
|
+
return path.join(basePromptDir, CODEX_PROMPT);
|
|
27
|
+
if (normalizedModel.includes('gpt-5')) return path.join(basePromptDir, GPT_PROMPT);
|
|
28
|
+
|
|
29
|
+
return path.join(basePromptDir, DEFAULT_PROMPT);
|
|
30
|
+
}
|
|
@@ -82,6 +82,14 @@ Search for files by name or glob pattern in the workspace.
|
|
|
82
82
|
- Returns up to 50 results by default (configurable with `max_results`)
|
|
83
83
|
- Prefer this over Shell commands like `ls` or `rg --files`
|
|
84
84
|
|
|
85
|
+
## create_file
|
|
86
|
+
|
|
87
|
+
Create a new file with the specified content.
|
|
88
|
+
|
|
89
|
+
- Use this for explicitly creating new files
|
|
90
|
+
- Fails if the file already exists (use `search_replace` for existing files)
|
|
91
|
+
- Automatically creates parent directories if they don't exist
|
|
92
|
+
|
|
85
93
|
## search_replace
|
|
86
94
|
|
|
87
95
|
Modify files with exact text replacement.
|