@qduc/term2 0.6.0 → 0.7.0
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 +9 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +139 -68
- package/dist/agent.js.map +1 -1
- package/dist/agent.test.js +179 -16
- package/dist/agent.test.js.map +1 -1
- package/dist/app.d.ts +16 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +186 -23
- package/dist/app.js.map +1 -1
- package/dist/app.large-uncached-warning.test.d.ts +2 -0
- package/dist/app.large-uncached-warning.test.d.ts.map +1 -0
- package/dist/app.large-uncached-warning.test.js +15 -0
- package/dist/app.large-uncached-warning.test.js.map +1 -0
- package/dist/app.startup-banner.test.js +3 -19
- package/dist/app.startup-banner.test.js.map +1 -1
- package/dist/cli.js +170 -71
- package/dist/cli.js.map +1 -1
- package/dist/components/Banner.d.ts.map +1 -1
- package/dist/components/Banner.js +35 -17
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BottomArea.d.ts +7 -1
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/BottomArea.js +8 -6
- package/dist/components/BottomArea.js.map +1 -1
- package/dist/components/BottomArea.test.js +14 -1
- package/dist/components/BottomArea.test.js.map +1 -1
- package/dist/components/CommandMessage.d.ts.map +1 -1
- package/dist/components/CommandMessage.js +31 -1
- package/dist/components/CommandMessage.js.map +1 -1
- package/dist/components/CommandMessage.test.js +150 -31
- package/dist/components/CommandMessage.test.js.map +1 -1
- package/dist/components/Common/MenuContainer.d.ts +20 -0
- package/dist/components/Common/MenuContainer.d.ts.map +1 -0
- package/dist/components/Common/MenuContainer.js +52 -0
- package/dist/components/Common/MenuContainer.js.map +1 -0
- package/dist/components/Common/ScrollableTabBar.d.ts +26 -0
- package/dist/components/Common/ScrollableTabBar.d.ts.map +1 -0
- package/dist/components/Common/ScrollableTabBar.js +26 -0
- package/dist/components/Common/ScrollableTabBar.js.map +1 -0
- package/dist/components/Common/compute-visible-tabs.d.ts +16 -0
- package/dist/components/Common/compute-visible-tabs.d.ts.map +1 -0
- package/dist/components/Common/compute-visible-tabs.js +53 -0
- package/dist/components/Common/compute-visible-tabs.js.map +1 -0
- package/dist/components/Common/compute-visible-tabs.test.d.ts +2 -0
- package/dist/components/Common/compute-visible-tabs.test.d.ts.map +1 -0
- package/dist/components/Common/compute-visible-tabs.test.js +97 -0
- package/dist/components/Common/compute-visible-tabs.test.js.map +1 -0
- package/dist/components/HandoffConfirmationPrompt.d.ts +9 -0
- package/dist/components/HandoffConfirmationPrompt.d.ts.map +1 -0
- package/dist/components/HandoffConfirmationPrompt.js +38 -0
- package/dist/components/HandoffConfirmationPrompt.js.map +1 -0
- package/dist/components/HandoffConfirmationPrompt.test.d.ts +2 -0
- package/dist/components/HandoffConfirmationPrompt.test.d.ts.map +1 -0
- package/dist/components/HandoffConfirmationPrompt.test.js +12 -0
- package/dist/components/HandoffConfirmationPrompt.test.js.map +1 -0
- package/dist/components/Input/PopupManager.d.ts +5 -1
- package/dist/components/Input/PopupManager.d.ts.map +1 -1
- package/dist/components/Input/PopupManager.js +2 -2
- package/dist/components/Input/PopupManager.js.map +1 -1
- package/dist/components/Input/popup-key-navigation.js +2 -2
- package/dist/components/Input/popup-key-navigation.js.map +1 -1
- package/dist/components/Input/popup-key-navigation.test.js +5 -3
- package/dist/components/Input/popup-key-navigation.test.js.map +1 -1
- package/dist/components/Input/popup-props.d.ts.map +1 -1
- package/dist/components/Input/popup-props.js +4 -0
- package/dist/components/Input/popup-props.js.map +1 -1
- package/dist/components/Input/popup-props.test.d.ts +2 -0
- package/dist/components/Input/popup-props.test.d.ts.map +1 -0
- package/dist/components/Input/popup-props.test.js +70 -0
- package/dist/components/Input/popup-props.test.js.map +1 -0
- package/dist/components/InputBox.d.ts +0 -1
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +66 -14
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.test.js +192 -12
- package/dist/components/InputBox.test.js.map +1 -1
- package/dist/components/MessageList.d.ts +1 -0
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.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 +29 -125
- package/dist/components/ModelSelectionMenu.js.map +1 -1
- package/dist/components/ModelSelectionMenu.test.js +9 -5
- package/dist/components/ModelSelectionMenu.test.js.map +1 -1
- package/dist/components/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/PathSelectionMenu.js +15 -55
- package/dist/components/PathSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.d.ts +4 -1
- package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsSelectionMenu.js +48 -104
- package/dist/components/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.scroll.test.js +140 -0
- package/dist/components/SettingsSelectionMenu.scroll.test.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.test.js +38 -5
- package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.js +24 -51
- package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/SlashCommandMenu.d.ts +1 -0
- package/dist/components/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/SlashCommandMenu.js +11 -14
- package/dist/components/SlashCommandMenu.js.map +1 -1
- package/dist/components/StatusBar.d.ts +2 -0
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +35 -2
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/components/StatusBar.test.js +32 -0
- package/dist/components/StatusBar.test.js.map +1 -1
- package/dist/components/UndoSelectionMenu.d.ts.map +1 -1
- package/dist/components/UndoSelectionMenu.js +6 -33
- package/dist/components/UndoSelectionMenu.js.map +1 -1
- package/dist/context/InputContext.stability.test.js +9 -7
- package/dist/context/InputContext.stability.test.js.map +1 -1
- package/dist/env-setup.js +1 -0
- package/dist/env-setup.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +22 -2
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +43 -3
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-commands.test.js +135 -1
- package/dist/hooks/use-app-commands.test.js.map +1 -1
- package/dist/hooks/use-conversation.clear.test.d.ts +2 -0
- package/dist/hooks/use-conversation.clear.test.d.ts.map +1 -0
- package/dist/hooks/use-conversation.clear.test.js +54 -0
- package/dist/hooks/use-conversation.clear.test.js.map +1 -0
- package/dist/hooks/use-conversation.d.ts +25 -2
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +90 -12
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-escape-key.d.ts +8 -1
- package/dist/hooks/use-escape-key.d.ts.map +1 -1
- package/dist/hooks/use-escape-key.js +15 -4
- package/dist/hooks/use-escape-key.js.map +1 -1
- package/dist/hooks/use-escape-key.test.js +135 -28
- package/dist/hooks/use-escape-key.test.js.map +1 -1
- package/dist/hooks/use-input-history.test.js +14 -8
- package/dist/hooks/use-input-history.test.js.map +1 -1
- package/dist/hooks/use-mode-handlers.d.ts +12 -1
- package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
- package/dist/hooks/use-mode-handlers.js +31 -1
- package/dist/hooks/use-mode-handlers.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts +6 -1
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +50 -8
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-model-selection.test.js +306 -50
- package/dist/hooks/use-model-selection.test.js.map +1 -1
- package/dist/hooks/use-path-completion.d.ts +4 -0
- package/dist/hooks/use-path-completion.d.ts.map +1 -1
- package/dist/hooks/use-path-completion.js +23 -17
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
- package/dist/hooks/use-runtime-settings.js +7 -2
- package/dist/hooks/use-runtime-settings.js.map +1 -1
- package/dist/hooks/use-runtime-settings.test.d.ts +2 -0
- package/dist/hooks/use-runtime-settings.test.d.ts.map +1 -0
- package/dist/hooks/use-runtime-settings.test.js +45 -0
- package/dist/hooks/use-runtime-settings.test.js.map +1 -0
- package/dist/hooks/use-selection.d.ts +6 -2
- package/dist/hooks/use-selection.d.ts.map +1 -1
- package/dist/hooks/use-selection.js +53 -16
- package/dist/hooks/use-selection.js.map +1 -1
- package/dist/hooks/use-selection.test.d.ts +2 -0
- package/dist/hooks/use-selection.test.d.ts.map +1 -0
- package/dist/hooks/use-selection.test.js +132 -0
- package/dist/hooks/use-selection.test.js.map +1 -0
- package/dist/hooks/use-settings-completion.d.ts +19 -0
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +106 -18
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.scroll.test.js +68 -29
- package/dist/hooks/use-settings-completion.scroll.test.js.map +1 -1
- package/dist/hooks/use-settings-completion.test.js +36 -1
- package/dist/hooks/use-settings-completion.test.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts +7 -1
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +18 -7
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts +5 -0
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +22 -2
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-trigger-detection.test.js +9 -6
- package/dist/hooks/use-trigger-detection.test.js.map +1 -1
- package/dist/hooks/use-undo-selection.d.ts +4 -0
- package/dist/hooks/use-undo-selection.d.ts.map +1 -1
- package/dist/hooks/use-undo-selection.js +18 -1
- package/dist/hooks/use-undo-selection.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 +40 -0
- package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts +18 -4
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.js +228 -32
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-agent-client.public-methods.test.js +193 -0
- package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
- package/dist/lib/openai-agent-client.test.js +71 -1
- package/dist/lib/openai-agent-client.test.js.map +1 -1
- package/dist/lib/retry-executor.js +45 -7
- package/dist/lib/retry-executor.js.map +1 -1
- package/dist/lib/retry-executor.test.js +63 -0
- package/dist/lib/retry-executor.test.js.map +1 -1
- package/dist/lib/tool-invoke.d.ts +3 -2
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +213 -10
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/lib/tool-invoke.test.js +103 -0
- package/dist/lib/tool-invoke.test.js.map +1 -1
- package/dist/non-interactive.d.ts +1 -0
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +3 -1
- package/dist/non-interactive.js.map +1 -1
- package/dist/non-interactive.test.js +8 -1
- package/dist/non-interactive.test.js.map +1 -1
- package/dist/prompts/codex.md +105 -97
- package/dist/prompts/fragments/gpt-5.3-codex.md +7 -0
- package/dist/prompts/fragments/gpt-5.4-small.md +6 -0
- package/dist/prompts/fragments/gpt-5.4.md +7 -0
- package/dist/prompts/fragments/gpt-5.5.md +7 -0
- package/dist/prompts/gpt-5-modern.md +96 -54
- package/dist/prompts/plan-mode-info.md +14 -3
- package/dist/prompts/prompt-constructor.d.ts +19 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -0
- package/dist/prompts/prompt-constructor.js +53 -0
- package/dist/prompts/prompt-constructor.js.map +1 -0
- package/dist/prompts/prompt-constructor.test.d.ts +2 -0
- package/dist/prompts/prompt-constructor.test.d.ts.map +1 -0
- package/dist/prompts/prompt-constructor.test.js +99 -0
- package/dist/prompts/prompt-constructor.test.js.map +1 -0
- package/dist/prompts/prompt-constructor.test.ts +112 -0
- package/dist/prompts/prompt-constructor.ts +91 -0
- package/dist/prompts/prompt-profiles.d.ts +17 -0
- package/dist/prompts/prompt-profiles.d.ts.map +1 -0
- package/dist/prompts/prompt-profiles.js +61 -0
- package/dist/prompts/prompt-profiles.js.map +1 -0
- package/dist/prompts/prompt-profiles.ts +77 -0
- package/dist/prompts/prompt-selector.d.ts.map +1 -1
- package/dist/prompts/prompt-selector.js +3 -21
- package/dist/prompts/prompt-selector.js.map +1 -1
- package/dist/prompts/prompt-selector.ts +3 -25
- package/dist/prompts/reasoning-efficiency.d.ts.map +1 -1
- package/dist/prompts/reasoning-efficiency.js +2 -0
- package/dist/prompts/reasoning-efficiency.js.map +1 -1
- package/dist/prompts/reasoning-efficiency.test.d.ts +2 -0
- package/dist/prompts/reasoning-efficiency.test.d.ts.map +1 -0
- package/dist/prompts/reasoning-efficiency.test.js +11 -0
- package/dist/prompts/reasoning-efficiency.test.js.map +1 -0
- package/dist/prompts/reasoning-efficiency.test.ts +12 -0
- package/dist/prompts/reasoning-efficiency.ts +2 -0
- package/dist/prompts/search-via-shell.test.js +19 -16
- package/dist/prompts/search-via-shell.test.js.map +1 -1
- package/dist/prompts/search-via-shell.test.ts +20 -16
- package/dist/prompts/subagent-delegation.test.js +12 -10
- package/dist/prompts/subagent-delegation.test.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +13 -10
- package/dist/prompts/worktree-hygiene.md +9 -0
- package/dist/providers/ai-sdk-logging-fetch.d.ts +1 -1
- package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -1
- package/dist/providers/ai-sdk-logging-fetch.js +145 -47
- package/dist/providers/ai-sdk-logging-fetch.js.map +1 -1
- package/dist/providers/ai-sdk-logging-fetch.test.js +202 -5
- package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -1
- package/dist/providers/codex-responses-model.d.ts +20 -0
- package/dist/providers/codex-responses-model.d.ts.map +1 -0
- package/dist/providers/codex-responses-model.js +170 -0
- package/dist/providers/codex-responses-model.js.map +1 -0
- package/dist/providers/codex-responses-model.test.d.ts +2 -0
- package/dist/providers/codex-responses-model.test.d.ts.map +1 -0
- package/dist/providers/codex-responses-model.test.js +240 -0
- package/dist/providers/codex-responses-model.test.js.map +1 -0
- package/dist/providers/codex.provider.d.ts +29 -0
- package/dist/providers/codex.provider.d.ts.map +1 -0
- package/dist/providers/codex.provider.js +486 -0
- package/dist/providers/codex.provider.js.map +1 -0
- package/dist/providers/codex.provider.test.d.ts +2 -0
- package/dist/providers/codex.provider.test.d.ts.map +1 -0
- package/dist/providers/codex.provider.test.js +634 -0
- package/dist/providers/codex.provider.test.js.map +1 -0
- package/dist/providers/custom-provider-adapter.test.js +56 -0
- package/dist/providers/custom-provider-adapter.test.js.map +1 -1
- package/dist/providers/fallback-responses-model.d.ts +20 -0
- package/dist/providers/fallback-responses-model.d.ts.map +1 -0
- package/dist/providers/fallback-responses-model.js +277 -0
- package/dist/providers/fallback-responses-model.js.map +1 -0
- package/dist/providers/fallback-responses-model.test.d.ts +2 -0
- package/dist/providers/fallback-responses-model.test.d.ts.map +1 -0
- package/dist/providers/fallback-responses-model.test.js +279 -0
- package/dist/providers/fallback-responses-model.test.js.map +1 -0
- package/dist/providers/fetch/compose.d.ts +7 -0
- package/dist/providers/fetch/compose.d.ts.map +1 -0
- package/dist/providers/fetch/compose.js +20 -0
- package/dist/providers/fetch/compose.js.map +1 -0
- package/dist/providers/fetch/composer.d.ts +13 -0
- package/dist/providers/fetch/composer.d.ts.map +1 -0
- package/dist/providers/fetch/composer.js +15 -0
- package/dist/providers/fetch/composer.js.map +1 -0
- package/dist/providers/fetch/composer.test.d.ts +2 -0
- package/dist/providers/fetch/composer.test.d.ts.map +1 -0
- package/dist/providers/fetch/composer.test.js +448 -0
- package/dist/providers/fetch/composer.test.js.map +1 -0
- package/dist/providers/fetch/logging-middleware.d.ts +16 -0
- package/dist/providers/fetch/logging-middleware.d.ts.map +1 -0
- package/dist/providers/fetch/logging-middleware.js +214 -0
- package/dist/providers/fetch/logging-middleware.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/llama-cpp.provider.d.ts +3 -0
- package/dist/providers/llama-cpp.provider.d.ts.map +1 -0
- package/dist/providers/llama-cpp.provider.js +34 -0
- package/dist/providers/llama-cpp.provider.js.map +1 -0
- package/dist/providers/openai-compatible-middleware.d.ts +7 -0
- package/dist/providers/openai-compatible-middleware.d.ts.map +1 -0
- package/dist/providers/openai-compatible-middleware.js +133 -0
- package/dist/providers/openai-compatible-middleware.js.map +1 -0
- package/dist/providers/openai-compatible-models.d.ts +6 -0
- package/dist/providers/openai-compatible-models.d.ts.map +1 -0
- package/dist/providers/openai-compatible-models.js +17 -0
- package/dist/providers/openai-compatible-models.js.map +1 -0
- package/dist/providers/openai-compatible-response-normalizer.d.ts +7 -0
- package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -0
- package/dist/providers/openai-compatible-response-normalizer.js +58 -0
- package/dist/providers/openai-compatible-response-normalizer.js.map +1 -0
- package/dist/providers/openai-compatible.provider.d.ts +4 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +68 -324
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-compatible.provider.test.js +106 -1
- package/dist/providers/openai-compatible.provider.test.js.map +1 -1
- package/dist/providers/openai.provider.js +53 -1
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/opencode.provider.d.ts +19 -0
- package/dist/providers/opencode.provider.d.ts.map +1 -0
- package/dist/providers/opencode.provider.js +45 -0
- package/dist/providers/opencode.provider.js.map +1 -0
- package/dist/providers/openrouter.provider.d.ts +2 -1
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +39 -22
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +2 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +1 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.js +51 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +1 -0
- package/dist/providers/registry.d.ts +1 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/registry.test.js +11 -2
- package/dist/providers/registry.test.js.map +1 -1
- package/dist/scripts/eval-auto-approval/dataset.d.ts +3 -3
- package/dist/services/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval-flow-coordinator.js +17 -1
- package/dist/services/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval-flow-coordinator.test.js +22 -0
- package/dist/services/approval-flow-coordinator.test.js.map +1 -1
- package/dist/services/command-message-streaming.d.ts.map +1 -1
- package/dist/services/command-message-streaming.js +0 -3
- package/dist/services/command-message-streaming.js.map +1 -1
- package/dist/services/command-message-streaming.test.js +4 -2
- package/dist/services/command-message-streaming.test.js.map +1 -1
- package/dist/services/conversation-clear-save.test.d.ts +2 -0
- package/dist/services/conversation-clear-save.test.d.ts.map +1 -0
- package/dist/services/conversation-clear-save.test.js +57 -0
- package/dist/services/conversation-clear-save.test.js.map +1 -0
- package/dist/services/conversation-events.d.ts +44 -1
- package/dist/services/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation-history-repair.d.ts +25 -0
- package/dist/services/conversation-history-repair.d.ts.map +1 -0
- package/dist/services/conversation-history-repair.js +227 -0
- package/dist/services/conversation-history-repair.js.map +1 -0
- package/dist/services/conversation-history-repair.test.d.ts +2 -0
- package/dist/services/conversation-history-repair.test.d.ts.map +1 -0
- package/dist/services/conversation-history-repair.test.js +76 -0
- package/dist/services/conversation-history-repair.test.js.map +1 -0
- package/dist/services/conversation-integration.test.js +3 -1
- package/dist/services/conversation-integration.test.js.map +1 -1
- package/dist/services/conversation-log-events.d.ts +107 -0
- package/dist/services/conversation-log-events.d.ts.map +1 -0
- package/dist/services/conversation-log-events.js +12 -0
- package/dist/services/conversation-log-events.js.map +1 -0
- package/dist/services/conversation-log-writer.d.ts +40 -0
- package/dist/services/conversation-log-writer.d.ts.map +1 -0
- package/dist/services/conversation-log-writer.js +264 -0
- package/dist/services/conversation-log-writer.js.map +1 -0
- package/dist/services/conversation-persistence-types.d.ts +14 -0
- package/dist/services/conversation-persistence-types.d.ts.map +1 -0
- package/dist/services/conversation-persistence-types.js +2 -0
- package/dist/services/conversation-persistence-types.js.map +1 -0
- package/dist/services/conversation-persistence.d.ts +40 -38
- package/dist/services/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation-persistence.js +312 -71
- package/dist/services/conversation-persistence.js.map +1 -1
- package/dist/services/conversation-persistence.test.js +485 -355
- package/dist/services/conversation-persistence.test.js.map +1 -1
- package/dist/services/conversation-replay.d.ts +26 -0
- package/dist/services/conversation-replay.d.ts.map +1 -0
- package/dist/services/conversation-replay.js +252 -0
- package/dist/services/conversation-replay.js.map +1 -0
- package/dist/services/conversation-replay.test.d.ts +2 -0
- package/dist/services/conversation-replay.test.d.ts.map +1 -0
- package/dist/services/conversation-replay.test.js +153 -0
- package/dist/services/conversation-replay.test.js.map +1 -0
- package/dist/services/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.js +8 -2
- package/dist/services/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation-result-builder.test.js +53 -0
- package/dist/services/conversation-result-builder.test.js.map +1 -1
- package/dist/services/conversation-retry-policy.d.ts +24 -0
- package/dist/services/conversation-retry-policy.d.ts.map +1 -1
- package/dist/services/conversation-retry-policy.js +68 -4
- package/dist/services/conversation-retry-policy.js.map +1 -1
- package/dist/services/conversation-retry-policy.test.js +99 -2
- package/dist/services/conversation-retry-policy.test.js.map +1 -1
- package/dist/services/conversation-service.d.ts +12 -2
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-service.js +29 -3
- package/dist/services/conversation-service.js.map +1 -1
- package/dist/services/conversation-session.auto-approval.test.js +2 -1
- package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
- package/dist/services/conversation-session.d.ts +17 -1
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +580 -134
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation-store.js +6 -5
- package/dist/services/conversation-store.js.map +1 -1
- package/dist/services/conversation-store.test.js +34 -0
- package/dist/services/conversation-store.test.js.map +1 -1
- package/dist/services/input-surge-guard.d.ts +4 -0
- package/dist/services/input-surge-guard.d.ts.map +1 -1
- package/dist/services/input-surge-guard.js +2 -2
- package/dist/services/input-surge-guard.js.map +1 -1
- package/dist/services/input-surge-guard.test.js +15 -1
- package/dist/services/input-surge-guard.test.js.map +1 -1
- package/dist/services/large-uncached-input-guard.d.ts +35 -0
- package/dist/services/large-uncached-input-guard.d.ts.map +1 -0
- package/dist/services/large-uncached-input-guard.js +127 -0
- package/dist/services/large-uncached-input-guard.js.map +1 -0
- package/dist/services/large-uncached-input-guard.test.d.ts +2 -0
- package/dist/services/large-uncached-input-guard.test.d.ts.map +1 -0
- package/dist/services/large-uncached-input-guard.test.js +160 -0
- package/dist/services/large-uncached-input-guard.test.js.map +1 -0
- package/dist/services/logging-contract.d.ts +1 -1
- package/dist/services/logging-service.d.ts +4 -0
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +91 -33
- package/dist/services/logging-service.js.map +1 -1
- package/dist/services/model-service.d.ts +2 -0
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +7 -1
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/provider-traffic.d.ts +87 -0
- package/dist/services/provider-traffic.d.ts.map +1 -0
- package/dist/services/provider-traffic.js +603 -0
- package/dist/services/provider-traffic.js.map +1 -0
- package/dist/services/provider-traffic.test.d.ts +2 -0
- package/dist/services/provider-traffic.test.d.ts.map +1 -0
- package/dist/services/provider-traffic.test.js +475 -0
- package/dist/services/provider-traffic.test.js.map +1 -0
- package/dist/services/rtk-service.d.ts.map +1 -1
- package/dist/services/rtk-service.js +1 -2
- package/dist/services/rtk-service.js.map +1 -1
- package/dist/services/service-interfaces.d.ts +16 -0
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/settings-schema.d.ts +36 -28
- package/dist/services/settings-schema.d.ts.map +1 -1
- package/dist/services/settings-schema.js +7 -2
- package/dist/services/settings-schema.js.map +1 -1
- package/dist/services/settings-service.js +6 -6
- 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/shell-auto-approval-evaluator.d.ts +1 -1
- package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.js +284 -81
- package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.test.js +215 -15
- package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
- package/dist/services/stream-event-processor.d.ts +4 -0
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +78 -39
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/stream-event-processor.test.js +71 -0
- package/dist/services/stream-event-processor.test.js.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts +2 -0
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +124 -21
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-manager.test.js +453 -0
- package/dist/services/subagents/subagent-manager.test.js.map +1 -1
- package/dist/services/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/terminal-result-collector.js +6 -1
- package/dist/services/terminal-result-collector.js.map +1 -1
- package/dist/services/tool-call-arguments.d.ts +20 -0
- package/dist/services/tool-call-arguments.d.ts.map +1 -0
- package/dist/services/tool-call-arguments.js +49 -0
- package/dist/services/tool-call-arguments.js.map +1 -0
- package/dist/services/tool-execution-ledger.d.ts +35 -0
- package/dist/services/tool-execution-ledger.d.ts.map +1 -0
- package/dist/services/tool-execution-ledger.js +204 -0
- package/dist/services/tool-execution-ledger.js.map +1 -0
- package/dist/services/tool-execution-ledger.test.d.ts +2 -0
- package/dist/services/tool-execution-ledger.test.d.ts.map +1 -0
- package/dist/services/tool-execution-ledger.test.js +96 -0
- package/dist/services/tool-execution-ledger.test.js.map +1 -0
- package/dist/tools/apply-patch.d.ts +8 -0
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +157 -2
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/apply-patch.test.js +81 -0
- package/dist/tools/apply-patch.test.js.map +1 -1
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +92 -140
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
- package/dist/utils/command-safety/path-analysis.js +143 -35
- package/dist/utils/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +52 -4
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +175 -0
- package/dist/utils/conversation-event-handler.test.js.map +1 -1
- package/dist/utils/error-helpers.d.ts +1 -0
- package/dist/utils/error-helpers.d.ts.map +1 -1
- package/dist/utils/error-helpers.js +61 -0
- package/dist/utils/error-helpers.js.map +1 -1
- package/dist/utils/error-helpers.test.js +13 -1
- package/dist/utils/error-helpers.test.js.map +1 -1
- package/dist/utils/ink-render-options.d.ts +1 -1
- package/dist/utils/ink-render-options.d.ts.map +1 -1
- package/dist/utils/ink-render-options.js +1 -1
- package/dist/utils/ink-render-options.js.map +1 -1
- package/dist/utils/streaming-session-factory.d.ts +2 -0
- package/dist/utils/streaming-session-factory.d.ts.map +1 -1
- package/dist/utils/streaming-session-factory.js +4 -0
- package/dist/utils/streaming-session-factory.js.map +1 -1
- package/package.json +2 -2
|
@@ -13,6 +13,8 @@ test('SettingsSelectionMenu uses scrollOffset to control the visible window', (t
|
|
|
13
13
|
selectedIndex: 10,
|
|
14
14
|
scrollOffset: 1,
|
|
15
15
|
query: '',
|
|
16
|
+
activeCategoryId: 'model',
|
|
17
|
+
categories: [{ id: 'model', label: 'Model & Reasoning' }],
|
|
16
18
|
}));
|
|
17
19
|
const output = lastFrame() ?? '';
|
|
18
20
|
t.false(output.includes('agent.setting0'));
|
|
@@ -20,4 +22,142 @@ test('SettingsSelectionMenu uses scrollOffset to control the visible window', (t
|
|
|
20
22
|
t.true(output.includes('agent.setting10'));
|
|
21
23
|
t.false(output.includes('agent.setting11'));
|
|
22
24
|
});
|
|
25
|
+
test('SettingsSelectionMenu renders task tabs and switch hint', (t) => {
|
|
26
|
+
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
27
|
+
items: [
|
|
28
|
+
{
|
|
29
|
+
key: 'agent.model',
|
|
30
|
+
description: 'Model',
|
|
31
|
+
currentValue: 'gpt-5',
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
selectedIndex: 0,
|
|
35
|
+
scrollOffset: 0,
|
|
36
|
+
query: '',
|
|
37
|
+
activeCategoryId: 'model',
|
|
38
|
+
categories: [
|
|
39
|
+
{ id: 'model', label: 'Model & Reasoning' },
|
|
40
|
+
{ id: 'shell', label: 'Shell Execution' },
|
|
41
|
+
],
|
|
42
|
+
}));
|
|
43
|
+
const output = lastFrame() ?? '';
|
|
44
|
+
t.true(output.includes('Model & Reasoning'));
|
|
45
|
+
t.true(output.includes('Shell Execution'));
|
|
46
|
+
t.true(output.includes('Tab/←→ → switch section'));
|
|
47
|
+
});
|
|
48
|
+
test('SettingsSelectionMenu keeps task tabs on one row', (t) => {
|
|
49
|
+
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
50
|
+
items: [
|
|
51
|
+
{
|
|
52
|
+
key: 'app.orchestratorMode',
|
|
53
|
+
description: 'Delegate tool-backed work through subagents (true|false)',
|
|
54
|
+
currentValue: true,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
key: 'app.planMode',
|
|
58
|
+
description: 'Plan mode: read-only research and implementation planning (true|false)',
|
|
59
|
+
currentValue: false,
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
selectedIndex: 0,
|
|
63
|
+
scrollOffset: 0,
|
|
64
|
+
query: '',
|
|
65
|
+
activeCategoryId: 'modes',
|
|
66
|
+
categories: [
|
|
67
|
+
{ id: 'model', label: 'Model & Reasoning' },
|
|
68
|
+
{ id: 'modes', label: 'Modes' },
|
|
69
|
+
{ id: 'approvals', label: 'Safety & Approvals' },
|
|
70
|
+
{ id: 'shell', label: 'Shell Execution' },
|
|
71
|
+
{ id: 'search', label: 'Search & Web' },
|
|
72
|
+
{ id: 'subagents', label: 'Subagents' },
|
|
73
|
+
{ id: 'uiLogging', label: 'UI & Logging' },
|
|
74
|
+
{ id: 'advanced', label: 'Advanced' },
|
|
75
|
+
],
|
|
76
|
+
}));
|
|
77
|
+
const lines = (lastFrame() ?? '').split('\n');
|
|
78
|
+
t.true(lines[0]?.includes('Tab/←→ → switch section'));
|
|
79
|
+
t.false(lines[0]?.includes('STab/←→ → switch section'));
|
|
80
|
+
t.true(lines[1]?.startsWith('╭'));
|
|
81
|
+
});
|
|
82
|
+
test('SettingsSelectionMenu shrinks after broad search collapses', (t) => {
|
|
83
|
+
const categories = [
|
|
84
|
+
{ id: 'model', label: 'Model & Reasoning' },
|
|
85
|
+
{ id: 'modes', label: 'Modes' },
|
|
86
|
+
{ id: 'approvals', label: 'Safety & Approvals' },
|
|
87
|
+
{ id: 'shell', label: 'Shell Execution' },
|
|
88
|
+
{ id: 'search', label: 'Search & Web' },
|
|
89
|
+
{ id: 'subagents', label: 'Subagents' },
|
|
90
|
+
{ id: 'uiLogging', label: 'UI & Logging' },
|
|
91
|
+
{ id: 'advanced', label: 'Advanced' },
|
|
92
|
+
];
|
|
93
|
+
const searchItems = [
|
|
94
|
+
'agent.model',
|
|
95
|
+
'app.planMode',
|
|
96
|
+
'agent.maxTurns',
|
|
97
|
+
'agent.temperature',
|
|
98
|
+
'agent.mentorModel',
|
|
99
|
+
'app.searchViaShell',
|
|
100
|
+
'agent.retryAttempts',
|
|
101
|
+
'app.orchestratorMode',
|
|
102
|
+
'agent.reasoningEffort',
|
|
103
|
+
'agent.autoApproveModel',
|
|
104
|
+
].map((key) => ({
|
|
105
|
+
key,
|
|
106
|
+
description: `Description for ${key}`,
|
|
107
|
+
currentValue: key.startsWith('app.') ? false : 'value',
|
|
108
|
+
}));
|
|
109
|
+
const modeItems = [
|
|
110
|
+
{
|
|
111
|
+
key: 'app.orchestratorMode',
|
|
112
|
+
description: 'Delegate tool-backed work through subagents (true|false)',
|
|
113
|
+
currentValue: true,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
key: 'app.planMode',
|
|
117
|
+
description: 'Plan mode: read-only research and implementation planning (true|false)',
|
|
118
|
+
currentValue: false,
|
|
119
|
+
},
|
|
120
|
+
];
|
|
121
|
+
const view = render(React.createElement(SettingsSelectionMenu, {
|
|
122
|
+
items: searchItems,
|
|
123
|
+
selectedIndex: 0,
|
|
124
|
+
scrollOffset: 0,
|
|
125
|
+
query: 'a',
|
|
126
|
+
isSearchingAll: true,
|
|
127
|
+
activeCategoryId: 'modes',
|
|
128
|
+
categories,
|
|
129
|
+
}));
|
|
130
|
+
const expandedHeight = (view.lastFrame() ?? '').split('\n').length;
|
|
131
|
+
view.rerender(React.createElement(SettingsSelectionMenu, {
|
|
132
|
+
items: modeItems,
|
|
133
|
+
selectedIndex: 0,
|
|
134
|
+
scrollOffset: 0,
|
|
135
|
+
query: '',
|
|
136
|
+
activeCategoryId: 'modes',
|
|
137
|
+
categories,
|
|
138
|
+
}));
|
|
139
|
+
const collapsedHeight = (view.lastFrame() ?? '').split('\n').length;
|
|
140
|
+
view.rerender(React.createElement(SettingsSelectionMenu, {
|
|
141
|
+
items: [
|
|
142
|
+
{
|
|
143
|
+
key: 'shell.timeout',
|
|
144
|
+
description: 'Shell command timeout in milliseconds',
|
|
145
|
+
currentValue: 120000,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
key: 'shell.maxOutputLines',
|
|
149
|
+
description: 'Maximum lines of shell output to capture',
|
|
150
|
+
currentValue: 1000,
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
selectedIndex: 0,
|
|
154
|
+
scrollOffset: 0,
|
|
155
|
+
query: '',
|
|
156
|
+
activeCategoryId: 'shell',
|
|
157
|
+
categories,
|
|
158
|
+
}));
|
|
159
|
+
const switchedHeight = (view.lastFrame() ?? '').split('\n').length;
|
|
160
|
+
t.true(collapsedHeight < expandedHeight);
|
|
161
|
+
t.true(switchedHeight < expandedHeight);
|
|
162
|
+
});
|
|
23
163
|
//# sourceMappingURL=SettingsSelectionMenu.scroll.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsSelectionMenu.scroll.test.js","sourceRoot":"","sources":["../../source/components/SettingsSelectionMenu.scroll.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAG/D,MAAM,KAAK,GAA4B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/E,GAAG,EAAE,gBAAgB,KAAK,EAAE;IAC5B,WAAW,EAAE,WAAW,KAAK,EAAE;IAC/B,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,uEAAuE,EAAE,CAAC,CAAC,EAAE,EAAE;IAClF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE;QACzC,KAAK;QACL,aAAa,EAAE,EAAE;QACjB,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"SettingsSelectionMenu.scroll.test.js","sourceRoot":"","sources":["../../source/components/SettingsSelectionMenu.scroll.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,24 +14,57 @@ const items = [
|
|
|
14
14
|
currentValue: 120000,
|
|
15
15
|
},
|
|
16
16
|
];
|
|
17
|
+
const defaultTabs = {
|
|
18
|
+
activeCategoryId: 'model',
|
|
19
|
+
categories: [
|
|
20
|
+
{ id: 'model', label: 'Model & Reasoning' },
|
|
21
|
+
{ id: 'shell', label: 'Shell Execution' },
|
|
22
|
+
],
|
|
23
|
+
};
|
|
17
24
|
test('SettingsSelectionMenu renders empty state (does not disappear)', (t) => {
|
|
18
|
-
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
25
|
+
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
26
|
+
items: [],
|
|
27
|
+
selectedIndex: 0,
|
|
28
|
+
query: 'abc',
|
|
29
|
+
activeCategoryId: defaultTabs.activeCategoryId,
|
|
30
|
+
categories: defaultTabs.categories,
|
|
31
|
+
}));
|
|
19
32
|
t.true(lastFrame()?.includes('No settings match'));
|
|
20
33
|
t.true(lastFrame()?.includes('abc'));
|
|
21
34
|
});
|
|
22
35
|
test('SettingsSelectionMenu shows query and suggestion count', (t) => {
|
|
23
|
-
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
36
|
+
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
37
|
+
items,
|
|
38
|
+
selectedIndex: 0,
|
|
39
|
+
query: 'ag',
|
|
40
|
+
isSearchingAll: true,
|
|
41
|
+
activeCategoryId: defaultTabs.activeCategoryId,
|
|
42
|
+
categories: defaultTabs.categories,
|
|
43
|
+
}));
|
|
24
44
|
const output = lastFrame() ?? '';
|
|
25
45
|
t.true(output.includes('ag'));
|
|
46
|
+
t.true(output.includes('Searching all sections'));
|
|
26
47
|
t.true(output.includes('2 items'));
|
|
27
48
|
});
|
|
28
49
|
test('SettingsSelectionMenu shows category headers', (t) => {
|
|
29
|
-
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
50
|
+
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
51
|
+
items,
|
|
52
|
+
selectedIndex: 0,
|
|
53
|
+
query: '',
|
|
54
|
+
activeCategoryId: defaultTabs.activeCategoryId,
|
|
55
|
+
categories: defaultTabs.categories,
|
|
56
|
+
}));
|
|
30
57
|
const output = lastFrame() ?? '';
|
|
31
|
-
t.true(output.includes('
|
|
58
|
+
t.true(output.includes('Model & Reasoning'));
|
|
32
59
|
});
|
|
33
60
|
test('SettingsSelectionMenu marks the selected item', (t) => {
|
|
34
|
-
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
61
|
+
const { lastFrame } = render(React.createElement(SettingsSelectionMenu, {
|
|
62
|
+
items,
|
|
63
|
+
selectedIndex: 1,
|
|
64
|
+
query: '',
|
|
65
|
+
activeCategoryId: defaultTabs.activeCategoryId,
|
|
66
|
+
categories: defaultTabs.categories,
|
|
67
|
+
}));
|
|
35
68
|
const output = lastFrame() ?? '';
|
|
36
69
|
// We mark selected rows with a leading arrow
|
|
37
70
|
t.true(output.includes('▶'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsSelectionMenu.test.js","sourceRoot":"","sources":["../../source/components/SettingsSelectionMenu.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,qBAAqB,MAAM,4BAA4B,CAAC;AAG/D,MAAM,KAAK,GAA4B;IACrC;QACE,GAAG,EAAE,aAAa;QAClB,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,OAAO;KACtB;IACD;QACE,GAAG,EAAE,eAAe;QACpB,WAAW,EAAE,uCAAuC;QACpD,YAAY,EAAE,MAAM;KACrB;CACF,CAAC;AAEF,IAAI,CAAC,gEAAgE,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"SettingsSelectionMenu.test.js","sourceRoot":"","sources":["../../source/components/SettingsSelectionMenu.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsValueSelectionMenu.d.ts","sourceRoot":"","sources":["../../source/components/SettingsValueSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsValueSelectionMenu.d.ts","sourceRoot":"","sources":["../../source/components/SettingsValueSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAGxF,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,0BAA0B,EAAE,EAAE,CAAC,KAAK,CA0DzC,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
|
-
|
|
3
|
+
import { MenuContainer } from './Common/MenuContainer.js';
|
|
4
4
|
const SettingsValueSelectionMenu = ({ settingKey, items, selectedIndex, query, isNumericSettings }) => {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
return (React.createElement(MenuContainer, { items: items, selectedIndex: selectedIndex, borderColor: items.length === 0 ? 'red' : 'cyan', title: React.createElement(Box, null,
|
|
6
|
+
React.createElement(Text, { color: "gray" }, "Value for "),
|
|
7
|
+
React.createElement(Text, { color: "cyan", bold: true }, settingKey),
|
|
8
|
+
React.createElement(Text, { color: "gray" }, " \u00B7 "),
|
|
9
|
+
query ? (React.createElement(Text, null,
|
|
10
|
+
"Filter: \"",
|
|
11
|
+
React.createElement(Text, { color: "white", bold: true }, query),
|
|
12
|
+
"\"")) : (React.createElement(Text, { color: "gray" }, isNumericSettings ? 'Select or type custom value' : 'Select a value'))), fallbackText: React.createElement(Box, { flexDirection: "column" },
|
|
7
13
|
React.createElement(Text, { color: "red", bold: true }, "No matching values"),
|
|
8
14
|
React.createElement(Text, { color: "gray" },
|
|
9
15
|
settingKey,
|
|
@@ -12,54 +18,21 @@ const SettingsValueSelectionMenu = ({ settingKey, items, selectedIndex, query, i
|
|
|
12
18
|
"\""),
|
|
13
19
|
isNumericSettings && React.createElement(Text, { color: "yellow" }, "Note: This setting accepts numeric values."),
|
|
14
20
|
React.createElement(Box, { marginTop: 1 },
|
|
15
|
-
React.createElement(Text, { color: "gray" }, "Enter \u2192 apply typed value \u00B7 Esc \u2192 cancel")))
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
viewportStart = Math.max(0, Math.min(viewportStart, items.length - VISIBLE_COUNT));
|
|
32
|
-
const visibleItems = items.slice(viewportStart, viewportStart + VISIBLE_COUNT);
|
|
33
|
-
return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1 },
|
|
34
|
-
React.createElement(Box, { marginBottom: 1, borderStyle: "single", borderBottom: false, borderLeft: false, borderRight: false, borderTop: false },
|
|
35
|
-
React.createElement(Text, { color: "gray" }, "Value for "),
|
|
36
|
-
React.createElement(Text, { color: "cyan", bold: true }, settingKey),
|
|
37
|
-
React.createElement(Text, { color: "gray" }, " \u00B7 "),
|
|
38
|
-
query ? (React.createElement(Text, null,
|
|
39
|
-
"Filter: \"",
|
|
40
|
-
React.createElement(Text, { color: "white", bold: true }, query),
|
|
41
|
-
"\"")) : (React.createElement(Text, { color: "gray" }, isNumericSettings ? 'Select or type custom value' : 'Select a value'))),
|
|
42
|
-
visibleItems.map((item, index) => {
|
|
43
|
-
const realIndex = viewportStart + index;
|
|
44
|
-
const isSelected = realIndex === selectedIndex;
|
|
45
|
-
return (React.createElement(Box, { key: item.value },
|
|
46
|
-
React.createElement(Text, { color: isSelected ? 'green' : 'gray' }, isSelected ? '▶ ' : ' '),
|
|
47
|
-
React.createElement(Text, { color: isSelected ? 'green' : 'white', bold: isSelected }, item.value),
|
|
48
|
-
item.description && React.createElement(Text, { color: "gray" },
|
|
49
|
-
" \u2014 ",
|
|
50
|
-
item.description)));
|
|
51
|
-
}),
|
|
52
|
-
React.createElement(Box, { marginTop: 1, borderStyle: "single", borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, borderColor: "gray" },
|
|
53
|
-
React.createElement(Text, { color: "gray", dimColor: true },
|
|
54
|
-
React.createElement(Text, { bold: true }, "Enter"),
|
|
55
|
-
" confirm \u00B7 ",
|
|
56
|
-
React.createElement(Text, { bold: true }, "Esc"),
|
|
57
|
-
" cancel \u00B7 ",
|
|
58
|
-
React.createElement(Text, { bold: true }, "\u2191\u2193"),
|
|
59
|
-
" navigate \u00B7",
|
|
60
|
-
' ',
|
|
61
|
-
React.createElement(Text, { bold: true }, "Ctrl+D"),
|
|
62
|
-
" reset to default"))));
|
|
21
|
+
React.createElement(Text, { color: "gray" }, "Enter \u2192 apply typed value \u00B7 Esc \u2192 cancel"))), footer: React.createElement(Text, { color: "gray", dimColor: true },
|
|
22
|
+
React.createElement(Text, { bold: true }, "Enter"),
|
|
23
|
+
" confirm \u00B7 ",
|
|
24
|
+
React.createElement(Text, { bold: true }, "Esc"),
|
|
25
|
+
" cancel \u00B7 ",
|
|
26
|
+
React.createElement(Text, { bold: true }, "\u2191\u2193"),
|
|
27
|
+
" navigate \u00B7",
|
|
28
|
+
' ',
|
|
29
|
+
React.createElement(Text, { bold: true }, "Ctrl+D"),
|
|
30
|
+
" reset to default"), footerOutsideBorder: false, renderItem: (item, _index, isSelected) => (React.createElement(Box, { key: item.value },
|
|
31
|
+
React.createElement(Text, { color: isSelected ? 'green' : 'gray' }, isSelected ? '▶ ' : ' '),
|
|
32
|
+
React.createElement(Text, { color: isSelected ? 'green' : 'white', bold: isSelected }, item.value),
|
|
33
|
+
item.description && React.createElement(Text, { color: "gray" },
|
|
34
|
+
" \u2014 ",
|
|
35
|
+
item.description))) }));
|
|
63
36
|
};
|
|
64
37
|
export default SettingsValueSelectionMenu;
|
|
65
38
|
//# sourceMappingURL=SettingsValueSelectionMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsValueSelectionMenu.js","sourceRoot":"","sources":["../../source/components/SettingsValueSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsValueSelectionMenu.js","sourceRoot":"","sources":["../../source/components/SettingsValueSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAU1D,MAAM,0BAA0B,GAAc,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE;IAC/G,OAAO,CACL,oBAAC,aAAa,IACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAChD,KAAK,EACH,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,iBAAkB;YACpC,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,UACpB,UAAU,CACN;YACP,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,eAAW;YAC5B,KAAK,CAAC,CAAC,CAAC,CACP,oBAAC,IAAI;;gBAEH,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,UACrB,KAAK,CACD;qBAEF,CACR,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,IAAE,iBAAiB,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,gBAAgB,CAAQ,CACjG,CACG,EAER,YAAY,EACV,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;YACzB,oBAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,+BAEf;YACP,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;gBACf,UAAU;;gBAAsB,KAAK,IAAI,GAAG;qBACxC;YACN,iBAAiB,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,iDAAkD;YAC5F,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;gBACf,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,8DAAgD,CAC9D,CACF,EAER,MAAM,EACJ,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ;YACzB,oBAAC,IAAI,IAAC,IAAI,kBAAa;;YAAW,oBAAC,IAAI,IAAC,IAAI,gBAAW;;YAAU,oBAAC,IAAI,IAAC,IAAI,yBAAU;;YAAY,GAAG;YACpG,oBAAC,IAAI,IAAC,IAAI,mBAAc;gCACnB,EAET,mBAAmB,EAAE,KAAK,EAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CACxC,oBAAC,GAAG,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAQ;YAC7E,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,IAC1D,IAAI,CAAC,KAAK,CACN;YACN,IAAI,CAAC,WAAW,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;;gBAAK,IAAI,CAAC,WAAW,CAAQ,CAChE,CACP,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlashCommandMenu.d.ts","sourceRoot":"","sources":["../../source/components/SlashCommandMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"SlashCommandMenu.d.ts","sourceRoot":"","sources":["../../source/components/SlashCommandMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,gBAAgB,EAAE,EAAE,CAAC,KAAK,CAqB/B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
|
-
|
|
3
|
+
import { MenuContainer } from './Common/MenuContainer.js';
|
|
4
|
+
const SlashCommandMenu = ({ commands, selectedIndex, filter, scrollOffset = 0 }) => {
|
|
4
5
|
const filteredCommands = commands.filter((cmd) => cmd.name.toLowerCase().includes(filter.toLowerCase()));
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
' '),
|
|
15
|
-
React.createElement(Text, { color: "#64748b" },
|
|
16
|
-
" - ",
|
|
17
|
-
cmd.description))))));
|
|
6
|
+
return (React.createElement(MenuContainer, { items: filteredCommands, selectedIndex: selectedIndex, scrollOffset: scrollOffset, borderColor: "#22d3ee", fallbackText: "No matching commands", renderItem: (cmd, _index, isSelected) => (React.createElement(Box, { key: cmd.name },
|
|
7
|
+
React.createElement(Text, { color: isSelected ? '#22d3ee' : undefined, bold: isSelected, inverse: isSelected },
|
|
8
|
+
' ',
|
|
9
|
+
"/",
|
|
10
|
+
cmd.name,
|
|
11
|
+
' '),
|
|
12
|
+
React.createElement(Text, { color: "#64748b" },
|
|
13
|
+
" - ",
|
|
14
|
+
cmd.description))) }));
|
|
18
15
|
};
|
|
19
16
|
export default SlashCommandMenu;
|
|
20
17
|
//# sourceMappingURL=SlashCommandMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlashCommandMenu.js","sourceRoot":"","sources":["../../source/components/SlashCommandMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"SlashCommandMenu.js","sourceRoot":"","sources":["../../source/components/SlashCommandMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAS1D,MAAM,gBAAgB,GAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,EAAE,EAAE;IAC5F,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEzG,OAAO,CACL,oBAAC,aAAa,IACZ,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAC,SAAS,EACrB,YAAY,EAAC,sBAAsB,EACnC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CACvC,oBAAC,GAAG,IAAC,GAAG,EAAE,GAAG,CAAC,IAAI;YAChB,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;gBACnF,GAAG;;gBACF,GAAG,CAAC,IAAI;gBAAE,GAAG,CACV;YACP,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;gBAAK,GAAG,CAAC,WAAW,CAAQ,CAC7C,CACP,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -2,11 +2,13 @@ import { FC } from 'react';
|
|
|
2
2
|
import type { SettingsService } from '../services/settings-service.js';
|
|
3
3
|
import type { SSHInfo } from '../hooks/use-shell-mode.js';
|
|
4
4
|
import { type NormalizedUsage } from '../utils/token-usage.js';
|
|
5
|
+
import type { CodexRateLimitInfo } from '../services/conversation-events.js';
|
|
5
6
|
interface StatusBarProps {
|
|
6
7
|
settingsService: SettingsService;
|
|
7
8
|
isShellMode?: boolean;
|
|
8
9
|
sshInfo?: SSHInfo;
|
|
9
10
|
lastUsage?: NormalizedUsage | null;
|
|
11
|
+
lastCodexRateLimit?: CodexRateLimitInfo | null;
|
|
10
12
|
}
|
|
11
13
|
declare const StatusBar: FC<StatusBarProps>;
|
|
12
14
|
export default StatusBar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../source/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../source/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,UAAU,cAAc;IACtB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAChD;AAED,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAwKjC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { Box, Text } from 'ink';
|
|
|
3
3
|
import { useSetting } from '../hooks/use-setting.js';
|
|
4
4
|
import { getProvider } from '../providers/index.js';
|
|
5
5
|
import { formatFooterUsage } from '../utils/token-usage.js';
|
|
6
|
-
const StatusBar = ({ settingsService, isShellMode = false, sshInfo, lastUsage }) => {
|
|
6
|
+
const StatusBar = ({ settingsService, isShellMode = false, sshInfo, lastUsage, lastCodexRateLimit, }) => {
|
|
7
7
|
const mentorMode = useSetting(settingsService, 'app.mentorMode') ?? false;
|
|
8
8
|
const liteMode = useSetting(settingsService, 'app.liteMode') ?? false;
|
|
9
9
|
const planMode = useSetting(settingsService, 'app.planMode') ?? false;
|
|
@@ -20,6 +20,37 @@ const StatusBar = ({ settingsService, isShellMode = false, sshInfo, lastUsage })
|
|
|
20
20
|
const glow = '#fbbf24';
|
|
21
21
|
const accent = '#0ed7b5';
|
|
22
22
|
const usageText = formatFooterUsage(lastUsage);
|
|
23
|
+
const codexRateLimitText = (() => {
|
|
24
|
+
if (!lastCodexRateLimit)
|
|
25
|
+
return '';
|
|
26
|
+
const { primary, secondary } = lastCodexRateLimit;
|
|
27
|
+
const parts = [];
|
|
28
|
+
if (primary &&
|
|
29
|
+
typeof primary.window_minutes === 'number' &&
|
|
30
|
+
!isNaN(primary.window_minutes) &&
|
|
31
|
+
typeof primary.used_percent === 'number' &&
|
|
32
|
+
!isNaN(primary.used_percent) &&
|
|
33
|
+
typeof primary.reset_at === 'number' &&
|
|
34
|
+
!isNaN(primary.reset_at)) {
|
|
35
|
+
const hours = Math.round(primary.window_minutes / 60);
|
|
36
|
+
const resetDate = new Date(primary.reset_at * 1000);
|
|
37
|
+
const timeStr = resetDate.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
|
|
38
|
+
parts.push(`${hours}H: ${primary.used_percent}% (${timeStr})`);
|
|
39
|
+
}
|
|
40
|
+
if (secondary &&
|
|
41
|
+
typeof secondary.window_minutes === 'number' &&
|
|
42
|
+
!isNaN(secondary.window_minutes) &&
|
|
43
|
+
typeof secondary.used_percent === 'number' &&
|
|
44
|
+
!isNaN(secondary.used_percent) &&
|
|
45
|
+
typeof secondary.reset_at === 'number' &&
|
|
46
|
+
!isNaN(secondary.reset_at)) {
|
|
47
|
+
const days = Math.round(secondary.window_minutes / (60 * 24));
|
|
48
|
+
const resetDate = new Date(secondary.reset_at * 1000);
|
|
49
|
+
const dateStr = resetDate.toLocaleDateString([], { month: '2-digit', day: '2-digit' });
|
|
50
|
+
parts.push(`${days}D: ${secondary.used_percent}% (${dateStr})`);
|
|
51
|
+
}
|
|
52
|
+
return parts.join(' / ');
|
|
53
|
+
})();
|
|
23
54
|
return (React.createElement(Box, { marginTop: 1, flexDirection: "column", width: "100%" },
|
|
24
55
|
React.createElement(Box, { justifyContent: "space-between", width: "100%" },
|
|
25
56
|
React.createElement(Box, null,
|
|
@@ -60,7 +91,9 @@ const StatusBar = ({ settingsService, isShellMode = false, sshInfo, lastUsage })
|
|
|
60
91
|
React.createElement(Text, { color: slate }, "\u2502"),
|
|
61
92
|
React.createElement(Box, { marginX: 1 },
|
|
62
93
|
React.createElement(Text, { color: slate }, "Mentor: "),
|
|
63
|
-
React.createElement(Text, { color: "#a78bfa" }, mentorModel)))))
|
|
94
|
+
React.createElement(Text, { color: "#a78bfa" }, mentorModel))))),
|
|
95
|
+
codexRateLimitText && (React.createElement(Box, null,
|
|
96
|
+
React.createElement(Text, { color: slate }, codexRateLimitText)))),
|
|
64
97
|
React.createElement(Box, { width: "100%" },
|
|
65
98
|
React.createElement(Box, { flexGrow: 1 }, autoApproveMode !== 'off' && (React.createElement(Box, { marginRight: 1 },
|
|
66
99
|
React.createElement(Text, { color: slate }, "Auto: "),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../source/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAAwB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../source/components/StatusBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -51,4 +51,36 @@ test('StatusBar renders Orchestrator mode badge instead of Standard', (t) => {
|
|
|
51
51
|
t.true(output.includes('Orchestrator'));
|
|
52
52
|
t.false(output.includes('Standard'));
|
|
53
53
|
});
|
|
54
|
+
test('StatusBar renders Codex rate limits when valid, but hides them when invalid or NaN', (t) => {
|
|
55
|
+
const settingsService = createMockSettingsService({
|
|
56
|
+
'agent.model': 'gpt-4o',
|
|
57
|
+
'agent.provider': 'openai',
|
|
58
|
+
'shell.autoApproveMode': 'off',
|
|
59
|
+
});
|
|
60
|
+
// 1. Valid case
|
|
61
|
+
const { lastFrame: lastFrameValid } = render(React.createElement(StatusBar, { settingsService: settingsService, lastCodexRateLimit: {
|
|
62
|
+
allowed: true,
|
|
63
|
+
limit_reached: false,
|
|
64
|
+
primary: { used_percent: 11, window_minutes: 300, reset_after_seconds: 9697, reset_at: 1779703037 },
|
|
65
|
+
secondary: { used_percent: 14, window_minutes: 10080, reset_after_seconds: 503937, reset_at: 1780197277 },
|
|
66
|
+
} }));
|
|
67
|
+
const outputValid = lastFrameValid() ?? '';
|
|
68
|
+
t.true(outputValid.includes('5H: 11%'));
|
|
69
|
+
t.true(outputValid.includes('7D: 14%'));
|
|
70
|
+
t.false(outputValid.includes('undefined'));
|
|
71
|
+
t.false(outputValid.includes('NaN'));
|
|
72
|
+
// 2. Invalid/partial case (e.g. empty objects as fallback values)
|
|
73
|
+
const { lastFrame: lastFrameInvalid } = render(React.createElement(StatusBar, { settingsService: settingsService, lastCodexRateLimit: {
|
|
74
|
+
allowed: true,
|
|
75
|
+
limit_reached: false,
|
|
76
|
+
primary: {},
|
|
77
|
+
secondary: {},
|
|
78
|
+
} }));
|
|
79
|
+
const outputInvalid = lastFrameInvalid() ?? '';
|
|
80
|
+
t.false(outputInvalid.includes('H:'));
|
|
81
|
+
t.false(outputInvalid.includes('D:'));
|
|
82
|
+
t.false(outputInvalid.includes('undefined'));
|
|
83
|
+
t.false(outputInvalid.includes('NaN'));
|
|
84
|
+
t.false(outputInvalid.includes('Invalid Date'));
|
|
85
|
+
});
|
|
54
86
|
//# sourceMappingURL=StatusBar.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.test.js","sourceRoot":"","sources":["../../source/components/StatusBar.test.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StatusBar.test.js","sourceRoot":"","sources":["../../source/components/StatusBar.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UndoSelectionMenu.d.ts","sourceRoot":"","sources":["../../source/components/UndoSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"UndoSelectionMenu.d.ts","sourceRoot":"","sources":["../../source/components/UndoSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG/D,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAQpC,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,KAAK,CA4BhC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|