@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,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Box, Text, useInput } from 'ink';
|
|
3
3
|
import { generateDiff } from '../utils/diff.js';
|
|
4
|
-
import { TOOL_NAME_APPLY_PATCH, TOOL_NAME_SEARCH_REPLACE } from '../tools/tool-names.js';
|
|
4
|
+
import { TOOL_NAME_APPLY_PATCH, TOOL_NAME_ASK_USER, TOOL_NAME_SEARCH_REPLACE } from '../tools/tool-names.js';
|
|
5
|
+
import { ASK_USER_CUSTOM_ANSWER_LABEL, ASK_USER_DECLINE_LABEL, ASK_USER_DECLINE_RESULT, } from '../tools/ask-user-constants.js';
|
|
5
6
|
import DiffView from './DiffView.js';
|
|
6
7
|
const operationLabels = {
|
|
7
8
|
create_file: { label: 'CREATE', color: 'green' },
|
|
@@ -82,25 +83,59 @@ const LLMAdvisory = ({ advisory }) => {
|
|
|
82
83
|
") ")),
|
|
83
84
|
React.createElement(Text, { italic: true, color: "#cbd5e1" }, isSystem ? advisory.reasoning : `"${advisory.reasoning}"`)));
|
|
84
85
|
};
|
|
85
|
-
const ApprovalPrompt = ({ approval, onApprove, onReject, }) => {
|
|
86
|
-
const [selectedIndex, setSelectedIndex] = React.useState(0);
|
|
86
|
+
const ApprovalPrompt = ({ approval, onApprove, onReject, onTypeAnswer }) => {
|
|
87
|
+
const [selectedIndex, setSelectedIndex] = React.useState(0);
|
|
88
|
+
const isAskUser = approval.toolName === TOOL_NAME_ASK_USER;
|
|
89
|
+
const askUserArgs = React.useMemo(() => {
|
|
90
|
+
if (!isAskUser) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
return JSON.parse(approval.argumentsText);
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}, [approval.argumentsText, isAskUser]);
|
|
100
|
+
const askUserOptions = askUserArgs?.options ?? [];
|
|
101
|
+
const askUserMenuItems = React.useMemo(() => isAskUser ? [...askUserOptions, ASK_USER_CUSTOM_ANSWER_LABEL, ASK_USER_DECLINE_LABEL] : ['Approve', 'Reject'], [askUserOptions, isAskUser]);
|
|
102
|
+
React.useEffect(() => {
|
|
103
|
+
setSelectedIndex(0);
|
|
104
|
+
}, [approval.argumentsText, approval.toolName]);
|
|
87
105
|
useInput((input, key) => {
|
|
88
|
-
if (key.upArrow
|
|
89
|
-
setSelectedIndex((prev) => (prev === 0 ? 1 :
|
|
106
|
+
if (key.upArrow) {
|
|
107
|
+
setSelectedIndex((prev) => (prev === 0 ? askUserMenuItems.length - 1 : prev - 1));
|
|
108
|
+
}
|
|
109
|
+
if (key.downArrow) {
|
|
110
|
+
setSelectedIndex((prev) => (prev === askUserMenuItems.length - 1 ? 0 : prev + 1));
|
|
90
111
|
}
|
|
91
112
|
if (key.return) {
|
|
92
|
-
if (
|
|
113
|
+
if (isAskUser) {
|
|
114
|
+
const selected = askUserMenuItems[selectedIndex];
|
|
115
|
+
if (selected === ASK_USER_CUSTOM_ANSWER_LABEL) {
|
|
116
|
+
onTypeAnswer?.();
|
|
117
|
+
}
|
|
118
|
+
else if (selected === ASK_USER_DECLINE_LABEL) {
|
|
119
|
+
onApprove(ASK_USER_DECLINE_RESULT);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
onApprove(selected);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
else if (selectedIndex === 0) {
|
|
93
126
|
onApprove();
|
|
94
127
|
}
|
|
95
128
|
else {
|
|
96
129
|
onReject();
|
|
97
130
|
}
|
|
98
131
|
}
|
|
99
|
-
if (
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
132
|
+
if (!isAskUser) {
|
|
133
|
+
if (input === 'y') {
|
|
134
|
+
onApprove();
|
|
135
|
+
}
|
|
136
|
+
if (input === 'n') {
|
|
137
|
+
onReject();
|
|
138
|
+
}
|
|
104
139
|
}
|
|
105
140
|
});
|
|
106
141
|
// Special handling for max turns exceeded prompt
|
|
@@ -157,6 +192,34 @@ const ApprovalPrompt = ({ approval, onApprove, onReject, }) => {
|
|
|
157
192
|
// Fall back to styled raw text if parsing fails
|
|
158
193
|
}
|
|
159
194
|
}
|
|
195
|
+
else if (isAskUser) {
|
|
196
|
+
const questionText = askUserArgs?.question?.trim() ? askUserArgs.question : approval.argumentsText;
|
|
197
|
+
content = (React.createElement(Box, { flexDirection: "column" },
|
|
198
|
+
React.createElement(Box, { borderStyle: "round", borderColor: "yellow", paddingX: 1, paddingY: 0 },
|
|
199
|
+
React.createElement(Text, { color: "yellow", bold: true }, questionText)),
|
|
200
|
+
React.createElement(Box, { flexDirection: "column", marginTop: 1 }, askUserMenuItems.map((item, idx) => {
|
|
201
|
+
const isRecommended = idx === 0 && askUserOptions.length > 0;
|
|
202
|
+
const label = item === ASK_USER_CUSTOM_ANSWER_LABEL
|
|
203
|
+
? item
|
|
204
|
+
: item === ASK_USER_DECLINE_LABEL
|
|
205
|
+
? item
|
|
206
|
+
: isRecommended
|
|
207
|
+
? `${item} (recommended)`
|
|
208
|
+
: item;
|
|
209
|
+
const color = selectedIndex === idx
|
|
210
|
+
? item === ASK_USER_DECLINE_LABEL
|
|
211
|
+
? 'red'
|
|
212
|
+
: item === ASK_USER_CUSTOM_ANSWER_LABEL
|
|
213
|
+
? 'cyan'
|
|
214
|
+
: 'green'
|
|
215
|
+
: isRecommended
|
|
216
|
+
? 'yellow'
|
|
217
|
+
: undefined;
|
|
218
|
+
return (React.createElement(Text, { key: item, color: color },
|
|
219
|
+
selectedIndex === idx ? '❯ ' : ' ',
|
|
220
|
+
label));
|
|
221
|
+
}))));
|
|
222
|
+
}
|
|
160
223
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
161
224
|
React.createElement(Text, { color: "yellow" },
|
|
162
225
|
approval.agentName,
|
|
@@ -164,7 +227,7 @@ const ApprovalPrompt = ({ approval, onApprove, onReject, }) => {
|
|
|
164
227
|
React.createElement(Text, { bold: true }, approval.toolName)),
|
|
165
228
|
content,
|
|
166
229
|
approval.llmAdvisory && React.createElement(LLMAdvisory, { advisory: approval.llmAdvisory }),
|
|
167
|
-
React.createElement(Box, { flexDirection: "column", marginTop: 1 },
|
|
230
|
+
!isAskUser && (React.createElement(Box, { flexDirection: "column", marginTop: 1 },
|
|
168
231
|
React.createElement(Text, null, "Allow this action?"),
|
|
169
232
|
React.createElement(Box, { flexDirection: "column", marginLeft: 1 },
|
|
170
233
|
React.createElement(Text, { color: selectedIndex === 0 ? 'green' : undefined },
|
|
@@ -172,7 +235,7 @@ const ApprovalPrompt = ({ approval, onApprove, onReject, }) => {
|
|
|
172
235
|
"Approve"),
|
|
173
236
|
React.createElement(Text, { color: selectedIndex === 1 ? 'red' : undefined },
|
|
174
237
|
selectedIndex === 1 ? '❯ ' : ' ',
|
|
175
|
-
"Reject")))));
|
|
238
|
+
"Reject"))))));
|
|
176
239
|
};
|
|
177
240
|
export default ApprovalPrompt;
|
|
178
241
|
//# sourceMappingURL=ApprovalPrompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApprovalPrompt.js","sourceRoot":"","sources":["../../source/components/ApprovalPrompt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ApprovalPrompt.js","sourceRoot":"","sources":["../../source/components/ApprovalPrompt.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export type BottomAreaProps = {
|
|
|
14
14
|
pendingApproval: PendingApproval | null;
|
|
15
15
|
waitingForApproval: boolean;
|
|
16
16
|
waitingForRejectionReason: boolean;
|
|
17
|
+
waitingForAskUserAnswer?: boolean;
|
|
17
18
|
isProcessing: boolean;
|
|
18
19
|
isShellMode?: boolean;
|
|
19
20
|
lastUsage?: NormalizedUsage | null;
|
|
@@ -23,20 +24,28 @@ export type BottomAreaProps = {
|
|
|
23
24
|
settingsService: SettingsService;
|
|
24
25
|
loggingService: LoggingService;
|
|
25
26
|
historyService: HistoryService;
|
|
26
|
-
onApprove: () => void;
|
|
27
|
+
onApprove: (answer?: string) => void;
|
|
27
28
|
onReject: () => void;
|
|
29
|
+
onTypeAnswer?: () => void;
|
|
28
30
|
sshInfo?: SSHInfo;
|
|
29
31
|
undoMenuRef?: React.MutableRefObject<{
|
|
30
32
|
open: (items: UndoItem[]) => void;
|
|
31
33
|
} | null>;
|
|
32
34
|
onUndoSelect?: (item: UndoItem) => void;
|
|
35
|
+
providersMenuRef?: React.MutableRefObject<{
|
|
36
|
+
open: () => void;
|
|
37
|
+
} | null>;
|
|
33
38
|
onSettingChange?: (key: string, value: any) => void;
|
|
39
|
+
onSystemMessage?: (text: string) => void;
|
|
34
40
|
handoffState?: HandoffState | null;
|
|
35
41
|
onHandoffConfirm?: () => void;
|
|
36
42
|
onHandoffDecline?: () => void;
|
|
37
43
|
onHandoffCancel?: () => void;
|
|
38
44
|
largeUncachedWarning?: import('../services/large-uncached-input-guard.js').LargeUncachedInputDecision | null;
|
|
39
|
-
|
|
45
|
+
pendingLargeUncachedTurn?: UserTurn | null;
|
|
46
|
+
pendingLargeUncachedTokens?: number;
|
|
47
|
+
onLargeUncachedApprove?: () => void;
|
|
48
|
+
onLargeUncachedDecline?: () => void;
|
|
40
49
|
onSlashTabComplete?: (command: SlashCommand) => boolean;
|
|
41
50
|
};
|
|
42
51
|
declare const BottomArea: FC<BottomAreaProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@ import ApprovalPrompt from './ApprovalPrompt.js';
|
|
|
4
4
|
import InputBox from './InputBox.js';
|
|
5
5
|
import StatusBar from './StatusBar.js';
|
|
6
6
|
import HandoffConfirmationPrompt from './HandoffConfirmationPrompt.js';
|
|
7
|
-
|
|
7
|
+
import LargeUncachedConfirmationPrompt from './LargeUncachedConfirmationPrompt.js';
|
|
8
|
+
const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, waitingForAskUserAnswer = false, isProcessing, isShellMode = false, onSubmit, slashCommands, settingsService, loggingService, historyService, onApprove, onReject, onTypeAnswer, sshInfo, lastUsage, lastCodexRateLimit, undoMenuRef, onUndoSelect, providersMenuRef, onSettingChange, onSystemMessage, handoffState, onHandoffConfirm, onHandoffDecline, onHandoffCancel, largeUncachedWarning, pendingLargeUncachedTurn, pendingLargeUncachedTokens = 0, onLargeUncachedApprove, onLargeUncachedDecline, onSlashTabComplete, }) => {
|
|
8
9
|
const [dotCount, setDotCount] = useState(1);
|
|
9
10
|
useEffect(() => {
|
|
10
11
|
if (!isProcessing) {
|
|
@@ -17,13 +18,26 @@ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionRe
|
|
|
17
18
|
return () => clearInterval(interval);
|
|
18
19
|
}, [isProcessing]);
|
|
19
20
|
const showHandoffConfirm = handoffState?.stage === 'confirm_model';
|
|
20
|
-
const
|
|
21
|
-
const
|
|
21
|
+
const showLargeUncachedPrompt = Boolean(pendingLargeUncachedTurn);
|
|
22
|
+
const showApprovalPrompt = !showHandoffConfirm &&
|
|
23
|
+
!showLargeUncachedPrompt &&
|
|
24
|
+
waitingForApproval &&
|
|
25
|
+
!isProcessing &&
|
|
26
|
+
!waitingForRejectionReason &&
|
|
27
|
+
pendingApproval &&
|
|
28
|
+
!waitingForAskUserAnswer;
|
|
29
|
+
const showInput = !showHandoffConfirm &&
|
|
30
|
+
!showLargeUncachedPrompt &&
|
|
31
|
+
((!isProcessing && !waitingForApproval) || waitingForRejectionReason || waitingForAskUserAnswer);
|
|
22
32
|
return (React.createElement(Box, { flexDirection: "column", width: "100%" },
|
|
23
|
-
React.createElement(Box, { flexDirection: "column", marginTop: 1 }, showHandoffConfirm ? (React.createElement(HandoffConfirmationPrompt, { onConfirm: onHandoffConfirm || (() => { }), onDecline: onHandoffDecline || (() => { }), onCancel: onHandoffCancel || (() => { }) })) : showApprovalPrompt ? (React.createElement(ApprovalPrompt, { approval: pendingApproval, onApprove: onApprove, onReject: onReject })) : isProcessing ? (React.createElement(Text, { color: "#64748b" },
|
|
33
|
+
React.createElement(Box, { flexDirection: "column", marginTop: 1 }, showHandoffConfirm ? (React.createElement(HandoffConfirmationPrompt, { onConfirm: onHandoffConfirm || (() => { }), onDecline: onHandoffDecline || (() => { }), onCancel: onHandoffCancel || (() => { }) })) : showLargeUncachedPrompt ? (React.createElement(LargeUncachedConfirmationPrompt, { usage: lastUsage, onConfirm: onLargeUncachedApprove || (() => { }), onDecline: onLargeUncachedDecline || (() => { }) })) : showApprovalPrompt ? (React.createElement(ApprovalPrompt, { approval: pendingApproval, onApprove: onApprove, onReject: onReject, onTypeAnswer: onTypeAnswer })) : isProcessing ? (React.createElement(Text, { color: "#64748b" },
|
|
24
34
|
"processing",
|
|
25
|
-
'.'.repeat(dotCount))) : showInput ? (React.createElement(InputBox, { onSubmit: onSubmit, slashCommands: slashCommands, waitingForRejectionReason: waitingForRejectionReason, isShellMode: isShellMode, settingsService: settingsService, loggingService: loggingService, historyService: historyService, undoMenuRef: undoMenuRef, onUndoSelect: onUndoSelect, onSettingChange: onSettingChange, onSlashTabComplete: onSlashTabComplete
|
|
26
|
-
|
|
35
|
+
'.'.repeat(dotCount))) : showInput ? (React.createElement(InputBox, { onSubmit: onSubmit, slashCommands: slashCommands, waitingForRejectionReason: waitingForRejectionReason, isShellMode: isShellMode, settingsService: settingsService, loggingService: loggingService, historyService: historyService, undoMenuRef: undoMenuRef, onUndoSelect: onUndoSelect, providersMenuRef: providersMenuRef, onSettingChange: onSettingChange, onSystemMessage: onSystemMessage, onSlashTabComplete: onSlashTabComplete, promptLabel: waitingForAskUserAnswer
|
|
36
|
+
? 'Answer: '
|
|
37
|
+
: handoffState?.stage === 'entering_message'
|
|
38
|
+
? 'Handoff message (enter to use default message): '
|
|
39
|
+
: undefined, allowEmptySubmit: handoffState?.stage === 'entering_message' || waitingForAskUserAnswer })) : null),
|
|
40
|
+
React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo, lastUsage: lastUsage, lastCodexRateLimit: lastCodexRateLimit, largeUncachedWarning: largeUncachedWarning, hasPendingConfirmation: pendingLargeUncachedTurn !== null && pendingLargeUncachedTokens > 0, pendingLargeUncachedTokens: pendingLargeUncachedTokens })));
|
|
27
41
|
};
|
|
28
42
|
export default BottomArea;
|
|
29
43
|
//# sourceMappingURL=BottomArea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -34,14 +34,15 @@ const baseProps = {
|
|
|
34
34
|
const renderBottomArea = (props) => render(React.createElement(InputProvider, null,
|
|
35
35
|
React.createElement(BottomArea, { ...props })));
|
|
36
36
|
test('BottomArea shows input when idle', (t) => {
|
|
37
|
-
const { lastFrame } = renderBottomArea(baseProps);
|
|
37
|
+
const { lastFrame, unmount } = renderBottomArea(baseProps);
|
|
38
38
|
const output = lastFrame() ?? '';
|
|
39
39
|
t.true(output.includes('❯'));
|
|
40
40
|
t.false(output.includes('processing'));
|
|
41
41
|
t.false(output.includes('Allow this action?'));
|
|
42
|
+
unmount();
|
|
42
43
|
});
|
|
43
44
|
test('BottomArea shows approval prompt when waiting for approval', (t) => {
|
|
44
|
-
const { lastFrame } = renderBottomArea({
|
|
45
|
+
const { lastFrame, unmount } = renderBottomArea({
|
|
45
46
|
...baseProps,
|
|
46
47
|
pendingApproval: {
|
|
47
48
|
agentName: 'Agent',
|
|
@@ -56,9 +57,10 @@ test('BottomArea shows approval prompt when waiting for approval', (t) => {
|
|
|
56
57
|
t.true(output.includes('Approve'));
|
|
57
58
|
t.true(output.includes('Reject'));
|
|
58
59
|
t.false(output.includes('processing'));
|
|
60
|
+
unmount();
|
|
59
61
|
});
|
|
60
62
|
test('BottomArea shows processing indicator when busy', (t) => {
|
|
61
|
-
const { lastFrame } = renderBottomArea({
|
|
63
|
+
const { lastFrame, unmount } = renderBottomArea({
|
|
62
64
|
...baseProps,
|
|
63
65
|
isProcessing: true,
|
|
64
66
|
});
|
|
@@ -66,9 +68,10 @@ test('BottomArea shows processing indicator when busy', (t) => {
|
|
|
66
68
|
t.true(output.includes('processing.'));
|
|
67
69
|
t.false(output.includes('Allow this action?'));
|
|
68
70
|
t.false(output.includes('❯'));
|
|
71
|
+
unmount();
|
|
69
72
|
});
|
|
70
73
|
test('BottomArea shows handoff confirmation prompt when handoffState is confirm_model', (t) => {
|
|
71
|
-
const { lastFrame } = renderBottomArea({
|
|
74
|
+
const { lastFrame, unmount } = renderBottomArea({
|
|
72
75
|
...baseProps,
|
|
73
76
|
handoffState: {
|
|
74
77
|
capturedText: 'some test code',
|
|
@@ -80,5 +83,35 @@ test('BottomArea shows handoff confirmation prompt when handoffState is confirm_
|
|
|
80
83
|
t.true(output.includes('Yes'));
|
|
81
84
|
t.true(output.includes('No'));
|
|
82
85
|
t.false(output.includes('Allow this action?'));
|
|
86
|
+
unmount();
|
|
87
|
+
});
|
|
88
|
+
test('BottomArea shows large uncached confirmation prompt when pending turn exists', (t) => {
|
|
89
|
+
const { lastFrame, unmount } = renderBottomArea({
|
|
90
|
+
...baseProps,
|
|
91
|
+
pendingLargeUncachedTurn: { text: 'Describe this', images: [] },
|
|
92
|
+
pendingLargeUncachedTokens: 72_100,
|
|
93
|
+
lastUsage: { prompt_tokens: 72_100 },
|
|
94
|
+
});
|
|
95
|
+
const output = lastFrame() ?? '';
|
|
96
|
+
t.true(output.includes('Send 72,100 tokens anyway?'));
|
|
97
|
+
t.true(output.includes('may miss prompt cache'));
|
|
98
|
+
t.true(output.includes('Send'));
|
|
99
|
+
t.true(output.includes('Cancel'));
|
|
100
|
+
t.false(output.includes('Allow this action?'));
|
|
101
|
+
unmount();
|
|
102
|
+
});
|
|
103
|
+
test('BottomArea shows input with handoff message prompt when handoffState is entering_message', (t) => {
|
|
104
|
+
const { lastFrame, unmount } = renderBottomArea({
|
|
105
|
+
...baseProps,
|
|
106
|
+
handoffState: {
|
|
107
|
+
capturedText: 'some test code',
|
|
108
|
+
stage: 'entering_message',
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
const output = lastFrame() ?? '';
|
|
112
|
+
t.true(output.includes('Handoff message (enter to use default message):'));
|
|
113
|
+
t.false(output.includes('Allow this action?'));
|
|
114
|
+
t.false(output.includes('processing'));
|
|
115
|
+
unmount();
|
|
83
116
|
});
|
|
84
117
|
//# sourceMappingURL=BottomArea.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomArea.test.js","sourceRoot":"","sources":["../../source/components/BottomArea.test.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,UAAoC,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAGjF,MAAM,iBAAiB,GAAmB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;AAE9G,MAAM,SAAS,GAAoB;IACjC,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,KAAK;IACzB,yBAAyB,EAAE,KAAK;IAChC,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;IACxB,aAAa,EAAE,iBAAiB;IAChC,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,yBAAyB,EAAE;IAC5C,cAAc,EAAE;QACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC1B,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;KACtB;IACR,cAAc,EAAE;QACd,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;QACrB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;QACpB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;KACT;IACR,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,EAAE,CACnD,MAAM,CACJ,oBAAC,aAAa;IACZ,oBAAC,UAAU,OAAK,KAAK,GAAI,CACX,CACjB,CAAC;AAEJ,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomArea.test.js","sourceRoot":"","sources":["../../source/components/BottomArea.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,15 @@ type Props<T> = {
|
|
|
5
5
|
scrollOffset?: number;
|
|
6
6
|
maxHeight?: number;
|
|
7
7
|
borderColor: string;
|
|
8
|
-
title?: ReactNode;
|
|
9
|
-
headerRight?: ReactNode;
|
|
10
8
|
loading?: boolean;
|
|
11
9
|
loadingText?: string;
|
|
12
10
|
error?: string | null;
|
|
13
11
|
fallbackText?: ReactNode;
|
|
14
12
|
footer?: ReactNode;
|
|
15
13
|
footerOutsideBorder?: boolean;
|
|
16
|
-
|
|
14
|
+
isInactive?: (item: T) => boolean;
|
|
15
|
+
renderItem: (item: T, index: number, isSelected: boolean, isInactive: boolean) => ReactNode;
|
|
17
16
|
};
|
|
18
|
-
export declare function MenuContainer<T>({ items, selectedIndex, scrollOffset, maxHeight, borderColor,
|
|
17
|
+
export declare function MenuContainer<T>({ items, selectedIndex, scrollOffset, maxHeight, borderColor, loading, loadingText, error, fallbackText, footer, footerOutsideBorder, isInactive, renderItem, }: Props<T>): React.JSX.Element;
|
|
19
18
|
export {};
|
|
20
19
|
//# sourceMappingURL=MenuContainer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuContainer.d.ts","sourceRoot":"","sources":["../../../source/components/Common/MenuContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,KAAK,KAAK,CAAC,CAAC,IAAI;IACd,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IAGpB,
|
|
1
|
+
{"version":3,"file":"MenuContainer.d.ts","sourceRoot":"","sources":["../../../source/components/Common/MenuContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,KAAK,KAAK,CAAC,CAAC,IAAI;IACd,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IAGpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtB,YAAY,CAAC,EAAE,SAAS,CAAC;IAGzB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAClC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC;CAC7F,CAAC;AAEF,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,aAAa,EACb,YAAgB,EAChB,SAAc,EACd,WAAW,EACX,OAAe,EACf,WAA0B,EAC1B,KAAY,EACZ,YAAY,EACZ,MAAM,EACN,mBAA2B,EAC3B,UAAU,EACV,UAAU,GACX,EAAE,KAAK,CAAC,CAAC,CAAC,qBAqFV"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
|
-
export function MenuContainer({ items, selectedIndex, scrollOffset = 0, maxHeight = 10, borderColor,
|
|
3
|
+
export function MenuContainer({ items, selectedIndex, scrollOffset = 0, maxHeight = 10, borderColor, loading = false, loadingText = 'Loading...', error = null, fallbackText, footer, footerOutsideBorder = false, isInactive, renderItem, }) {
|
|
4
4
|
if (loading) {
|
|
5
5
|
return (React.createElement(Box, { borderStyle: "round", borderColor: borderColor, paddingX: 1, flexDirection: "column" },
|
|
6
6
|
React.createElement(Text, { color: borderColor }, loadingText)));
|
|
@@ -16,18 +16,6 @@ export function MenuContainer({ items, selectedIndex, scrollOffset = 0, maxHeigh
|
|
|
16
16
|
const hasScrollUp = scrollOffset > 0;
|
|
17
17
|
const hasScrollDown = scrollOffset + maxHeight < items.length;
|
|
18
18
|
const content = (React.createElement(Box, { borderStyle: "round", borderColor: borderColor, paddingX: 1, flexDirection: "column" },
|
|
19
|
-
(title || headerRight || items.length > maxHeight) && (React.createElement(Box, { justifyContent: "space-between", marginBottom: 1, borderStyle: "single", borderBottom: true, borderLeft: false, borderRight: false, borderTop: false, borderColor: "gray" },
|
|
20
|
-
React.createElement(Box, null, typeof title === 'string' ? (React.createElement(Text, { bold: true, color: borderColor }, title)) : (title)),
|
|
21
|
-
React.createElement(Box, null,
|
|
22
|
-
headerRight,
|
|
23
|
-
items.length > maxHeight && (React.createElement(Text, { color: "#64748b" },
|
|
24
|
-
' ',
|
|
25
|
-
"\u00B7 ",
|
|
26
|
-
scrollOffset + 1,
|
|
27
|
-
"-",
|
|
28
|
-
Math.min(scrollOffset + maxHeight, items.length),
|
|
29
|
-
"/",
|
|
30
|
-
items.length))))),
|
|
31
19
|
hasScrollUp && React.createElement(Text, { color: "#64748b" },
|
|
32
20
|
"\u2191 ",
|
|
33
21
|
scrollOffset,
|
|
@@ -35,7 +23,19 @@ export function MenuContainer({ items, selectedIndex, scrollOffset = 0, maxHeigh
|
|
|
35
23
|
visibleItems.map((item, visibleIndex) => {
|
|
36
24
|
const actualIndex = scrollOffset + visibleIndex;
|
|
37
25
|
const isSelected = actualIndex === selectedIndex;
|
|
38
|
-
|
|
26
|
+
const isItemInactive = isInactive?.(item) || item?.inactive === true;
|
|
27
|
+
const element = renderItem(item, actualIndex, isSelected, isItemInactive);
|
|
28
|
+
if (isItemInactive) {
|
|
29
|
+
if (React.isValidElement(element) && element.type === Text) {
|
|
30
|
+
return React.cloneElement(element, { color: 'gray' });
|
|
31
|
+
}
|
|
32
|
+
if (typeof element === 'string' || typeof element === 'number') {
|
|
33
|
+
return (React.createElement(Box, { key: actualIndex },
|
|
34
|
+
React.createElement(Text, { color: "gray" }, element)));
|
|
35
|
+
}
|
|
36
|
+
return element;
|
|
37
|
+
}
|
|
38
|
+
return element;
|
|
39
39
|
}),
|
|
40
40
|
hasScrollDown && React.createElement(Text, { color: "#64748b" },
|
|
41
41
|
"\u2193 ",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuContainer.js","sourceRoot":"","sources":["../../../source/components/Common/MenuContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuContainer.js","sourceRoot":"","sources":["../../../source/components/Common/MenuContainer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuContainer.test.d.ts","sourceRoot":"","sources":["../../../source/components/Common/MenuContainer.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// @ts-ignore
|
|
2
|
+
globalThis.IS_REACT_ACT_ENVIRONMENT = true;
|
|
3
|
+
import test from 'ava';
|
|
4
|
+
import React, { act } from 'react';
|
|
5
|
+
import { render } from 'ink-testing-library';
|
|
6
|
+
import { Box, Text } from 'ink';
|
|
7
|
+
import { MenuContainer } from './MenuContainer.js';
|
|
8
|
+
test('MenuContainer renders items', (t) => {
|
|
9
|
+
const items = ['a', 'b', 'c'];
|
|
10
|
+
let lastFrame;
|
|
11
|
+
let unmount;
|
|
12
|
+
act(() => {
|
|
13
|
+
const rendered = render(React.createElement(MenuContainer, { items: items, selectedIndex: 0, borderColor: "magenta", renderItem: (item) => React.createElement(Text, { key: item }, item) }));
|
|
14
|
+
lastFrame = rendered.lastFrame;
|
|
15
|
+
unmount = rendered.unmount;
|
|
16
|
+
});
|
|
17
|
+
const output = lastFrame();
|
|
18
|
+
t.truthy(output);
|
|
19
|
+
t.true(output.includes('a'));
|
|
20
|
+
t.true(output.includes('b'));
|
|
21
|
+
t.true(output.includes('c'));
|
|
22
|
+
act(() => {
|
|
23
|
+
unmount();
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
test('MenuContainer passes isInactive to renderItem and identifies them correctly', (t) => {
|
|
27
|
+
const items = ['a', 'b', 'c'];
|
|
28
|
+
const renderedInactiveArgs = [];
|
|
29
|
+
let lastFrame;
|
|
30
|
+
let unmount;
|
|
31
|
+
act(() => {
|
|
32
|
+
const rendered = render(React.createElement(MenuContainer, { items: items, selectedIndex: 0, borderColor: "magenta", isInactive: (item) => item === 'b', renderItem: (item, _index, _isSelected, isInactive) => {
|
|
33
|
+
renderedInactiveArgs.push(isInactive);
|
|
34
|
+
return React.createElement(Text, { key: item }, item);
|
|
35
|
+
} }));
|
|
36
|
+
lastFrame = rendered.lastFrame;
|
|
37
|
+
unmount = rendered.unmount;
|
|
38
|
+
});
|
|
39
|
+
const output = lastFrame();
|
|
40
|
+
t.truthy(output);
|
|
41
|
+
// Verify that the second item ('b') was passed isInactive = true
|
|
42
|
+
t.deepEqual(renderedInactiveArgs, [false, true, false]);
|
|
43
|
+
act(() => {
|
|
44
|
+
unmount();
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
test('MenuContainer handles inactive items that return Box components without crashing', (t) => {
|
|
48
|
+
const items = ['a', 'b', 'c'];
|
|
49
|
+
let lastFrame;
|
|
50
|
+
let unmount;
|
|
51
|
+
act(() => {
|
|
52
|
+
const rendered = render(React.createElement(MenuContainer, { items: items, selectedIndex: 0, borderColor: "magenta", isInactive: (item) => item === 'b', renderItem: (item, _index, _isSelected, isInactive) => (React.createElement(Box, { key: item },
|
|
53
|
+
React.createElement(Text, { color: isInactive ? 'gray' : 'white' }, item))) }));
|
|
54
|
+
lastFrame = rendered.lastFrame;
|
|
55
|
+
unmount = rendered.unmount;
|
|
56
|
+
});
|
|
57
|
+
const output = lastFrame();
|
|
58
|
+
t.truthy(output);
|
|
59
|
+
t.true(output.includes('a'));
|
|
60
|
+
t.true(output.includes('b'));
|
|
61
|
+
t.true(output.includes('c'));
|
|
62
|
+
act(() => {
|
|
63
|
+
unmount();
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=MenuContainer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuContainer.test.js","sourceRoot":"","sources":["../../../source/components/Common/MenuContainer.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import type { SettingValueSuggestion } from '../../hooks/use-settings-value-comp
|
|
|
6
6
|
import type { ModelInfo } from '../../services/model-service.js';
|
|
7
7
|
import type { SettingsService } from '../../services/settings-service.js';
|
|
8
8
|
import type { UndoItem } from '../../hooks/use-undo-selection.js';
|
|
9
|
+
import type { ProviderSelectionMenuItem } from '../../hooks/use-provider-selection.js';
|
|
9
10
|
interface PopupManagerProps {
|
|
10
11
|
slash: {
|
|
11
12
|
isOpen: boolean;
|
|
@@ -22,6 +23,7 @@ interface PopupManagerProps {
|
|
|
22
23
|
query: string;
|
|
23
24
|
loading: boolean;
|
|
24
25
|
error: string | null;
|
|
26
|
+
warning: string | null;
|
|
25
27
|
};
|
|
26
28
|
models: {
|
|
27
29
|
isOpen: boolean;
|
|
@@ -52,6 +54,7 @@ interface PopupManagerProps {
|
|
|
52
54
|
selectedIndex: number;
|
|
53
55
|
query: string;
|
|
54
56
|
isNumericSettings?: boolean;
|
|
57
|
+
isFreeFormString?: boolean;
|
|
55
58
|
};
|
|
56
59
|
undo: {
|
|
57
60
|
isOpen: boolean;
|
|
@@ -59,6 +62,17 @@ interface PopupManagerProps {
|
|
|
59
62
|
selectedIndex: number;
|
|
60
63
|
scrollOffset?: number;
|
|
61
64
|
};
|
|
65
|
+
providers: {
|
|
66
|
+
isOpen: boolean;
|
|
67
|
+
phase: import('../../hooks/use-provider-selection.js').ProviderSelectionPhase;
|
|
68
|
+
selectedIndex: number;
|
|
69
|
+
scrollOffset?: number;
|
|
70
|
+
activeItems: ProviderSelectionMenuItem[];
|
|
71
|
+
errorMessage: string | null;
|
|
72
|
+
fieldErrors?: Record<string, string>;
|
|
73
|
+
selectedProviderName?: string;
|
|
74
|
+
draft: import('../../hooks/use-provider-selection.js').CustomProviderDraft | null;
|
|
75
|
+
};
|
|
62
76
|
settingsService: SettingsService;
|
|
63
77
|
}
|
|
64
78
|
export declare const PopupManager: FC<PopupManagerProps>;
|