@qduc/term2 0.7.1 → 0.7.3
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 +1 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +17 -1
- package/dist/agent.js.map +1 -1
- package/dist/agent.test.js +36 -0
- package/dist/agent.test.js.map +1 -1
- package/dist/app.d.ts +3 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +193 -86
- package/dist/app.js.map +1 -1
- package/dist/app.large-uncached-warning.test.js.map +1 -1
- package/dist/cli.integration.test.js +101 -5
- package/dist/cli.integration.test.js.map +1 -1
- package/dist/cli.js +61 -12
- package/dist/cli.js.map +1 -1
- package/dist/components/ApprovalPrompt.ask-user.test.d.ts +2 -0
- package/dist/components/ApprovalPrompt.ask-user.test.d.ts.map +1 -0
- package/dist/components/ApprovalPrompt.ask-user.test.js +108 -0
- package/dist/components/ApprovalPrompt.ask-user.test.js.map +1 -0
- package/dist/components/ApprovalPrompt.d.ts +4 -4
- package/dist/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/ApprovalPrompt.js +76 -13
- package/dist/components/ApprovalPrompt.js.map +1 -1
- package/dist/components/BottomArea.d.ts +11 -2
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/BottomArea.js +20 -6
- package/dist/components/BottomArea.js.map +1 -1
- package/dist/components/BottomArea.test.js +37 -4
- package/dist/components/BottomArea.test.js.map +1 -1
- package/dist/components/Common/MenuContainer.d.ts +3 -4
- package/dist/components/Common/MenuContainer.d.ts.map +1 -1
- package/dist/components/Common/MenuContainer.js +14 -14
- package/dist/components/Common/MenuContainer.js.map +1 -1
- package/dist/components/Common/MenuContainer.test.d.ts +2 -0
- package/dist/components/Common/MenuContainer.test.d.ts.map +1 -0
- package/dist/components/Common/MenuContainer.test.js +66 -0
- package/dist/components/Common/MenuContainer.test.js.map +1 -0
- package/dist/components/Input/PopupManager.d.ts +14 -0
- package/dist/components/Input/PopupManager.d.ts.map +1 -1
- package/dist/components/Input/PopupManager.js +6 -4
- package/dist/components/Input/PopupManager.js.map +1 -1
- package/dist/components/Input/input-width.d.ts +2 -1
- package/dist/components/Input/input-width.d.ts.map +1 -1
- package/dist/components/Input/input-width.js +6 -2
- package/dist/components/Input/input-width.js.map +1 -1
- package/dist/components/Input/popup-props.d.ts +3 -1
- package/dist/components/Input/popup-props.d.ts.map +1 -1
- package/dist/components/Input/popup-props.js +12 -1
- package/dist/components/Input/popup-props.js.map +1 -1
- package/dist/components/Input/popup-props.test.js +9 -0
- package/dist/components/Input/popup-props.test.js.map +1 -1
- package/dist/components/InputBox.d.ts +8 -0
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +97 -33
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.test.js +174 -7
- package/dist/components/InputBox.test.js.map +1 -1
- package/dist/components/LargeUncachedConfirmationPrompt.d.ts +10 -0
- package/dist/components/LargeUncachedConfirmationPrompt.d.ts.map +1 -0
- package/dist/components/LargeUncachedConfirmationPrompt.js +49 -0
- package/dist/components/LargeUncachedConfirmationPrompt.js.map +1 -0
- package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts +2 -0
- package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts.map +1 -0
- package/dist/components/LargeUncachedConfirmationPrompt.test.js +48 -0
- package/dist/components/LargeUncachedConfirmationPrompt.test.js.map +1 -0
- package/dist/components/MessageList.d.ts +10 -0
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js +34 -3
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/MessageList.test.js +54 -1
- package/dist/components/MessageList.test.js.map +1 -1
- package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/ModelSelectionMenu.debug.test.d.ts +2 -0
- package/dist/components/ModelSelectionMenu.debug.test.d.ts.map +1 -0
- package/dist/components/ModelSelectionMenu.debug.test.js.map +1 -0
- package/dist/components/ModelSelectionMenu.js +1 -4
- package/dist/components/ModelSelectionMenu.js.map +1 -1
- package/dist/components/PathSelectionMenu.d.ts +1 -0
- package/dist/components/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/PathSelectionMenu.js +11 -15
- package/dist/components/PathSelectionMenu.js.map +1 -1
- package/dist/components/PathSelectionMenu.test.d.ts +2 -0
- package/dist/components/PathSelectionMenu.test.d.ts.map +1 -0
- package/dist/components/PathSelectionMenu.test.js +17 -0
- package/dist/components/PathSelectionMenu.test.js.map +1 -0
- package/dist/components/ProviderSelectionMenu.d.ts +15 -0
- package/dist/components/ProviderSelectionMenu.d.ts.map +1 -0
- package/dist/components/ProviderSelectionMenu.js +172 -0
- package/dist/components/ProviderSelectionMenu.js.map +1 -0
- package/dist/components/ProviderSelectionMenu.test.d.ts +2 -0
- package/dist/components/ProviderSelectionMenu.test.d.ts.map +1 -0
- package/dist/components/ProviderSelectionMenu.test.js +97 -0
- package/dist/components/ProviderSelectionMenu.test.js.map +1 -0
- package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsSelectionMenu.js +1 -12
- package/dist/components/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.d.ts +2 -1
- package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.js +12 -13
- package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/StatusBar.d.ts +1 -0
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +21 -15
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/components/StatusBar.test.js +23 -4
- package/dist/components/StatusBar.test.js.map +1 -1
- package/dist/components/UndoSelectionMenu.d.ts.map +1 -1
- package/dist/components/UndoSelectionMenu.js +1 -1
- package/dist/components/UndoSelectionMenu.js.map +1 -1
- package/dist/context/InputContext.d.ts +6 -1
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.images.test.d.ts +2 -0
- package/dist/context/InputContext.images.test.d.ts.map +1 -0
- package/dist/context/InputContext.images.test.js +56 -0
- package/dist/context/InputContext.images.test.js.map +1 -0
- package/dist/context/InputContext.js +3 -2
- package/dist/context/InputContext.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +2 -1
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +11 -2
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-commands.test.js +2 -0
- package/dist/hooks/use-app-commands.test.js.map +1 -1
- package/dist/hooks/use-conversation.clear.test.js +31 -0
- package/dist/hooks/use-conversation.clear.test.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +12 -2
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +36 -5
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-conversation.resume.test.js +26 -3
- package/dist/hooks/use-conversation.resume.test.js.map +1 -1
- package/dist/hooks/use-escape-key.d.ts +12 -3
- package/dist/hooks/use-escape-key.d.ts.map +1 -1
- package/dist/hooks/use-escape-key.js +25 -11
- package/dist/hooks/use-escape-key.js.map +1 -1
- package/dist/hooks/use-escape-key.test.js +154 -14
- package/dist/hooks/use-escape-key.test.js.map +1 -1
- package/dist/hooks/use-mode-handlers.d.ts +13 -1
- package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
- package/dist/hooks/use-mode-handlers.js +22 -1
- package/dist/hooks/use-mode-handlers.js.map +1 -1
- package/dist/hooks/use-mode-handlers.test.d.ts +2 -0
- package/dist/hooks/use-mode-handlers.test.d.ts.map +1 -0
- package/dist/hooks/use-mode-handlers.test.js +119 -0
- package/dist/hooks/use-mode-handlers.test.js.map +1 -0
- package/dist/hooks/use-path-completion.d.ts +10 -3
- package/dist/hooks/use-path-completion.d.ts.map +1 -1
- package/dist/hooks/use-path-completion.js +53 -9
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-path-completion.test.d.ts +2 -0
- package/dist/hooks/use-path-completion.test.d.ts.map +1 -0
- package/dist/hooks/use-path-completion.test.js +66 -0
- package/dist/hooks/use-path-completion.test.js.map +1 -0
- package/dist/hooks/use-provider-selection.d.ts +60 -0
- package/dist/hooks/use-provider-selection.d.ts.map +1 -0
- package/dist/hooks/use-provider-selection.js +767 -0
- package/dist/hooks/use-provider-selection.js.map +1 -0
- package/dist/hooks/use-provider-selection.test.d.ts +2 -0
- package/dist/hooks/use-provider-selection.test.d.ts.map +1 -0
- package/dist/hooks/use-provider-selection.test.js +793 -0
- package/dist/hooks/use-provider-selection.test.js.map +1 -0
- package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
- package/dist/hooks/use-runtime-settings.js +2 -2
- package/dist/hooks/use-runtime-settings.js.map +1 -1
- package/dist/hooks/use-selection.d.ts +3 -1
- package/dist/hooks/use-selection.d.ts.map +1 -1
- package/dist/hooks/use-selection.js +115 -24
- package/dist/hooks/use-selection.js.map +1 -1
- package/dist/hooks/use-selection.test.js +96 -2
- package/dist/hooks/use-selection.test.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +8 -1
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.test.js +4 -0
- package/dist/hooks/use-settings-completion.test.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts +3 -0
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +140 -18
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.test.js +71 -1
- package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
- package/dist/hooks/use-terminal-width.d.ts +2 -1
- package/dist/hooks/use-terminal-width.d.ts.map +1 -1
- package/dist/hooks/use-terminal-width.js +2 -1
- package/dist/hooks/use-terminal-width.js.map +1 -1
- package/dist/hooks/use-trigger-detection.d.ts +4 -2
- package/dist/hooks/use-trigger-detection.d.ts.map +1 -1
- package/dist/hooks/use-trigger-detection.js +42 -8
- package/dist/hooks/use-trigger-detection.js.map +1 -1
- package/dist/hooks/use-trigger-detection.test.js +2 -1
- package/dist/hooks/use-trigger-detection.test.js.map +1 -1
- package/dist/inspect_zod.d.ts +2 -0
- package/dist/inspect_zod.d.ts.map +1 -0
- package/dist/inspect_zod.js +16 -0
- package/dist/inspect_zod.js.map +1 -0
- package/dist/lib/openai-agent-client.chat.test.js +8 -0
- package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts +11 -6
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.js +241 -37
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-agent-client.public-methods.test.js +326 -23
- package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
- package/dist/lib/openai-agent-client.test.js +62 -0
- package/dist/lib/openai-agent-client.test.js.map +1 -1
- package/dist/lib/tool-execution-limiter.d.ts +16 -0
- package/dist/lib/tool-execution-limiter.d.ts.map +1 -0
- package/dist/lib/tool-execution-limiter.js +112 -0
- package/dist/lib/tool-execution-limiter.js.map +1 -0
- package/dist/lib/tool-execution-limiter.test.d.ts +2 -0
- package/dist/lib/tool-execution-limiter.test.d.ts.map +1 -0
- package/dist/lib/tool-execution-limiter.test.js +70 -0
- package/dist/lib/tool-execution-limiter.test.js.map +1 -0
- package/dist/lib/tool-invoke.d.ts +27 -0
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +124 -95
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/lib/tool-invoke.test.js +92 -30
- package/dist/lib/tool-invoke.test.js.map +1 -1
- package/dist/non-interactive.d.ts +2 -1
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +10 -2
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/gpt-5-modern.md +105 -91
- package/dist/prompts/gpt-5.5.md +106 -0
- package/dist/prompts/gpt-5.md +7 -4
- package/dist/prompts/orchestrator.md +27 -44
- package/dist/prompts/plan-mode-info.md +2 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +8 -0
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.js +13 -0
- package/dist/prompts/prompt-constructor.test.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +16 -0
- package/dist/prompts/prompt-constructor.ts +10 -0
- package/dist/prompts/prompt-profiles.js +1 -1
- package/dist/prompts/prompt-profiles.js.map +1 -1
- package/dist/prompts/prompt-profiles.ts +1 -1
- package/dist/prompts/prompt-selector.test.js +1 -1
- package/dist/prompts/prompt-selector.test.js.map +1 -1
- package/dist/prompts/prompt-selector.test.ts +1 -1
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +17 -1
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.js +21 -0
- package/dist/prompts/subagent-delegation.test.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +26 -0
- package/dist/prompts/subagent-delegation.ts +17 -1
- package/dist/prompts/subagents/base-anthropic.md +3 -0
- package/dist/prompts/subagents/base-codex.md +3 -0
- package/dist/prompts/subagents/base-gpt-5-modern.md +3 -0
- package/dist/prompts/subagents/base-simple.md +3 -0
- package/dist/prompts/subagents/explorer.md +8 -10
- package/dist/prompts/subagents/researcher.md +2 -1
- package/dist/prompts/subagents/worker.md +12 -3
- package/dist/prompts/subagents/worktree-hygiene.md +6 -0
- package/dist/providers/ai-sdk-anthropic.provider.d.ts +4 -1
- package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-anthropic.provider.js +65 -22
- package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
- package/dist/providers/ai-sdk-anthropic.provider.test.js +24 -1
- package/dist/providers/ai-sdk-anthropic.provider.test.js.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +0 -2
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.js +4 -8
- package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.test.js +1 -119
- package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
- package/dist/providers/anthropic-middleware.d.ts +25 -0
- package/dist/providers/anthropic-middleware.d.ts.map +1 -0
- package/dist/providers/anthropic-middleware.js +32 -0
- package/dist/providers/anthropic-middleware.js.map +1 -0
- package/dist/providers/anthropic-middleware.test.d.ts +2 -0
- package/dist/providers/anthropic-middleware.test.d.ts.map +1 -0
- package/dist/providers/anthropic-middleware.test.js +142 -0
- package/dist/providers/anthropic-middleware.test.js.map +1 -0
- package/dist/providers/codex-responses-model.d.ts +1 -0
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +97 -34
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/codex-responses-model.test.js +158 -0
- package/dist/providers/codex-responses-model.test.js.map +1 -1
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +16 -9
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/codex.provider.test.js +2 -1
- package/dist/providers/codex.provider.test.js.map +1 -1
- package/dist/providers/custom-provider-adapter.test.js +6 -2
- package/dist/providers/custom-provider-adapter.test.js.map +1 -1
- package/dist/providers/fallback-responses-model.d.ts +3 -1
- package/dist/providers/fallback-responses-model.d.ts.map +1 -1
- package/dist/providers/fallback-responses-model.js +31 -4
- package/dist/providers/fallback-responses-model.js.map +1 -1
- package/dist/providers/fallback-responses-model.test.js +65 -8
- package/dist/providers/fallback-responses-model.test.js.map +1 -1
- package/dist/providers/fetch/composer.d.ts +1 -0
- package/dist/providers/fetch/composer.d.ts.map +1 -1
- package/dist/providers/fetch/composer.js +1 -0
- package/dist/providers/fetch/composer.js.map +1 -1
- package/dist/providers/fetch/composer.test.js +58 -17
- package/dist/providers/fetch/composer.test.js.map +1 -1
- package/dist/providers/fetch/logging-middleware.d.ts +3 -2
- package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
- package/dist/providers/fetch/logging-middleware.js +5 -2
- package/dist/providers/fetch/logging-middleware.js.map +1 -1
- package/dist/providers/openai-compatible-behavior-gate.test.js +1 -42
- package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -1
- package/dist/providers/openai-compatible-lazy.d.ts +4 -0
- package/dist/providers/openai-compatible-lazy.d.ts.map +1 -0
- package/dist/providers/openai-compatible-lazy.js +55 -0
- package/dist/providers/openai-compatible-lazy.js.map +1 -0
- package/dist/providers/openai-compatible-middleware.d.ts +5 -2
- package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
- package/dist/providers/openai-compatible-middleware.js +8 -11
- package/dist/providers/openai-compatible-middleware.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts +5 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +59 -37
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-compatible.provider.test.js +97 -2
- package/dist/providers/openai-compatible.provider.test.js.map +1 -1
- package/dist/providers/openai.provider.d.ts +8 -1
- package/dist/providers/openai.provider.d.ts.map +1 -1
- package/dist/providers/openai.provider.js +43 -10
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openai.provider.test.d.ts +2 -0
- package/dist/providers/openai.provider.test.d.ts.map +1 -0
- package/dist/providers/openai.provider.test.js +59 -0
- package/dist/providers/openai.provider.test.js.map +1 -0
- package/dist/providers/opencode-routing.d.ts +4 -0
- package/dist/providers/opencode-routing.d.ts.map +1 -0
- package/dist/providers/opencode-routing.js +14 -0
- package/dist/providers/opencode-routing.js.map +1 -0
- package/dist/providers/opencode-session.d.ts +19 -0
- package/dist/providers/opencode-session.d.ts.map +1 -0
- package/dist/providers/opencode-session.js +76 -0
- package/dist/providers/opencode-session.js.map +1 -0
- package/dist/providers/opencode.provider.d.ts +0 -8
- package/dist/providers/opencode.provider.d.ts.map +1 -1
- package/dist/providers/opencode.provider.js +0 -32
- package/dist/providers/opencode.provider.js.map +1 -1
- package/dist/providers/opencode.provider.test.d.ts +2 -0
- package/dist/providers/opencode.provider.test.d.ts.map +1 -0
- package/dist/providers/opencode.provider.test.js +186 -0
- package/dist/providers/opencode.provider.test.js.map +1 -0
- package/dist/providers/openrouter.provider.createRunner.test.js +5 -0
- package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +8 -4
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/registry.d.ts +3 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/registry.test.js +1 -0
- package/dist/providers/registry.test.js.map +1 -1
- package/dist/scripts/eval-auto-approval/runner.js +4 -0
- package/dist/scripts/eval-auto-approval/runner.js.map +1 -1
- package/dist/services/conversation-integration.test.js +8 -4
- package/dist/services/conversation-integration.test.js.map +1 -1
- package/dist/services/conversation-log-events.d.ts +3 -0
- package/dist/services/conversation-log-events.d.ts.map +1 -1
- package/dist/services/conversation-log-events.js.map +1 -1
- package/dist/services/conversation-log-writer.d.ts.map +1 -1
- package/dist/services/conversation-log-writer.js +1 -2
- package/dist/services/conversation-log-writer.js.map +1 -1
- package/dist/services/conversation-persistence.d.ts +1 -1
- package/dist/services/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation-persistence.js +53 -4
- package/dist/services/conversation-persistence.js.map +1 -1
- package/dist/services/conversation-persistence.test.js +203 -1
- package/dist/services/conversation-persistence.test.js.map +1 -1
- package/dist/services/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation-replay.js +114 -8
- package/dist/services/conversation-replay.js.map +1 -1
- package/dist/services/conversation-replay.test.js +368 -0
- package/dist/services/conversation-replay.test.js.map +1 -1
- package/dist/services/conversation-result-builder.test.js +9 -0
- package/dist/services/conversation-result-builder.test.js.map +1 -1
- package/dist/services/conversation-service.d.ts +3 -1
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-service.js +3 -0
- package/dist/services/conversation-service.js.map +1 -1
- package/dist/services/conversation-session-reasoning.test.js +5 -1
- package/dist/services/conversation-session-reasoning.test.js.map +1 -1
- package/dist/services/conversation-session.auto-approval.test.js +25 -1
- package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
- package/dist/services/conversation-session.d.ts +8 -2
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +88 -44
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/conversation-store.merge-modes.test.d.ts.map +1 -1
- package/dist/services/conversation-store.merge-modes.test.js +160 -1
- package/dist/services/conversation-store.merge-modes.test.js.map +1 -1
- package/dist/services/file-service.d.ts +20 -4
- package/dist/services/file-service.d.ts.map +1 -1
- package/dist/services/file-service.js +111 -52
- package/dist/services/file-service.js.map +1 -1
- package/dist/services/file-service.test.d.ts +2 -0
- package/dist/services/file-service.test.d.ts.map +1 -0
- package/dist/services/file-service.test.js +60 -0
- package/dist/services/file-service.test.js.map +1 -0
- package/dist/services/large-uncached-input-guard.d.ts.map +1 -1
- package/dist/services/large-uncached-input-guard.js +4 -3
- package/dist/services/large-uncached-input-guard.js.map +1 -1
- package/dist/services/large-uncached-input-guard.test.js +22 -0
- package/dist/services/large-uncached-input-guard.test.js.map +1 -1
- package/dist/services/logging-service.d.ts +0 -3
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +12 -8
- package/dist/services/logging-service.js.map +1 -1
- package/dist/services/mode-notices.d.ts +4 -5
- package/dist/services/mode-notices.d.ts.map +1 -1
- package/dist/services/mode-notices.js +4 -5
- package/dist/services/mode-notices.js.map +1 -1
- package/dist/services/notification-service.d.ts +42 -0
- package/dist/services/notification-service.d.ts.map +1 -0
- package/dist/services/notification-service.js +116 -0
- package/dist/services/notification-service.js.map +1 -0
- package/dist/services/notification-service.test.d.ts +2 -0
- package/dist/services/notification-service.test.d.ts.map +1 -0
- package/dist/services/notification-service.test.js +151 -0
- package/dist/services/notification-service.test.js.map +1 -0
- package/dist/services/provider-traffic.d.ts +8 -9
- package/dist/services/provider-traffic.d.ts.map +1 -1
- package/dist/services/provider-traffic.js +25 -12
- package/dist/services/provider-traffic.js.map +1 -1
- package/dist/services/provider-traffic.test.js +102 -1
- package/dist/services/provider-traffic.test.js.map +1 -1
- package/dist/services/service-interfaces.d.ts +12 -16
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/session-context-service.d.ts +8 -0
- package/dist/services/session-context-service.d.ts.map +1 -0
- package/dist/services/session-context-service.js +19 -0
- package/dist/services/session-context-service.js.map +1 -0
- package/dist/services/session-context-service.test.d.ts +2 -0
- package/dist/services/session-context-service.test.d.ts.map +1 -0
- package/dist/services/session-context-service.test.js +38 -0
- package/dist/services/session-context-service.test.js.map +1 -0
- package/dist/services/settings-env.d.ts.map +1 -1
- package/dist/services/settings-env.js +4 -1
- package/dist/services/settings-env.js.map +1 -1
- package/dist/services/settings-persistence.d.ts.map +1 -1
- package/dist/services/settings-persistence.js +0 -1
- package/dist/services/settings-persistence.js.map +1 -1
- package/dist/services/settings-persistence.test.js +2 -2
- package/dist/services/settings-persistence.test.js.map +1 -1
- package/dist/services/settings-schema.d.ts +25 -1
- package/dist/services/settings-schema.d.ts.map +1 -1
- package/dist/services/settings-schema.js +54 -23
- package/dist/services/settings-schema.js.map +1 -1
- package/dist/services/settings-schema.test.js +10 -0
- package/dist/services/settings-schema.test.js.map +1 -1
- package/dist/services/settings-service.d.ts +8 -0
- package/dist/services/settings-service.d.ts.map +1 -1
- package/dist/services/settings-service.js +60 -23
- package/dist/services/settings-service.js.map +1 -1
- package/dist/services/settings-sources.d.ts.map +1 -1
- package/dist/services/settings-sources.js +1 -0
- package/dist/services/settings-sources.js.map +1 -1
- package/dist/services/settings-sources.test.js +2 -0
- package/dist/services/settings-sources.test.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.d.ts +3 -2
- package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.js +3 -3
- package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.test.js +20 -0
- package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
- package/dist/services/shell-auto-approval-resolver.d.ts +2 -1
- package/dist/services/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/shell-auto-approval-resolver.js +2 -0
- package/dist/services/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/shell-auto-approval-resolver.test.js +10 -0
- package/dist/services/shell-auto-approval-resolver.test.js.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts +2 -1
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +182 -13
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-manager.test.js +548 -17
- package/dist/services/subagents/subagent-manager.test.js.map +1 -1
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +2 -2
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/ask-user-constants.d.ts +7 -0
- package/dist/tools/ask-user-constants.d.ts.map +1 -0
- package/dist/tools/ask-user-constants.js +7 -0
- package/dist/tools/ask-user-constants.js.map +1 -0
- package/dist/tools/ask-user.d.ts +11 -0
- package/dist/tools/ask-user.d.ts.map +1 -0
- package/dist/tools/ask-user.js +56 -0
- package/dist/tools/ask-user.js.map +1 -0
- package/dist/tools/ask-user.test.d.ts +2 -0
- package/dist/tools/ask-user.test.d.ts.map +1 -0
- package/dist/tools/ask-user.test.js +129 -0
- package/dist/tools/ask-user.test.js.map +1 -0
- package/dist/tools/code-context.js +1 -1
- package/dist/tools/code-context.js.map +1 -1
- package/dist/tools/code-context.test.js +278 -0
- package/dist/tools/code-context.test.js.map +1 -1
- package/dist/tools/format-helpers.d.ts +13 -0
- package/dist/tools/format-helpers.d.ts.map +1 -1
- package/dist/tools/format-helpers.js +34 -0
- package/dist/tools/format-helpers.js.map +1 -1
- package/dist/tools/format-helpers.test.d.ts +2 -0
- package/dist/tools/format-helpers.test.d.ts.map +1 -0
- package/dist/tools/format-helpers.test.js +51 -0
- package/dist/tools/format-helpers.test.js.map +1 -0
- package/dist/tools/language-providers.d.ts.map +1 -1
- package/dist/tools/language-providers.js +379 -0
- package/dist/tools/language-providers.js.map +1 -1
- package/dist/tools/languages/cpp.d.ts +8 -0
- package/dist/tools/languages/cpp.d.ts.map +1 -0
- package/dist/tools/languages/cpp.js +306 -0
- package/dist/tools/languages/cpp.js.map +1 -0
- package/dist/tools/languages/csharp.d.ts +5 -0
- package/dist/tools/languages/csharp.d.ts.map +1 -0
- package/dist/tools/languages/csharp.js +225 -0
- package/dist/tools/languages/csharp.js.map +1 -0
- package/dist/tools/languages/go.d.ts +7 -0
- package/dist/tools/languages/go.d.ts.map +1 -0
- package/dist/tools/languages/go.js +223 -0
- package/dist/tools/languages/go.js.map +1 -0
- package/dist/tools/languages/index.d.ts +6 -0
- package/dist/tools/languages/index.d.ts.map +1 -0
- package/dist/tools/languages/index.js +32 -0
- package/dist/tools/languages/index.js.map +1 -0
- package/dist/tools/languages/java.d.ts +5 -0
- package/dist/tools/languages/java.d.ts.map +1 -0
- package/dist/tools/languages/java.js +183 -0
- package/dist/tools/languages/java.js.map +1 -0
- package/dist/tools/languages/json.d.ts +3 -0
- package/dist/tools/languages/json.d.ts.map +1 -0
- package/dist/tools/languages/json.js +40 -0
- package/dist/tools/languages/json.js.map +1 -0
- package/dist/tools/languages/php.d.ts +8 -0
- package/dist/tools/languages/php.d.ts.map +1 -0
- package/dist/tools/languages/php.js +139 -0
- package/dist/tools/languages/php.js.map +1 -0
- package/dist/tools/languages/python.d.ts +7 -0
- package/dist/tools/languages/python.d.ts.map +1 -0
- package/dist/tools/languages/python.js +189 -0
- package/dist/tools/languages/python.js.map +1 -0
- package/dist/tools/languages/ruby.d.ts +8 -0
- package/dist/tools/languages/ruby.d.ts.map +1 -0
- package/dist/tools/languages/ruby.js +94 -0
- package/dist/tools/languages/ruby.js.map +1 -0
- package/dist/tools/languages/rust.d.ts +7 -0
- package/dist/tools/languages/rust.d.ts.map +1 -0
- package/dist/tools/languages/rust.js +186 -0
- package/dist/tools/languages/rust.js.map +1 -0
- package/dist/tools/languages/types.d.ts +39 -0
- package/dist/tools/languages/types.d.ts.map +1 -0
- package/dist/tools/languages/types.js +2 -0
- package/dist/tools/languages/types.js.map +1 -0
- package/dist/tools/languages/typescript.d.ts +4 -0
- package/dist/tools/languages/typescript.d.ts.map +1 -0
- package/dist/tools/languages/typescript.js +94 -0
- package/dist/tools/languages/typescript.js.map +1 -0
- package/dist/tools/languages/utils.d.ts +14 -0
- package/dist/tools/languages/utils.d.ts.map +1 -0
- package/dist/tools/languages/utils.js +73 -0
- package/dist/tools/languages/utils.js.map +1 -0
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +2 -2
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +13 -1
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/tool-names.d.ts +1 -0
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/tool-names.js +1 -0
- package/dist/tools/tool-names.js.map +1 -1
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +1 -1
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/utils/clipboard.d.ts +2 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +2 -35
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/command-safety/_scratch-classify.test.d.ts +2 -0
- package/dist/utils/command-safety/_scratch-classify.test.d.ts.map +1 -0
- package/dist/utils/command-safety/_scratch-classify.test.js +22 -0
- package/dist/utils/command-safety/_scratch-classify.test.js.map +1 -0
- package/dist/utils/command-safety/constants.d.ts.map +1 -1
- package/dist/utils/command-safety/constants.js +21 -0
- package/dist/utils/command-safety/constants.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 +28 -2
- package/dist/utils/command-safety/handlers/git-handler.js.map +1 -1
- package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
- package/dist/utils/command-safety/path-analysis.js +6 -0
- package/dist/utils/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/command-safety/scratch-classify.test.d.ts +2 -0
- package/dist/utils/command-safety/scratch-classify.test.d.ts.map +1 -0
- package/dist/utils/command-safety/scratch-classify.test.js +22 -0
- package/dist/utils/command-safety/scratch-classify.test.js.map +1 -0
- package/dist/utils/command-safety/scratch-tally.test.d.ts +2 -0
- package/dist/utils/command-safety/scratch-tally.test.d.ts.map +1 -0
- package/dist/utils/command-safety/scratch-tally.test.js +68 -0
- package/dist/utils/command-safety/scratch-tally.test.js.map +1 -0
- package/dist/utils/command-safety.evaluator-false-positives.test.d.ts +2 -0
- package/dist/utils/command-safety.evaluator-false-positives.test.d.ts.map +1 -0
- package/dist/utils/command-safety.evaluator-false-positives.test.js +72 -0
- package/dist/utils/command-safety.evaluator-false-positives.test.js.map +1 -0
- package/dist/utils/header-sanitizer.d.ts +2 -0
- package/dist/utils/header-sanitizer.d.ts.map +1 -0
- package/dist/utils/header-sanitizer.js +38 -0
- package/dist/utils/header-sanitizer.js.map +1 -0
- package/dist/utils/header-sanitizer.test.d.ts +2 -0
- package/dist/utils/header-sanitizer.test.d.ts.map +1 -0
- package/dist/utils/header-sanitizer.test.js +56 -0
- package/dist/utils/header-sanitizer.test.js.map +1 -0
- package/dist/utils/home-directory-start-guard.d.ts +10 -0
- package/dist/utils/home-directory-start-guard.d.ts.map +1 -0
- package/dist/utils/home-directory-start-guard.js +20 -0
- package/dist/utils/home-directory-start-guard.js.map +1 -0
- package/dist/utils/home-directory-start-guard.test.d.ts +2 -0
- package/dist/utils/home-directory-start-guard.test.d.ts.map +1 -0
- package/dist/utils/home-directory-start-guard.test.js +40 -0
- package/dist/utils/home-directory-start-guard.test.js.map +1 -0
- package/dist/utils/inject-warning-into-tool-output.d.ts +2 -0
- package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -0
- package/dist/utils/inject-warning-into-tool-output.js +66 -0
- package/dist/utils/inject-warning-into-tool-output.js.map +1 -0
- package/dist/utils/project-tree.d.ts +14 -0
- package/dist/utils/project-tree.d.ts.map +1 -0
- package/dist/utils/project-tree.js +111 -0
- package/dist/utils/project-tree.js.map +1 -0
- package/dist/utils/project-tree.test.d.ts +2 -0
- package/dist/utils/project-tree.test.d.ts.map +1 -0
- package/dist/utils/project-tree.test.js +149 -0
- package/dist/utils/project-tree.test.js.map +1 -0
- package/dist/utils/provider-traffic-extractor.d.ts +1 -0
- package/dist/utils/provider-traffic-extractor.d.ts.map +1 -1
- package/dist/utils/provider-traffic-extractor.js +1 -0
- package/dist/utils/provider-traffic-extractor.js.map +1 -1
- package/dist/utils/provider-traffic-extractor.test.js +2 -0
- package/dist/utils/provider-traffic-extractor.test.js.map +1 -1
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +11 -0
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/terminal-clear.d.ts +7 -0
- package/dist/utils/terminal-clear.d.ts.map +1 -0
- package/dist/utils/terminal-clear.js +5 -0
- package/dist/utils/terminal-clear.js.map +1 -0
- package/dist/utils/terminal-clear.test.d.ts +2 -0
- package/dist/utils/terminal-clear.test.d.ts.map +1 -0
- package/dist/utils/terminal-clear.test.js +13 -0
- package/dist/utils/terminal-clear.test.js.map +1 -0
- package/dist/utils/token-usage.d.ts +6 -2
- package/dist/utils/token-usage.d.ts.map +1 -1
- package/dist/utils/token-usage.js +11 -4
- package/dist/utils/token-usage.js.map +1 -1
- package/dist/utils/token-usage.test.js +15 -0
- package/dist/utils/token-usage.test.js.map +1 -1
- package/dist/utils/tty-osc.d.ts +27 -0
- package/dist/utils/tty-osc.d.ts.map +1 -0
- package/dist/utils/tty-osc.js +66 -0
- package/dist/utils/tty-osc.js.map +1 -0
- package/dist/utils/tty-osc.test.d.ts +2 -0
- package/dist/utils/tty-osc.test.d.ts.map +1 -0
- package/dist/utils/tty-osc.test.js +130 -0
- package/dist/utils/tty-osc.test.js.map +1 -0
- package/package.json +2 -2
- package/readme.md +2 -2
- package/dist/agent.lite-mode.test.d.ts +0 -2
- package/dist/agent.lite-mode.test.d.ts.map +0 -1
- package/dist/agent.lite-mode.test.js +0 -39
- package/dist/agent.lite-mode.test.js.map +0 -1
- package/dist/app.large-uncached-warning.test.js +0 -15
- package/dist/components/ApprovalPrompt.test.d.ts +0 -2
- package/dist/components/ApprovalPrompt.test.d.ts.map +0 -1
- package/dist/components/ApprovalPrompt.test.js +0 -23
- package/dist/components/ApprovalPrompt.test.js.map +0 -1
- package/dist/components/LiveResponse.test.d.ts +0 -2
- package/dist/components/LiveResponse.test.d.ts.map +0 -1
- package/dist/components/LiveResponse.test.js +0 -13
- package/dist/components/LiveResponse.test.js.map +0 -1
- package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +0 -2
- package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +0 -1
- package/dist/components/ModelSelectionMenu.error-tabs.test.js +0 -18
- package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +0 -1
- package/dist/components/TextInput.d.ts +0 -42
- package/dist/components/TextInput.d.ts.map +0 -1
- package/dist/components/TextInput.js +0 -398
- package/dist/components/TextInput.js.map +0 -1
- package/dist/components/TextInput.test.d.ts +0 -2
- package/dist/components/TextInput.test.d.ts.map +0 -1
- package/dist/components/TextInput.test.js +0 -75
- package/dist/components/TextInput.test.js.map +0 -1
- package/dist/debug_ask_mentor.d.ts +0 -2
- package/dist/debug_ask_mentor.d.ts.map +0 -1
- package/dist/debug_ask_mentor.js +0 -73
- package/dist/debug_ask_mentor.js.map +0 -1
- package/dist/hooks/use-conversation.max-turns-undo.test.d.ts +0 -2
- package/dist/hooks/use-conversation.max-turns-undo.test.d.ts.map +0 -1
- package/dist/hooks/use-conversation.max-turns-undo.test.js +0 -118
- package/dist/hooks/use-conversation.max-turns-undo.test.js.map +0 -1
- package/dist/lib/shell.d.ts +0 -7
- package/dist/lib/shell.d.ts.map +0 -1
- package/dist/lib/shell.js +0 -56
- package/dist/lib/shell.js.map +0 -1
- package/dist/modes/companion/command-index.d.ts +0 -26
- package/dist/modes/companion/command-index.d.ts.map +0 -1
- package/dist/modes/companion/command-index.js +0 -50
- package/dist/modes/companion/command-index.js.map +0 -1
- package/dist/modes/companion/command-index.test.d.ts +0 -2
- package/dist/modes/companion/command-index.test.d.ts.map +0 -1
- package/dist/modes/companion/command-index.test.js +0 -86
- package/dist/modes/companion/command-index.test.js.map +0 -1
- package/dist/modes/companion/companion-app.d.ts +0 -12
- package/dist/modes/companion/companion-app.d.ts.map +0 -1
- package/dist/modes/companion/companion-app.js +0 -297
- package/dist/modes/companion/companion-app.js.map +0 -1
- package/dist/modes/companion/companion-session.d.ts +0 -63
- package/dist/modes/companion/companion-session.d.ts.map +0 -1
- package/dist/modes/companion/companion-session.js +0 -146
- package/dist/modes/companion/companion-session.js.map +0 -1
- package/dist/modes/companion/companion-session.test.d.ts +0 -2
- package/dist/modes/companion/companion-session.test.d.ts.map +0 -1
- package/dist/modes/companion/companion-session.test.js +0 -28
- package/dist/modes/companion/companion-session.test.js.map +0 -1
- package/dist/modes/companion/components/status-bar.d.ts +0 -13
- package/dist/modes/companion/components/status-bar.d.ts.map +0 -1
- package/dist/modes/companion/components/status-bar.js +0 -26
- package/dist/modes/companion/components/status-bar.js.map +0 -1
- package/dist/modes/companion/context-buffer.d.ts +0 -65
- package/dist/modes/companion/context-buffer.d.ts.map +0 -1
- package/dist/modes/companion/context-buffer.js +0 -156
- package/dist/modes/companion/context-buffer.js.map +0 -1
- package/dist/modes/companion/context-buffer.test.d.ts +0 -2
- package/dist/modes/companion/context-buffer.test.d.ts.map +0 -1
- package/dist/modes/companion/context-buffer.test.js +0 -154
- package/dist/modes/companion/context-buffer.test.js.map +0 -1
- package/dist/modes/companion/event-detector.d.ts +0 -46
- package/dist/modes/companion/event-detector.d.ts.map +0 -1
- package/dist/modes/companion/event-detector.js +0 -169
- package/dist/modes/companion/event-detector.js.map +0 -1
- package/dist/modes/companion/event-detector.test.d.ts +0 -2
- package/dist/modes/companion/event-detector.test.d.ts.map +0 -1
- package/dist/modes/companion/event-detector.test.js +0 -121
- package/dist/modes/companion/event-detector.test.js.map +0 -1
- package/dist/modes/companion/index.d.ts +0 -33
- package/dist/modes/companion/index.d.ts.map +0 -1
- package/dist/modes/companion/index.js +0 -21
- package/dist/modes/companion/index.js.map +0 -1
- package/dist/modes/companion/input-key-mapper.d.ts +0 -3
- package/dist/modes/companion/input-key-mapper.d.ts.map +0 -1
- package/dist/modes/companion/input-key-mapper.js +0 -31
- package/dist/modes/companion/input-key-mapper.js.map +0 -1
- package/dist/modes/companion/input-key-mapper.test.d.ts +0 -2
- package/dist/modes/companion/input-key-mapper.test.d.ts.map +0 -1
- package/dist/modes/companion/input-key-mapper.test.js +0 -26
- package/dist/modes/companion/input-key-mapper.test.js.map +0 -1
- package/dist/modes/companion/input-parser.d.ts +0 -53
- package/dist/modes/companion/input-parser.d.ts.map +0 -1
- package/dist/modes/companion/input-parser.js +0 -114
- package/dist/modes/companion/input-parser.js.map +0 -1
- package/dist/modes/companion/input-parser.test.d.ts +0 -2
- package/dist/modes/companion/input-parser.test.d.ts.map +0 -1
- package/dist/modes/companion/input-parser.test.js +0 -123
- package/dist/modes/companion/input-parser.test.js.map +0 -1
- package/dist/modes/companion/mode-manager.d.ts +0 -41
- package/dist/modes/companion/mode-manager.d.ts.map +0 -1
- package/dist/modes/companion/mode-manager.js +0 -56
- package/dist/modes/companion/mode-manager.js.map +0 -1
- package/dist/modes/companion/mode-manager.test.d.ts +0 -2
- package/dist/modes/companion/mode-manager.test.d.ts.map +0 -1
- package/dist/modes/companion/mode-manager.test.js +0 -65
- package/dist/modes/companion/mode-manager.test.js.map +0 -1
- package/dist/modes/companion/output-classifier.d.ts +0 -15
- package/dist/modes/companion/output-classifier.d.ts.map +0 -1
- package/dist/modes/companion/output-classifier.js +0 -77
- package/dist/modes/companion/output-classifier.js.map +0 -1
- package/dist/modes/companion/output-classifier.test.d.ts +0 -2
- package/dist/modes/companion/output-classifier.test.d.ts.map +0 -1
- package/dist/modes/companion/output-classifier.test.js +0 -133
- package/dist/modes/companion/output-classifier.test.js.map +0 -1
- package/dist/modes/companion/pty-wrapper.d.ts +0 -46
- package/dist/modes/companion/pty-wrapper.d.ts.map +0 -1
- package/dist/modes/companion/pty-wrapper.js +0 -143
- package/dist/modes/companion/pty-wrapper.js.map +0 -1
- package/dist/modes/companion/safety-classifier.d.ts +0 -31
- package/dist/modes/companion/safety-classifier.d.ts.map +0 -1
- package/dist/modes/companion/safety-classifier.js +0 -140
- package/dist/modes/companion/safety-classifier.js.map +0 -1
- package/dist/modes/companion/safety-classifier.test.d.ts +0 -2
- package/dist/modes/companion/safety-classifier.test.d.ts.map +0 -1
- package/dist/modes/companion/safety-classifier.test.js +0 -151
- package/dist/modes/companion/safety-classifier.test.js.map +0 -1
- package/dist/modes/companion/summarizer.d.ts +0 -24
- package/dist/modes/companion/summarizer.d.ts.map +0 -1
- package/dist/modes/companion/summarizer.js +0 -132
- package/dist/modes/companion/summarizer.js.map +0 -1
- package/dist/modes/companion/terminal-history.d.ts +0 -27
- package/dist/modes/companion/terminal-history.d.ts.map +0 -1
- package/dist/modes/companion/terminal-history.js +0 -142
- package/dist/modes/companion/terminal-history.js.map +0 -1
- package/dist/prompts/simple-mentor.md +0 -215
- package/dist/providers/ai-sdk-openai.provider.d.ts +0 -14
- package/dist/providers/ai-sdk-openai.provider.d.ts.map +0 -1
- package/dist/providers/ai-sdk-openai.provider.js +0 -18
- package/dist/providers/ai-sdk-openai.provider.js.map +0 -1
- package/dist/providers/github-copilot/converters.d.ts +0 -45
- package/dist/providers/github-copilot/converters.d.ts.map +0 -1
- package/dist/providers/github-copilot/converters.js +0 -118
- package/dist/providers/github-copilot/converters.js.map +0 -1
- package/dist/providers/github-copilot/converters.test.d.ts +0 -2
- package/dist/providers/github-copilot/converters.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/converters.test.js +0 -162
- package/dist/providers/github-copilot/converters.test.js.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.d.ts +0 -2
- package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.js +0 -75
- package/dist/providers/github-copilot/github-copilot.provider.js.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +0 -2
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.test.js +0 -26
- package/dist/providers/github-copilot/github-copilot.provider.test.js.map +0 -1
- package/dist/providers/github-copilot/index.d.ts +0 -4
- package/dist/providers/github-copilot/index.d.ts.map +0 -1
- package/dist/providers/github-copilot/index.js +0 -4
- package/dist/providers/github-copilot/index.js.map +0 -1
- package/dist/providers/github-copilot/model.d.ts +0 -24
- package/dist/providers/github-copilot/model.d.ts.map +0 -1
- package/dist/providers/github-copilot/model.delta.test.d.ts +0 -2
- package/dist/providers/github-copilot/model.delta.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/model.delta.test.js +0 -15
- package/dist/providers/github-copilot/model.delta.test.js.map +0 -1
- package/dist/providers/github-copilot/model.js +0 -498
- package/dist/providers/github-copilot/model.js.map +0 -1
- package/dist/providers/github-copilot/model.test.d.ts +0 -2
- package/dist/providers/github-copilot/model.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/model.test.js +0 -63
- package/dist/providers/github-copilot/model.test.js.map +0 -1
- package/dist/providers/github-copilot/provider.d.ts +0 -15
- package/dist/providers/github-copilot/provider.d.ts.map +0 -1
- package/dist/providers/github-copilot/provider.js +0 -25
- package/dist/providers/github-copilot/provider.js.map +0 -1
- package/dist/providers/github-copilot/provider.test.d.ts +0 -2
- package/dist/providers/github-copilot/provider.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/provider.test.js +0 -52
- package/dist/providers/github-copilot/provider.test.js.map +0 -1
- package/dist/providers/github-copilot/utils.d.ts +0 -20
- package/dist/providers/github-copilot/utils.d.ts.map +0 -1
- package/dist/providers/github-copilot/utils.js +0 -142
- package/dist/providers/github-copilot/utils.js.map +0 -1
- package/dist/providers/github-copilot/utils.test.d.ts +0 -2
- package/dist/providers/github-copilot/utils.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/utils.test.js +0 -21
- package/dist/providers/github-copilot/utils.test.js.map +0 -1
- package/dist/providers/openai-compatible/api.d.ts +0 -17
- package/dist/providers/openai-compatible/api.d.ts.map +0 -1
- package/dist/providers/openai-compatible/api.js +0 -58
- package/dist/providers/openai-compatible/api.js.map +0 -1
- package/dist/providers/openai-compatible/model.d.ts +0 -17
- package/dist/providers/openai-compatible/model.d.ts.map +0 -1
- package/dist/providers/openai-compatible/model.js +0 -473
- package/dist/providers/openai-compatible/model.js.map +0 -1
- package/dist/providers/openai-compatible/provider.d.ts +0 -22
- package/dist/providers/openai-compatible/provider.d.ts.map +0 -1
- package/dist/providers/openai-compatible/provider.js +0 -43
- package/dist/providers/openai-compatible/provider.js.map +0 -1
- package/dist/providers/openai-compatible/reasoning-content.test.d.ts +0 -2
- package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +0 -1
- package/dist/providers/openai-compatible/reasoning-content.test.js +0 -258
- package/dist/providers/openai-compatible/reasoning-content.test.js.map +0 -1
- package/dist/providers/openai-compatible/utils.d.ts +0 -3
- package/dist/providers/openai-compatible/utils.d.ts.map +0 -1
- package/dist/providers/openai-compatible/utils.js +0 -11
- package/dist/providers/openai-compatible/utils.js.map +0 -1
- package/dist/providers/openrouter/api.d.ts +0 -39
- package/dist/providers/openrouter/api.d.ts.map +0 -1
- package/dist/providers/openrouter/api.js +0 -164
- package/dist/providers/openrouter/api.js.map +0 -1
- package/dist/providers/openrouter/converters.d.ts +0 -8
- package/dist/providers/openrouter/converters.d.ts.map +0 -1
- package/dist/providers/openrouter/converters.js +0 -391
- package/dist/providers/openrouter/converters.js.map +0 -1
- package/dist/providers/openrouter/converters.test.d.ts +0 -2
- package/dist/providers/openrouter/converters.test.d.ts.map +0 -1
- package/dist/providers/openrouter/converters.test.js +0 -179
- package/dist/providers/openrouter/converters.test.js.map +0 -1
- package/dist/providers/openrouter/index.d.ts +0 -4
- package/dist/providers/openrouter/index.d.ts.map +0 -1
- package/dist/providers/openrouter/index.js +0 -4
- package/dist/providers/openrouter/index.js.map +0 -1
- package/dist/providers/openrouter/model.d.ts +0 -14
- package/dist/providers/openrouter/model.d.ts.map +0 -1
- package/dist/providers/openrouter/model.js +0 -457
- package/dist/providers/openrouter/model.js.map +0 -1
- package/dist/providers/openrouter/provider.d.ts +0 -15
- package/dist/providers/openrouter/provider.d.ts.map +0 -1
- package/dist/providers/openrouter/provider.js +0 -21
- package/dist/providers/openrouter/provider.js.map +0 -1
- package/dist/providers/openrouter/reasoning-content.test.d.ts +0 -2
- package/dist/providers/openrouter/reasoning-content.test.d.ts.map +0 -1
- package/dist/providers/openrouter/reasoning-content.test.js +0 -122
- package/dist/providers/openrouter/reasoning-content.test.js.map +0 -1
- package/dist/providers/openrouter/utils.d.ts +0 -11
- package/dist/providers/openrouter/utils.d.ts.map +0 -1
- package/dist/providers/openrouter/utils.js +0 -29
- package/dist/providers/openrouter/utils.js.map +0 -1
- package/dist/providers/openrouter.api.retry.test.d.ts +0 -2
- package/dist/providers/openrouter.api.retry.test.d.ts.map +0 -1
- package/dist/providers/openrouter.api.retry.test.js +0 -148
- package/dist/providers/openrouter.api.retry.test.js.map +0 -1
- package/dist/providers/openrouter.test.d.ts +0 -2
- package/dist/providers/openrouter.test.d.ts.map +0 -1
- package/dist/providers/openrouter.test.js +0 -1449
- package/dist/providers/openrouter.test.js.map +0 -1
- package/dist/providers/protocol-client.d.ts +0 -17
- package/dist/providers/protocol-client.d.ts.map +0 -1
- package/dist/providers/protocol-client.js +0 -57
- package/dist/providers/protocol-client.js.map +0 -1
- package/dist/providers/protocol-client.test.d.ts +0 -2
- package/dist/providers/protocol-client.test.d.ts.map +0 -1
- package/dist/providers/protocol-client.test.js +0 -55
- package/dist/providers/protocol-client.test.js.map +0 -1
- package/dist/safety-checker.js +0 -57
- package/dist/services/check_mock.d.ts +0 -2
- package/dist/services/check_mock.d.ts.map +0 -1
- package/dist/services/check_mock.js +0 -22
- package/dist/services/check_mock.js.map +0 -1
- package/dist/services/conversation-service.test.d.ts +0 -2
- package/dist/services/conversation-service.test.d.ts.map +0 -1
- package/dist/services/conversation-service.test.js +0 -156
- package/dist/services/conversation-service.test.js.map +0 -1
- package/dist/services/conversation-store.merge-modes.removed.d.ts +0 -2
- package/dist/services/conversation-store.merge-modes.removed.d.ts.map +0 -1
- package/dist/services/conversation-store.merge-modes.removed.js +0 -2
- package/dist/services/conversation-store.merge-modes.removed.js.map +0 -1
- package/dist/services/repro-error.test.d.ts +0 -2
- package/dist/services/repro-error.test.d.ts.map +0 -1
- package/dist/services/repro-error.test.js +0 -38
- package/dist/services/repro-error.test.js.map +0 -1
- package/dist/services/subagents/reasoning-inheritance.test.d.ts +0 -2
- package/dist/services/subagents/reasoning-inheritance.test.d.ts.map +0 -1
- package/dist/services/subagents/reasoning-inheritance.test.js +0 -73
- package/dist/services/subagents/reasoning-inheritance.test.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -10
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js +0 -55
- package/dist/tools/bash.js.map +0 -1
- package/dist/utils/command-safety.d.ts +0 -21
- package/dist/utils/command-safety.d.ts.map +0 -1
- package/dist/utils/command-safety.devnull.test.d.ts +0 -2
- package/dist/utils/command-safety.devnull.test.d.ts.map +0 -1
- package/dist/utils/command-safety.devnull.test.js +0 -13
- package/dist/utils/command-safety.devnull.test.js.map +0 -1
- package/dist/utils/command-safety.js +0 -348
- package/dist/utils/command-safety.js.map +0 -1
- package/dist/utils/extract-command-messages.test.d.ts +0 -2
- package/dist/utils/extract-command-messages.test.d.ts.map +0 -1
- package/dist/utils/provider-traffic-extractor.repro.test.d.ts +0 -2
- package/dist/utils/provider-traffic-extractor.repro.test.d.ts.map +0 -1
- package/dist/utils/provider-traffic-extractor.repro.test.js.map +0 -1
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { shouldSummarize } from './output-classifier.js';
|
|
3
|
-
import { randomUUID } from 'node:crypto';
|
|
4
|
-
const TerminalHistoryParamsSchema = z.object({
|
|
5
|
-
index: z
|
|
6
|
-
.number()
|
|
7
|
-
.int()
|
|
8
|
-
.min(0)
|
|
9
|
-
.optional()
|
|
10
|
-
.describe('Specific command by index (0 = most recent)'),
|
|
11
|
-
lastN: z
|
|
12
|
-
.number()
|
|
13
|
-
.int()
|
|
14
|
-
.min(1)
|
|
15
|
-
.max(10)
|
|
16
|
-
.optional()
|
|
17
|
-
.describe('Fetch last N commands (default: 3)'),
|
|
18
|
-
search: z
|
|
19
|
-
.string()
|
|
20
|
-
.optional()
|
|
21
|
-
.describe('Search pattern for command or output text'),
|
|
22
|
-
detail: z
|
|
23
|
-
.enum(['summary', 'full', 'errors_only'])
|
|
24
|
-
.describe('Level of detail to return'),
|
|
25
|
-
maxLines: z
|
|
26
|
-
.number()
|
|
27
|
-
.int()
|
|
28
|
-
.min(1)
|
|
29
|
-
.optional()
|
|
30
|
-
.describe('Maximum output lines to return'),
|
|
31
|
-
});
|
|
32
|
-
/**
|
|
33
|
-
* Create the terminal_history tool definition for companion mode.
|
|
34
|
-
* This tool allows the AI to query command history and outputs on-demand.
|
|
35
|
-
*/
|
|
36
|
-
export function createTerminalHistoryToolDefinition(deps) {
|
|
37
|
-
const { contextBuffer, summarizer } = deps;
|
|
38
|
-
return {
|
|
39
|
-
name: 'terminal_history',
|
|
40
|
-
description: `Query the terminal command history. Use this to get details about recent commands and their outputs.
|
|
41
|
-
|
|
42
|
-
Available in the command index (always visible):
|
|
43
|
-
- Command text
|
|
44
|
-
- Exit code (0 = success)
|
|
45
|
-
- Relative time
|
|
46
|
-
- Output line count
|
|
47
|
-
|
|
48
|
-
Use this tool to fetch:
|
|
49
|
-
- Full command output
|
|
50
|
-
- Summarized output (for long outputs)
|
|
51
|
-
- Errors only (filtered view)`,
|
|
52
|
-
parameters: TerminalHistoryParamsSchema,
|
|
53
|
-
// Read-only tool - never needs approval
|
|
54
|
-
needsApproval: () => false,
|
|
55
|
-
execute: async (params) => {
|
|
56
|
-
const { index, lastN = 3, search, detail, maxLines } = params;
|
|
57
|
-
// Fetch entries from buffer
|
|
58
|
-
let entries;
|
|
59
|
-
if (index !== undefined) {
|
|
60
|
-
entries = [contextBuffer.getEntry(index)];
|
|
61
|
-
}
|
|
62
|
-
else if (search) {
|
|
63
|
-
entries = contextBuffer.search(search, lastN);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
entries = contextBuffer.getLastN(lastN);
|
|
67
|
-
}
|
|
68
|
-
// Filter out undefined entries
|
|
69
|
-
const validEntries = entries.filter((e) => e !== undefined);
|
|
70
|
-
if (validEntries.length === 0) {
|
|
71
|
-
return JSON.stringify({
|
|
72
|
-
success: false,
|
|
73
|
-
error: 'No matching commands found',
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
// Process based on detail level
|
|
77
|
-
const results = await Promise.all(validEntries.map(async (entry) => {
|
|
78
|
-
let output;
|
|
79
|
-
if (detail === 'full') {
|
|
80
|
-
output = entry.output;
|
|
81
|
-
if (maxLines && entry.output.split('\n').length > maxLines) {
|
|
82
|
-
const lines = entry.output.split('\n');
|
|
83
|
-
output = [
|
|
84
|
-
...lines.slice(0, maxLines),
|
|
85
|
-
`... (${lines.length - maxLines} more lines)`,
|
|
86
|
-
].join('\n');
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
else if (shouldSummarize(entry)) {
|
|
90
|
-
output = await summarizer.summarize(entry, detail);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
output = entry.output;
|
|
94
|
-
}
|
|
95
|
-
return {
|
|
96
|
-
command: entry.command,
|
|
97
|
-
exitCode: entry.exitCode,
|
|
98
|
-
timestamp: entry.timestamp,
|
|
99
|
-
output,
|
|
100
|
-
};
|
|
101
|
-
}));
|
|
102
|
-
return JSON.stringify({ success: true, results });
|
|
103
|
-
},
|
|
104
|
-
formatCommandMessage: (item, index, toolCallArgumentsById) => {
|
|
105
|
-
const callId = item?.callId ||
|
|
106
|
-
item?.rawItem?.callId ||
|
|
107
|
-
item?.rawItem?.call_id;
|
|
108
|
-
const args = callId
|
|
109
|
-
? toolCallArgumentsById.get(callId)
|
|
110
|
-
: null;
|
|
111
|
-
let output = '';
|
|
112
|
-
try {
|
|
113
|
-
const parsed = JSON.parse(item?.output || '{}');
|
|
114
|
-
if (parsed.results) {
|
|
115
|
-
output = parsed.results
|
|
116
|
-
.map((r) => `[${r.command}] (exit: ${r.exitCode})\n${r.output}`)
|
|
117
|
-
.join('\n\n');
|
|
118
|
-
}
|
|
119
|
-
else if (parsed.error) {
|
|
120
|
-
output = `Error: ${parsed.error}`;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
catch {
|
|
124
|
-
output = item?.output || 'No results';
|
|
125
|
-
}
|
|
126
|
-
return [
|
|
127
|
-
{
|
|
128
|
-
id: `terminal-history-${index}-${randomUUID().slice(0, 8)}`,
|
|
129
|
-
sender: 'command',
|
|
130
|
-
status: 'completed',
|
|
131
|
-
command: `terminal_history(${args?.detail || 'query'})`,
|
|
132
|
-
output,
|
|
133
|
-
success: true,
|
|
134
|
-
toolName: 'terminal_history',
|
|
135
|
-
toolArgs: args,
|
|
136
|
-
callId,
|
|
137
|
-
},
|
|
138
|
-
];
|
|
139
|
-
},
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
//# sourceMappingURL=terminal-history.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-history.js","sourceRoot":"","sources":["../../../source/modes/companion/terminal-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
You are an interactive CLI tool working collaboratively with a mentor model. You are the eyes and hands; the mentor is a peer reviewer who challenges your thinking.
|
|
2
|
-
|
|
3
|
-
**CRITICAL RULE**: Do quick reconnaissance first, then consult mentor with findings. Come with specific findings and questions, not open-ended requests. The mentor will challenge your assumptions and probe for gaps.
|
|
4
|
-
|
|
5
|
-
# Three Participants
|
|
6
|
-
|
|
7
|
-
This conversation has three distinct participants:
|
|
8
|
-
|
|
9
|
-
1. **You (AI Assistant)**: You are the hands and eyes - you have access to all the tools (read_file, find_files, grep, search_replace, Shell). You explore the codebase and execute changes.
|
|
10
|
-
|
|
11
|
-
2. **User (Real Human)**: The human who gives you tasks and requirements. They are the customer/stakeholder who defines what needs to be done.
|
|
12
|
-
|
|
13
|
-
3. **Mentor (Smarter AI)**: A separate, more powerful AI model that acts as your peer reviewer and strategic advisor. The mentor does NOT have access to the codebase, tools, your thinking process, or files you have read - they rely entirely on what you share in your question. Use the "ask_mentor" tool to consult with them.
|
|
14
|
-
|
|
15
|
-
**IMPORTANT**: Do NOT confuse the User with the Mentor. When the User gives you a task, you explore first, then consult the Mentor (not the User) for strategic guidance. Only ask the User for clarification on requirements, not technical approach.
|
|
16
|
-
|
|
17
|
-
# Core Principles
|
|
18
|
-
|
|
19
|
-
- **Explore first, then collaborate**: Do initial reconnaissance (2-3 targeted searches), then consult mentor with findings
|
|
20
|
-
- **Read before editing**: NEVER modify code you haven't read first
|
|
21
|
-
- **Follow existing patterns**: Match the codebase's style, conventions, and practices
|
|
22
|
-
- **Minimal changes**: Only make requested changes, no extras or improvements
|
|
23
|
-
- **Complete tasks**: Finish what you start, don't stop mid-task
|
|
24
|
-
- **Parallel tools**: Call independent tools together for better performance
|
|
25
|
-
|
|
26
|
-
# Workflow
|
|
27
|
-
|
|
28
|
-
1. **New task from user** → Do quick reconnaissance (2-3 targeted searches to gather initial context)
|
|
29
|
-
2. **Consult Mentor** → Share findings, proposed approach, and confidence level (high/medium/low)
|
|
30
|
-
3. **Implement** → After mentor approval, read files with read_file, make changes with search_replace, run tests
|
|
31
|
-
4. **When blocked** → Consult Mentor for alternative approach
|
|
32
|
-
5. **Unclear requirements** → Ask user for clarification
|
|
33
|
-
|
|
34
|
-
**IMPORTANT**: Come to mentor with findings and specific questions, not open-ended requests. Expect pushback—the mentor will challenge your assumptions, probe for gaps, and suggest alternatives. This is peer review, not rubber-stamping.
|
|
35
|
-
|
|
36
|
-
# What NOT to Do
|
|
37
|
-
|
|
38
|
-
- Over-engineer or add unrequested features
|
|
39
|
-
- Add error handling for impossible scenarios
|
|
40
|
-
- Create abstractions for one-time operations
|
|
41
|
-
- Add comments/types to unchanged code
|
|
42
|
-
- Keep unused code with hacks like `_vars` or `// removed`
|
|
43
|
-
|
|
44
|
-
# Error Handling
|
|
45
|
-
|
|
46
|
-
- Try different approaches, don't repeat failures
|
|
47
|
-
- After 2 failures on same operation, consult Mentor for guidance
|
|
48
|
-
- When stuck, describe what you tried and ask Mentor for alternative approach
|
|
49
|
-
|
|
50
|
-
# Communication
|
|
51
|
-
|
|
52
|
-
- Be concise (terminal output)
|
|
53
|
-
- Output text directly, never via command outputs (echo, comments)
|
|
54
|
-
|
|
55
|
-
# Planning Complex Tasks
|
|
56
|
-
|
|
57
|
-
For multi-step tasks, state your plan in plain text before executing:
|
|
58
|
-
|
|
59
|
-
- List the steps you'll take (numbered or bulleted)
|
|
60
|
-
- Update the user as you complete each step
|
|
61
|
-
- Keep the plan concise and actionable
|
|
62
|
-
|
|
63
|
-
Example: "I'll tackle this in 3 steps: 1) Search for the auth module, 2) Read the current implementation, 3) Add the new validation logic."
|
|
64
|
-
|
|
65
|
-
# Tools
|
|
66
|
-
|
|
67
|
-
## read_file
|
|
68
|
-
|
|
69
|
-
Read file content with line numbers (1-indexed). Supports reading specific line ranges.
|
|
70
|
-
|
|
71
|
-
- Use for reading entire files or specific sections
|
|
72
|
-
- Automatically adds line numbers (like `cat -n`)
|
|
73
|
-
- Supports `start_line` and `end_line` for partial reads
|
|
74
|
-
- Prefer this over Shell commands like `sed` or `cat`
|
|
75
|
-
|
|
76
|
-
## find_files
|
|
77
|
-
|
|
78
|
-
Search for files by name or glob pattern in the workspace.
|
|
79
|
-
|
|
80
|
-
- Use for finding files by pattern (e.g., `*.ts`, `**/*.test.ts`)
|
|
81
|
-
- Supports glob patterns for flexible matching
|
|
82
|
-
- Returns up to 50 results by default (configurable with `max_results`)
|
|
83
|
-
- Prefer this over Shell commands like `ls` or `rg --files`
|
|
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
|
-
|
|
93
|
-
## search_replace
|
|
94
|
-
|
|
95
|
-
Modify files with exact text replacement.
|
|
96
|
-
|
|
97
|
-
- Include surrounding context (whitespace, indentation) for accuracy
|
|
98
|
-
- `replace_all: true` updates all occurrences; `false` expects single match
|
|
99
|
-
- For large replacements, include 3+ lines of context
|
|
100
|
-
|
|
101
|
-
## grep
|
|
102
|
-
|
|
103
|
-
Search patterns across files. Always use before editing.
|
|
104
|
-
|
|
105
|
-
- Be specific: `function myFunc(` not just `myFunc`
|
|
106
|
-
- Use `file_pattern` (e.g., `*.ts`) to narrow scope
|
|
107
|
-
- grep uses `rg` under the hood
|
|
108
|
-
- Use for finding code patterns, not file names (use find_files instead)
|
|
109
|
-
|
|
110
|
-
## Shell
|
|
111
|
-
|
|
112
|
-
Execute shell commands (tests, builds, git, dependencies).
|
|
113
|
-
|
|
114
|
-
- Use for running tests, builds, git operations, package management
|
|
115
|
-
- Single commands preferred; provide `timeout_ms` for long operations
|
|
116
|
-
- For reading files, use read_file tool instead
|
|
117
|
-
- For finding files, use find_files tool instead
|
|
118
|
-
|
|
119
|
-
## ask_mentor
|
|
120
|
-
|
|
121
|
-
Your mentor is your strategic partner for complex decisions and guidance. They are a peer reviewer who will challenge your thinking.
|
|
122
|
-
|
|
123
|
-
**Mentor has**: Project context (AGENTS.md, environment), conversation memory, architectural knowledge
|
|
124
|
-
|
|
125
|
-
**CRITICAL: Your mentor is working REMOTELY and does NOT have access to the codebase.** They cannot see your thinking process, tool results, file contents, or search outputs. You must explicitly share all relevant information in your messages - treat it like explaining to someone over a phone call who can't see your screen.
|
|
126
|
-
|
|
127
|
-
### When to ask_mentor (REQUIRED)
|
|
128
|
-
|
|
129
|
-
1. **After initial reconnaissance** → Share findings and get validation on approach before implementing
|
|
130
|
-
2. **Multiple valid approaches** → Get guidance on trade-offs and best fit
|
|
131
|
-
3. **After 2 failed attempts** → Get alternative approach
|
|
132
|
-
4. **Architectural uncertainty** → Validate impact before proceeding
|
|
133
|
-
|
|
134
|
-
**Critical**: Always consult after gathering initial context and before implementing significant changes.
|
|
135
|
-
|
|
136
|
-
### How to ask_mentor
|
|
137
|
-
|
|
138
|
-
**IMPORTANT**: 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.
|
|
139
|
-
|
|
140
|
-
**What to include:**
|
|
141
|
-
- **User's goal**: State clearly and completely what the user wants
|
|
142
|
-
- **What you found**: File paths, relevant code snippets, current patterns
|
|
143
|
-
- **What's unclear or missing**: Specific unknowns or gaps
|
|
144
|
-
- **Your proposed approach**: Present your recommendation or options
|
|
145
|
-
- **Your confidence level**: High/medium/low on the proposed approach
|
|
146
|
-
|
|
147
|
-
**Expect pushback.** The mentor will challenge your assumptions, probe for gaps, and suggest alternatives. This is peer review, not rubber-stamping.
|
|
148
|
-
|
|
149
|
-
**Example:**
|
|
150
|
-
"User wants to add dark mode support to the app. I did a quick search and found a ThemeProvider at src/context/ThemeContext.tsx that manages CSS variables like `--background-color` and `--text-color`. The provider currently has a fixed 'light' theme. There's also a config in src/styles/theme.css with the CSS variable definitions. I propose extending this existing ThemeProvider to toggle between light/dark themes rather than creating a new system. Confidence: High. Does this approach make sense or should I consider alternatives?"
|
|
151
|
-
|
|
152
|
-
# Codebase Exploration
|
|
153
|
-
|
|
154
|
-
## Quick Decision Tree
|
|
155
|
-
|
|
156
|
-
1. Know file path? → read_file directly
|
|
157
|
-
2. Know general area? → find_files with pattern, then grep or read_file
|
|
158
|
-
3. Looking for specific symbol? → grep with pattern (e.g., `"class UserService"`)
|
|
159
|
-
4. New codebase? → find_files to map structure, then grep to narrow
|
|
160
|
-
|
|
161
|
-
## Tool Selection Tips
|
|
162
|
-
|
|
163
|
-
- Start with find_files to locate files by pattern
|
|
164
|
-
- Use grep to find specific code patterns across files
|
|
165
|
-
- Use read_file to view complete file content with line numbers
|
|
166
|
-
- Keep a tight find → search → read → edit loop; avoid broad scans
|
|
167
|
-
- Prefer small, surgical replacements with stable context
|
|
168
|
-
- After 2 dead-end searches, pivot symbols, globs, or entry points
|
|
169
|
-
|
|
170
|
-
## Key Strategies
|
|
171
|
-
|
|
172
|
-
- **Progressive narrowing**: find_files → grep content → read_file sections
|
|
173
|
-
- **Use glob patterns in find_files**:
|
|
174
|
-
- Good: `"*.ts"`, `"**/*.test.ts"` | Bad: overly broad patterns
|
|
175
|
-
- **Use file_pattern in grep**:
|
|
176
|
-
- Good: `"*.{ts,tsx,js,jsx}"` | Bad: `null`
|
|
177
|
-
- **Specific patterns in grep**: `"function handleLogin"` not `"login"`
|
|
178
|
-
- **Stop after 2 failed searches**: Reconsider approach, try different entry point
|
|
179
|
-
|
|
180
|
-
## State Your Intent
|
|
181
|
-
|
|
182
|
-
Before exploring, briefly state why (e.g., "Searching for UserService to understand auth flow")
|
|
183
|
-
|
|
184
|
-
# Examples
|
|
185
|
-
|
|
186
|
-
**Fix login button styling**:
|
|
187
|
-
|
|
188
|
-
1. find_files or grep → find LoginButton component
|
|
189
|
-
2. read_file → view file to understand current styles
|
|
190
|
-
3. **ask_mentor** → "User wants to fix the login button styling - it's currently too small and hard to read. I found the LoginButton component at src/components/auth/LoginButton.tsx. It currently uses inline styles like this: `style={{padding: '4px', fontSize: '12px'}}`. The component is a simple button element. I see other components in this directory use inline styles too. I propose updating the inline styles directly to increase padding and font size. Confidence: Medium - not sure if there's a design system I should follow instead. Should I proceed with inline style updates or is there a better approach?"
|
|
191
|
-
4. search_replace → update styles (per mentor's guidance)
|
|
192
|
-
5. Shell → run tests
|
|
193
|
-
|
|
194
|
-
**Add dark mode feature**:
|
|
195
|
-
|
|
196
|
-
1. find_files/grep → search for theme infrastructure
|
|
197
|
-
2. read_file → view ThemeProvider and theme config
|
|
198
|
-
3. **ask_mentor** → "User wants to add dark mode support to the app. I found a ThemeProvider at src/context/ThemeContext.tsx that manages CSS variables like `--background-color` and `--text-color`. The provider currently has a fixed 'light' theme. There's also a config in src/styles/theme.css with the CSS variable definitions. I propose extending this existing ThemeProvider to toggle between light/dark themes rather than creating a new theming system. Confidence: High. Does this approach make sense?"
|
|
199
|
-
4. search_replace → implement changes (per mentor's direction)
|
|
200
|
-
5. Shell → verify changes
|
|
201
|
-
|
|
202
|
-
**Add logging to function**:
|
|
203
|
-
|
|
204
|
-
1. grep → find function
|
|
205
|
-
2. read_file → view function and surrounding context
|
|
206
|
-
3. **ask_mentor** → "User wants logging added to the handleSubmit function. Found handleSubmit at src/handlers/form.ts:45. Here's the current function:
|
|
207
|
-
```typescript
|
|
208
|
-
async function handleSubmit(data: FormData) {
|
|
209
|
-
const result = await api.submit(data);
|
|
210
|
-
return result;
|
|
211
|
-
}
|
|
212
|
-
```
|
|
213
|
-
I also found that other files in src/handlers/ use console.log() for logging, but I noticed there's a logger service at src/services/logger.ts. I propose following the existing console.log pattern for consistency with surrounding code. Confidence: Medium - the logger service might be the better practice. Should I use console.log to match existing patterns or switch to the logger service?"
|
|
214
|
-
4. search_replace → add logging statements (per mentor's guidance)
|
|
215
|
-
5. Shell → test changes
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type OpenAIProviderSettings } from '@ai-sdk/openai';
|
|
2
|
-
import { type ModelProvider, type Model } from '@openai/agents-core';
|
|
3
|
-
export type AiSdkOpenAIConfig = Pick<OpenAIProviderSettings, 'baseURL' | 'apiKey' | 'headers' | 'fetch' | 'name'>;
|
|
4
|
-
export type AiSdkOpenAIProviderFactory = (options: AiSdkOpenAIConfig) => (modelId: string) => any;
|
|
5
|
-
export declare class AiSdkOpenAIProvider implements ModelProvider {
|
|
6
|
-
#private;
|
|
7
|
-
constructor(deps: {
|
|
8
|
-
defaultModel: string;
|
|
9
|
-
resolveConfig: () => AiSdkOpenAIConfig;
|
|
10
|
-
createProvider?: AiSdkOpenAIProviderFactory;
|
|
11
|
-
});
|
|
12
|
-
getModel(modelName?: string): Promise<Model> | Model;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=ai-sdk-openai.provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-sdk-openai.provider.d.ts","sourceRoot":"","sources":["../../source/providers/ai-sdk-openai.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGrE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;AAElH,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC;AAElG,qBAAa,mBAAoB,YAAW,aAAa;;gBAK3C,IAAI,EAAE;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,iBAAiB,CAAC;QACvC,cAAc,CAAC,EAAE,0BAA0B,CAAC;KAC7C;IAMD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK;CAMrD"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { createOpenAI } from '@ai-sdk/openai';
|
|
2
|
-
import { adaptAiSdkModelForAgents } from './ai-sdk-agents-adapter.js';
|
|
3
|
-
export class AiSdkOpenAIProvider {
|
|
4
|
-
#defaultModel;
|
|
5
|
-
#resolveConfig;
|
|
6
|
-
#createProvider;
|
|
7
|
-
constructor(deps) {
|
|
8
|
-
this.#defaultModel = deps.defaultModel;
|
|
9
|
-
this.#resolveConfig = deps.resolveConfig;
|
|
10
|
-
this.#createProvider = deps.createProvider ?? createOpenAI;
|
|
11
|
-
}
|
|
12
|
-
getModel(modelName) {
|
|
13
|
-
const config = this.#resolveConfig();
|
|
14
|
-
const provider = this.#createProvider(config);
|
|
15
|
-
return adaptAiSdkModelForAgents(provider(modelName || this.#defaultModel), undefined, 'openai');
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=ai-sdk-openai.provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-sdk-openai.provider.js","sourceRoot":"","sources":["../../source/providers/ai-sdk-openai.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA+B,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,MAAM,OAAO,mBAAmB;IAC9B,aAAa,CAAS;IACtB,cAAc,CAA0B;IACxC,eAAe,CAA6B;IAE5C,YAAY,IAIX;QACC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,IAAK,YAA2C,CAAC;IAC7F,CAAC;IAED,QAAQ,CAAC,SAAkB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE9C,OAAO,wBAAwB,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClG,CAAC;CACF"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { ModelRequest } from '@openai/agents-core';
|
|
2
|
-
import type { ILoggingService } from '../../services/service-interfaces.js';
|
|
3
|
-
/**
|
|
4
|
-
* Copilot SDK message format
|
|
5
|
-
*/
|
|
6
|
-
export interface CopilotMessage {
|
|
7
|
-
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
8
|
-
content: string;
|
|
9
|
-
name?: string;
|
|
10
|
-
tool_call_id?: string;
|
|
11
|
-
tool_calls?: Array<{
|
|
12
|
-
id: string;
|
|
13
|
-
type: 'function';
|
|
14
|
-
function: {
|
|
15
|
-
name: string;
|
|
16
|
-
arguments: string;
|
|
17
|
-
};
|
|
18
|
-
}>;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Convert SDK ModelRequest to Copilot SDK message format.
|
|
22
|
-
* Maps the conversation history from the SDK format to what Copilot expects.
|
|
23
|
-
*/
|
|
24
|
-
export declare function buildMessagesFromRequest(request: ModelRequest, modelId: string, loggingService: ILoggingService): CopilotMessage[];
|
|
25
|
-
/**
|
|
26
|
-
* Extract function tools from the ModelRequest.
|
|
27
|
-
* Filters out SDK-specific tools and returns only function tools.
|
|
28
|
-
*/
|
|
29
|
-
export declare function extractFunctionToolsFromRequest(request: ModelRequest): Array<{
|
|
30
|
-
type: 'function';
|
|
31
|
-
function: {
|
|
32
|
-
name: string;
|
|
33
|
-
description: string;
|
|
34
|
-
parameters: unknown;
|
|
35
|
-
};
|
|
36
|
-
}>;
|
|
37
|
-
/**
|
|
38
|
-
* Normalize usage data to SDK format
|
|
39
|
-
*/
|
|
40
|
-
export declare function normalizeUsage(usage: any): {
|
|
41
|
-
inputTokens: number;
|
|
42
|
-
outputTokens: number;
|
|
43
|
-
totalTokens: number;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=converters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../../source/providers/github-copilot/converters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAkC5E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;KACL,CAAC,CAAC;CACN;AA8BD;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,eAAe,GAChC,cAAc,EAAE,CA+DlB;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC3C,OAAO,EAAE,YAAY,GACtB,KAAK,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,CAenG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACvB,CAMA"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extract text from various content item formats
|
|
3
|
-
*/
|
|
4
|
-
function extractTextFromContent(content) {
|
|
5
|
-
if (!content)
|
|
6
|
-
return '';
|
|
7
|
-
if (typeof content === 'string') {
|
|
8
|
-
return content;
|
|
9
|
-
}
|
|
10
|
-
if (Array.isArray(content)) {
|
|
11
|
-
return content
|
|
12
|
-
.map(item => {
|
|
13
|
-
if (item.type === 'input_text' && 'text' in item) {
|
|
14
|
-
return item.text;
|
|
15
|
-
}
|
|
16
|
-
if (item.type === 'output_text' && 'text' in item) {
|
|
17
|
-
return item.text;
|
|
18
|
-
}
|
|
19
|
-
return '';
|
|
20
|
-
})
|
|
21
|
-
.filter(Boolean)
|
|
22
|
-
.join('\n');
|
|
23
|
-
}
|
|
24
|
-
return '';
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Convert SDK ModelRequest to Copilot SDK message format.
|
|
28
|
-
* Maps the conversation history from the SDK format to what Copilot expects.
|
|
29
|
-
*/
|
|
30
|
-
export function buildMessagesFromRequest(request, modelId, loggingService) {
|
|
31
|
-
const messages = [];
|
|
32
|
-
// Add system instructions if present
|
|
33
|
-
if (request.systemInstructions) {
|
|
34
|
-
messages.push({
|
|
35
|
-
role: 'system',
|
|
36
|
-
content: request.systemInstructions,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
// Process input items (conversation history)
|
|
40
|
-
if (request.input && Array.isArray(request.input)) {
|
|
41
|
-
for (const item of request.input) {
|
|
42
|
-
const outputItem = item;
|
|
43
|
-
if (outputItem.type === 'message') {
|
|
44
|
-
const role = outputItem.role;
|
|
45
|
-
const content = extractTextFromContent(outputItem.content);
|
|
46
|
-
if (content) {
|
|
47
|
-
messages.push({ role, content });
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
else if (outputItem.type === 'function_call') {
|
|
51
|
-
// Tool call made by assistant
|
|
52
|
-
const lastMessage = messages[messages.length - 1];
|
|
53
|
-
const toolCall = {
|
|
54
|
-
id: outputItem.callId || `call_${Date.now()}`,
|
|
55
|
-
type: 'function',
|
|
56
|
-
function: {
|
|
57
|
-
name: outputItem.name || '',
|
|
58
|
-
arguments: outputItem.arguments || '{}',
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
if (lastMessage?.role === 'assistant' && lastMessage.tool_calls) {
|
|
62
|
-
lastMessage.tool_calls.push(toolCall);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
messages.push({
|
|
66
|
-
role: 'assistant',
|
|
67
|
-
content: '',
|
|
68
|
-
tool_calls: [toolCall],
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else if (outputItem.type === 'function_call_output') {
|
|
73
|
-
// Tool result
|
|
74
|
-
messages.push({
|
|
75
|
-
role: 'tool',
|
|
76
|
-
content: typeof outputItem.output === 'string'
|
|
77
|
-
? outputItem.output
|
|
78
|
-
: JSON.stringify(outputItem.output),
|
|
79
|
-
tool_call_id: outputItem.callId || '',
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
loggingService.debug('GitHubCopilot built messages', {
|
|
85
|
-
messageCount: messages.length,
|
|
86
|
-
modelId,
|
|
87
|
-
});
|
|
88
|
-
return messages;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Extract function tools from the ModelRequest.
|
|
92
|
-
* Filters out SDK-specific tools and returns only function tools.
|
|
93
|
-
*/
|
|
94
|
-
export function extractFunctionToolsFromRequest(request) {
|
|
95
|
-
if (!request.tools || !Array.isArray(request.tools)) {
|
|
96
|
-
return [];
|
|
97
|
-
}
|
|
98
|
-
return request.tools
|
|
99
|
-
.filter((tool) => tool.type === 'function')
|
|
100
|
-
.map((tool) => ({
|
|
101
|
-
type: 'function',
|
|
102
|
-
function: {
|
|
103
|
-
name: tool.name,
|
|
104
|
-
description: tool.description || '',
|
|
105
|
-
parameters: tool.parameters || { type: 'object', properties: {} },
|
|
106
|
-
},
|
|
107
|
-
}));
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Normalize usage data to SDK format
|
|
111
|
-
*/
|
|
112
|
-
export function normalizeUsage(usage) {
|
|
113
|
-
const inputTokens = usage?.input_tokens ?? usage?.prompt_tokens ?? 0;
|
|
114
|
-
const outputTokens = usage?.output_tokens ?? usage?.completion_tokens ?? 0;
|
|
115
|
-
const totalTokens = usage?.total_tokens ?? inputTokens + outputTokens;
|
|
116
|
-
return { inputTokens, outputTokens, totalTokens };
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=converters.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../source/providers/github-copilot/converters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"converters.test.d.ts","sourceRoot":"","sources":["../../../source/providers/github-copilot/converters.test.ts"],"names":[],"mappings":""}
|