dexto 1.6.0 → 1.6.2
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/agents/coding-agent/coding-agent.yml +3 -1
- package/dist/analytics/wrapper.js +1 -1
- package/dist/cli/auth/dexto-api-key.d.ts +34 -0
- package/dist/cli/auth/dexto-api-key.d.ts.map +1 -0
- package/dist/cli/auth/dexto-api-key.js +161 -0
- package/dist/cli/auth/index.d.ts +2 -1
- package/dist/cli/auth/index.d.ts.map +1 -1
- package/dist/cli/auth/index.js +2 -1
- package/dist/cli/auth/oauth.d.ts +10 -0
- package/dist/cli/auth/oauth.d.ts.map +1 -1
- package/dist/cli/auth/oauth.js +113 -36
- package/dist/cli/auth/service.d.ts +1 -0
- package/dist/cli/auth/service.d.ts.map +1 -1
- package/dist/cli/auth/service.js +1 -0
- package/dist/cli/commands/auth/login.d.ts.map +1 -1
- package/dist/cli/commands/auth/login.js +40 -105
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +157 -120
- package/dist/cli/utils/config-validation.js +3 -3
- package/dist/cli/utils/options.d.ts.map +1 -1
- package/dist/cli/utils/options.js +6 -0
- package/dist/index-main.js +36 -2
- package/dist/utils/session-logger-factory.d.ts.map +1 -1
- package/dist/utils/session-logger-factory.js +17 -2
- package/dist/webui/assets/index-BPlk2Wbt.css +1 -0
- package/dist/webui/assets/index-BZvrpxyh.js +2059 -0
- package/dist/webui/index.html +2 -2
- package/package.json +13 -23
- package/dist/cli/commands/interactive-commands/auth/index.d.ts +0 -12
- package/dist/cli/commands/interactive-commands/auth/index.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/auth/index.js +0 -20
- package/dist/cli/commands/interactive-commands/command-parser.d.ts +0 -56
- package/dist/cli/commands/interactive-commands/command-parser.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/command-parser.js +0 -173
- package/dist/cli/commands/interactive-commands/commands.d.ts +0 -52
- package/dist/cli/commands/interactive-commands/commands.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/commands.js +0 -142
- package/dist/cli/commands/interactive-commands/documentation-commands.d.ts +0 -15
- package/dist/cli/commands/interactive-commands/documentation-commands.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/documentation-commands.js +0 -39
- package/dist/cli/commands/interactive-commands/export/index.d.ts +0 -13
- package/dist/cli/commands/interactive-commands/export/index.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/export/index.js +0 -21
- package/dist/cli/commands/interactive-commands/general-commands.d.ts +0 -22
- package/dist/cli/commands/interactive-commands/general-commands.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/general-commands.js +0 -458
- package/dist/cli/commands/interactive-commands/mcp/index.d.ts +0 -13
- package/dist/cli/commands/interactive-commands/mcp/index.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/mcp/index.js +0 -18
- package/dist/cli/commands/interactive-commands/model/index.d.ts +0 -13
- package/dist/cli/commands/interactive-commands/model/index.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/model/index.js +0 -19
- package/dist/cli/commands/interactive-commands/plugin/index.d.ts +0 -13
- package/dist/cli/commands/interactive-commands/plugin/index.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/plugin/index.js +0 -18
- package/dist/cli/commands/interactive-commands/prompt-commands.d.ts +0 -25
- package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/prompt-commands.js +0 -339
- package/dist/cli/commands/interactive-commands/session/index.d.ts +0 -16
- package/dist/cli/commands/interactive-commands/session/index.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/session/index.js +0 -15
- package/dist/cli/commands/interactive-commands/session/session-commands.d.ts +0 -32
- package/dist/cli/commands/interactive-commands/session/session-commands.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/session/session-commands.js +0 -67
- package/dist/cli/commands/interactive-commands/system/index.d.ts +0 -13
- package/dist/cli/commands/interactive-commands/system/index.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/system/index.js +0 -12
- package/dist/cli/commands/interactive-commands/system/system-commands.d.ts +0 -18
- package/dist/cli/commands/interactive-commands/system/system-commands.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/system/system-commands.js +0 -197
- package/dist/cli/commands/interactive-commands/tool-commands.d.ts +0 -15
- package/dist/cli/commands/interactive-commands/tool-commands.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/tool-commands.js +0 -24
- package/dist/cli/commands/interactive-commands/utils/arg-parser.d.ts +0 -57
- package/dist/cli/commands/interactive-commands/utils/arg-parser.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/utils/arg-parser.js +0 -81
- package/dist/cli/commands/interactive-commands/utils/command-output.d.ts +0 -40
- package/dist/cli/commands/interactive-commands/utils/command-output.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/utils/command-output.js +0 -56
- package/dist/cli/commands/interactive-commands/utils/format-output.d.ts +0 -14
- package/dist/cli/commands/interactive-commands/utils/format-output.d.ts.map +0 -1
- package/dist/cli/commands/interactive-commands/utils/format-output.js +0 -18
- package/dist/cli/ink-cli/InkCLIRefactored.d.ts +0 -52
- package/dist/cli/ink-cli/InkCLIRefactored.d.ts.map +0 -1
- package/dist/cli/ink-cli/InkCLIRefactored.js +0 -120
- package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts +0 -44
- package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/ApprovalPrompt.js +0 -269
- package/dist/cli/ink-cli/components/BackgroundTasksPanel.d.ts +0 -18
- package/dist/cli/ink-cli/components/BackgroundTasksPanel.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/BackgroundTasksPanel.js +0 -48
- package/dist/cli/ink-cli/components/CustomInput.d.ts +0 -17
- package/dist/cli/ink-cli/components/CustomInput.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/CustomInput.js +0 -51
- package/dist/cli/ink-cli/components/CustomTextInput.d.ts +0 -16
- package/dist/cli/ink-cli/components/CustomTextInput.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/CustomTextInput.js +0 -36
- package/dist/cli/ink-cli/components/EditableMultiLineInput.d.ts +0 -19
- package/dist/cli/ink-cli/components/EditableMultiLineInput.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/EditableMultiLineInput.js +0 -120
- package/dist/cli/ink-cli/components/ElicitationForm.d.ts +0 -22
- package/dist/cli/ink-cli/components/ElicitationForm.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/ElicitationForm.js +0 -358
- package/dist/cli/ink-cli/components/ErrorBoundary.d.ts +0 -20
- package/dist/cli/ink-cli/components/ErrorBoundary.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/ErrorBoundary.js +0 -29
- package/dist/cli/ink-cli/components/Footer.d.ts +0 -22
- package/dist/cli/ink-cli/components/Footer.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/Footer.js +0 -76
- package/dist/cli/ink-cli/components/HistorySearchBar.d.ts +0 -17
- package/dist/cli/ink-cli/components/HistorySearchBar.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/HistorySearchBar.js +0 -8
- package/dist/cli/ink-cli/components/MultiLineInput.d.ts +0 -12
- package/dist/cli/ink-cli/components/MultiLineInput.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/MultiLineInput.js +0 -27
- package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts +0 -26
- package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/ResourceAutocomplete.js +0 -376
- package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts +0 -28
- package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/SlashCommandAutocomplete.js +0 -432
- package/dist/cli/ink-cli/components/StatusBar.d.ts +0 -41
- package/dist/cli/ink-cli/components/StatusBar.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/StatusBar.js +0 -110
- package/dist/cli/ink-cli/components/TextBufferInput.d.ts +0 -52
- package/dist/cli/ink-cli/components/TextBufferInput.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/TextBufferInput.js +0 -490
- package/dist/cli/ink-cli/components/TodoPanel.d.ts +0 -26
- package/dist/cli/ink-cli/components/TodoPanel.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/TodoPanel.js +0 -62
- package/dist/cli/ink-cli/components/base/BaseAutocomplete.d.ts +0 -29
- package/dist/cli/ink-cli/components/base/BaseAutocomplete.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/base/BaseAutocomplete.js +0 -98
- package/dist/cli/ink-cli/components/base/BaseSelector.d.ts +0 -36
- package/dist/cli/ink-cli/components/base/BaseSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/base/BaseSelector.js +0 -118
- package/dist/cli/ink-cli/components/base/index.d.ts +0 -6
- package/dist/cli/ink-cli/components/base/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/base/index.js +0 -5
- package/dist/cli/ink-cli/components/chat/ChatView.d.ts +0 -19
- package/dist/cli/ink-cli/components/chat/ChatView.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/ChatView.js +0 -11
- package/dist/cli/ink-cli/components/chat/Footer.d.ts +0 -9
- package/dist/cli/ink-cli/components/chat/Footer.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/Footer.js +0 -8
- package/dist/cli/ink-cli/components/chat/Header.d.ts +0 -18
- package/dist/cli/ink-cli/components/chat/Header.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/Header.js +0 -16
- package/dist/cli/ink-cli/components/chat/MessageItem.d.ts +0 -21
- package/dist/cli/ink-cli/components/chat/MessageItem.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/MessageItem.js +0 -180
- package/dist/cli/ink-cli/components/chat/MessageList.d.ts +0 -16
- package/dist/cli/ink-cli/components/chat/MessageList.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/MessageList.js +0 -20
- package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts +0 -16
- package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.js +0 -27
- package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts +0 -18
- package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/ToolIcon.js +0 -46
- package/dist/cli/ink-cli/components/chat/index.d.ts +0 -10
- package/dist/cli/ink-cli/components/chat/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/index.js +0 -9
- package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts +0 -10
- package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.js +0 -6
- package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts +0 -10
- package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.js +0 -15
- package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts +0 -10
- package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.js +0 -9
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts +0 -10
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.js +0 -37
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts +0 -10
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.js +0 -9
- package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts +0 -10
- package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.js +0 -6
- package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts +0 -10
- package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.js +0 -29
- package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts +0 -45
- package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.js +0 -38
- package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts +0 -10
- package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.js +0 -6
- package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts +0 -13
- package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/chat/styled-boxes/index.js +0 -12
- package/dist/cli/ink-cli/components/input/InputArea.d.ts +0 -46
- package/dist/cli/ink-cli/components/input/InputArea.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/input/InputArea.js +0 -6
- package/dist/cli/ink-cli/components/input/index.d.ts +0 -5
- package/dist/cli/ink-cli/components/input/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/input/index.js +0 -4
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts +0 -27
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.js +0 -180
- package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts +0 -29
- package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/modes/StaticCLI.js +0 -107
- package/dist/cli/ink-cli/components/modes/index.d.ts +0 -10
- package/dist/cli/ink-cli/components/modes/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/modes/index.js +0 -9
- package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts +0 -26
- package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/ApiKeyInput.js +0 -92
- package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.d.ts +0 -26
- package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.js +0 -241
- package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts +0 -29
- package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/CustomModelWizard.js +0 -301
- package/dist/cli/ink-cli/components/overlays/ExportWizard.d.ts +0 -22
- package/dist/cli/ink-cli/components/overlays/ExportWizard.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/ExportWizard.js +0 -308
- package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts +0 -23
- package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/LogLevelSelector.js +0 -70
- package/dist/cli/ink-cli/components/overlays/MarketplaceAddPrompt.d.ts +0 -20
- package/dist/cli/ink-cli/components/overlays/MarketplaceAddPrompt.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/MarketplaceAddPrompt.js +0 -81
- package/dist/cli/ink-cli/components/overlays/MarketplaceBrowser.d.ts +0 -31
- package/dist/cli/ink-cli/components/overlays/MarketplaceBrowser.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/MarketplaceBrowser.js +0 -297
- package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts +0 -22
- package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/McpAddChoice.js +0 -59
- package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts +0 -26
- package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/McpAddSelector.js +0 -73
- package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts +0 -21
- package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.js +0 -51
- package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts +0 -29
- package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/McpCustomWizard.js +0 -215
- package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts +0 -22
- package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.js +0 -80
- package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts +0 -21
- package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/McpSelector.js +0 -52
- package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts +0 -28
- package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/McpServerActions.js +0 -93
- package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts +0 -29
- package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/McpServerList.js +0 -116
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts +0 -28
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.js +0 -630
- package/dist/cli/ink-cli/components/overlays/PluginActions.d.ts +0 -27
- package/dist/cli/ink-cli/components/overlays/PluginActions.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/PluginActions.js +0 -66
- package/dist/cli/ink-cli/components/overlays/PluginList.d.ts +0 -21
- package/dist/cli/ink-cli/components/overlays/PluginList.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/PluginList.js +0 -70
- package/dist/cli/ink-cli/components/overlays/PluginManager.d.ts +0 -21
- package/dist/cli/ink-cli/components/overlays/PluginManager.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/PluginManager.js +0 -63
- package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts +0 -22
- package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/PromptAddChoice.js +0 -52
- package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts +0 -29
- package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/PromptAddWizard.js +0 -166
- package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts +0 -27
- package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.js +0 -119
- package/dist/cli/ink-cli/components/overlays/PromptList.d.ts +0 -33
- package/dist/cli/ink-cli/components/overlays/PromptList.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/PromptList.js +0 -147
- package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts +0 -23
- package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/SearchOverlay.js +0 -189
- package/dist/cli/ink-cli/components/overlays/SessionRenameOverlay.d.ts +0 -21
- package/dist/cli/ink-cli/components/overlays/SessionRenameOverlay.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/SessionRenameOverlay.js +0 -63
- package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts +0 -26
- package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.js +0 -126
- package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts +0 -21
- package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.js +0 -42
- package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts +0 -20
- package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/StreamSelector.js +0 -58
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts +0 -26
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.js +0 -642
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts +0 -25
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.js +0 -609
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts +0 -15
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.js +0 -14
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts +0 -42
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.js +0 -547
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts +0 -25
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.js +0 -29
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts +0 -17
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.js +0 -11
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts +0 -20
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.js +0 -10
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts +0 -30
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.js +0 -13
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts +0 -8
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.js +0 -7
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts +0 -85
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.js +0 -38
- package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts +0 -21
- package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/renderers/DiffRenderer.js +0 -65
- package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts +0 -30
- package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.js +0 -66
- package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts +0 -19
- package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/renderers/FileRenderer.js +0 -26
- package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts +0 -21
- package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/renderers/GenericRenderer.js +0 -26
- package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts +0 -20
- package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/renderers/SearchRenderer.js +0 -26
- package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts +0 -21
- package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/renderers/ShellRenderer.js +0 -25
- package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts +0 -61
- package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/renderers/diff-shared.js +0 -158
- package/dist/cli/ink-cli/components/renderers/index.d.ts +0 -28
- package/dist/cli/ink-cli/components/renderers/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/renderers/index.js +0 -36
- package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts +0 -38
- package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/shared/MarkdownText.js +0 -389
- package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts +0 -44
- package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/shared/VirtualizedList.js +0 -300
- package/dist/cli/ink-cli/components/shared/text-buffer.d.ts +0 -185
- package/dist/cli/ink-cli/components/shared/text-buffer.d.ts.map +0 -1
- package/dist/cli/ink-cli/components/shared/text-buffer.js +0 -1338
- package/dist/cli/ink-cli/constants/processingPhrases.d.ts +0 -10
- package/dist/cli/ink-cli/constants/processingPhrases.d.ts.map +0 -1
- package/dist/cli/ink-cli/constants/processingPhrases.js +0 -92
- package/dist/cli/ink-cli/constants/tips.d.ts +0 -15
- package/dist/cli/ink-cli/constants/tips.d.ts.map +0 -1
- package/dist/cli/ink-cli/constants/tips.js +0 -57
- package/dist/cli/ink-cli/containers/InputContainer.d.ts +0 -62
- package/dist/cli/ink-cli/containers/InputContainer.d.ts.map +0 -1
- package/dist/cli/ink-cli/containers/InputContainer.js +0 -639
- package/dist/cli/ink-cli/containers/OverlayContainer.d.ts +0 -42
- package/dist/cli/ink-cli/containers/OverlayContainer.d.ts.map +0 -1
- package/dist/cli/ink-cli/containers/OverlayContainer.js +0 -1824
- package/dist/cli/ink-cli/containers/index.d.ts +0 -6
- package/dist/cli/ink-cli/containers/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/containers/index.js +0 -5
- package/dist/cli/ink-cli/contexts/KeypressContext.d.ts +0 -36
- package/dist/cli/ink-cli/contexts/KeypressContext.d.ts.map +0 -1
- package/dist/cli/ink-cli/contexts/KeypressContext.js +0 -461
- package/dist/cli/ink-cli/contexts/MouseContext.d.ts +0 -27
- package/dist/cli/ink-cli/contexts/MouseContext.d.ts.map +0 -1
- package/dist/cli/ink-cli/contexts/MouseContext.js +0 -102
- package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts +0 -33
- package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts.map +0 -1
- package/dist/cli/ink-cli/contexts/ScrollProvider.js +0 -170
- package/dist/cli/ink-cli/contexts/SoundContext.d.ts +0 -23
- package/dist/cli/ink-cli/contexts/SoundContext.d.ts.map +0 -1
- package/dist/cli/ink-cli/contexts/SoundContext.js +0 -22
- package/dist/cli/ink-cli/contexts/index.d.ts +0 -8
- package/dist/cli/ink-cli/contexts/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/contexts/index.js +0 -7
- package/dist/cli/ink-cli/hooks/index.d.ts +0 -12
- package/dist/cli/ink-cli/hooks/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/index.js +0 -14
- package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts +0 -49
- package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useAgentEvents.js +0 -369
- package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts +0 -14
- package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useBatchedScroll.js +0 -25
- package/dist/cli/ink-cli/hooks/useCLIState.d.ts +0 -52
- package/dist/cli/ink-cli/hooks/useCLIState.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useCLIState.js +0 -223
- package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts +0 -24
- package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useElapsedTime.js +0 -69
- package/dist/cli/ink-cli/hooks/useGitBranch.d.ts +0 -13
- package/dist/cli/ink-cli/hooks/useGitBranch.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useGitBranch.js +0 -35
- package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts +0 -61
- package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useHistorySearch.js +0 -210
- package/dist/cli/ink-cli/hooks/useInputHistory.d.ts +0 -18
- package/dist/cli/ink-cli/hooks/useInputHistory.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useInputHistory.js +0 -26
- package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts +0 -136
- package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useInputOrchestrator.js +0 -715
- package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.d.ts +0 -21
- package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.js +0 -80
- package/dist/cli/ink-cli/hooks/useKeypress.d.ts +0 -18
- package/dist/cli/ink-cli/hooks/useKeypress.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useKeypress.js +0 -26
- package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts +0 -30
- package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/usePhraseCycler.js +0 -68
- package/dist/cli/ink-cli/hooks/useStreaming.d.ts +0 -19
- package/dist/cli/ink-cli/hooks/useStreaming.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useStreaming.js +0 -26
- package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts +0 -14
- package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useTerminalSize.js +0 -31
- package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts +0 -46
- package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts.map +0 -1
- package/dist/cli/ink-cli/hooks/useTokenCounter.js +0 -122
- package/dist/cli/ink-cli/services/CommandService.d.ts +0 -58
- package/dist/cli/ink-cli/services/CommandService.d.ts.map +0 -1
- package/dist/cli/ink-cli/services/CommandService.js +0 -64
- package/dist/cli/ink-cli/services/InputService.d.ts +0 -40
- package/dist/cli/ink-cli/services/InputService.d.ts.map +0 -1
- package/dist/cli/ink-cli/services/InputService.js +0 -87
- package/dist/cli/ink-cli/services/MessageService.d.ts +0 -35
- package/dist/cli/ink-cli/services/MessageService.d.ts.map +0 -1
- package/dist/cli/ink-cli/services/MessageService.js +0 -49
- package/dist/cli/ink-cli/services/index.d.ts +0 -8
- package/dist/cli/ink-cli/services/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/services/index.js +0 -7
- package/dist/cli/ink-cli/services/processStream.d.ts +0 -75
- package/dist/cli/ink-cli/services/processStream.d.ts.map +0 -1
- package/dist/cli/ink-cli/services/processStream.js +0 -942
- package/dist/cli/ink-cli/state/actions.d.ts +0 -124
- package/dist/cli/ink-cli/state/actions.d.ts.map +0 -1
- package/dist/cli/ink-cli/state/actions.js +0 -8
- package/dist/cli/ink-cli/state/index.d.ts +0 -10
- package/dist/cli/ink-cli/state/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/state/index.js +0 -8
- package/dist/cli/ink-cli/state/initialState.d.ts +0 -12
- package/dist/cli/ink-cli/state/initialState.d.ts.map +0 -1
- package/dist/cli/ink-cli/state/initialState.js +0 -57
- package/dist/cli/ink-cli/state/reducer.d.ts +0 -15
- package/dist/cli/ink-cli/state/reducer.d.ts.map +0 -1
- package/dist/cli/ink-cli/state/reducer.js +0 -341
- package/dist/cli/ink-cli/state/streaming-state.d.ts +0 -27
- package/dist/cli/ink-cli/state/streaming-state.d.ts.map +0 -1
- package/dist/cli/ink-cli/state/streaming-state.js +0 -39
- package/dist/cli/ink-cli/state/types.d.ts +0 -366
- package/dist/cli/ink-cli/state/types.d.ts.map +0 -1
- package/dist/cli/ink-cli/state/types.js +0 -5
- package/dist/cli/ink-cli/utils/bracketedPaste.d.ts +0 -22
- package/dist/cli/ink-cli/utils/bracketedPaste.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/bracketedPaste.js +0 -27
- package/dist/cli/ink-cli/utils/clipboardUtils.d.ts +0 -49
- package/dist/cli/ink-cli/utils/clipboardUtils.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/clipboardUtils.js +0 -356
- package/dist/cli/ink-cli/utils/commandOverlays.d.ts +0 -33
- package/dist/cli/ink-cli/utils/commandOverlays.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/commandOverlays.js +0 -84
- package/dist/cli/ink-cli/utils/debugLog.d.ts +0 -38
- package/dist/cli/ink-cli/utils/debugLog.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/debugLog.js +0 -66
- package/dist/cli/ink-cli/utils/idGenerator.d.ts +0 -10
- package/dist/cli/ink-cli/utils/idGenerator.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/idGenerator.js +0 -12
- package/dist/cli/ink-cli/utils/index.d.ts +0 -9
- package/dist/cli/ink-cli/utils/index.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/index.js +0 -13
- package/dist/cli/ink-cli/utils/input.d.ts +0 -25
- package/dist/cli/ink-cli/utils/input.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/input.js +0 -56
- package/dist/cli/ink-cli/utils/inputParsing.d.ts +0 -31
- package/dist/cli/ink-cli/utils/inputParsing.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/inputParsing.js +0 -70
- package/dist/cli/ink-cli/utils/llm-provider-display.d.ts +0 -3
- package/dist/cli/ink-cli/utils/llm-provider-display.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/llm-provider-display.js +0 -22
- package/dist/cli/ink-cli/utils/messageFormatting.d.ts +0 -140
- package/dist/cli/ink-cli/utils/messageFormatting.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/messageFormatting.js +0 -591
- package/dist/cli/ink-cli/utils/mouse.d.ts +0 -61
- package/dist/cli/ink-cli/utils/mouse.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/mouse.js +0 -209
- package/dist/cli/ink-cli/utils/soundNotification.d.ts +0 -71
- package/dist/cli/ink-cli/utils/soundNotification.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/soundNotification.js +0 -203
- package/dist/cli/ink-cli/utils/streamSplitter.d.ts +0 -44
- package/dist/cli/ink-cli/utils/streamSplitter.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/streamSplitter.js +0 -154
- package/dist/cli/ink-cli/utils/textUtils.d.ts +0 -63
- package/dist/cli/ink-cli/utils/textUtils.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/textUtils.js +0 -248
- package/dist/cli/ink-cli/utils/toolUtils.d.ts +0 -20
- package/dist/cli/ink-cli/utils/toolUtils.d.ts.map +0 -1
- package/dist/cli/ink-cli/utils/toolUtils.js +0 -25
- package/dist/webui/assets/index-C9JXwpvo.css +0 -1
- package/dist/webui/assets/index-DwtueA8l.js +0 -2059
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AlternateBufferCLI - VirtualizedList rendering mode
|
|
3
|
-
*
|
|
4
|
-
* Uses the terminal's alternate buffer for a fullscreen, scrollable UI.
|
|
5
|
-
* Features:
|
|
6
|
-
* - VirtualizedList for efficient message rendering
|
|
7
|
-
* - Mouse scroll support via ScrollProvider
|
|
8
|
-
* - Keyboard scroll (PageUp/PageDown, Shift+Arrow)
|
|
9
|
-
* - Copy mode toggle (Ctrl+S)
|
|
10
|
-
* - Selection hint when user tries to drag without Option key
|
|
11
|
-
*/
|
|
12
|
-
import type { DextoAgent } from '@dexto/core';
|
|
13
|
-
import type { StartupInfo } from '../../state/types.js';
|
|
14
|
-
interface AlternateBufferCLIProps {
|
|
15
|
-
agent: DextoAgent;
|
|
16
|
-
initialSessionId: string | null;
|
|
17
|
-
initialPrompt?: string | undefined;
|
|
18
|
-
startupInfo: StartupInfo;
|
|
19
|
-
configFilePath: string | null;
|
|
20
|
-
/** Callback when user attempts to select text (drag without Option key) */
|
|
21
|
-
onSelectionAttempt?: () => void;
|
|
22
|
-
/** Whether to stream chunks or wait for complete response */
|
|
23
|
-
useStreaming?: boolean;
|
|
24
|
-
}
|
|
25
|
-
export declare function AlternateBufferCLI({ agent, initialSessionId, initialPrompt, startupInfo, configFilePath, onSelectionAttempt, useStreaming, }: AlternateBufferCLIProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
-
export {};
|
|
27
|
-
//# sourceMappingURL=AlternateBufferCLI.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AlternateBufferCLI.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ink-cli/components/modes/AlternateBufferCLI.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA8BjE,UAAU,uBAAuB;IAC7B,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,EAC/B,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,YAAmB,GACtB,EAAE,uBAAuB,2CA4VzB"}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* AlternateBufferCLI - VirtualizedList rendering mode
|
|
4
|
-
*
|
|
5
|
-
* Uses the terminal's alternate buffer for a fullscreen, scrollable UI.
|
|
6
|
-
* Features:
|
|
7
|
-
* - VirtualizedList for efficient message rendering
|
|
8
|
-
* - Mouse scroll support via ScrollProvider
|
|
9
|
-
* - Keyboard scroll (PageUp/PageDown, Shift+Arrow)
|
|
10
|
-
* - Copy mode toggle (Ctrl+S)
|
|
11
|
-
* - Selection hint when user tries to drag without Option key
|
|
12
|
-
*/
|
|
13
|
-
import { useMemo, useCallback, useRef, useState, useEffect } from 'react';
|
|
14
|
-
import { Box, Text } from 'ink';
|
|
15
|
-
// Hooks
|
|
16
|
-
import { useTerminalSize } from '../../hooks/index.js';
|
|
17
|
-
import { useCLIState } from '../../hooks/useCLIState.js';
|
|
18
|
-
import { useGitBranch } from '../../hooks/useGitBranch.js';
|
|
19
|
-
import { useScrollable } from '../../contexts/index.js';
|
|
20
|
-
// Components
|
|
21
|
-
import { Header } from '../chat/Header.js';
|
|
22
|
-
import { MessageItem } from '../chat/MessageItem.js';
|
|
23
|
-
import { QueuedMessagesDisplay } from '../chat/QueuedMessagesDisplay.js';
|
|
24
|
-
import { StatusBar } from '../StatusBar.js';
|
|
25
|
-
import { HistorySearchBar } from '../HistorySearchBar.js';
|
|
26
|
-
import { Footer } from '../Footer.js';
|
|
27
|
-
import { TodoPanel } from '../TodoPanel.js';
|
|
28
|
-
import { BackgroundTasksPanel } from '../BackgroundTasksPanel.js';
|
|
29
|
-
import { VirtualizedList, SCROLL_TO_ITEM_END, } from '../shared/VirtualizedList.js';
|
|
30
|
-
// Containers
|
|
31
|
-
import { InputContainer } from '../../containers/InputContainer.js';
|
|
32
|
-
import { OverlayContainer } from '../../containers/OverlayContainer.js';
|
|
33
|
-
export function AlternateBufferCLI({ agent, initialSessionId, initialPrompt, startupInfo, configFilePath, onSelectionAttempt, useStreaming = true, }) {
|
|
34
|
-
// Refs for VirtualizedList
|
|
35
|
-
const listRef = useRef(null);
|
|
36
|
-
const listContainerRef = useRef(null);
|
|
37
|
-
// Ref to InputContainer for programmatic submit
|
|
38
|
-
const inputContainerRef = useRef(null);
|
|
39
|
-
// Selection hint state
|
|
40
|
-
const [selectionHintVisible, setSelectionHintVisible] = useState(false);
|
|
41
|
-
// Keyboard scroll handler for VirtualizedList
|
|
42
|
-
const handleKeyboardScroll = useCallback((direction) => {
|
|
43
|
-
const delta = direction === 'up' ? -10 : 10;
|
|
44
|
-
listRef.current?.scrollBy(delta);
|
|
45
|
-
}, []);
|
|
46
|
-
// Use shared CLI state with keyboard scroll handler
|
|
47
|
-
const { messages, setMessages, pendingMessages, setPendingMessages, dequeuedBuffer, setDequeuedBuffer, queuedMessages, setQueuedMessages, todos, setTodos, ui, setUi, input, setInput, session, setSession, approval, setApproval, approvalQueue, setApprovalQueue, inputService, buffer, overlayContainerRef, visibleMessages, } = useCLIState({
|
|
48
|
-
agent,
|
|
49
|
-
initialSessionId,
|
|
50
|
-
startupInfo,
|
|
51
|
-
onKeyboardScroll: handleKeyboardScroll,
|
|
52
|
-
});
|
|
53
|
-
// Get current git branch name
|
|
54
|
-
const branchName = useGitBranch();
|
|
55
|
-
// Register the VirtualizedList as scrollable so ScrollProvider can handle mouse scroll
|
|
56
|
-
const getScrollState = useCallback(() => {
|
|
57
|
-
const scrollState = listRef.current?.getScrollState();
|
|
58
|
-
return scrollState ?? { scrollTop: 0, scrollHeight: 0, innerHeight: 0 };
|
|
59
|
-
}, []);
|
|
60
|
-
const scrollBy = useCallback((delta) => {
|
|
61
|
-
listRef.current?.scrollBy(delta);
|
|
62
|
-
}, []);
|
|
63
|
-
const hasFocus = useCallback(() => true, []); // List always has focus for scroll
|
|
64
|
-
// Compute whether history search has a match (for HistorySearchBar indicator)
|
|
65
|
-
const historySearchHasMatch = useMemo(() => {
|
|
66
|
-
if (!ui.historySearch.isActive || !ui.historySearch.query)
|
|
67
|
-
return false;
|
|
68
|
-
const query = ui.historySearch.query.toLowerCase();
|
|
69
|
-
return input.history.some((item) => item.toLowerCase().includes(query));
|
|
70
|
-
}, [ui.historySearch.isActive, ui.historySearch.query, input.history]);
|
|
71
|
-
// Callback for OverlayContainer to submit prompt commands through InputContainer
|
|
72
|
-
const handleSubmitPromptCommand = useCallback(async (commandText) => {
|
|
73
|
-
try {
|
|
74
|
-
await inputContainerRef.current?.submit(commandText);
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
agent.logger.error(`AlternateBufferCLI.handleSubmitPromptCommand failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
78
|
-
}
|
|
79
|
-
}, [agent]);
|
|
80
|
-
useScrollable({
|
|
81
|
-
ref: listContainerRef,
|
|
82
|
-
getScrollState,
|
|
83
|
-
scrollBy,
|
|
84
|
-
hasFocus,
|
|
85
|
-
}, true // Always active in alternate buffer mode
|
|
86
|
-
);
|
|
87
|
-
// Handle selection attempt - show hint
|
|
88
|
-
const handleSelectionAttempt = useCallback(() => {
|
|
89
|
-
setSelectionHintVisible(true);
|
|
90
|
-
onSelectionAttempt?.();
|
|
91
|
-
}, [onSelectionAttempt]);
|
|
92
|
-
// Auto-hide selection hint after 3 seconds
|
|
93
|
-
useEffect(() => {
|
|
94
|
-
if (!selectionHintVisible)
|
|
95
|
-
return;
|
|
96
|
-
const timer = setTimeout(() => {
|
|
97
|
-
setSelectionHintVisible(false);
|
|
98
|
-
}, 3000);
|
|
99
|
-
return () => clearTimeout(timer);
|
|
100
|
-
}, [selectionHintVisible]);
|
|
101
|
-
// Get terminal dimensions - updates on resize
|
|
102
|
-
const { rows: terminalHeight, columns: terminalWidth } = useTerminalSize();
|
|
103
|
-
// Build list data: header as first item, then finalized + pending + dequeued buffer
|
|
104
|
-
// In alternate buffer mode, everything is re-rendered anyway, so we combine all
|
|
105
|
-
// Order: finalized messages → pending/streaming → dequeued user messages (guarantees order)
|
|
106
|
-
// IMPORTANT: Deduplicate by ID to prevent race condition where a message appears in both
|
|
107
|
-
// finalized (messages) and pending during the brief window between setState calls
|
|
108
|
-
const listData = useMemo(() => {
|
|
109
|
-
const items = [{ type: 'header' }];
|
|
110
|
-
const seenIds = new Set();
|
|
111
|
-
for (const msg of visibleMessages) {
|
|
112
|
-
items.push({ type: 'message', message: msg });
|
|
113
|
-
seenIds.add(msg.id);
|
|
114
|
-
}
|
|
115
|
-
// Add pending/streaming messages (skip if already in finalized - race condition guard)
|
|
116
|
-
for (const msg of pendingMessages) {
|
|
117
|
-
if (!seenIds.has(msg.id)) {
|
|
118
|
-
items.push({ type: 'message', message: msg });
|
|
119
|
-
seenIds.add(msg.id);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
// Add dequeued buffer (user messages waiting to be flushed to finalized)
|
|
123
|
-
// These render AFTER pending to guarantee correct visual order
|
|
124
|
-
for (const msg of dequeuedBuffer) {
|
|
125
|
-
if (!seenIds.has(msg.id)) {
|
|
126
|
-
items.push({ type: 'message', message: msg });
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return items;
|
|
130
|
-
}, [visibleMessages, pendingMessages, dequeuedBuffer]);
|
|
131
|
-
// Render callback for VirtualizedList items
|
|
132
|
-
const renderListItem = useCallback(({ item }) => {
|
|
133
|
-
if (item.type === 'header') {
|
|
134
|
-
return (_jsx(Header, { modelName: session.modelName, sessionId: session.id || undefined, hasActiveSession: session.hasActiveSession, startupInfo: startupInfo }));
|
|
135
|
-
}
|
|
136
|
-
return _jsx(MessageItem, { message: item.message, terminalWidth: terminalWidth });
|
|
137
|
-
}, [session.modelName, session.id, session.hasActiveSession, startupInfo, terminalWidth]);
|
|
138
|
-
// Smart height estimation based on item type and content
|
|
139
|
-
const estimateItemHeight = useCallback((index) => {
|
|
140
|
-
const item = listData[index];
|
|
141
|
-
if (!item)
|
|
142
|
-
return 3;
|
|
143
|
-
// Header is approximately 10 lines (logo + info)
|
|
144
|
-
if (item.type === 'header') {
|
|
145
|
-
return 10;
|
|
146
|
-
}
|
|
147
|
-
const msg = item.message;
|
|
148
|
-
// Tool messages with results are taller
|
|
149
|
-
if (msg.role === 'tool') {
|
|
150
|
-
if (msg.toolResult) {
|
|
151
|
-
const resultLines = Math.ceil(msg.toolResult.length / 80);
|
|
152
|
-
return Math.min(2 + resultLines, 10);
|
|
153
|
-
}
|
|
154
|
-
return 2;
|
|
155
|
-
}
|
|
156
|
-
// User messages have margin and background
|
|
157
|
-
if (msg.role === 'user') {
|
|
158
|
-
const contentLines = Math.ceil(msg.content.length / 80);
|
|
159
|
-
return Math.max(3, contentLines + 2);
|
|
160
|
-
}
|
|
161
|
-
// Assistant messages
|
|
162
|
-
if (msg.role === 'assistant') {
|
|
163
|
-
if (msg.isStreaming)
|
|
164
|
-
return 5;
|
|
165
|
-
const contentLines = Math.ceil(msg.content.length / 80);
|
|
166
|
-
return Math.max(2, contentLines + 1);
|
|
167
|
-
}
|
|
168
|
-
// System/styled messages
|
|
169
|
-
if (msg.styledType) {
|
|
170
|
-
return 8;
|
|
171
|
-
}
|
|
172
|
-
return 3;
|
|
173
|
-
}, [listData]);
|
|
174
|
-
const getItemKey = useCallback((item) => {
|
|
175
|
-
if (item.type === 'header')
|
|
176
|
-
return 'header';
|
|
177
|
-
return item.message.id;
|
|
178
|
-
}, []);
|
|
179
|
-
return (_jsxs(Box, { flexDirection: "column", height: terminalHeight, children: [_jsx(Box, { ref: listContainerRef, flexGrow: 1, flexShrink: 1, minHeight: 0, children: _jsx(VirtualizedList, { ref: listRef, data: listData, renderItem: renderListItem, estimatedItemHeight: estimateItemHeight, keyExtractor: getItemKey, initialScrollIndex: SCROLL_TO_ITEM_END, initialScrollOffsetInIndex: SCROLL_TO_ITEM_END }) }), _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [_jsx(StatusBar, { agent: agent, isProcessing: ui.isProcessing, isThinking: ui.isThinking, isCompacting: ui.isCompacting, approvalQueueCount: approvalQueue.length, copyModeEnabled: ui.copyModeEnabled, isAwaitingApproval: approval !== null, todoExpanded: ui.todoExpanded, hasTodos: todos.some((t) => t.status !== 'completed'), planModeActive: ui.planModeActive, autoApproveEdits: ui.autoApproveEdits, backgroundTasksRunning: ui.backgroundTasksRunning }), _jsx(BackgroundTasksPanel, { tasks: ui.backgroundTasks, isExpanded: ui.backgroundTasksExpanded, isProcessing: ui.isProcessing }), _jsx(TodoPanel, { todos: todos, isExpanded: ui.todoExpanded, isProcessing: ui.isProcessing }), selectionHintVisible && (_jsx(Box, { paddingX: 1, children: _jsx(Text, { color: "yellowBright", children: "\uD83D\uDCA1 Tip: Hold Option (\u2325) and click to select text, or press Ctrl+S to toggle copy mode" }) })), _jsx(QueuedMessagesDisplay, { messages: queuedMessages }), _jsx(InputContainer, { ref: inputContainerRef, buffer: buffer, input: input, ui: ui, session: session, initialPrompt: initialPrompt, approval: approval, queuedMessages: queuedMessages, setInput: setInput, setUi: setUi, setSession: setSession, setMessages: setMessages, setPendingMessages: setPendingMessages, setDequeuedBuffer: setDequeuedBuffer, setQueuedMessages: setQueuedMessages, setApproval: setApproval, setApprovalQueue: setApprovalQueue, setTodos: setTodos, agent: agent, inputService: inputService, onKeyboardScroll: handleKeyboardScroll, useStreaming: useStreaming, configFilePath: configFilePath }), _jsx(OverlayContainer, { ref: overlayContainerRef, ui: ui, input: input, session: session, approval: approval, setInput: setInput, setUi: setUi, setSession: setSession, setMessages: setMessages, setApproval: setApproval, setApprovalQueue: setApprovalQueue, agent: agent, inputService: inputService, buffer: buffer, onSubmitPromptCommand: handleSubmitPromptCommand, configFilePath: configFilePath }), ui.exitWarningShown && (_jsxs(Box, { paddingX: 1, children: [_jsx(Text, { color: "yellowBright", bold: true, children: "\u26A0 Press Ctrl+C again to exit" }), _jsx(Text, { color: "gray", children: " (or press any key to cancel)" })] })), _jsx(Footer, { agent: agent, sessionId: session.id, modelName: session.modelName, cwd: process.cwd(), ...(branchName ? { branchName } : {}), autoApproveEdits: ui.autoApproveEdits, planModeActive: ui.planModeActive, isShellMode: buffer.text.startsWith('!') }), ui.historySearch.isActive && (_jsx(HistorySearchBar, { query: ui.historySearch.query, hasMatch: historySearchHasMatch }))] })] }));
|
|
180
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* StaticCLI - Static pattern rendering mode
|
|
3
|
-
*
|
|
4
|
-
* Uses Ink's Static component for copy-friendly terminal output.
|
|
5
|
-
* Features:
|
|
6
|
-
* - Static component for finalized messages (rendered to terminal scrollback)
|
|
7
|
-
* - Native terminal scrolling and text selection
|
|
8
|
-
* - No mouse event interception
|
|
9
|
-
* - Simpler, more compatible with traditional terminal workflows
|
|
10
|
-
*
|
|
11
|
-
* Architecture:
|
|
12
|
-
* - `messages` = finalized messages → rendered in <Static> (permanent output)
|
|
13
|
-
* - `pendingMessages` = streaming/in-progress → rendered dynamically (redrawn)
|
|
14
|
-
* This prevents duplicate output when streaming completes.
|
|
15
|
-
*/
|
|
16
|
-
import type { DextoAgent } from '@dexto/core';
|
|
17
|
-
import type { StartupInfo } from '../../state/types.js';
|
|
18
|
-
interface StaticCLIProps {
|
|
19
|
-
agent: DextoAgent;
|
|
20
|
-
initialSessionId: string | null;
|
|
21
|
-
initialPrompt?: string | undefined;
|
|
22
|
-
startupInfo: StartupInfo;
|
|
23
|
-
configFilePath: string | null;
|
|
24
|
-
/** Whether to stream chunks or wait for complete response */
|
|
25
|
-
useStreaming?: boolean;
|
|
26
|
-
}
|
|
27
|
-
export declare function StaticCLI({ agent, initialSessionId, initialPrompt, startupInfo, configFilePath, useStreaming, }: StaticCLIProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
-
export {};
|
|
29
|
-
//# sourceMappingURL=StaticCLI.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StaticCLI.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ink-cli/components/modes/StaticCLI.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAqBxD,UAAU,cAAc;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,SAAS,CAAC,EACtB,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAmB,GACtB,EAAE,cAAc,2CAsPhB"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* StaticCLI - Static pattern rendering mode
|
|
4
|
-
*
|
|
5
|
-
* Uses Ink's Static component for copy-friendly terminal output.
|
|
6
|
-
* Features:
|
|
7
|
-
* - Static component for finalized messages (rendered to terminal scrollback)
|
|
8
|
-
* - Native terminal scrolling and text selection
|
|
9
|
-
* - No mouse event interception
|
|
10
|
-
* - Simpler, more compatible with traditional terminal workflows
|
|
11
|
-
*
|
|
12
|
-
* Architecture:
|
|
13
|
-
* - `messages` = finalized messages → rendered in <Static> (permanent output)
|
|
14
|
-
* - `pendingMessages` = streaming/in-progress → rendered dynamically (redrawn)
|
|
15
|
-
* This prevents duplicate output when streaming completes.
|
|
16
|
-
*/
|
|
17
|
-
import { useMemo, useState, useEffect, useRef, useCallback } from 'react';
|
|
18
|
-
import { Box, Static, Text, useStdout } from 'ink';
|
|
19
|
-
// ANSI escape sequence to clear terminal (equivalent to ansiEscapes.clearTerminal)
|
|
20
|
-
const CLEAR_TERMINAL = '\x1B[2J\x1B[3J\x1B[H';
|
|
21
|
-
// Hooks
|
|
22
|
-
import { useCLIState } from '../../hooks/useCLIState.js';
|
|
23
|
-
import { useTerminalSize } from '../../hooks/useTerminalSize.js';
|
|
24
|
-
import { useGitBranch } from '../../hooks/useGitBranch.js';
|
|
25
|
-
// Components
|
|
26
|
-
import { Header } from '../chat/Header.js';
|
|
27
|
-
import { MessageItem } from '../chat/MessageItem.js';
|
|
28
|
-
import { QueuedMessagesDisplay } from '../chat/QueuedMessagesDisplay.js';
|
|
29
|
-
import { StatusBar } from '../StatusBar.js';
|
|
30
|
-
import { HistorySearchBar } from '../HistorySearchBar.js';
|
|
31
|
-
import { Footer } from '../Footer.js';
|
|
32
|
-
import { TodoPanel } from '../TodoPanel.js';
|
|
33
|
-
import { BackgroundTasksPanel } from '../BackgroundTasksPanel.js';
|
|
34
|
-
// Containers
|
|
35
|
-
import { InputContainer } from '../../containers/InputContainer.js';
|
|
36
|
-
import { OverlayContainer } from '../../containers/OverlayContainer.js';
|
|
37
|
-
export function StaticCLI({ agent, initialSessionId, initialPrompt, startupInfo, configFilePath, useStreaming = true, }) {
|
|
38
|
-
// Use shared CLI state (no keyboard scroll in Static mode)
|
|
39
|
-
const { messages, setMessages, pendingMessages, setPendingMessages, dequeuedBuffer, setDequeuedBuffer, queuedMessages, setQueuedMessages, todos, setTodos, ui, setUi, input, setInput, session, setSession, approval, setApproval, approvalQueue, setApprovalQueue, inputService, buffer, overlayContainerRef, visibleMessages, } = useCLIState({
|
|
40
|
-
agent,
|
|
41
|
-
initialSessionId,
|
|
42
|
-
startupInfo,
|
|
43
|
-
// No keyboard scroll handler - let terminal handle scrollback
|
|
44
|
-
});
|
|
45
|
-
// Get current git branch name
|
|
46
|
-
const branchName = useGitBranch();
|
|
47
|
-
// Terminal resize handling - clear and re-render Static content
|
|
48
|
-
const { write: stdoutWrite } = useStdout();
|
|
49
|
-
const { columns: terminalWidth } = useTerminalSize();
|
|
50
|
-
const [staticRemountKey, setStaticRemountKey] = useState(0);
|
|
51
|
-
const isInitialMount = useRef(true);
|
|
52
|
-
// Ref to InputContainer for programmatic submit
|
|
53
|
-
const inputContainerRef = useRef(null);
|
|
54
|
-
// Compute whether history search has a match (for HistorySearchBar indicator)
|
|
55
|
-
const historySearchHasMatch = useMemo(() => {
|
|
56
|
-
if (!ui.historySearch.isActive || !ui.historySearch.query)
|
|
57
|
-
return false;
|
|
58
|
-
const query = ui.historySearch.query.toLowerCase();
|
|
59
|
-
return input.history.some((item) => item.toLowerCase().includes(query));
|
|
60
|
-
}, [ui.historySearch.isActive, ui.historySearch.query, input.history]);
|
|
61
|
-
// Callback for OverlayContainer to submit prompt commands through InputContainer
|
|
62
|
-
const handleSubmitPromptCommand = useCallback(async (commandText) => {
|
|
63
|
-
try {
|
|
64
|
-
await inputContainerRef.current?.submit(commandText);
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
agent.logger.error(`StaticCLI.handleSubmitPromptCommand failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
68
|
-
}
|
|
69
|
-
}, [agent]);
|
|
70
|
-
// Function to refresh static content (clear terminal and force re-render)
|
|
71
|
-
const refreshStatic = useCallback(() => {
|
|
72
|
-
stdoutWrite(CLEAR_TERMINAL);
|
|
73
|
-
setStaticRemountKey((prev) => prev + 1);
|
|
74
|
-
}, [stdoutWrite]);
|
|
75
|
-
// Handle terminal resize - debounced refresh of static content
|
|
76
|
-
useEffect(() => {
|
|
77
|
-
// Skip initial mount to avoid unnecessary clear on startup
|
|
78
|
-
if (isInitialMount.current) {
|
|
79
|
-
isInitialMount.current = false;
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
// Debounce resize handling (300ms)
|
|
83
|
-
const handler = setTimeout(() => {
|
|
84
|
-
refreshStatic();
|
|
85
|
-
}, 300);
|
|
86
|
-
return () => {
|
|
87
|
-
clearTimeout(handler);
|
|
88
|
-
};
|
|
89
|
-
}, [terminalWidth, refreshStatic]);
|
|
90
|
-
// Pre-render static items as JSX elements (Gemini pattern)
|
|
91
|
-
// Header + finalized messages go in <Static> (rendered once, permanent)
|
|
92
|
-
const staticItems = useMemo(() => {
|
|
93
|
-
const items = [
|
|
94
|
-
_jsx(Header, { modelName: session.modelName, sessionId: session.id || undefined, hasActiveSession: session.hasActiveSession, startupInfo: startupInfo }, "header"),
|
|
95
|
-
...visibleMessages.map((msg) => (_jsx(MessageItem, { message: msg, terminalWidth: terminalWidth }, msg.id))),
|
|
96
|
-
];
|
|
97
|
-
return items;
|
|
98
|
-
}, [
|
|
99
|
-
visibleMessages,
|
|
100
|
-
session.modelName,
|
|
101
|
-
session.id,
|
|
102
|
-
session.hasActiveSession,
|
|
103
|
-
startupInfo,
|
|
104
|
-
terminalWidth,
|
|
105
|
-
]);
|
|
106
|
-
return (_jsxs(Box, { flexDirection: "column", width: terminalWidth, children: [_jsx(Static, { items: staticItems, children: (item) => item }, staticRemountKey), pendingMessages.map((message) => (_jsx(MessageItem, { message: message, terminalWidth: terminalWidth }, message.id))), dequeuedBuffer.map((message) => (_jsx(MessageItem, { message: message, terminalWidth: terminalWidth }, message.id))), _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [_jsx(StatusBar, { agent: agent, isProcessing: ui.isProcessing, isThinking: ui.isThinking, isCompacting: ui.isCompacting, approvalQueueCount: approvalQueue.length, copyModeEnabled: ui.copyModeEnabled, isAwaitingApproval: approval !== null, todoExpanded: ui.todoExpanded, hasTodos: todos.some((t) => t.status !== 'completed'), planModeActive: ui.planModeActive, autoApproveEdits: ui.autoApproveEdits, backgroundTasksRunning: ui.backgroundTasksRunning }), _jsx(BackgroundTasksPanel, { tasks: ui.backgroundTasks, isExpanded: ui.backgroundTasksExpanded, isProcessing: ui.isProcessing }), _jsx(TodoPanel, { todos: todos, isExpanded: ui.todoExpanded, isProcessing: ui.isProcessing }), _jsx(QueuedMessagesDisplay, { messages: queuedMessages }), _jsx(InputContainer, { ref: inputContainerRef, buffer: buffer, input: input, ui: ui, session: session, initialPrompt: initialPrompt, approval: approval, queuedMessages: queuedMessages, setInput: setInput, setUi: setUi, setSession: setSession, setMessages: setMessages, setPendingMessages: setPendingMessages, setDequeuedBuffer: setDequeuedBuffer, setQueuedMessages: setQueuedMessages, setApproval: setApproval, setApprovalQueue: setApprovalQueue, setTodos: setTodos, agent: agent, inputService: inputService, useStreaming: useStreaming, configFilePath: configFilePath }), _jsx(OverlayContainer, { ref: overlayContainerRef, ui: ui, input: input, session: session, approval: approval, setInput: setInput, setUi: setUi, setSession: setSession, setMessages: setMessages, setApproval: setApproval, setApprovalQueue: setApprovalQueue, agent: agent, inputService: inputService, buffer: buffer, refreshStatic: refreshStatic, onSubmitPromptCommand: handleSubmitPromptCommand, configFilePath: configFilePath }), ui.exitWarningShown && (_jsxs(Box, { paddingX: 1, children: [_jsx(Text, { color: "yellowBright", bold: true, children: "\u26A0 Press Ctrl+C again to exit" }), _jsx(Text, { color: "gray", children: " (or press any key to cancel)" })] })), _jsx(Footer, { agent: agent, sessionId: session.id, modelName: session.modelName, cwd: process.cwd(), ...(branchName ? { branchName } : {}), autoApproveEdits: ui.autoApproveEdits, planModeActive: ui.planModeActive, isShellMode: buffer.text.startsWith('!') }), ui.historySearch.isActive && (_jsx(HistorySearchBar, { query: ui.historySearch.query, hasMatch: historySearchHasMatch }))] })] }));
|
|
107
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Rendering Modes
|
|
3
|
-
*
|
|
4
|
-
* Two rendering modes are available:
|
|
5
|
-
* - AlternateBufferCLI: VirtualizedList with mouse scroll, keyboard scroll, copy mode
|
|
6
|
-
* - StaticCLI: Static pattern with native terminal scrollback and selection
|
|
7
|
-
*/
|
|
8
|
-
export { AlternateBufferCLI } from './AlternateBufferCLI.js';
|
|
9
|
-
export { StaticCLI } from './StaticCLI.js';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ink-cli/components/modes/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Rendering Modes
|
|
3
|
-
*
|
|
4
|
-
* Two rendering modes are available:
|
|
5
|
-
* - AlternateBufferCLI: VirtualizedList with mouse scroll, keyboard scroll, copy mode
|
|
6
|
-
* - StaticCLI: Static pattern with native terminal scrollback and selection
|
|
7
|
-
*/
|
|
8
|
-
export { AlternateBufferCLI } from './AlternateBufferCLI.js';
|
|
9
|
-
export { StaticCLI } from './StaticCLI.js';
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ApiKeyInput Component
|
|
3
|
-
* Interactive overlay for entering API keys when switching to a provider without one
|
|
4
|
-
*/
|
|
5
|
-
import React from 'react';
|
|
6
|
-
import type { Key } from '../../hooks/useInputOrchestrator.js';
|
|
7
|
-
import type { LLMProvider } from '@dexto/core';
|
|
8
|
-
export interface ApiKeyInputProps {
|
|
9
|
-
isVisible: boolean;
|
|
10
|
-
provider: LLMProvider;
|
|
11
|
-
onSaved: (meta: {
|
|
12
|
-
provider: LLMProvider;
|
|
13
|
-
envVar: string;
|
|
14
|
-
}) => void;
|
|
15
|
-
onClose: () => void;
|
|
16
|
-
}
|
|
17
|
-
export interface ApiKeyInputHandle {
|
|
18
|
-
handleInput: (input: string, key: Key) => boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* API key input overlay - prompts user for API key when switching to a provider
|
|
22
|
-
* that doesn't have a configured key
|
|
23
|
-
*/
|
|
24
|
-
declare const ApiKeyInput: React.ForwardRefExoticComponent<ApiKeyInputProps & React.RefAttributes<ApiKeyInputHandle>>;
|
|
25
|
-
export default ApiKeyInput;
|
|
26
|
-
//# sourceMappingURL=ApiKeyInput.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiKeyInput.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ink-cli/components/overlays/ApiKeyInput.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA4E,MAAM,OAAO,CAAC;AAEjG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACrD;AAED;;;GAGG;AACH,QAAA,MAAM,WAAW,4FA+Jf,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* ApiKeyInput Component
|
|
4
|
-
* Interactive overlay for entering API keys when switching to a provider without one
|
|
5
|
-
*/
|
|
6
|
-
import { useState, useEffect, forwardRef, useImperativeHandle, useCallback } from 'react';
|
|
7
|
-
import { Box, Text } from 'ink';
|
|
8
|
-
import { getPrimaryApiKeyEnvVar, saveProviderApiKey } from '@dexto/agent-management';
|
|
9
|
-
import { applyLayeredEnvironmentLoading } from '../../../../utils/env.js';
|
|
10
|
-
import { getProviderDisplayName, isValidApiKeyFormat, getProviderInstructions, } from '../../../utils/provider-setup.js';
|
|
11
|
-
/**
|
|
12
|
-
* API key input overlay - prompts user for API key when switching to a provider
|
|
13
|
-
* that doesn't have a configured key
|
|
14
|
-
*/
|
|
15
|
-
const ApiKeyInput = forwardRef(function ApiKeyInput({ isVisible, provider, onSaved, onClose }, ref) {
|
|
16
|
-
const [apiKey, setApiKey] = useState('');
|
|
17
|
-
const [error, setError] = useState(null);
|
|
18
|
-
const [isSaving, setIsSaving] = useState(false);
|
|
19
|
-
// Reset when becoming visible or provider changes
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
if (isVisible) {
|
|
22
|
-
setApiKey('');
|
|
23
|
-
setError(null);
|
|
24
|
-
setIsSaving(false);
|
|
25
|
-
}
|
|
26
|
-
}, [isVisible, provider]);
|
|
27
|
-
const handleSubmit = useCallback(async () => {
|
|
28
|
-
const trimmedKey = apiKey.trim();
|
|
29
|
-
// Validate
|
|
30
|
-
if (!trimmedKey) {
|
|
31
|
-
setError('API key is required');
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
if (!isValidApiKeyFormat(trimmedKey, provider)) {
|
|
35
|
-
setError(`Invalid ${getProviderDisplayName(provider)} API key format`);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
setError(null);
|
|
39
|
-
setIsSaving(true);
|
|
40
|
-
try {
|
|
41
|
-
const meta = await saveProviderApiKey(provider, trimmedKey, process.cwd());
|
|
42
|
-
// Reload environment variables so the key is available
|
|
43
|
-
await applyLayeredEnvironmentLoading();
|
|
44
|
-
onSaved({ provider, envVar: meta.envVar });
|
|
45
|
-
}
|
|
46
|
-
catch (err) {
|
|
47
|
-
setError(`Failed to save: ${err instanceof Error ? err.message : String(err)}`);
|
|
48
|
-
setIsSaving(false);
|
|
49
|
-
}
|
|
50
|
-
}, [apiKey, provider, onSaved]);
|
|
51
|
-
// Handle keyboard input
|
|
52
|
-
useImperativeHandle(ref, () => ({
|
|
53
|
-
handleInput: (input, key) => {
|
|
54
|
-
if (!isVisible || isSaving)
|
|
55
|
-
return false;
|
|
56
|
-
// Escape to close
|
|
57
|
-
if (key.escape) {
|
|
58
|
-
onClose();
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
// Enter to submit
|
|
62
|
-
if (key.return) {
|
|
63
|
-
void handleSubmit();
|
|
64
|
-
return true;
|
|
65
|
-
}
|
|
66
|
-
// Backspace
|
|
67
|
-
if (key.backspace || key.delete) {
|
|
68
|
-
setApiKey((prev) => prev.slice(0, -1));
|
|
69
|
-
setError(null);
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
// Regular character input
|
|
73
|
-
if (input && !key.ctrl && !key.meta) {
|
|
74
|
-
setApiKey((prev) => prev + input);
|
|
75
|
-
setError(null);
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
return false;
|
|
79
|
-
},
|
|
80
|
-
}), [isVisible, isSaving, onClose, handleSubmit]);
|
|
81
|
-
if (!isVisible)
|
|
82
|
-
return null;
|
|
83
|
-
const providerName = getProviderDisplayName(provider);
|
|
84
|
-
const envVar = getPrimaryApiKeyEnvVar(provider);
|
|
85
|
-
const instructions = getProviderInstructions(provider);
|
|
86
|
-
// Mask the API key for display (show first 4 and last 4 chars)
|
|
87
|
-
const maskedKey = apiKey.length > 8
|
|
88
|
-
? `${apiKey.slice(0, 4)}${'*'.repeat(Math.min(apiKey.length - 8, 20))}${apiKey.slice(-4)}`
|
|
89
|
-
: '*'.repeat(apiKey.length);
|
|
90
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, marginTop: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { bold: true, color: "cyan", children: ["API Key Required for ", providerName] }) }), instructions && (_jsx(Box, { flexDirection: "column", marginBottom: 1, children: _jsx(Text, { color: "gray", children: instructions.content }) })), _jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: "gray", children: "This key will be saved to " }), _jsx(Text, { color: "yellowBright", children: envVar }), _jsx(Text, { color: "gray", children: " in your .env file" })] }), _jsx(Box, { flexDirection: "column", children: _jsxs(Text, { bold: true, children: ["Enter your ", providerName, " API key:"] }) }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "> " }), _jsx(Text, { children: maskedKey }), !isSaving && _jsx(Text, { color: "cyan", children: "_" })] }), isSaving && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "yellowBright", children: "Saving API key..." }) })), error && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "red", children: error }) })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "Enter to save \u2022 Esc to cancel" }) })] }));
|
|
91
|
-
});
|
|
92
|
-
export default ApiKeyInput;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ContextStatsOverlay Component
|
|
3
|
-
* Interactive overlay for viewing context window usage statistics
|
|
4
|
-
* Features:
|
|
5
|
-
* - Stacked colored progress bar showing breakdown
|
|
6
|
-
* - Navigate with arrow keys to highlight items
|
|
7
|
-
* - Press Enter to expand/collapse sections (e.g., Tools)
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import type { Key } from '../../hooks/useInputOrchestrator.js';
|
|
11
|
-
import type { DextoAgent } from '@dexto/core';
|
|
12
|
-
interface ContextStatsOverlayProps {
|
|
13
|
-
isVisible: boolean;
|
|
14
|
-
onClose: () => void;
|
|
15
|
-
agent: DextoAgent;
|
|
16
|
-
sessionId: string;
|
|
17
|
-
}
|
|
18
|
-
export interface ContextStatsOverlayHandle {
|
|
19
|
-
handleInput: (input: string, key: Key) => boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Context stats overlay with selectable breakdown items
|
|
23
|
-
*/
|
|
24
|
-
declare const ContextStatsOverlay: React.ForwardRefExoticComponent<ContextStatsOverlayProps & React.RefAttributes<ContextStatsOverlayHandle>>;
|
|
25
|
-
export default ContextStatsOverlay;
|
|
26
|
-
//# sourceMappingURL=ContextStatsOverlay.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContextStatsOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/cli/ink-cli/components/overlays/ContextStatsOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAA+D,MAAM,OAAO,CAAC;AAEpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,UAAU,wBAAwB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACtC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACrD;AA6JD;;GAEG;AACH,QAAA,MAAM,mBAAmB,4GAoWxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|