@qduc/term2 0.15.0 → 0.17.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/README.md +324 -316
- package/dist/agent.d.ts +5 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +16 -64
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +129 -19
- package/dist/app.js.map +1 -1
- package/dist/cli.js +52 -17
- package/dist/cli.js.map +1 -1
- package/dist/commands/auto-approve-command.d.ts +2 -1
- package/dist/commands/auto-approve-command.d.ts.map +1 -1
- package/dist/commands/auto-approve-command.js +16 -27
- package/dist/commands/auto-approve-command.js.map +1 -1
- package/dist/commands/compact-command.d.ts.map +1 -1
- package/dist/commands/compact-command.js +4 -0
- package/dist/commands/compact-command.js.map +1 -1
- package/dist/commands/effort-command.js +1 -1
- package/dist/commands/effort-command.js.map +1 -1
- package/dist/commands/guarded-settings-command.d.ts.map +1 -1
- package/dist/commands/guarded-settings-command.js +4 -8
- package/dist/commands/guarded-settings-command.js.map +1 -1
- package/dist/commands/model-command.js +1 -1
- package/dist/commands/model-command.js.map +1 -1
- package/dist/commands/resume-command.d.ts +11 -0
- package/dist/commands/resume-command.d.ts.map +1 -0
- package/dist/commands/resume-command.js +41 -0
- package/dist/commands/resume-command.js.map +1 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/ErrorBoundary.js +5 -4
- package/dist/components/ErrorBoundary.js.map +1 -1
- package/dist/components/InputBox.d.ts +2 -0
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +56 -18
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +16 -15
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/common/MenuContainer.d.ts +25 -2
- package/dist/components/common/MenuContainer.d.ts.map +1 -1
- package/dist/components/common/MenuContainer.js +35 -11
- package/dist/components/common/MenuContainer.js.map +1 -1
- package/dist/components/common/ScrollableTabBar.d.ts.map +1 -1
- package/dist/components/common/ScrollableTabBar.js +5 -4
- package/dist/components/common/ScrollableTabBar.js.map +1 -1
- package/dist/components/input/ApplicationInputSurface.d.ts +7 -5
- package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
- package/dist/components/input/ApplicationInputSurface.js +7 -0
- package/dist/components/input/ApplicationInputSurface.js.map +1 -1
- package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -1
- package/dist/components/input/FirstRunSetupPrompt.js +5 -4
- package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
- package/dist/components/input/MenuSurface.d.ts.map +1 -1
- package/dist/components/input/MenuSurface.js +10 -3
- package/dist/components/input/MenuSurface.js.map +1 -1
- package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
- package/dist/components/input/ModelMenuSession.js +2 -1
- package/dist/components/input/ModelMenuSession.js.map +1 -1
- package/dist/components/input/PendingQueueList.d.ts +2 -0
- package/dist/components/input/PendingQueueList.d.ts.map +1 -1
- package/dist/components/input/PendingQueueList.js +17 -14
- package/dist/components/input/PendingQueueList.js.map +1 -1
- package/dist/components/input/ResumeMenuSession.d.ts +17 -0
- package/dist/components/input/ResumeMenuSession.d.ts.map +1 -0
- package/dist/components/input/ResumeMenuSession.js +57 -0
- package/dist/components/input/ResumeMenuSession.js.map +1 -0
- package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
- package/dist/components/input/SettingsValueMenuSession.js +2 -1
- package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
- package/dist/components/input/determine-active-menu.d.ts +3 -0
- package/dist/components/input/determine-active-menu.d.ts.map +1 -1
- package/dist/components/input/determine-active-menu.js +10 -5
- package/dist/components/input/determine-active-menu.js.map +1 -1
- package/dist/components/input/menu-registry.d.ts.map +1 -1
- package/dist/components/input/menu-registry.js +2 -0
- package/dist/components/input/menu-registry.js.map +1 -1
- package/dist/components/input/menu-types.d.ts +4 -0
- package/dist/components/input/menu-types.d.ts.map +1 -1
- package/dist/components/input/triggers.d.ts +1 -0
- package/dist/components/input/triggers.d.ts.map +1 -1
- package/dist/components/input/triggers.js +26 -0
- package/dist/components/input/triggers.js.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.js +12 -11
- package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts +2 -2
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.js +10 -9
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/layout/Banner.d.ts +0 -1
- package/dist/components/layout/Banner.d.ts.map +1 -1
- package/dist/components/layout/Banner.js +43 -73
- package/dist/components/layout/Banner.js.map +1 -1
- package/dist/components/layout/BottomArea.d.ts +8 -5
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +17 -9
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/DiffView.js +5 -5
- package/dist/components/layout/DiffView.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts +4 -1
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +305 -95
- package/dist/components/layout/StatusBar.js.map +1 -1
- package/dist/components/layout/background-task-clock.d.ts +43 -0
- package/dist/components/layout/background-task-clock.d.ts.map +1 -0
- package/dist/components/layout/background-task-clock.js +46 -0
- package/dist/components/layout/background-task-clock.js.map +1 -0
- package/dist/components/menu/CopyMenu.d.ts.map +1 -1
- package/dist/components/menu/CopyMenu.js +4 -3
- package/dist/components/menu/CopyMenu.js.map +1 -1
- package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/MentorPoolSelectionMenu.js +28 -21
- package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js +26 -13
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/components/menu/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/PathSelectionMenu.js +4 -3
- package/dist/components/menu/PathSelectionMenu.js.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.js +46 -26
- package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
- package/dist/components/menu/ResumeSelectionMenu.d.ts +11 -0
- package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -0
- package/dist/components/menu/ResumeSelectionMenu.js +91 -0
- package/dist/components/menu/ResumeSelectionMenu.js.map +1 -0
- package/dist/components/menu/RewindMenu.d.ts.map +1 -1
- package/dist/components/menu/RewindMenu.js +4 -3
- package/dist/components/menu/RewindMenu.js.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.js +26 -26
- package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.js +22 -20
- package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SkillSelectionMenu.js +33 -23
- package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
- package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/menu/SlashCommandMenu.js +11 -6
- package/dist/components/menu/SlashCommandMenu.js.map +1 -1
- package/dist/components/message/ChatMessage.js +2 -2
- package/dist/components/message/ChatMessage.js.map +1 -1
- package/dist/components/message/CodeContextSearchRenderer.d.ts.map +1 -1
- package/dist/components/message/CodeContextSearchRenderer.js +8 -11
- package/dist/components/message/CodeContextSearchRenderer.js.map +1 -1
- package/dist/components/message/CommandGroupSummary.d.ts.map +1 -1
- package/dist/components/message/CommandGroupSummary.js +21 -9
- package/dist/components/message/CommandGroupSummary.js.map +1 -1
- package/dist/components/message/CommandMessage.d.ts.map +1 -1
- package/dist/components/message/CommandMessage.js +111 -91
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/GrepRenderer.d.ts.map +1 -1
- package/dist/components/message/GrepRenderer.js +5 -8
- package/dist/components/message/GrepRenderer.js.map +1 -1
- package/dist/components/message/MemoryRenderer.d.ts +1 -0
- package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
- package/dist/components/message/MemoryRenderer.js +19 -17
- package/dist/components/message/MemoryRenderer.js.map +1 -1
- package/dist/components/message/MessageList.d.ts +1 -2
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +12 -11
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/ReadFileRenderer.d.ts.map +1 -1
- package/dist/components/message/ReadFileRenderer.js +5 -6
- package/dist/components/message/ReadFileRenderer.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +17 -13
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/message/WebFetchRenderer.d.ts.map +1 -1
- package/dist/components/message/WebFetchRenderer.js +7 -11
- package/dist/components/message/WebFetchRenderer.js.map +1 -1
- package/dist/components/message/WebSearchRenderer.d.ts.map +1 -1
- package/dist/components/message/WebSearchRenderer.js +5 -10
- package/dist/components/message/WebSearchRenderer.js.map +1 -1
- package/dist/components/message/command-grouping.d.ts +29 -6
- package/dist/components/message/command-grouping.d.ts.map +1 -1
- package/dist/components/message/command-grouping.js +62 -20
- package/dist/components/message/command-grouping.js.map +1 -1
- package/dist/components/message/command-message-helpers.d.ts +10 -37
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +26 -8
- package/dist/components/message/command-message-helpers.js.map +1 -1
- package/dist/components/message/useCommandVisibility.d.ts.map +1 -1
- package/dist/components/message/useCommandVisibility.js +5 -4
- package/dist/components/message/useCommandVisibility.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +232 -106
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/components/prompt/HandoffConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/HandoffConfirmationPrompt.js +3 -2
- package/dist/components/prompt/HandoffConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/InputSurgeConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/InputSurgeConfirmationPrompt.js +5 -4
- package/dist/components/prompt/InputSurgeConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/LargeUncachedConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/LargeUncachedConfirmationPrompt.js +4 -3
- package/dist/components/prompt/LargeUncachedConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.js +4 -3
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
- package/dist/components/prompt/QueuePausedPrompt.js +6 -5
- package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
- package/dist/components/prompt/StandardModeConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/StandardModeConfirmationPrompt.js +3 -2
- package/dist/components/prompt/StandardModeConfirmationPrompt.js.map +1 -1
- package/dist/components/theme.d.ts +58 -3
- package/dist/components/theme.d.ts.map +1 -1
- package/dist/components/theme.js +84 -17
- package/dist/components/theme.js.map +1 -1
- package/dist/context/InputContext.d.ts +1 -1
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.js +2 -0
- package/dist/context/InputContext.js.map +1 -1
- package/dist/contracts/application-stream.d.ts +14 -0
- package/dist/contracts/application-stream.d.ts.map +1 -1
- package/dist/contracts/streamed-model-turn.d.ts +13 -1
- package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
- package/dist/gateway/assertion.d.ts +4 -1
- package/dist/gateway/assertion.d.ts.map +1 -1
- package/dist/gateway/assertion.js +24 -2
- package/dist/gateway/assertion.js.map +1 -1
- package/dist/gateway/contracts.d.ts +21 -4
- package/dist/gateway/contracts.d.ts.map +1 -1
- package/dist/gateway/contracts.js +11 -0
- package/dist/gateway/contracts.js.map +1 -1
- package/dist/gateway/dynamic-workspace-registry.d.ts +76 -0
- package/dist/gateway/dynamic-workspace-registry.d.ts.map +1 -0
- package/dist/gateway/dynamic-workspace-registry.js +403 -0
- package/dist/gateway/dynamic-workspace-registry.js.map +1 -0
- package/dist/gateway/gateway.d.ts +24 -1
- package/dist/gateway/gateway.d.ts.map +1 -1
- package/dist/gateway/gateway.js +704 -21
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/launcher-seam.d.ts +18 -0
- package/dist/gateway/launcher-seam.d.ts.map +1 -0
- package/dist/gateway/launcher-seam.js +43 -0
- package/dist/gateway/launcher-seam.js.map +1 -0
- package/dist/gateway/pairing.d.ts +25 -0
- package/dist/gateway/pairing.d.ts.map +1 -0
- package/dist/gateway/pairing.js +107 -0
- package/dist/gateway/pairing.js.map +1 -0
- package/dist/gateway/persistence/coordinator.d.ts +2 -0
- package/dist/gateway/persistence/coordinator.d.ts.map +1 -1
- package/dist/gateway/persistence/coordinator.js +13 -0
- package/dist/gateway/persistence/coordinator.js.map +1 -1
- package/dist/gateway/runtime-factory.d.ts +15 -6
- package/dist/gateway/runtime-factory.d.ts.map +1 -1
- package/dist/gateway/runtime-factory.js +38 -9
- package/dist/gateway/runtime-factory.js.map +1 -1
- package/dist/gateway/safe-log.d.ts.map +1 -1
- package/dist/gateway/safe-log.js +19 -0
- package/dist/gateway/safe-log.js.map +1 -1
- package/dist/gateway/server-session.d.ts.map +1 -1
- package/dist/gateway/server-session.js +36 -4
- package/dist/gateway/server-session.js.map +1 -1
- package/dist/gateway/server.d.ts +26 -3
- package/dist/gateway/server.d.ts.map +1 -1
- package/dist/gateway/server.js +105 -17
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/settings-rpc.d.ts +95 -0
- package/dist/gateway/settings-rpc.d.ts.map +1 -0
- package/dist/gateway/settings-rpc.js +227 -0
- package/dist/gateway/settings-rpc.js.map +1 -0
- package/dist/gateway/trusted-clients.d.ts +27 -0
- package/dist/gateway/trusted-clients.d.ts.map +1 -0
- package/dist/gateway/trusted-clients.js +157 -0
- package/dist/gateway/trusted-clients.js.map +1 -0
- package/dist/gateway/worker-boundary.d.ts +6 -5
- package/dist/gateway/worker-boundary.d.ts.map +1 -1
- package/dist/gateway/worker-boundary.js +20 -10
- package/dist/gateway/worker-boundary.js.map +1 -1
- package/dist/gateway/workspace-admission.d.ts +11 -0
- package/dist/gateway/workspace-admission.d.ts.map +1 -1
- package/dist/gateway/workspace-admission.js +89 -16
- package/dist/gateway/workspace-admission.js.map +1 -1
- package/dist/gateway/workspace-boundary-probe.d.ts +18 -0
- package/dist/gateway/workspace-boundary-probe.d.ts.map +1 -0
- package/dist/gateway/workspace-boundary-probe.js +37 -0
- package/dist/gateway/workspace-boundary-probe.js.map +1 -0
- package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +9 -1
- package/dist/hooks/conversation-ui-reducer.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +11 -3
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +6 -1
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +23 -14
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts +1 -3
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.js +11 -9
- package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +8 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +27 -18
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-opencode-go-usage.d.ts +8 -0
- package/dist/hooks/use-opencode-go-usage.d.ts.map +1 -0
- package/dist/hooks/use-opencode-go-usage.js +45 -0
- package/dist/hooks/use-opencode-go-usage.js.map +1 -0
- package/dist/hooks/use-resume-selection.d.ts +22 -0
- package/dist/hooks/use-resume-selection.d.ts.map +1 -0
- package/dist/hooks/use-resume-selection.js +76 -0
- package/dist/hooks/use-resume-selection.js.map +1 -0
- package/dist/hooks/use-shell-mode.d.ts +3 -4
- package/dist/hooks/use-shell-mode.d.ts.map +1 -1
- package/dist/hooks/use-shell-mode.js +14 -12
- package/dist/hooks/use-shell-mode.js.map +1 -1
- package/dist/hooks/use-terminal-columns.d.ts +15 -0
- package/dist/hooks/use-terminal-columns.d.ts.map +1 -0
- package/dist/hooks/use-terminal-columns.js +45 -0
- package/dist/hooks/use-terminal-columns.js.map +1 -0
- package/dist/lib/agent-client.d.ts +14 -1
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +112 -37
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +5 -0
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +14 -5
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +7 -2
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +22 -11
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/harness-input-idle.d.ts.map +1 -1
- package/dist/lib/harness-input-idle.js +1 -1
- package/dist/lib/harness-input-idle.js.map +1 -1
- package/dist/non-interactive.d.ts +3 -0
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +106 -22
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/approval-model.md +22 -0
- package/dist/prompts/gpt-5.6.md +3 -2
- package/dist/prompts/mentor-mode-stub.md +3 -0
- package/dist/prompts/orchestrator-mode-stub.md +3 -0
- package/dist/prompts/prefix-quality.test.ts +10 -0
- package/dist/prompts/prompt-constructor.d.ts +2 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +23 -13
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +39 -5
- package/dist/prompts/prompt-constructor.ts +27 -15
- package/dist/prompts/prompt-profiles.d.ts +1 -3
- package/dist/prompts/prompt-profiles.d.ts.map +1 -1
- package/dist/prompts/prompt-profiles.js +2 -7
- package/dist/prompts/prompt-profiles.js.map +1 -1
- package/dist/prompts/prompt-profiles.ts +3 -16
- package/dist/prompts/session-browser.md +3 -0
- package/dist/prompts/subagent-delegation.d.ts +4 -3
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +14 -18
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +2 -2
- package/dist/prompts/subagent-delegation.ts +13 -20
- package/dist/providers/chained-wire-state.d.ts +7 -2
- package/dist/providers/chained-wire-state.d.ts.map +1 -1
- package/dist/providers/chained-wire-state.js +16 -7
- package/dist/providers/chained-wire-state.js.map +1 -1
- package/dist/providers/codex-auth.d.ts +2 -5
- package/dist/providers/codex-auth.d.ts.map +1 -1
- package/dist/providers/codex-auth.js +2 -0
- package/dist/providers/codex-auth.js.map +1 -1
- package/dist/providers/codex-compact.d.ts +9 -0
- package/dist/providers/codex-compact.d.ts.map +1 -0
- package/dist/providers/codex-compact.js +23 -0
- package/dist/providers/codex-compact.js.map +1 -0
- package/dist/providers/codex-responses-model.d.ts +17 -1
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +75 -8
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/codex-turn-converter.d.ts.map +1 -1
- package/dist/providers/codex-turn-converter.js +8 -4
- package/dist/providers/codex-turn-converter.js.map +1 -1
- package/dist/providers/codex.provider.js +2 -2
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/grok-auth.d.ts +2 -5
- package/dist/providers/grok-auth.d.ts.map +1 -1
- package/dist/providers/grok-auth.js +2 -0
- package/dist/providers/grok-auth.js.map +1 -1
- package/dist/providers/oauth-account-store.d.ts +5 -0
- package/dist/providers/oauth-account-store.d.ts.map +1 -1
- package/dist/providers/oauth-account-store.js +56 -5
- package/dist/providers/oauth-account-store.js.map +1 -1
- package/dist/providers/oauth-pkce.d.ts +8 -0
- package/dist/providers/oauth-pkce.d.ts.map +1 -1
- package/dist/providers/oauth-pkce.js +91 -19
- package/dist/providers/oauth-pkce.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +8 -1
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-responses-model.d.ts.map +1 -1
- package/dist/providers/openai-responses-model.js +2 -0
- package/dist/providers/openai-responses-model.js.map +1 -1
- package/dist/providers/opencode-go-usage.d.ts +24 -0
- package/dist/providers/opencode-go-usage.d.ts.map +1 -0
- package/dist/providers/opencode-go-usage.js +37 -0
- package/dist/providers/opencode-go-usage.js.map +1 -0
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +8 -1
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/responses-websocket-sessions.d.ts +1 -0
- package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
- package/dist/providers/responses-websocket-sessions.js +16 -2
- package/dist/providers/responses-websocket-sessions.js.map +1 -1
- package/dist/providers/retrying-model.d.ts +1 -0
- package/dist/providers/retrying-model.d.ts.map +1 -1
- package/dist/providers/retrying-model.js +37 -3
- package/dist/providers/retrying-model.js.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts +5 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +231 -149
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/agent-runtime/generation-guard.d.ts +39 -25
- package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
- package/dist/services/agent-runtime/generation-guard.js +98 -100
- package/dist/services/agent-runtime/generation-guard.js.map +1 -1
- package/dist/services/agent-runtime/run-budget.d.ts +1 -1
- package/dist/services/agent-runtime/run-budget.d.ts.map +1 -1
- package/dist/services/agent-runtime/run-budget.js +4 -0
- package/dist/services/agent-runtime/run-budget.js.map +1 -1
- package/dist/services/agent-stream.d.ts.map +1 -1
- package/dist/services/agent-stream.js +1 -0
- package/dist/services/agent-stream.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-evaluator.d.ts +3 -1
- package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-evaluator.js +4 -2
- package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts +2 -0
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +2 -0
- package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +13 -2
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +35 -7
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.d.ts +3 -2
- package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.js +6 -1
- package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
- package/dist/services/conversation/conversation-events.d.ts +43 -2
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts +14 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +142 -11
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.d.ts +22 -1
- package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.js +61 -0
- package/dist/services/conversation/conversation-persistence.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +45 -29
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/session-audit.d.ts +70 -0
- package/dist/services/conversation/session-audit.d.ts.map +1 -0
- package/dist/services/conversation/session-audit.js +164 -0
- package/dist/services/conversation/session-audit.js.map +1 -0
- package/dist/services/conversation/session-browser.d.ts +49 -0
- package/dist/services/conversation/session-browser.d.ts.map +1 -0
- package/dist/services/conversation/session-browser.js +411 -0
- package/dist/services/conversation/session-browser.js.map +1 -0
- package/dist/services/input-surge-approval.d.ts +21 -0
- package/dist/services/input-surge-approval.d.ts.map +1 -0
- package/dist/services/input-surge-approval.js +42 -0
- package/dist/services/input-surge-approval.js.map +1 -0
- package/dist/services/large-uncached-input-guard.js +4 -4
- package/dist/services/large-uncached-input-guard.js.map +1 -1
- package/dist/services/logging/assistant-turn-journal.d.ts +15 -0
- package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
- package/dist/services/logging/assistant-turn-journal.js +27 -0
- package/dist/services/logging/assistant-turn-journal.js.map +1 -1
- package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
- package/dist/services/memory/memory-capabilities.js +7 -4
- package/dist/services/memory/memory-capabilities.js.map +1 -1
- package/dist/services/memory/memory-search.d.ts +16 -0
- package/dist/services/memory/memory-search.d.ts.map +1 -0
- package/dist/services/memory/memory-search.js +55 -0
- package/dist/services/memory/memory-search.js.map +1 -0
- package/dist/services/memory/memory-store.d.ts +12 -0
- package/dist/services/memory/memory-store.d.ts.map +1 -1
- package/dist/services/memory/memory-store.js +14 -35
- package/dist/services/memory/memory-store.js.map +1 -1
- package/dist/services/mode-notices.d.ts +11 -0
- package/dist/services/mode-notices.d.ts.map +1 -1
- package/dist/services/mode-notices.js +37 -3
- package/dist/services/mode-notices.js.map +1 -1
- package/dist/services/queue/queue-controller.d.ts +13 -0
- package/dist/services/queue/queue-controller.d.ts.map +1 -1
- package/dist/services/queue/queue-controller.js +32 -1
- package/dist/services/queue/queue-controller.js.map +1 -1
- package/dist/services/retry/in-loop-model-retry.d.ts +16 -0
- package/dist/services/retry/in-loop-model-retry.d.ts.map +1 -0
- package/dist/services/retry/in-loop-model-retry.js +125 -0
- package/dist/services/retry/in-loop-model-retry.js.map +1 -0
- package/dist/services/retry/retry-classifier.d.ts.map +1 -1
- package/dist/services/retry/retry-classifier.js +18 -12
- package/dist/services/retry/retry-classifier.js.map +1 -1
- package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.js +10 -6
- package/dist/services/retry/retry-error-classification.js.map +1 -1
- package/dist/services/retry/upstream-retry-policy.d.ts.map +1 -1
- package/dist/services/retry/upstream-retry-policy.js +40 -7
- package/dist/services/retry/upstream-retry-policy.js.map +1 -1
- package/dist/services/runtime-setting-router.d.ts.map +1 -1
- package/dist/services/runtime-setting-router.js +7 -2
- package/dist/services/runtime-setting-router.js.map +1 -1
- package/dist/services/session/background-check-in-scheduler.d.ts +44 -0
- package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -0
- package/dist/services/session/background-check-in-scheduler.js +88 -0
- package/dist/services/session/background-check-in-scheduler.js.map +1 -0
- package/dist/services/session/background-task-control.js +4 -1
- package/dist/services/session/background-task-control.js.map +1 -1
- package/dist/services/session/initial-input-preparer.d.ts +2 -1
- package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
- package/dist/services/session/initial-input-preparer.js +4 -1
- package/dist/services/session/initial-input-preparer.js.map +1 -1
- package/dist/services/session/repetition-detector.d.ts +0 -4
- package/dist/services/session/repetition-detector.d.ts.map +1 -1
- package/dist/services/session/repetition-detector.js +0 -7
- package/dist/services/session/repetition-detector.js.map +1 -1
- package/dist/services/session/session-access-state.d.ts +3 -0
- package/dist/services/session/session-access-state.d.ts.map +1 -1
- package/dist/services/session/session-access-state.js +12 -0
- package/dist/services/session/session-access-state.js.map +1 -1
- package/dist/services/session/session-client-factory.d.ts +3 -1
- package/dist/services/session/session-client-factory.d.ts.map +1 -1
- package/dist/services/session/session-client-factory.js +2 -1
- package/dist/services/session/session-client-factory.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +6 -2
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +148 -29
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-input-planner.d.ts +9 -0
- package/dist/services/session/session-input-planner.d.ts.map +1 -1
- package/dist/services/session/session-input-planner.js +23 -0
- package/dist/services/session/session-input-planner.js.map +1 -1
- package/dist/services/session/session-lifecycle.d.ts +8 -0
- package/dist/services/session/session-lifecycle.d.ts.map +1 -1
- package/dist/services/session/session-lifecycle.js +4 -0
- package/dist/services/session/session-lifecycle.js.map +1 -1
- package/dist/services/session/session-stream-processor.d.ts.map +1 -1
- package/dist/services/session/session-stream-processor.js +5 -15
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/turn-attempt-factory.d.ts +2 -1
- package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
- package/dist/services/session/turn-attempt-factory.js +1 -0
- package/dist/services/session/turn-attempt-factory.js.map +1 -1
- package/dist/services/session/turn-attempt.d.ts +3 -0
- package/dist/services/session/turn-attempt.d.ts.map +1 -1
- package/dist/services/session/turn-attempt.js +5 -0
- package/dist/services/session/turn-attempt.js.map +1 -1
- package/dist/services/session/turn-coordinator.d.ts +1 -1
- package/dist/services/session/turn-coordinator.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.js +4 -1
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +27 -3
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +35 -11
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-service.d.ts +9 -0
- package/dist/services/settings/settings-service.d.ts.map +1 -1
- package/dist/services/settings/settings-service.js +40 -0
- package/dist/services/settings/settings-service.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +5 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js +6 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
- package/dist/services/shell/shell-interaction-session.d.ts +4 -5
- package/dist/services/shell/shell-interaction-session.d.ts.map +1 -1
- package/dist/services/shell/shell-interaction-session.js +8 -20
- package/dist/services/shell/shell-interaction-session.js.map +1 -1
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +15 -0
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
- package/dist/services/subagents/mentor-runner.js +2 -0
- package/dist/services/subagents/mentor-runner.js.map +1 -1
- package/dist/services/subagents/nested-runner.d.ts.map +1 -1
- package/dist/services/subagents/nested-runner.js +34 -1
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.js +1 -1
- package/dist/services/subagents/subagent-async-registry.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +28 -1
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
- package/dist/services/subagents/subagent-notification-store.js +11 -0
- package/dist/services/subagents/subagent-notification-store.js.map +1 -1
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +10 -5
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/utils.d.ts +2 -0
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +29 -0
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +5 -1
- package/dist/services/tool-execution-ledger.js.map +1 -1
- package/dist/slash-commands.d.ts +3 -0
- package/dist/slash-commands.d.ts.map +1 -1
- package/dist/slash-commands.js.map +1 -1
- package/dist/tools/agent/ask-user.d.ts.map +1 -1
- package/dist/tools/agent/ask-user.js +2 -0
- package/dist/tools/agent/ask-user.js.map +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts +0 -1
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent-async.js +3 -3
- package/dist/tools/agent/run-subagent-async.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts +2 -2
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent.js +44 -28
- package/dist/tools/agent/run-subagent.js.map +1 -1
- package/dist/tools/file/apply-patch.d.ts.map +1 -1
- package/dist/tools/file/apply-patch.js +11 -3
- package/dist/tools/file/apply-patch.js.map +1 -1
- package/dist/tools/file/create-file.d.ts.map +1 -1
- package/dist/tools/file/create-file.js +12 -4
- package/dist/tools/file/create-file.js.map +1 -1
- package/dist/tools/file/search-replace.d.ts.map +1 -1
- package/dist/tools/file/search-replace.js +10 -3
- package/dist/tools/file/search-replace.js.map +1 -1
- package/dist/tools/memory/memory-tools.d.ts +5 -1
- package/dist/tools/memory/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory/memory-tools.js +445 -62
- package/dist/tools/memory/memory-tools.js.map +1 -1
- package/dist/tools/session-browser/session-browser-tools.d.ts +4 -0
- package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -0
- package/dist/tools/session-browser/session-browser-tools.js +47 -0
- package/dist/tools/session-browser/session-browser-tools.js.map +1 -0
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +7 -0
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/types.d.ts +4 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/utils/busy-turn-guard.d.ts +17 -0
- package/dist/utils/busy-turn-guard.d.ts.map +1 -0
- package/dist/utils/busy-turn-guard.js +24 -0
- package/dist/utils/busy-turn-guard.js.map +1 -0
- package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +28 -7
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/output/bounded-json.d.ts +33 -0
- package/dist/utils/output/bounded-json.d.ts.map +1 -0
- package/dist/utils/output/bounded-json.js +59 -0
- package/dist/utils/output/bounded-json.js.map +1 -0
- package/dist/utils/output/output-trim.d.ts.map +1 -1
- package/dist/utils/output/output-trim.js +7 -7
- package/dist/utils/output/output-trim.js.map +1 -1
- package/dist/utils/output/text-snippet.d.ts +6 -0
- package/dist/utils/output/text-snippet.d.ts.map +1 -0
- package/dist/utils/output/text-snippet.js +106 -0
- package/dist/utils/output/text-snippet.js.map +1 -0
- package/dist/utils/resume-list.d.ts +3 -1
- package/dist/utils/resume-list.d.ts.map +1 -1
- package/dist/utils/resume-list.js +3 -2
- package/dist/utils/resume-list.js.map +1 -1
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +15 -0
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/index.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/handlers/index.js +3 -0
- package/dist/utils/shell/command-safety/handlers/index.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/rm-handler.d.ts +3 -0
- package/dist/utils/shell/command-safety/handlers/rm-handler.d.ts.map +1 -0
- package/dist/utils/shell/command-safety/handlers/rm-handler.js +97 -0
- package/dist/utils/shell/command-safety/handlers/rm-handler.js.map +1 -0
- package/dist/utils/shell/command-safety/handlers/types.d.ts +1 -0
- package/dist/utils/shell/command-safety/handlers/types.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/index.d.ts +6 -2
- package/dist/utils/shell/command-safety/index.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/index.js +13 -12
- package/dist/utils/shell/command-safety/index.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts +2 -0
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
- package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts +1 -0
- package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/shell-sandbox-runner.js +20 -1
- package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
- package/dist/utils/shell/temp-dir.d.ts +1 -0
- package/dist/utils/shell/temp-dir.d.ts.map +1 -1
- package/dist/utils/shell/temp-dir.js +12 -4
- package/dist/utils/shell/temp-dir.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +1 -0
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +4 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
import { MenuContainer } from '../common/MenuContainer.js';
|
|
4
|
+
import { COLOR_ACCENT, COLOR_DANGER, COLOR_SUCCESS, COLOR_TEXT, COLOR_TEXT_SUBTLE, COLOR_WARNING } from '../theme.js';
|
|
4
5
|
const ProviderSelectionMenu = ({ phase, selectedIndex, scrollOffset, activeItems, errorMessage, fieldErrors, selectedProviderName, draft, allowCodexSelection = false, }) => {
|
|
5
6
|
const getHeader = () => {
|
|
6
7
|
switch (phase) {
|
|
@@ -52,10 +53,10 @@ const ProviderSelectionMenu = ({ phase, selectedIndex, scrollOffset, activeItems
|
|
|
52
53
|
};
|
|
53
54
|
const getBorderColor = () => {
|
|
54
55
|
if (errorMessage)
|
|
55
|
-
return
|
|
56
|
+
return COLOR_DANGER;
|
|
56
57
|
if (phase === 'confirm_delete' || phase === 'confirm_discard')
|
|
57
|
-
return
|
|
58
|
-
return
|
|
58
|
+
return COLOR_DANGER;
|
|
59
|
+
return COLOR_ACCENT;
|
|
59
60
|
};
|
|
60
61
|
// Render a help card for text prompt wizard steps
|
|
61
62
|
const renderTextWizardPrompt = () => {
|
|
@@ -74,18 +75,18 @@ const ProviderSelectionMenu = ({ phase, selectedIndex, scrollOffset, activeItems
|
|
|
74
75
|
currentValue = draft?.apiKey ? '********' : '';
|
|
75
76
|
}
|
|
76
77
|
return (React.createElement(Box, { borderStyle: "round", borderColor: getBorderColor(), paddingX: 1, flexDirection: "column" },
|
|
77
|
-
React.createElement(Text, { color:
|
|
78
|
+
React.createElement(Text, { color: COLOR_ACCENT, bold: true, underline: true }, getHeader()),
|
|
78
79
|
React.createElement(Box, { marginTop: 1, flexDirection: "column" },
|
|
79
|
-
React.createElement(Text, { color:
|
|
80
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, description),
|
|
80
81
|
currentValue && (React.createElement(Box, { marginTop: 1 },
|
|
81
|
-
React.createElement(Text, { color:
|
|
82
|
-
React.createElement(Text, { color:
|
|
82
|
+
React.createElement(Text, { color: COLOR_WARNING }, "Current draft value: "),
|
|
83
|
+
React.createElement(Text, { color: COLOR_TEXT }, currentValue))),
|
|
83
84
|
errorMessage && (React.createElement(Box, { marginTop: 1 },
|
|
84
|
-
React.createElement(Text, { color:
|
|
85
|
+
React.createElement(Text, { color: COLOR_DANGER },
|
|
85
86
|
"\u26A0 ",
|
|
86
87
|
errorMessage)))),
|
|
87
|
-
React.createElement(Box, { marginTop: 1, borderStyle: "single", borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, borderColor:
|
|
88
|
-
React.createElement(Text, { color:
|
|
88
|
+
React.createElement(Box, { marginTop: 1, borderStyle: "single", borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, borderColor: COLOR_TEXT_SUBTLE },
|
|
89
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE, dimColor: true }, getFooter()))));
|
|
89
90
|
};
|
|
90
91
|
// Text wizard steps are rendered differently
|
|
91
92
|
if (phase === 'wizard_name' || phase === 'wizard_url' || phase === 'wizard_key') {
|
|
@@ -111,27 +112,33 @@ const ProviderSelectionMenu = ({ phase, selectedIndex, scrollOffset, activeItems
|
|
|
111
112
|
})();
|
|
112
113
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
113
114
|
React.createElement(Box, { marginBottom: 0 },
|
|
114
|
-
React.createElement(Text, { color:
|
|
115
|
+
React.createElement(Text, { color: COLOR_ACCENT, bold: true, underline: true }, getHeader())),
|
|
115
116
|
phase === 'confirm_delete' && (React.createElement(Box, { marginTop: 1, marginBottom: 0 },
|
|
116
|
-
React.createElement(Text, { color:
|
|
117
|
+
React.createElement(Text, { color: COLOR_DANGER, bold: true }, "\u26A0 WARNING: Are you sure you want to delete this provider? This action cannot be undone."))),
|
|
117
118
|
phase === 'confirm_discard' && (React.createElement(Box, { marginTop: 1, marginBottom: 0 },
|
|
118
|
-
React.createElement(Text, { color:
|
|
119
|
+
React.createElement(Text, { color: COLOR_WARNING, bold: true }, "\u26A0 You have unsaved changes. Discard them?"))),
|
|
119
120
|
errorMessage && phase !== 'edit_fields' && (React.createElement(Box, { marginTop: 1, marginBottom: 0 },
|
|
120
|
-
React.createElement(Text, { color:
|
|
121
|
+
React.createElement(Text, { color: COLOR_DANGER },
|
|
121
122
|
"\u26A0 ",
|
|
122
123
|
errorMessage))),
|
|
123
124
|
React.createElement(MenuContainer, { items: activeItems, selectedIndex: selectedIndex, scrollOffset: scrollOffset, borderColor: getBorderColor(), footer: getFooter(), isInactive: (item) => item.kind === 'provider' && item.id === 'codex' && !allowCodexSelection, renderItem: (item, index, isSelected, isInactive) => {
|
|
124
125
|
let label = item.label;
|
|
125
126
|
let prefix = ' ';
|
|
126
127
|
let suffix = '';
|
|
127
|
-
let color = isSelected ?
|
|
128
|
+
let color = isSelected ? COLOR_SUCCESS : COLOR_TEXT;
|
|
128
129
|
let bold = isSelected;
|
|
129
130
|
if (item.kind === 'provider') {
|
|
130
131
|
// Built-in (non-active): greyed out, not actionable on Enter.
|
|
131
132
|
// Custom providers remain bright so they look interactive.
|
|
132
133
|
// Note: openai and openrouter remain active/bright because we can change their api key.
|
|
133
134
|
const unavailable = item.hasCredentials === false;
|
|
134
|
-
color = isInactive
|
|
135
|
+
color = isInactive
|
|
136
|
+
? COLOR_TEXT_SUBTLE
|
|
137
|
+
: unavailable
|
|
138
|
+
? COLOR_WARNING
|
|
139
|
+
: isSelected
|
|
140
|
+
? COLOR_SUCCESS
|
|
141
|
+
: COLOR_TEXT;
|
|
135
142
|
if (item.id === 'codex') {
|
|
136
143
|
suffix = unavailable
|
|
137
144
|
? 'Not logged in on this host · Run `term2 --codex-login`'
|
|
@@ -146,11 +153,18 @@ const ProviderSelectionMenu = ({ phase, selectedIndex, scrollOffset, activeItems
|
|
|
146
153
|
}
|
|
147
154
|
else if (item.kind === 'add-provider') {
|
|
148
155
|
prefix = '+ ';
|
|
149
|
-
color = isSelected ?
|
|
156
|
+
color = isSelected ? COLOR_SUCCESS : COLOR_WARNING;
|
|
150
157
|
}
|
|
151
158
|
else if (item.kind === 'action') {
|
|
152
159
|
prefix = item.tone === 'destructive' ? '× ' : ' ';
|
|
153
|
-
color =
|
|
160
|
+
color =
|
|
161
|
+
item.tone === 'destructive'
|
|
162
|
+
? isSelected
|
|
163
|
+
? COLOR_DANGER
|
|
164
|
+
: COLOR_DANGER
|
|
165
|
+
: isSelected
|
|
166
|
+
? COLOR_SUCCESS
|
|
167
|
+
: COLOR_TEXT;
|
|
154
168
|
bold = isSelected || item.tone === 'destructive';
|
|
155
169
|
}
|
|
156
170
|
else if (item.kind === 'field' || item.kind === 'type') {
|
|
@@ -163,7 +177,13 @@ const ProviderSelectionMenu = ({ phase, selectedIndex, scrollOffset, activeItems
|
|
|
163
177
|
// "in use" is what this session is authenticating as right now;
|
|
164
178
|
// "next session" is a selection that has not taken effect yet.
|
|
165
179
|
prefix = item.isInUse ? '● ' : item.isSelected ? '○ ' : ' ';
|
|
166
|
-
color = item.isInUse
|
|
180
|
+
color = item.isInUse
|
|
181
|
+
? COLOR_SUCCESS
|
|
182
|
+
: item.isSelected
|
|
183
|
+
? COLOR_ACCENT
|
|
184
|
+
: isSelected
|
|
185
|
+
? COLOR_SUCCESS
|
|
186
|
+
: COLOR_TEXT;
|
|
167
187
|
bold = item.isInUse;
|
|
168
188
|
suffix = item.isInUse
|
|
169
189
|
? item.isSelected
|
|
@@ -175,7 +195,7 @@ const ProviderSelectionMenu = ({ phase, selectedIndex, scrollOffset, activeItems
|
|
|
175
195
|
}
|
|
176
196
|
else if (item.kind === 'note') {
|
|
177
197
|
prefix = ' ';
|
|
178
|
-
color =
|
|
198
|
+
color = COLOR_TEXT_SUBTLE;
|
|
179
199
|
}
|
|
180
200
|
else if (item.kind === 'reorder-item') {
|
|
181
201
|
prefix = ' ';
|
|
@@ -189,30 +209,30 @@ const ProviderSelectionMenu = ({ phase, selectedIndex, scrollOffset, activeItems
|
|
|
189
209
|
}
|
|
190
210
|
const isDestructive = item.kind === 'action' && item.tone === 'destructive';
|
|
191
211
|
if (isDestructive) {
|
|
192
|
-
color = isSelected ?
|
|
212
|
+
color = isSelected ? COLOR_DANGER : COLOR_DANGER;
|
|
193
213
|
}
|
|
194
214
|
if (phase === 'edit_fields' && item.kind === 'field') {
|
|
195
215
|
const error = item.fieldKey ? fieldErrors?.[item.fieldKey] : undefined;
|
|
196
216
|
return (React.createElement(Box, { key: `${index}-${item.kind}-${item.label}`, flexDirection: "column" },
|
|
197
217
|
React.createElement(Box, { flexDirection: "row" },
|
|
198
|
-
React.createElement(Text, { color: isSelected ?
|
|
218
|
+
React.createElement(Text, { color: isSelected ? COLOR_SUCCESS : COLOR_TEXT_SUBTLE }, isSelected ? '▶ ' : ' '),
|
|
199
219
|
React.createElement(Box, { width: labelColumnWidth, flexDirection: "row", flexShrink: 0 },
|
|
200
220
|
React.createElement(Text, { color: color, bold: bold },
|
|
201
221
|
prefix,
|
|
202
222
|
label)),
|
|
203
|
-
suffix ? React.createElement(Text, { color:
|
|
223
|
+
suffix ? React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, suffix) : null),
|
|
204
224
|
error ? (React.createElement(Box, { marginLeft: 4 },
|
|
205
|
-
React.createElement(Text, { color:
|
|
225
|
+
React.createElement(Text, { color: COLOR_DANGER },
|
|
206
226
|
"\u26A0 ",
|
|
207
227
|
error))) : null));
|
|
208
228
|
}
|
|
209
229
|
return (React.createElement(Box, { key: `${index}-${item.kind}-${item.label}`, flexDirection: "row" },
|
|
210
|
-
React.createElement(Text, { color: isSelected ?
|
|
230
|
+
React.createElement(Text, { color: isSelected ? COLOR_SUCCESS : COLOR_TEXT_SUBTLE }, isSelected ? '▶ ' : ' '),
|
|
211
231
|
React.createElement(Box, { width: labelColumnWidth, flexDirection: "row", flexShrink: 0 },
|
|
212
232
|
React.createElement(Text, { color: color, bold: bold },
|
|
213
233
|
prefix,
|
|
214
234
|
label)),
|
|
215
|
-
suffix ? React.createElement(Text, { color:
|
|
235
|
+
suffix ? React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, suffix) : null));
|
|
216
236
|
} })));
|
|
217
237
|
};
|
|
218
238
|
export default ProviderSelectionMenu;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderSelectionMenu.js","sourceRoot":"","sources":["../../../source/components/menu/ProviderSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAMhC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ProviderSelectionMenu.js","sourceRoot":"","sources":["../../../source/components/menu/ProviderSelectionMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import type { ConversationListEntry } from '../../services/conversation/conversation-persistence.js';
|
|
3
|
+
type Props = {
|
|
4
|
+
items: ConversationListEntry[];
|
|
5
|
+
selectedIndex: number;
|
|
6
|
+
scrollOffset?: number;
|
|
7
|
+
query: string;
|
|
8
|
+
};
|
|
9
|
+
declare const ResumeSelectionMenu: FC<Props>;
|
|
10
|
+
export default ResumeSelectionMenu;
|
|
11
|
+
//# sourceMappingURL=ResumeSelectionMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumeSelectionMenu.d.ts","sourceRoot":"","sources":["../../../source/components/menu/ResumeSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAKrG,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA8BF,QAAA,MAAM,mBAAmB,EAAE,EAAE,CAAC,KAAK,CAiGlC,CAAC;eAEa,mBAAmB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { SelectionMarker, MenuFooter } from '../common/MenuContainer.js';
|
|
4
|
+
import { COLOR_ACCENT, COLOR_BORDER, COLOR_BORDER_ACTIVE, COLOR_TEXT, COLOR_TEXT_SUBTLE } from '../theme.js';
|
|
5
|
+
function formatDate(dateString) {
|
|
6
|
+
try {
|
|
7
|
+
const d = new Date(dateString);
|
|
8
|
+
if (!isNaN(d.getTime())) {
|
|
9
|
+
const pad = (n) => n.toString().padStart(2, '0');
|
|
10
|
+
const year = d.getFullYear();
|
|
11
|
+
const month = pad(d.getMonth() + 1);
|
|
12
|
+
const date = pad(d.getDate());
|
|
13
|
+
const hours = pad(d.getHours());
|
|
14
|
+
const minutes = pad(d.getMinutes());
|
|
15
|
+
const seconds = pad(d.getSeconds());
|
|
16
|
+
return `${year}-${month}-${date} ${hours}:${minutes}:${seconds}`;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
// fallback
|
|
21
|
+
}
|
|
22
|
+
return dateString;
|
|
23
|
+
}
|
|
24
|
+
function getActiveMode(appMode) {
|
|
25
|
+
if (!appMode)
|
|
26
|
+
return 'standard';
|
|
27
|
+
if (appMode.orchestratorMode)
|
|
28
|
+
return 'orchestrator';
|
|
29
|
+
if (appMode.liteMode)
|
|
30
|
+
return 'lite';
|
|
31
|
+
if (appMode.planMode)
|
|
32
|
+
return 'plan';
|
|
33
|
+
if (appMode.mentorMode)
|
|
34
|
+
return 'mentor';
|
|
35
|
+
return 'standard';
|
|
36
|
+
}
|
|
37
|
+
const ResumeSelectionMenu = ({ items, selectedIndex, scrollOffset = 0, query }) => {
|
|
38
|
+
if (items.length === 0) {
|
|
39
|
+
return (React.createElement(Box, { borderStyle: "round", borderColor: COLOR_BORDER_ACTIVE, paddingX: 1, flexDirection: "column" },
|
|
40
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "Resume Conversation"),
|
|
41
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, query ? 'No matching conversations' : 'No saved conversations found')));
|
|
42
|
+
}
|
|
43
|
+
const maxHeight = 10;
|
|
44
|
+
const visibleItems = items.slice(scrollOffset, scrollOffset + maxHeight);
|
|
45
|
+
const hasScrollUp = scrollOffset > 0;
|
|
46
|
+
const hasScrollDown = scrollOffset + maxHeight < items.length;
|
|
47
|
+
const longestIdLength = Math.max(...items.map((item) => item.id.length), 10);
|
|
48
|
+
const leftColWidth = Math.min(longestIdLength + 4, 32);
|
|
49
|
+
const selectedEntry = items[selectedIndex];
|
|
50
|
+
return (React.createElement(Box, { flexDirection: "column" },
|
|
51
|
+
React.createElement(Box, { borderStyle: "round", borderColor: COLOR_BORDER_ACTIVE, flexDirection: "column", width: "100%", paddingX: 1 },
|
|
52
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "Resume Conversation"),
|
|
53
|
+
React.createElement(Box, { flexDirection: "row", width: "100%" },
|
|
54
|
+
React.createElement(Box, { flexDirection: "column", width: leftColWidth, borderStyle: "single", borderTop: false, borderBottom: false, borderLeft: false, borderRight: true, borderColor: COLOR_BORDER, paddingRight: 1 },
|
|
55
|
+
hasScrollUp && React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "\u2191 more"),
|
|
56
|
+
visibleItems.map((entry, visibleIndex) => {
|
|
57
|
+
const actualIndex = scrollOffset + visibleIndex;
|
|
58
|
+
const isSelected = actualIndex === selectedIndex;
|
|
59
|
+
return (React.createElement(Box, { key: entry.id },
|
|
60
|
+
React.createElement(SelectionMarker, { selected: isSelected }),
|
|
61
|
+
React.createElement(Text, { color: isSelected ? COLOR_ACCENT : undefined, bold: isSelected, wrap: "truncate" }, entry.id)));
|
|
62
|
+
}),
|
|
63
|
+
hasScrollDown && React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "\u2193 more")),
|
|
64
|
+
React.createElement(Box, { flexDirection: "column", flexGrow: 1, paddingLeft: 2 }, selectedEntry && (React.createElement(Box, { flexDirection: "column" },
|
|
65
|
+
React.createElement(Text, { bold: true, color: COLOR_ACCENT }, selectedEntry.id),
|
|
66
|
+
React.createElement(Box, { marginTop: 0 },
|
|
67
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
|
|
68
|
+
"Updated: ",
|
|
69
|
+
React.createElement(Text, { color: COLOR_TEXT }, formatDate(selectedEntry.updatedAt)))),
|
|
70
|
+
React.createElement(Box, { marginTop: 0 },
|
|
71
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
|
|
72
|
+
selectedEntry.sshHost ? `SSH (${selectedEntry.sshHost})` : 'Local',
|
|
73
|
+
selectedEntry.messageCount !== undefined &&
|
|
74
|
+
` • ${selectedEntry.messageCount} msg${selectedEntry.messageCount === 1 ? '' : 's'}`,
|
|
75
|
+
selectedEntry.model && ` • ${selectedEntry.model}`,
|
|
76
|
+
getActiveMode(selectedEntry.appMode) !== 'standard' &&
|
|
77
|
+
` • mode: ${getActiveMode(selectedEntry.appMode)}`)),
|
|
78
|
+
selectedEntry.firstUserMessage && (React.createElement(Box, { marginTop: 1, flexDirection: "column" },
|
|
79
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "Initial Prompt:"),
|
|
80
|
+
React.createElement(Text, { color: COLOR_TEXT, italic: true, wrap: "truncate" },
|
|
81
|
+
"\"",
|
|
82
|
+
selectedEntry.firstUserMessage.slice(0, 150).replace(/\n/g, ' '),
|
|
83
|
+
"\"")))))))),
|
|
84
|
+
React.createElement(MenuFooter, { hints: [
|
|
85
|
+
['↑↓', 'navigate'],
|
|
86
|
+
['⏎', 'resume'],
|
|
87
|
+
['esc', 'cancel'],
|
|
88
|
+
] })));
|
|
89
|
+
};
|
|
90
|
+
export default ResumeSelectionMenu;
|
|
91
|
+
//# sourceMappingURL=ResumeSelectionMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumeSelectionMenu.js","sourceRoot":"","sources":["../../../source/components/menu/ResumeSelectionMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RewindMenu.d.ts","sourceRoot":"","sources":["../../../source/components/menu/RewindMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"RewindMenu.d.ts","sourceRoot":"","sources":["../../../source/components/menu/RewindMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAI1E,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,IAA4B,CAAC;AA4C3D,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,KAAK,CA2CzB,CAAC;eAEa,UAAU"}
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
import { REWIND_MENU_VISIBLE_ITEMS } from '../../hooks/use-rewind-selection.js';
|
|
4
4
|
import { MenuContainer } from '../common/MenuContainer.js';
|
|
5
|
+
import { COLOR_TEXT_SUBTLE, COLOR_WARNING } from '../theme.js';
|
|
5
6
|
/**
|
|
6
7
|
* Rows are two lines plus a separator, so fewer fit on screen than in a
|
|
7
8
|
* single-line menu without pushing the transcript out of view.
|
|
@@ -46,12 +47,12 @@ const RewindMenu = ({ items, selectedIndex, disposition, scrollOffset = 0, maxHe
|
|
|
46
47
|
const footer = disposition === 'edit'
|
|
47
48
|
? '⏎ rewind & edit · ⇥ resend instead · esc cancel · ↑↓ navigate'
|
|
48
49
|
: '⏎ rewind & resend · ⇥ edit instead · esc cancel · ↑↓ navigate';
|
|
49
|
-
return (React.createElement(MenuContainer, { items: items, selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxHeight: maxHeight, borderColor:
|
|
50
|
+
return (React.createElement(MenuContainer, { items: items, selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxHeight: maxHeight, borderColor: COLOR_WARNING, fallbackText: React.createElement(Text, { color: COLOR_WARNING }, "Nothing to rewind"), footer: footer, footerOutsideBorder: true, renderItem: (item, index, isSelected) => {
|
|
50
51
|
const images = item.imageCount > 0 ? ` [${plural(item.imageCount, 'image')}]` : '';
|
|
51
52
|
const isLast = index === items.length - 1;
|
|
52
53
|
return (React.createElement(Box, { key: item.targetId, flexDirection: "column" },
|
|
53
|
-
React.createElement(Text, { inverse: isSelected, color: isSelected ?
|
|
54
|
-
React.createElement(Text, { color: isSelected ?
|
|
54
|
+
React.createElement(Text, { inverse: isSelected, color: isSelected ? COLOR_WARNING : undefined, bold: isSelected }, `${isSelected ? '▸' : ' '} ${String(index + 1).padStart(2)}. ${truncate(item.text, TRUNCATE_LENGTH)}${images}`),
|
|
55
|
+
React.createElement(Text, { color: isSelected ? COLOR_WARNING : COLOR_TEXT_SUBTLE, dimColor: !isSelected }, ` ↳ ${describeDiscards(item)}`),
|
|
55
56
|
!isLast && React.createElement(Text, null, " ")));
|
|
56
57
|
} }));
|
|
57
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RewindMenu.js","sourceRoot":"","sources":["../../../source/components/menu/RewindMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"RewindMenu.js","sourceRoot":"","sources":["../../../source/components/menu/RewindMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsSelectionMenu.d.ts","sourceRoot":"","sources":["../../../source/components/menu/SettingsSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsSelectionMenu.d.ts","sourceRoot":"","sources":["../../../source/components/menu/SettingsSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,wCAAwC,CAAC;AAQhD,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAAC;AAqCF,QAAA,MAAM,qBAAqB,EAAE,EAAE,CAAC,KAAK,CA4FpC,CAAC;eAEa,qBAAqB"}
|
|
@@ -7,6 +7,7 @@ import { isSecretSetting } from '../../utils/value-suggestions.js';
|
|
|
7
7
|
import { getRtkBinaryPath } from '../../services/rtk-service.js';
|
|
8
8
|
import { MenuContainer } from '../common/MenuContainer.js';
|
|
9
9
|
import { ScrollableTabBar } from '../common/ScrollableTabBar.js';
|
|
10
|
+
import { COLOR_ACCENT, COLOR_DANGER, COLOR_SUCCESS, COLOR_TEXT, COLOR_TEXT_SUBTLE, COLOR_WARNING } from '../theme.js';
|
|
10
11
|
function truncate(text, max) {
|
|
11
12
|
if (text.length <= max)
|
|
12
13
|
return text;
|
|
@@ -20,42 +21,46 @@ function formatValue(value, key) {
|
|
|
20
21
|
}
|
|
21
22
|
return {
|
|
22
23
|
text,
|
|
23
|
-
color: value ?
|
|
24
|
+
color: value ? COLOR_SUCCESS : COLOR_DANGER,
|
|
24
25
|
};
|
|
25
26
|
}
|
|
26
27
|
if (typeof value === 'number') {
|
|
27
|
-
return { text: String(value), color:
|
|
28
|
+
return { text: String(value), color: COLOR_WARNING };
|
|
28
29
|
}
|
|
29
30
|
// Secrets are shown masked or not at all — never as a truncated prefix.
|
|
30
31
|
if (isSecretSetting(key)) {
|
|
31
|
-
return { text: value ? '********' : '<empty>', color:
|
|
32
|
+
return { text: value ? '********' : '<empty>', color: COLOR_TEXT_SUBTLE };
|
|
32
33
|
}
|
|
33
|
-
return { text: truncate(value, 40), color:
|
|
34
|
+
return { text: truncate(value, 40), color: COLOR_ACCENT };
|
|
34
35
|
}
|
|
35
36
|
const VISIBLE_COUNT = 10;
|
|
36
37
|
const KEY_COL_WIDTH = 32;
|
|
37
38
|
const SettingsSelectionMenu = ({ items, selectedIndex, scrollOffset = 0, query, isSearchingAll = false, activeCategoryId, categories, }) => {
|
|
38
39
|
const activeCategory = categories.find((category) => category.id === activeCategoryId);
|
|
40
|
+
const selectedItem = items[selectedIndex];
|
|
39
41
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
40
|
-
React.createElement(ScrollableTabBar, { items: categories, activeItemId: activeCategoryId, getItemWidth: (category) => category.label.length + 2, renderTab: (category, isActive) => (React.createElement(Text, { inverse: isActive, color: isActive ?
|
|
42
|
+
React.createElement(ScrollableTabBar, { items: categories, activeItemId: activeCategoryId, getItemWidth: (category) => category.label.length + 2, renderTab: (category, isActive) => (React.createElement(Text, { inverse: isActive, color: isActive ? COLOR_ACCENT : COLOR_TEXT_SUBTLE, bold: isActive },
|
|
41
43
|
' ',
|
|
42
44
|
category.label,
|
|
43
45
|
' ')), hint: "Tab/\u2190\u2192 \u2192 switch section" }),
|
|
44
|
-
React.createElement(MenuContainer, { items: items, selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxHeight: VISIBLE_COUNT, borderColor: items.length === 0 ?
|
|
45
|
-
React.createElement(Text, { bold: true, color:
|
|
46
|
-
React.createElement(Text, { color:
|
|
46
|
+
React.createElement(MenuContainer, { items: items, selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxHeight: VISIBLE_COUNT, borderColor: items.length === 0 ? COLOR_DANGER : COLOR_ACCENT, fallbackText: React.createElement(Box, { flexDirection: "column" },
|
|
47
|
+
React.createElement(Text, { bold: true, color: COLOR_DANGER }, "No settings found"),
|
|
48
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
|
|
47
49
|
"No settings match \"",
|
|
48
50
|
query,
|
|
49
51
|
"\"",
|
|
50
52
|
' ',
|
|
51
|
-
isSearchingAll ? 'in any section' : `in ${activeCategory?.label ?? 'this section'}`)), footer: React.createElement(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
isSearchingAll ? 'in any section' : `in ${activeCategory?.label ?? 'this section'}`)), footer: React.createElement(Box, { flexDirection: "column" },
|
|
54
|
+
selectedItem?.description && (React.createElement(Box, { marginBottom: 0 },
|
|
55
|
+
React.createElement(Text, { color: COLOR_ACCENT, italic: true }, selectedItem.description))),
|
|
56
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE, dimColor: true },
|
|
57
|
+
"Use ",
|
|
58
|
+
React.createElement(Text, { bold: true }, "\u2191\u2193"),
|
|
59
|
+
" to navigate, ",
|
|
60
|
+
React.createElement(Text, { bold: true }, "Enter"),
|
|
61
|
+
" to edit, ",
|
|
62
|
+
React.createElement(Text, { bold: true }, "Esc"),
|
|
63
|
+
" to close")), footerOutsideBorder: false, renderItem: (item, actualIndex, isSelected) => {
|
|
59
64
|
const category = getSettingCategory(item.key);
|
|
60
65
|
const prevCategory = actualIndex > 0 ? getSettingCategory(items[actualIndex - 1].key) : null;
|
|
61
66
|
const showHeader = actualIndex === scrollOffset || category.id !== prevCategory?.id;
|
|
@@ -65,16 +70,11 @@ const SettingsSelectionMenu = ({ items, selectedIndex, scrollOffset = 0, query,
|
|
|
65
70
|
: item.key.padEnd(KEY_COL_WIDTH, ' ');
|
|
66
71
|
return (React.createElement(Box, { key: item.key, flexDirection: "column" },
|
|
67
72
|
showHeader && (React.createElement(Box, { marginTop: actualIndex === scrollOffset ? 0 : 1, marginBottom: 0 },
|
|
68
|
-
React.createElement(Text, { color:
|
|
69
|
-
React.createElement(Box,
|
|
70
|
-
React.createElement(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
valueObj && React.createElement(Text, { color: isSelected ? 'white' : 'gray' }, valueObj.text)),
|
|
74
|
-
isSelected && item.description && (React.createElement(Box, { marginLeft: 2, marginTop: 0 },
|
|
75
|
-
React.createElement(Text, { color: "#7dd3fc", dimColor: true, italic: true },
|
|
76
|
-
"\u2514\u2500\u2500 ",
|
|
77
|
-
item.description))))));
|
|
73
|
+
React.createElement(Text, { color: COLOR_ACCENT, bold: true, underline: true }, category.label))),
|
|
74
|
+
React.createElement(Box, null,
|
|
75
|
+
React.createElement(Text, { color: isSelected ? COLOR_SUCCESS : COLOR_TEXT_SUBTLE }, isSelected ? '▶ ' : ' '),
|
|
76
|
+
React.createElement(Text, { color: isSelected ? COLOR_SUCCESS : COLOR_TEXT, bold: isSelected }, paddedKey),
|
|
77
|
+
valueObj && React.createElement(Text, { color: isSelected ? COLOR_TEXT : COLOR_TEXT_SUBTLE }, valueObj.text))));
|
|
78
78
|
} })));
|
|
79
79
|
};
|
|
80
80
|
export default SettingsSelectionMenu;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsSelectionMenu.js","sourceRoot":"","sources":["../../../source/components/menu/SettingsSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EACL,kBAAkB,GAGnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsSelectionMenu.js","sourceRoot":"","sources":["../../../source/components/menu/SettingsSelectionMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsValueSelectionMenu.d.ts","sourceRoot":"","sources":["../../../source/components/menu/SettingsValueSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsValueSelectionMenu.d.ts","sourceRoot":"","sources":["../../../source/components/menu/SettingsValueSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,kCAAkC,CAAC;AAI1C,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;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,0BAA0B,EAAE,EAAE,CAAC,KAAK,CAmEzC,CAAC;eAEa,0BAA0B"}
|
|
@@ -2,36 +2,38 @@ import React from 'react';
|
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
import { buildSettingValueSuggestions, isStringSetting, } from '../../utils/value-suggestions.js';
|
|
4
4
|
import { MenuContainer } from '../common/MenuContainer.js';
|
|
5
|
+
import { COLOR_ACCENT, COLOR_DANGER, COLOR_SUCCESS, COLOR_TEXT, COLOR_TEXT_SUBTLE, COLOR_WARNING } from '../theme.js';
|
|
5
6
|
const SettingsValueSelectionMenu = ({ settingKey, items, selectedIndex, query, isNumericSettings, isFreeFormString, }) => {
|
|
6
7
|
const isFreeFormStringSetting = isFreeFormString ?? (isStringSetting(settingKey) && buildSettingValueSuggestions(settingKey).length === 0);
|
|
7
8
|
// For free-form string settings (no predefined suggestions), show a neutral
|
|
8
9
|
// message instead of a red error box — the empty state is expected.
|
|
9
10
|
const showNeutralEmpty = items.length === 0 && isFreeFormStringSetting;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
React.createElement(Text, { color: "
|
|
11
|
+
const selectedItem = items[selectedIndex];
|
|
12
|
+
return (React.createElement(MenuContainer, { items: items, selectedIndex: selectedIndex, borderColor: items.length === 0 && !showNeutralEmpty ? COLOR_DANGER : COLOR_ACCENT, fallbackText: React.createElement(Box, { flexDirection: "column" },
|
|
13
|
+
showNeutralEmpty ? (React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "Type a value")) : (React.createElement(Text, { color: COLOR_DANGER, bold: true }, "No matching values")),
|
|
14
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
|
|
13
15
|
settingKey,
|
|
14
16
|
" \u00B7",
|
|
15
17
|
' ',
|
|
16
18
|
showNeutralEmpty ? 'No predefined values — type freely' : `No values match "${query || '*'}"`),
|
|
17
|
-
isNumericSettings && React.createElement(Text, { color:
|
|
18
|
-
showNeutralEmpty && React.createElement(Text, { color:
|
|
19
|
+
isNumericSettings && React.createElement(Text, { color: COLOR_WARNING }, "Note: This setting accepts numeric values."),
|
|
20
|
+
showNeutralEmpty && React.createElement(Text, { color: COLOR_WARNING }, "Note: This setting accepts any string value."),
|
|
19
21
|
React.createElement(Box, { marginTop: 1 },
|
|
20
|
-
React.createElement(Text, { color:
|
|
21
|
-
React.createElement(
|
|
22
|
-
|
|
23
|
-
React.createElement(Text, {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
22
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "Enter \u2192 apply typed value \u00B7 Esc \u2192 cancel"))), footer: React.createElement(Box, { flexDirection: "column" },
|
|
23
|
+
selectedItem?.description && (React.createElement(Box, { marginBottom: 0 },
|
|
24
|
+
React.createElement(Text, { color: COLOR_ACCENT, italic: true }, selectedItem.description))),
|
|
25
|
+
React.createElement(Text, { color: COLOR_TEXT_SUBTLE, dimColor: true },
|
|
26
|
+
React.createElement(Text, { bold: true }, "Enter"),
|
|
27
|
+
" confirm \u00B7 ",
|
|
28
|
+
React.createElement(Text, { bold: true }, "Esc"),
|
|
29
|
+
" cancel \u00B7 ",
|
|
30
|
+
React.createElement(Text, { bold: true }, "\u2191\u2193"),
|
|
31
|
+
" navigate \u00B7",
|
|
32
|
+
' ',
|
|
33
|
+
React.createElement(Text, { bold: true }, "Ctrl+D"),
|
|
34
|
+
" reset to default")), footerOutsideBorder: false, renderItem: (item, _index, isSelected) => (React.createElement(Box, { key: item.value },
|
|
35
|
+
React.createElement(Text, { color: isSelected ? COLOR_SUCCESS : COLOR_TEXT_SUBTLE }, isSelected ? '▶ ' : ' '),
|
|
36
|
+
React.createElement(Text, { color: isSelected ? COLOR_SUCCESS : COLOR_TEXT, bold: isSelected }, item.value))) }));
|
|
35
37
|
};
|
|
36
38
|
export default SettingsValueSelectionMenu;
|
|
37
39
|
//# sourceMappingURL=SettingsValueSelectionMenu.js.map
|