@vybestack/llxprt-code 0.2.25 → 0.3.4-nightly.250912.86a20bc3
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/index.d.ts +5 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/package.json +3 -5
- package/dist/src/auth/anthropic-oauth-provider.d.ts +5 -0
- package/dist/src/auth/anthropic-oauth-provider.js +3 -1
- package/dist/src/auth/anthropic-oauth-provider.js.map +1 -1
- package/dist/src/auth/gemini-oauth-provider.d.ts +5 -0
- package/dist/src/auth/gemini-oauth-provider.js +3 -4
- package/dist/src/auth/gemini-oauth-provider.js.map +1 -1
- package/dist/src/auth/qwen-oauth-provider.d.ts +5 -0
- package/dist/src/auth/qwen-oauth-provider.js +3 -2
- package/dist/src/auth/qwen-oauth-provider.js.map +1 -1
- package/dist/src/commands/extensions/disable.d.ts +14 -0
- package/dist/src/commands/extensions/disable.js +40 -0
- package/dist/src/commands/extensions/disable.js.map +1 -0
- package/dist/src/commands/extensions/enable.d.ts +14 -0
- package/dist/src/commands/extensions/enable.js +47 -0
- package/dist/src/commands/extensions/enable.js.map +1 -0
- package/dist/src/commands/extensions/install.d.ts +13 -0
- package/dist/src/commands/extensions/install.js +47 -0
- package/dist/src/commands/extensions/install.js.map +1 -0
- package/dist/src/commands/extensions/install.test.d.ts +6 -0
- package/dist/src/commands/extensions/install.test.js +19 -0
- package/dist/src/commands/extensions/install.test.js.map +1 -0
- package/dist/src/commands/extensions/list.d.ts +8 -0
- package/dist/src/commands/extensions/list.js +31 -0
- package/dist/src/commands/extensions/list.js.map +1 -0
- package/dist/src/commands/extensions/uninstall.d.ts +12 -0
- package/dist/src/commands/extensions/uninstall.js +37 -0
- package/dist/src/commands/extensions/uninstall.js.map +1 -0
- package/dist/src/commands/extensions/uninstall.test.d.ts +6 -0
- package/dist/src/commands/extensions/uninstall.test.js +15 -0
- package/dist/src/commands/extensions/uninstall.test.js.map +1 -0
- package/dist/src/commands/extensions/update.d.ts +12 -0
- package/dist/src/commands/extensions/update.js +37 -0
- package/dist/src/commands/extensions/update.js.map +1 -0
- package/dist/src/commands/extensions.d.ts +7 -0
- package/dist/src/commands/extensions.js +29 -0
- package/dist/src/commands/extensions.js.map +1 -0
- package/dist/src/commands/mcp/add.d.ts +1 -1
- package/dist/src/commands/mcp/add.js +1 -1
- package/dist/src/commands/mcp/list.d.ts +1 -1
- package/dist/src/commands/mcp/list.js +1 -1
- package/dist/src/commands/mcp/remove.d.ts +1 -1
- package/dist/src/commands/mcp/remove.js +1 -1
- package/dist/src/commands/mcp.d.ts +1 -1
- package/dist/src/commands/mcp.js +1 -1
- package/dist/src/config/auth.d.ts +1 -1
- package/dist/src/config/auth.js +1 -1
- package/dist/src/config/auth.test.d.ts +1 -1
- package/dist/src/config/auth.test.js +1 -1
- package/dist/src/config/config.d.ts +4 -4
- package/dist/src/config/config.js +39 -24
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/extension.d.ts +33 -2
- package/dist/src/config/extension.js +256 -10
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/extensions/variableSchema.d.ts +28 -0
- package/dist/src/config/extensions/variableSchema.js +18 -0
- package/dist/src/config/extensions/variableSchema.js.map +1 -0
- package/dist/src/config/extensions/variables.d.ts +17 -0
- package/dist/src/config/extensions/variables.js +40 -0
- package/dist/src/config/extensions/variables.js.map +1 -0
- package/dist/src/config/extensions/variables.test.d.ts +6 -0
- package/dist/src/config/extensions/variables.test.js +17 -0
- package/dist/src/config/extensions/variables.test.js.map +1 -0
- package/dist/src/config/keyBindings.d.ts +1 -1
- package/dist/src/config/keyBindings.js +1 -1
- package/dist/src/config/keyBindings.test.d.ts +1 -1
- package/dist/src/config/keyBindings.test.js +1 -1
- package/dist/src/config/sandboxConfig.d.ts +2 -2
- package/dist/src/config/sandboxConfig.js +5 -7
- package/dist/src/config/sandboxConfig.js.map +1 -1
- package/dist/src/config/settings.d.ts +9 -5
- package/dist/src/config/settings.js +89 -21
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +94 -2
- package/dist/src/config/settingsSchema.js +94 -2
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.d.ts +1 -1
- package/dist/src/config/settingsSchema.test.js +12 -1
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/config/trustedFolders.d.ts +1 -1
- package/dist/src/config/trustedFolders.js +1 -1
- package/dist/src/config/trustedFolders.test.d.ts +1 -1
- package/dist/src/config/trustedFolders.test.js +1 -1
- package/dist/src/gemini.d.ts +4 -2
- package/dist/src/gemini.js +84 -59
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.d.ts +1 -1
- package/dist/src/gemini.test.js +75 -24
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/integration-tests/retry-settings.integration.test.d.ts +1 -1
- package/dist/src/integration-tests/retry-settings.integration.test.js +1 -1
- package/dist/src/nonInteractiveCli.d.ts +1 -1
- package/dist/src/nonInteractiveCli.js +20 -37
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/patches/is-in-ci.d.ts +1 -1
- package/dist/src/patches/is-in-ci.js +1 -1
- package/dist/src/providers/providerConfigUtils.d.ts +1 -1
- package/dist/src/providers/providerConfigUtils.js +1 -1
- package/dist/src/providers/providerManagerInstance.js +3 -1
- package/dist/src/providers/providerManagerInstance.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.d.ts +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.d.ts +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +1 -1
- package/dist/src/services/CommandService.d.ts +1 -1
- package/dist/src/services/CommandService.js +1 -1
- package/dist/src/services/CommandService.test.d.ts +1 -1
- package/dist/src/services/CommandService.test.js +1 -1
- package/dist/src/services/FileCommandLoader.d.ts +1 -1
- package/dist/src/services/FileCommandLoader.js +5 -4
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.d.ts +12 -2
- package/dist/src/services/McpPromptLoader.js +43 -17
- package/dist/src/services/McpPromptLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.test.d.ts +6 -0
- package/dist/src/services/McpPromptLoader.test.js +114 -0
- package/dist/src/services/McpPromptLoader.test.js.map +1 -0
- package/dist/src/services/prompt-processors/argumentProcessor.d.ts +1 -1
- package/dist/src/services/prompt-processors/argumentProcessor.js +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.d.ts +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.js +1 -1
- package/dist/src/services/prompt-processors/types.d.ts +1 -1
- package/dist/src/services/prompt-processors/types.js +1 -1
- package/dist/src/services/types.d.ts +1 -1
- package/dist/src/services/types.js +1 -1
- package/dist/src/test-utils/customMatchers.d.ts +1 -1
- package/dist/src/test-utils/customMatchers.js +1 -1
- package/dist/src/test-utils/mockCommandContext.d.ts +1 -1
- package/dist/src/test-utils/mockCommandContext.js +1 -1
- package/dist/src/test-utils/mockCommandContext.test.d.ts +1 -1
- package/dist/src/test-utils/mockCommandContext.test.js +1 -1
- package/dist/src/test-utils/render.d.ts +1 -1
- package/dist/src/test-utils/render.js +1 -1
- package/dist/src/test-utils/responsive-testing.d.ts +1 -1
- package/dist/src/test-utils/responsive-testing.js +1 -1
- package/dist/src/test-utils/responsive-testing.test.d.ts +1 -1
- package/dist/src/test-utils/responsive-testing.test.js +1 -1
- package/dist/src/ui/App.d.ts +1 -1
- package/dist/src/ui/App.e2e.test.d.ts +2 -2
- package/dist/src/ui/App.e2e.test.js +2 -2
- package/dist/src/ui/App.js +60 -24
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.d.ts +0 -1
- package/dist/src/ui/IdeIntegrationNudge.js +1 -2
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
- package/dist/src/ui/colors.d.ts +33 -1
- package/dist/src/ui/colors.js +65 -1
- package/dist/src/ui/colors.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.d.ts +1 -1
- package/dist/src/ui/commands/aboutCommand.js +1 -1
- package/dist/src/ui/commands/authCommand.d.ts +6 -1
- package/dist/src/ui/commands/authCommand.js +30 -1
- package/dist/src/ui/commands/authCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.d.ts +1 -1
- package/dist/src/ui/commands/bugCommand.js +1 -1
- package/dist/src/ui/commands/chatCommand.d.ts +1 -1
- package/dist/src/ui/commands/chatCommand.js +21 -4
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.d.ts +1 -1
- package/dist/src/ui/commands/clearCommand.js +1 -1
- package/dist/src/ui/commands/compressCommand.d.ts +1 -1
- package/dist/src/ui/commands/compressCommand.js +3 -1
- package/dist/src/ui/commands/compressCommand.js.map +1 -1
- package/dist/src/ui/commands/copyCommand.d.ts +1 -1
- package/dist/src/ui/commands/copyCommand.js +2 -2
- package/dist/src/ui/commands/copyCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.d.ts +1 -1
- package/dist/src/ui/commands/directoryCommand.js +1 -1
- package/dist/src/ui/commands/docsCommand.d.ts +1 -1
- package/dist/src/ui/commands/docsCommand.js +1 -1
- package/dist/src/ui/commands/editorCommand.d.ts +1 -1
- package/dist/src/ui/commands/editorCommand.js +1 -1
- package/dist/src/ui/commands/extensionsCommand.d.ts +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +1 -1
- package/dist/src/ui/commands/helpCommand.d.ts +1 -1
- package/dist/src/ui/commands/helpCommand.js +1 -1
- package/dist/src/ui/commands/ideCommand.d.ts +1 -1
- package/dist/src/ui/commands/ideCommand.js +2 -2
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/initCommand.d.ts +1 -1
- package/dist/src/ui/commands/initCommand.js +1 -1
- package/dist/src/ui/commands/mcpCommand.d.ts +1 -1
- package/dist/src/ui/commands/mcpCommand.js +5 -2
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.d.ts +1 -1
- package/dist/src/ui/commands/memoryCommand.js +1 -1
- package/dist/src/ui/commands/privacyCommand.d.ts +1 -1
- package/dist/src/ui/commands/privacyCommand.js +1 -1
- package/dist/src/ui/commands/providerCommand.js +1 -1
- package/dist/src/ui/commands/providerCommand.js.map +1 -1
- package/dist/src/ui/commands/quitCommand.d.ts +1 -1
- package/dist/src/ui/commands/quitCommand.js +1 -1
- package/dist/src/ui/commands/restoreCommand.d.ts +1 -1
- package/dist/src/ui/commands/restoreCommand.js +3 -7
- package/dist/src/ui/commands/restoreCommand.js.map +1 -1
- package/dist/src/ui/commands/settingsCommand.d.ts +1 -1
- package/dist/src/ui/commands/settingsCommand.js +1 -1
- package/dist/src/ui/commands/setupGithubCommand.d.ts +1 -1
- package/dist/src/ui/commands/setupGithubCommand.js +1 -1
- package/dist/src/ui/commands/setupGithubCommand.test.d.ts +1 -1
- package/dist/src/ui/commands/setupGithubCommand.test.js +1 -1
- package/dist/src/ui/commands/statsCommand.d.ts +1 -1
- package/dist/src/ui/commands/statsCommand.js +1 -1
- package/dist/src/ui/commands/terminalSetupCommand.d.ts +1 -1
- package/dist/src/ui/commands/terminalSetupCommand.js +1 -1
- package/dist/src/ui/commands/themeCommand.d.ts +1 -1
- package/dist/src/ui/commands/themeCommand.js +1 -1
- package/dist/src/ui/commands/toolformatCommand.test.d.ts +5 -0
- package/dist/src/ui/commands/toolformatCommand.test.js.map +1 -1
- package/dist/src/ui/commands/toolsCommand.d.ts +1 -1
- package/dist/src/ui/commands/toolsCommand.js +13 -43
- package/dist/src/ui/commands/toolsCommand.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +1 -1
- package/dist/src/ui/commands/types.js +1 -1
- package/dist/src/ui/commands/vimCommand.d.ts +1 -1
- package/dist/src/ui/commands/vimCommand.js +1 -1
- package/dist/src/ui/components/AboutBox.d.ts +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +1 -1
- package/dist/src/ui/components/AsciiArt.js +1 -1
- package/dist/src/ui/components/AuthDialog.d.ts +1 -1
- package/dist/src/ui/components/AuthDialog.js +1 -1
- package/dist/src/ui/components/AuthDialog.test.d.ts +1 -1
- package/dist/src/ui/components/AuthDialog.test.js +41 -11
- package/dist/src/ui/components/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/components/AuthInProgress.d.ts +1 -1
- package/dist/src/ui/components/AuthInProgress.js +1 -1
- package/dist/src/ui/components/AutoAcceptIndicator.d.ts +1 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +1 -1
- package/dist/src/ui/components/ContextIndicator.ui.test.d.ts +5 -0
- package/dist/src/ui/components/ContextIndicator.ui.test.js +5 -0
- package/dist/src/ui/components/ContextIndicator.ui.test.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.js +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.semantic.test.d.ts +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.semantic.test.js +1 -1
- package/dist/src/ui/components/DebugProfiler.d.ts +1 -1
- package/dist/src/ui/components/DebugProfiler.js +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.d.ts +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.js +1 -1
- package/dist/src/ui/components/ErrorBoundary.d.ts +1 -1
- package/dist/src/ui/components/ErrorBoundary.js +1 -1
- package/dist/src/ui/components/FolderTrustDialog.d.ts +2 -1
- package/dist/src/ui/components/FolderTrustDialog.js +10 -4
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.d.ts +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +41 -4
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.d.ts +1 -1
- package/dist/src/ui/components/Footer.js +1 -1
- package/dist/src/ui/components/Footer.responsive.test.d.ts +1 -1
- package/dist/src/ui/components/Footer.responsive.test.js +1 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +1 -1
- package/dist/src/ui/components/Header.d.ts +1 -1
- package/dist/src/ui/components/Help.d.ts +1 -1
- package/dist/src/ui/components/Help.js +1 -1
- package/dist/src/ui/components/Help.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.d.ts +2 -2
- package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.js +3 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.d.ts +1 -1
- package/dist/src/ui/components/InputPrompt.js +150 -66
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.paste.test.d.ts +1 -1
- package/dist/src/ui/components/InputPrompt.paste.test.js +37 -12
- package/dist/src/ui/components/InputPrompt.paste.test.js.map +1 -1
- package/dist/src/ui/components/LayoutManager.d.ts +1 -1
- package/dist/src/ui/components/LayoutManager.js +1 -1
- package/dist/src/ui/components/LoadingIndicator.d.ts +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.d.ts +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.js +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.d.ts +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.js +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.semantic.test.d.ts +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.semantic.test.js +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.d.ts +1 -1
- package/dist/src/ui/components/OAuthCodeDialog.d.ts +5 -0
- package/dist/src/ui/components/OAuthCodeDialog.js +5 -0
- package/dist/src/ui/components/OAuthCodeDialog.js.map +1 -1
- package/dist/src/ui/components/OAuthCodeDialog.test.d.ts +1 -1
- package/dist/src/ui/components/OAuthCodeDialog.test.js +1 -1
- package/dist/src/ui/components/PrepareLabel.d.ts +1 -1
- package/dist/src/ui/components/ProviderDialog.d.ts +5 -0
- package/dist/src/ui/components/ProviderDialog.js +6 -3
- package/dist/src/ui/components/ProviderDialog.js.map +1 -1
- package/dist/src/ui/components/ProviderDialog.responsive.test.d.ts +1 -1
- package/dist/src/ui/components/ProviderDialog.responsive.test.js +1 -1
- package/dist/src/ui/components/ProviderModelDialog.d.ts +1 -1
- package/dist/src/ui/components/ProviderModelDialog.js +5 -2
- package/dist/src/ui/components/ProviderModelDialog.js.map +1 -1
- package/dist/src/ui/components/ProviderModelDialog.responsive.test.d.ts +1 -1
- package/dist/src/ui/components/ProviderModelDialog.responsive.test.js +1 -1
- package/dist/src/ui/components/ProviderModelDialog.test.d.ts +1 -1
- package/dist/src/ui/components/ProviderModelDialog.test.js +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.d.ts +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +1 -1
- package/dist/src/ui/components/SettingsDialog.js +66 -35
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.d.ts +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +114 -48
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.d.ts +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.test.js +1 -1
- package/dist/src/ui/components/ShellModeIndicator.d.ts +1 -1
- package/dist/src/ui/components/ShowMoreLines.d.ts +1 -1
- package/dist/src/ui/components/ShowMoreLines.js +1 -1
- package/dist/src/ui/components/StatsDisplay.d.ts +1 -1
- package/dist/src/ui/components/StatsDisplay.js +10 -11
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.d.ts +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js +13 -5
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.d.ts +1 -1
- package/dist/src/ui/components/ThemeDialog.js +1 -1
- package/dist/src/ui/components/Tips.d.ts +1 -1
- package/dist/src/ui/components/TodoPanel.responsive.test.d.ts +1 -1
- package/dist/src/ui/components/TodoPanel.responsive.test.js +1 -1
- package/dist/src/ui/components/TodoPanel.semantic.test.d.ts +1 -1
- package/dist/src/ui/components/TodoPanel.semantic.test.js +1 -1
- package/dist/src/ui/components/ToolStatsDisplay.d.ts +1 -1
- package/dist/src/ui/components/UpdateNotification.d.ts +1 -1
- package/dist/src/ui/components/UpdateNotification.js +1 -1
- package/dist/src/ui/components/WorkspaceMigrationDialog.d.ts +11 -0
- package/dist/src/ui/components/WorkspaceMigrationDialog.js +43 -0
- package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -0
- package/dist/src/ui/components/__tests__/LayoutManager.test.d.ts +1 -1
- package/dist/src/ui/components/__tests__/LayoutManager.test.js +1 -1
- package/dist/src/ui/components/messages/CompressionMessage.d.ts +1 -1
- package/dist/src/ui/components/messages/CompressionMessage.js +2 -1
- package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.d.ts +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.js +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.js +1 -1
- package/dist/src/ui/components/messages/ErrorMessage.d.ts +1 -1
- package/dist/src/ui/components/messages/GeminiMessage.d.ts +1 -1
- package/dist/src/ui/components/messages/GeminiMessage.js +2 -1
- package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
- package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +1 -1
- package/dist/src/ui/components/messages/InfoMessage.d.ts +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +2 -2
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +40 -23
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.responsive.test.d.ts +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.responsive.test.js +16 -12
- package/dist/src/ui/components/messages/ToolConfirmationMessage.responsive.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +88 -3
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +2 -2
- package/dist/src/ui/components/messages/ToolGroupMessage.js +2 -2
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +256 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolMessage.d.ts +1 -1
- package/dist/src/ui/components/messages/ToolMessage.js +2 -2
- package/dist/src/ui/components/messages/ToolMessage.test.d.ts +1 -1
- package/dist/src/ui/components/messages/ToolMessage.test.js +7 -7
- package/dist/src/ui/components/messages/UserMessage.d.ts +1 -1
- package/dist/src/ui/components/messages/UserMessage.js +4 -2
- package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
- package/dist/src/ui/components/messages/UserShellMessage.d.ts +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.d.ts +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.js +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.js +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +1 -1
- package/dist/src/ui/components/shared/text-buffer.js +2 -46
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.js +1 -1
- package/dist/src/ui/constants.d.ts +3 -1
- package/dist/src/ui/constants.js +3 -1
- package/dist/src/ui/constants.js.map +1 -1
- package/dist/src/ui/containers/SessionController.d.ts +5 -0
- package/dist/src/ui/containers/SessionController.js +5 -0
- package/dist/src/ui/containers/SessionController.js.map +1 -1
- package/dist/src/ui/containers/SessionController.test.d.ts +1 -1
- package/dist/src/ui/containers/SessionController.test.js +1 -1
- package/dist/src/ui/containers/UIStateShell.d.ts +5 -0
- package/dist/src/ui/containers/UIStateShell.js.map +1 -1
- package/dist/src/ui/contexts/AppDispatchContext.d.ts +1 -1
- package/dist/src/ui/contexts/AppDispatchContext.js +1 -1
- package/dist/src/ui/contexts/KeypressContext.d.ts +3 -2
- package/dist/src/ui/contexts/KeypressContext.js +33 -41
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.d.ts +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +122 -12
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/OverflowContext.d.ts +1 -1
- package/dist/src/ui/contexts/OverflowContext.js +1 -1
- package/dist/src/ui/contexts/SessionContext.d.ts +1 -1
- package/dist/src/ui/contexts/SessionContext.js +1 -1
- package/dist/src/ui/contexts/SessionStateContext.d.ts +1 -1
- package/dist/src/ui/contexts/SessionStateContext.js +1 -1
- package/dist/src/ui/contexts/SettingsContext.d.ts +1 -1
- package/dist/src/ui/contexts/SettingsContext.js +1 -1
- package/dist/src/ui/contexts/StreamingContext.d.ts +1 -1
- package/dist/src/ui/contexts/StreamingContext.js +1 -1
- package/dist/src/ui/contexts/TodoProvider.d.ts +5 -0
- package/dist/src/ui/contexts/TodoProvider.js +5 -0
- package/dist/src/ui/contexts/TodoProvider.js.map +1 -1
- package/dist/src/ui/contexts/VimModeContext.d.ts +1 -1
- package/dist/src/ui/contexts/VimModeContext.js +1 -1
- package/dist/src/ui/editors/editorSettingsManager.d.ts +1 -1
- package/dist/src/ui/editors/editorSettingsManager.js +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.d.ts +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +1 -2
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +10 -2
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/index.d.ts +5 -0
- package/dist/src/ui/hooks/index.js +5 -0
- package/dist/src/ui/hooks/index.js.map +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.d.ts +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.js +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.test.js +27 -16
- package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +8 -5
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js +2 -1
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useAuthCommand.d.ts +1 -1
- package/dist/src/ui/hooks/useAuthCommand.js +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +4 -2
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +14 -5
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +123 -3
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useBracketedPaste.d.ts +1 -1
- package/dist/src/ui/hooks/useBracketedPaste.js +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.d.ts +32 -0
- package/dist/src/ui/hooks/useCommandCompletion.js +196 -0
- package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -0
- package/dist/src/ui/hooks/useCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useCompletion.js +1 -1
- package/dist/src/ui/hooks/useConsoleMessages.d.ts +1 -1
- package/dist/src/ui/hooks/useConsoleMessages.js +1 -1
- package/dist/src/ui/hooks/useEditorSettings.d.ts +1 -1
- package/dist/src/ui/hooks/useEditorSettings.js +1 -1
- package/dist/src/ui/hooks/useEditorSettings.test.d.ts +1 -1
- package/dist/src/ui/hooks/useEditorSettings.test.js +1 -1
- package/dist/src/ui/hooks/useFocus.d.ts +1 -1
- package/dist/src/ui/hooks/useFocus.js +1 -1
- package/dist/src/ui/hooks/useFolderTrust.d.ts +2 -1
- package/dist/src/ui/hooks/useFolderTrust.js +28 -5
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -2
- package/dist/src/ui/hooks/useGeminiStream.integration.test.d.ts +1 -1
- package/dist/src/ui/hooks/useGeminiStream.integration.test.js +2 -2
- package/dist/src/ui/hooks/useGeminiStream.integration.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +77 -348
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.d.ts +1 -1
- package/dist/src/ui/hooks/useGitBranchName.js +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.d.ts +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.js +1 -1
- package/dist/src/ui/hooks/useHistoryManager.d.ts +1 -1
- package/dist/src/ui/hooks/useHistoryManager.js +1 -1
- package/dist/src/ui/hooks/useHistoryManager.test.d.ts +1 -1
- package/dist/src/ui/hooks/useHistoryManager.test.js +1 -1
- package/dist/src/ui/hooks/useInputHistory.d.ts +1 -1
- package/dist/src/ui/hooks/useInputHistory.js +1 -1
- package/dist/src/ui/hooks/useInputHistory.test.d.ts +1 -1
- package/dist/src/ui/hooks/useInputHistory.test.js +1 -1
- package/dist/src/ui/hooks/useKeypress.d.ts +1 -1
- package/dist/src/ui/hooks/useKeypress.js +1 -1
- package/dist/src/ui/hooks/useKeypress.test.d.ts +1 -1
- package/dist/src/ui/hooks/useKeypress.test.js +1 -1
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +1 -1
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.js +1 -1
- package/dist/src/ui/hooks/useLogger.d.ts +3 -3
- package/dist/src/ui/hooks/useLogger.js +4 -4
- package/dist/src/ui/hooks/useLogger.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.d.ts +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.d.ts +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.js +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.js +1 -1
- package/dist/src/ui/hooks/usePromptCompletion.d.ts +23 -0
- package/dist/src/ui/hooks/usePromptCompletion.js +177 -0
- package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -0
- package/dist/src/ui/hooks/useProviderModelDialog.d.ts +1 -1
- package/dist/src/ui/hooks/useProviderModelDialog.js +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js +3 -4
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +1 -1
- package/dist/src/ui/hooks/useRefreshMemoryCommand.js +1 -1
- package/dist/src/ui/hooks/useResponsive.d.ts +1 -1
- package/dist/src/ui/hooks/useResponsive.js +1 -1
- package/dist/src/ui/hooks/useResponsive.test.d.ts +1 -1
- package/dist/src/ui/hooks/useResponsive.test.js +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.js +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +1 -1
- package/dist/src/ui/hooks/useSession.d.ts +1 -1
- package/dist/src/ui/hooks/useSession.js +1 -1
- package/dist/src/ui/hooks/useSettingsCommand.d.ts +1 -1
- package/dist/src/ui/hooks/useSettingsCommand.js +1 -1
- package/dist/src/ui/hooks/useShellHistory.d.ts +3 -2
- package/dist/src/ui/hooks/useShellHistory.js +8 -9
- package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
- package/dist/src/ui/hooks/useShellHistory.test.d.ts +1 -1
- package/dist/src/ui/hooks/useShellHistory.test.js +32 -2
- package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -1
- package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +1 -1
- package/dist/src/ui/hooks/useShowMemoryCommand.js +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.js +14 -3
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.js +1 -1
- package/dist/src/ui/hooks/useStableCallback.d.ts +1 -1
- package/dist/src/ui/hooks/useStableCallback.js +1 -1
- package/dist/src/ui/hooks/useStableCallback.test.d.ts +1 -1
- package/dist/src/ui/hooks/useStableCallback.test.js +1 -1
- package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
- package/dist/src/ui/hooks/useStateAndRef.js +1 -1
- package/dist/src/ui/hooks/useTerminalSize.d.ts +1 -1
- package/dist/src/ui/hooks/useTerminalSize.js +1 -1
- package/dist/src/ui/hooks/useThemeCommand.d.ts +1 -1
- package/dist/src/ui/hooks/useThemeCommand.js +1 -1
- package/dist/src/ui/hooks/useTimer.d.ts +1 -1
- package/dist/src/ui/hooks/useTimer.js +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.d.ts +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +23 -11
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/hooks/useWorkspaceMigration.d.ts +13 -0
- package/dist/src/ui/hooks/useWorkspaceMigration.js +50 -0
- package/dist/src/ui/hooks/useWorkspaceMigration.js.map +1 -0
- package/dist/src/ui/hooks/vim.d.ts +1 -1
- package/dist/src/ui/hooks/vim.js +1 -1
- package/dist/src/ui/keyMatchers.d.ts +1 -1
- package/dist/src/ui/keyMatchers.js +1 -1
- package/dist/src/ui/keyMatchers.test.d.ts +1 -1
- package/dist/src/ui/keyMatchers.test.js +1 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +1 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +1 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +1 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +1 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +1 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js +1 -1
- package/dist/src/ui/privacy/PrivacyNotice.d.ts +1 -1
- package/dist/src/ui/privacy/PrivacyNotice.js +1 -1
- package/dist/src/ui/reducers/appReducer.d.ts +1 -1
- package/dist/src/ui/reducers/appReducer.js +1 -1
- package/dist/src/ui/reducers/appReducer.test.d.ts +1 -1
- package/dist/src/ui/reducers/appReducer.test.js +1 -1
- package/dist/src/ui/reducers/sessionReducer.d.ts +1 -1
- package/dist/src/ui/reducers/sessionReducer.js +1 -1
- package/dist/src/ui/semantic-colors.d.ts +6 -0
- package/dist/src/ui/semantic-colors.js +8 -0
- package/dist/src/ui/semantic-colors.js.map +1 -0
- package/dist/src/ui/themes/ansi-light.d.ts +1 -1
- package/dist/src/ui/themes/ansi-light.js +1 -1
- package/dist/src/ui/themes/ansi.d.ts +1 -1
- package/dist/src/ui/themes/ansi.js +1 -1
- package/dist/src/ui/themes/atom-one-dark.d.ts +1 -1
- package/dist/src/ui/themes/atom-one-dark.js +1 -1
- package/dist/src/ui/themes/ayu-light.d.ts +1 -1
- package/dist/src/ui/themes/ayu-light.js +1 -1
- package/dist/src/ui/themes/ayu.d.ts +1 -1
- package/dist/src/ui/themes/ayu.js +1 -1
- package/dist/src/ui/themes/color-utils.d.ts +1 -1
- package/dist/src/ui/themes/color-utils.js +1 -1
- package/dist/src/ui/themes/color-utils.test.d.ts +1 -1
- package/dist/src/ui/themes/color-utils.test.js +1 -1
- package/dist/src/ui/themes/default-light.d.ts +1 -1
- package/dist/src/ui/themes/default-light.js +1 -1
- package/dist/src/ui/themes/default.d.ts +1 -1
- package/dist/src/ui/themes/default.js +1 -1
- package/dist/src/ui/themes/dracula.d.ts +1 -1
- package/dist/src/ui/themes/dracula.js +1 -1
- package/dist/src/ui/themes/github-dark.d.ts +1 -1
- package/dist/src/ui/themes/github-dark.js +1 -1
- package/dist/src/ui/themes/github-light.d.ts +1 -1
- package/dist/src/ui/themes/github-light.js +1 -1
- package/dist/src/ui/themes/googlecode.d.ts +1 -1
- package/dist/src/ui/themes/googlecode.js +2 -2
- package/dist/src/ui/themes/googlecode.js.map +1 -1
- package/dist/src/ui/themes/green-screen.d.ts +1 -1
- package/dist/src/ui/themes/green-screen.js +1 -1
- package/dist/src/ui/themes/no-color.d.ts +1 -1
- package/dist/src/ui/themes/no-color.js +1 -1
- package/dist/src/ui/themes/semantic-resolver.d.ts +1 -1
- package/dist/src/ui/themes/semantic-resolver.js +1 -1
- package/dist/src/ui/themes/semantic-resolver.test.d.ts +1 -1
- package/dist/src/ui/themes/semantic-resolver.test.js +1 -1
- package/dist/src/ui/themes/semantic-tokens.d.ts +1 -1
- package/dist/src/ui/themes/semantic-tokens.js +1 -1
- package/dist/src/ui/themes/semantic-tokens.test.d.ts +1 -1
- package/dist/src/ui/themes/semantic-tokens.test.js +1 -1
- package/dist/src/ui/themes/shades-of-purple.d.ts +1 -1
- package/dist/src/ui/themes/shades-of-purple.js +1 -1
- package/dist/src/ui/themes/theme-compat.d.ts +1 -1
- package/dist/src/ui/themes/theme-compat.js +1 -1
- package/dist/src/ui/themes/theme-manager.d.ts +3 -1
- package/dist/src/ui/themes/theme-manager.js +73 -6
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.test.d.ts +1 -1
- package/dist/src/ui/themes/theme-manager.test.js +61 -2
- package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +4 -2
- package/dist/src/ui/themes/theme.js +32 -2
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/xcode.d.ts +1 -1
- package/dist/src/ui/themes/xcode.js +1 -1
- package/dist/src/ui/types.d.ts +3 -2
- package/dist/src/ui/types.js +1 -1
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.d.ts +1 -1
- package/dist/src/ui/utils/CodeColorizer.js +1 -1
- package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -1
- package/dist/src/ui/utils/ConsolePatcher.js +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.d.ts +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +9 -11
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.js +18 -17
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.d.ts +1 -1
- package/dist/src/ui/utils/TableRenderer.js +6 -6
- package/dist/src/ui/utils/TableRenderer.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.d.ts +1 -1
- package/dist/src/ui/utils/clipboardUtils.js +1 -1
- package/dist/src/ui/utils/clipboardUtils.test.d.ts +1 -1
- package/dist/src/ui/utils/clipboardUtils.test.js +1 -1
- package/dist/src/ui/utils/commandUtils.d.ts +2 -2
- package/dist/src/ui/utils/commandUtils.js +52 -14
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.test.d.ts +1 -1
- package/dist/src/ui/utils/commandUtils.test.js +75 -20
- package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
- package/dist/src/ui/utils/computeStats.d.ts +1 -1
- package/dist/src/ui/utils/computeStats.js +1 -1
- package/dist/src/ui/utils/displayUtils.d.ts +1 -1
- package/dist/src/ui/utils/displayUtils.js +1 -1
- package/dist/src/ui/utils/displayUtils.test.d.ts +1 -1
- package/dist/src/ui/utils/displayUtils.test.js +1 -1
- package/dist/src/ui/utils/formatters.d.ts +1 -1
- package/dist/src/ui/utils/formatters.js +1 -1
- package/dist/src/ui/utils/formatters.test.d.ts +1 -1
- package/dist/src/ui/utils/formatters.test.js +1 -1
- package/dist/src/ui/utils/kittyProtocolDetector.d.ts +1 -1
- package/dist/src/ui/utils/kittyProtocolDetector.js +1 -1
- package/dist/src/ui/utils/markdownUtilities.d.ts +1 -1
- package/dist/src/ui/utils/markdownUtilities.js +1 -1
- package/dist/src/ui/utils/markdownUtilities.test.d.ts +1 -1
- package/dist/src/ui/utils/markdownUtilities.test.js +1 -1
- package/dist/src/ui/utils/platformConstants.d.ts +8 -1
- package/dist/src/ui/utils/platformConstants.js +8 -1
- package/dist/src/ui/utils/platformConstants.js.map +1 -1
- package/dist/src/ui/utils/renderLoopDetector.d.ts +1 -1
- package/dist/src/ui/utils/renderLoopDetector.js +1 -1
- package/dist/src/ui/utils/responsive.d.ts +1 -1
- package/dist/src/ui/utils/responsive.js +1 -1
- package/dist/src/ui/utils/responsive.test.d.ts +1 -1
- package/dist/src/ui/utils/responsive.test.js +1 -1
- package/dist/src/ui/utils/terminalSetup.d.ts +1 -1
- package/dist/src/ui/utils/terminalSetup.js +1 -1
- package/dist/src/ui/utils/textUtils.d.ts +19 -1
- package/dist/src/ui/utils/textUtils.js +45 -1
- package/dist/src/ui/utils/textUtils.js.map +1 -1
- package/dist/src/ui/utils/updateCheck.d.ts +1 -1
- package/dist/src/ui/utils/updateCheck.js +1 -1
- package/dist/src/ui/utils/updateCheck.test.d.ts +1 -1
- package/dist/src/ui/utils/updateCheck.test.js +1 -1
- package/dist/src/utils/ConversationContext.d.ts +2 -12
- package/dist/src/utils/ConversationContext.js +2 -12
- package/dist/src/utils/ConversationContext.js.map +1 -1
- package/dist/src/utils/ConversationContext.test.d.ts +1 -1
- package/dist/src/utils/ConversationContext.test.js +1 -1
- package/dist/src/utils/checks.d.ts +1 -1
- package/dist/src/utils/checks.js +1 -1
- package/dist/src/utils/cleanup.d.ts +1 -1
- package/dist/src/utils/cleanup.js +4 -3
- package/dist/src/utils/cleanup.js.map +1 -1
- package/dist/src/utils/dialogScopeUtils.d.ts +1 -1
- package/dist/src/utils/dialogScopeUtils.js +1 -1
- package/dist/src/utils/events.d.ts +1 -1
- package/dist/src/utils/events.js +1 -1
- package/dist/src/utils/gitUtils.d.ts +1 -1
- package/dist/src/utils/gitUtils.js +1 -1
- package/dist/src/utils/gitUtils.test.d.ts +1 -1
- package/dist/src/utils/gitUtils.test.js +4 -4
- package/dist/src/utils/gitUtils.test.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.d.ts +1 -1
- package/dist/src/utils/handleAutoUpdate.js +1 -1
- package/dist/src/utils/installationInfo.d.ts +1 -1
- package/dist/src/utils/installationInfo.js +1 -1
- package/dist/src/utils/installationInfo.test.d.ts +1 -1
- package/dist/src/utils/installationInfo.test.js +1 -1
- package/dist/src/utils/package.d.ts +1 -1
- package/dist/src/utils/package.js +1 -1
- package/dist/src/utils/readStdin.d.ts +1 -1
- package/dist/src/utils/readStdin.js +16 -1
- package/dist/src/utils/readStdin.js.map +1 -1
- package/dist/src/utils/readStdin.test.d.ts +6 -0
- package/dist/src/utils/readStdin.test.js +88 -0
- package/dist/src/utils/readStdin.test.js.map +1 -0
- package/dist/src/utils/resolvePath.d.ts +1 -1
- package/dist/src/utils/resolvePath.js +1 -1
- package/dist/src/utils/sandbox.d.ts +3 -3
- package/dist/src/utils/sandbox.js +22 -29
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/settingsUtils.d.ts +1 -1
- package/dist/src/utils/settingsUtils.js +1 -1
- package/dist/src/utils/settingsUtils.test.d.ts +1 -1
- package/dist/src/utils/settingsUtils.test.js +1 -1
- package/dist/src/utils/spawnWrapper.d.ts +1 -1
- package/dist/src/utils/spawnWrapper.js +1 -1
- package/dist/src/utils/startupWarnings.d.ts +1 -1
- package/dist/src/utils/startupWarnings.js +1 -1
- package/dist/src/utils/updateEventEmitter.d.ts +1 -1
- package/dist/src/utils/updateEventEmitter.js +1 -1
- package/dist/src/utils/userStartupWarnings.d.ts +1 -1
- package/dist/src/utils/userStartupWarnings.js +1 -1
- package/dist/src/utils/userStartupWarnings.test.d.ts +1 -1
- package/dist/src/utils/userStartupWarnings.test.js +1 -1
- package/dist/src/utils/version.d.ts +1 -1
- package/dist/src/utils/version.js +1 -1
- package/dist/src/validateNonInterActiveAuth.d.ts +1 -1
- package/dist/src/validateNonInterActiveAuth.js +1 -1
- package/dist/src/zed-integration/acp.d.ts +1 -1
- package/dist/src/zed-integration/acp.js +3 -2
- package/dist/src/zed-integration/acp.js.map +1 -1
- package/dist/src/zed-integration/fileSystemService.d.ts +1 -1
- package/dist/src/zed-integration/fileSystemService.js +1 -1
- package/dist/src/zed-integration/schema.d.ts +79 -79
- package/dist/src/zed-integration/schema.js +1 -1
- package/dist/src/zed-integration/zedIntegration.d.ts +1 -1
- package/dist/src/zed-integration/zedIntegration.js +5 -13
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -5
@@ -0,0 +1,114 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Vybestack LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { McpPromptLoader } from './McpPromptLoader.js';
|
7
|
+
import { describe, it, expect } from 'vitest';
|
8
|
+
describe('McpPromptLoader', () => {
|
9
|
+
const mockConfig = {};
|
10
|
+
describe('parseArgs', () => {
|
11
|
+
it('should handle multi-word positional arguments', () => {
|
12
|
+
const loader = new McpPromptLoader(mockConfig);
|
13
|
+
const promptArgs = [
|
14
|
+
{ name: 'arg1', required: true },
|
15
|
+
{ name: 'arg2', required: true },
|
16
|
+
];
|
17
|
+
const userArgs = 'hello world';
|
18
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
19
|
+
expect(result).toEqual({ arg1: 'hello', arg2: 'world' });
|
20
|
+
});
|
21
|
+
it('should handle quoted multi-word positional arguments', () => {
|
22
|
+
const loader = new McpPromptLoader(mockConfig);
|
23
|
+
const promptArgs = [
|
24
|
+
{ name: 'arg1', required: true },
|
25
|
+
{ name: 'arg2', required: true },
|
26
|
+
];
|
27
|
+
const userArgs = '"hello world" foo';
|
28
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
29
|
+
expect(result).toEqual({ arg1: 'hello world', arg2: 'foo' });
|
30
|
+
});
|
31
|
+
it('should handle a single positional argument with multiple words', () => {
|
32
|
+
const loader = new McpPromptLoader(mockConfig);
|
33
|
+
const promptArgs = [{ name: 'arg1', required: true }];
|
34
|
+
const userArgs = 'hello world';
|
35
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
36
|
+
expect(result).toEqual({ arg1: 'hello world' });
|
37
|
+
});
|
38
|
+
it('should handle escaped quotes in positional arguments', () => {
|
39
|
+
const loader = new McpPromptLoader(mockConfig);
|
40
|
+
const promptArgs = [{ name: 'arg1', required: true }];
|
41
|
+
const userArgs = '"hello \\"world\\""';
|
42
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
43
|
+
expect(result).toEqual({ arg1: 'hello "world"' });
|
44
|
+
});
|
45
|
+
it('should handle escaped backslashes in positional arguments', () => {
|
46
|
+
const loader = new McpPromptLoader(mockConfig);
|
47
|
+
const promptArgs = [{ name: 'arg1', required: true }];
|
48
|
+
const userArgs = '"hello\\\\world"';
|
49
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
50
|
+
expect(result).toEqual({ arg1: 'hello\\world' });
|
51
|
+
});
|
52
|
+
it('should handle named args followed by positional args', () => {
|
53
|
+
const loader = new McpPromptLoader(mockConfig);
|
54
|
+
const promptArgs = [
|
55
|
+
{ name: 'named', required: true },
|
56
|
+
{ name: 'pos', required: true },
|
57
|
+
];
|
58
|
+
const userArgs = '--named="value" positional';
|
59
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
60
|
+
expect(result).toEqual({ named: 'value', pos: 'positional' });
|
61
|
+
});
|
62
|
+
it('should handle positional args followed by named args', () => {
|
63
|
+
const loader = new McpPromptLoader(mockConfig);
|
64
|
+
const promptArgs = [
|
65
|
+
{ name: 'pos', required: true },
|
66
|
+
{ name: 'named', required: true },
|
67
|
+
];
|
68
|
+
const userArgs = 'positional --named="value"';
|
69
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
70
|
+
expect(result).toEqual({ pos: 'positional', named: 'value' });
|
71
|
+
});
|
72
|
+
it('should handle positional args interspersed with named args', () => {
|
73
|
+
const loader = new McpPromptLoader(mockConfig);
|
74
|
+
const promptArgs = [
|
75
|
+
{ name: 'pos1', required: true },
|
76
|
+
{ name: 'named', required: true },
|
77
|
+
{ name: 'pos2', required: true },
|
78
|
+
];
|
79
|
+
const userArgs = 'p1 --named="value" p2';
|
80
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
81
|
+
expect(result).toEqual({ pos1: 'p1', named: 'value', pos2: 'p2' });
|
82
|
+
});
|
83
|
+
it('should treat an escaped quote at the start as a literal', () => {
|
84
|
+
const loader = new McpPromptLoader(mockConfig);
|
85
|
+
const promptArgs = [
|
86
|
+
{ name: 'arg1', required: true },
|
87
|
+
{ name: 'arg2', required: true },
|
88
|
+
];
|
89
|
+
const userArgs = '\\"hello world';
|
90
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
91
|
+
expect(result).toEqual({ arg1: '"hello', arg2: 'world' });
|
92
|
+
});
|
93
|
+
it('should handle a complex mix of args', () => {
|
94
|
+
const loader = new McpPromptLoader(mockConfig);
|
95
|
+
const promptArgs = [
|
96
|
+
{ name: 'pos1', required: true },
|
97
|
+
{ name: 'named1', required: true },
|
98
|
+
{ name: 'pos2', required: true },
|
99
|
+
{ name: 'named2', required: true },
|
100
|
+
{ name: 'pos3', required: true },
|
101
|
+
];
|
102
|
+
const userArgs = 'p1 --named1="value 1" "p2 has spaces" --named2=value2 "p3 \\"with quotes\\""';
|
103
|
+
const result = loader.parseArgs(userArgs, promptArgs);
|
104
|
+
expect(result).toEqual({
|
105
|
+
pos1: 'p1',
|
106
|
+
named1: 'value 1',
|
107
|
+
pos2: 'p2 has spaces',
|
108
|
+
named2: 'value2',
|
109
|
+
pos3: 'p3 "with quotes"',
|
110
|
+
});
|
111
|
+
});
|
112
|
+
});
|
113
|
+
});
|
114
|
+
//# sourceMappingURL=McpPromptLoader.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"McpPromptLoader.test.js","sourceRoot":"","sources":["../../../src/services/McpPromptLoader.test.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
* Copyright 2025
|
3
|
+
* Copyright 2025 Vybestack LLC
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
5
|
*/
|
6
6
|
import { ApprovalMode, checkCommandPermissions, escapeShellArg, getShellConfiguration, ShellExecutionService, } from '@vybestack/llxprt-code-core';
|
package/dist/src/ui/App.d.ts
CHANGED
package/dist/src/ui/App.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
2
2
|
/**
|
3
3
|
* @license
|
4
|
-
* Copyright 2025
|
4
|
+
* Copyright 2025 Vybestack LLC
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
6
6
|
*/
|
7
7
|
import { useCallback, useEffect, useMemo, useState, useRef, useReducer, } from 'react';
|
8
8
|
import { Box, measureElement, Static, Text, useStdin, useStdout, } from 'ink';
|
9
|
-
import { StreamingState, MessageType } from './types.js';
|
9
|
+
import { StreamingState, MessageType, ToolCallStatus, } from './types.js';
|
10
10
|
import { useTerminalSize } from './hooks/useTerminalSize.js';
|
11
11
|
import { useGeminiStream } from './hooks/useGeminiStream.js';
|
12
12
|
import { useLoadingIndicator } from './hooks/useLoadingIndicator.js';
|
@@ -65,6 +65,8 @@ import { AppDispatchProvider } from './contexts/AppDispatchContext.js';
|
|
65
65
|
import { UpdateNotification } from './components/UpdateNotification.js';
|
66
66
|
import { isProQuotaExceededError, isGenericQuotaExceededError, UserTierId, } from '@vybestack/llxprt-code-core';
|
67
67
|
import ansiEscapes from 'ansi-escapes';
|
68
|
+
import { TodoProvider } from './contexts/TodoProvider.js';
|
69
|
+
import { ToolCallProvider } from './contexts/ToolCallProvider.js';
|
68
70
|
import { OverflowProvider } from './contexts/OverflowContext.js';
|
69
71
|
import { ShowMoreLines } from './components/ShowMoreLines.js';
|
70
72
|
import { PrivacyNotice } from './privacy/PrivacyNotice.js';
|
@@ -84,12 +86,20 @@ import { ToolsDialog } from './components/ToolsDialog.js';
|
|
84
86
|
// Todo UI imports
|
85
87
|
import { TodoPanel } from './components/TodoPanel.js';
|
86
88
|
import { useTodoContext } from './contexts/TodoContext.js';
|
89
|
+
import { useWorkspaceMigration } from './hooks/useWorkspaceMigration.js';
|
90
|
+
import { WorkspaceMigrationDialog } from './components/WorkspaceMigrationDialog.js';
|
87
91
|
const CTRL_EXIT_PROMPT_DURATION_MS = 1000;
|
88
|
-
|
89
|
-
|
92
|
+
function isToolExecuting(pendingHistoryItems) {
|
93
|
+
return pendingHistoryItems.some((item) => {
|
94
|
+
if (item && item.type === 'tool_group') {
|
95
|
+
return item.tools.some((tool) => ToolCallStatus.Executing === tool.status);
|
96
|
+
}
|
97
|
+
return false;
|
98
|
+
});
|
99
|
+
}
|
90
100
|
export const AppWrapper = (props) => {
|
91
101
|
const kittyProtocolStatus = useKittyKeyboardProtocol();
|
92
|
-
return (_jsx(KeypressProvider, { kittyProtocolEnabled: kittyProtocolStatus.enabled, config: props.config, children: _jsx(SessionStatsProvider, { children: _jsx(VimModeProvider, { settings: props.settings, children: _jsx(ToolCallProvider, { sessionId: props.config.getSessionId(), children: _jsx(TodoProvider, { sessionId: props.config.getSessionId(), children: _jsx(AppWithState, { ...props }) }) }) }) }) }));
|
102
|
+
return (_jsx(KeypressProvider, { kittyProtocolEnabled: kittyProtocolStatus.enabled, config: props.config, debugKeystrokeLogging: props.settings.merged.debugKeystrokeLogging, children: _jsx(SessionStatsProvider, { children: _jsx(VimModeProvider, { settings: props.settings, children: _jsx(ToolCallProvider, { sessionId: props.config.getSessionId(), children: _jsx(TodoProvider, { sessionId: props.config.getSessionId(), children: _jsx(AppWithState, { ...props }) }) }) }) }) }));
|
93
103
|
};
|
94
104
|
// New intermediate component that manages state and provides context
|
95
105
|
const AppWithState = (props) => {
|
@@ -210,6 +220,7 @@ const App = (props) => {
|
|
210
220
|
const [showEscapePrompt, setShowEscapePrompt] = useState(false);
|
211
221
|
const [isProcessing, setIsProcessing] = useState(false);
|
212
222
|
const [providerModels, setProviderModels] = useState([]);
|
223
|
+
const { showWorkspaceMigrationDialog, workspaceExtensions, onWorkspaceMigrationDialogOpen, onWorkspaceMigrationDialogClose, } = useWorkspaceMigration(settings);
|
213
224
|
useEffect(() => {
|
214
225
|
const unsubscribe = ideContext.subscribeToIdeContext(setIdeContextState);
|
215
226
|
// Set the initial value
|
@@ -279,7 +290,7 @@ const App = (props) => {
|
|
279
290
|
.reduce((total, msg) => total + msg.count, 0), [consoleMessages]);
|
280
291
|
const { isThemeDialogOpen, openThemeDialog, handleThemeSelect, handleThemeHighlight, } = useThemeCommand(settings, appState, addItem);
|
281
292
|
const { isSettingsDialogOpen, openSettingsDialog, closeSettingsDialog } = useSettingsCommand();
|
282
|
-
const { isFolderTrustDialogOpen, handleFolderTrustSelect } = useFolderTrust(settings, config);
|
293
|
+
const { isFolderTrustDialogOpen, handleFolderTrustSelect, isRestarting } = useFolderTrust(settings, config);
|
283
294
|
const { isAuthDialogOpen, openAuthDialog, handleAuthSelect, isAuthenticating, cancelAuthentication, } = useAuthCommand(settings, appState, config);
|
284
295
|
useEffect(() => {
|
285
296
|
if (settings.merged.selectedAuthType && !settings.merged.useExternalAuth) {
|
@@ -510,13 +521,17 @@ You can switch authentication methods by typing /auth or switch to a different m
|
|
510
521
|
// Open the auth dialog when authentication errors occur
|
511
522
|
appDispatch({ type: 'OPEN_DIALOG', payload: 'auth' });
|
512
523
|
}, [setAuthError, appDispatch]);
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
524
|
+
// Commented out unused onOAuthCodeNeeded
|
525
|
+
// const onOAuthCodeNeeded = useCallback(
|
526
|
+
// (provider: string) => {
|
527
|
+
// // Store provider for the dialog
|
528
|
+
// (global as unknown as { __oauth_provider: string }).__oauth_provider =
|
529
|
+
// provider;
|
530
|
+
// // Open the OAuth code input dialog
|
531
|
+
// appDispatch({ type: 'OPEN_DIALOG', payload: 'oauthCode' });
|
532
|
+
// },
|
533
|
+
// [appDispatch],
|
534
|
+
// );
|
520
535
|
const handleAuthTimeout = useCallback(() => {
|
521
536
|
setAuthError('Authentication timed out. Please try again.');
|
522
537
|
cancelAuthentication();
|
@@ -562,8 +577,24 @@ You can switch authentication methods by typing /auth or switch to a different m
|
|
562
577
|
}
|
563
578
|
}
|
564
579
|
}, []);
|
565
|
-
const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, cancelOngoingRequest, } = useGeminiStream(config.getGeminiClient(), history, addItem,
|
566
|
-
|
580
|
+
const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, cancelOngoingRequest, } = useGeminiStream(config.getGeminiClient(), history, addItem, config, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic, handleUserCancel);
|
581
|
+
const pendingHistoryItems = useMemo(() => [...pendingSlashCommandHistoryItems, ...pendingGeminiHistoryItems], [pendingSlashCommandHistoryItems, pendingGeminiHistoryItems]);
|
582
|
+
// Message queue functionality removed - not implemented
|
583
|
+
// Update the cancel handler with message queue support
|
584
|
+
const cancelHandlerRef = useRef(null);
|
585
|
+
cancelHandlerRef.current = useCallback(() => {
|
586
|
+
if (isToolExecuting(pendingHistoryItems)) {
|
587
|
+
buffer.setText(''); // Just clear the prompt
|
588
|
+
return;
|
589
|
+
}
|
590
|
+
const lastUserMessage = userMessages.at(-1);
|
591
|
+
const textToSet = lastUserMessage || '';
|
592
|
+
// Queue functionality removed - no queued messages to append
|
593
|
+
if (textToSet) {
|
594
|
+
buffer.setText(textToSet);
|
595
|
+
}
|
596
|
+
}, [buffer, userMessages, pendingHistoryItems]);
|
597
|
+
// Input handling - queue messages for processing
|
567
598
|
const handleFinalSubmit = useCallback((submittedValue) => {
|
568
599
|
const trimmedValue = submittedValue.trim();
|
569
600
|
if (trimmedValue.length > 0) {
|
@@ -590,11 +621,9 @@ You can switch authentication methods by typing /auth or switch to a different m
|
|
590
621
|
}
|
591
622
|
setIdePromptAnswered(true);
|
592
623
|
}, [handleSlashCommand, settings]);
|
593
|
-
const { handleInput: vimHandleInput } = useVim(buffer,
|
594
|
-
const pendingHistoryItems = [...pendingSlashCommandHistoryItems];
|
595
|
-
pendingHistoryItems.push(...pendingGeminiHistoryItems);
|
624
|
+
const { handleInput: vimHandleInput } = useVim(buffer, handleFinalSubmit);
|
596
625
|
const { elapsedTime, currentLoadingPhrase } = useLoadingIndicator(streamingState);
|
597
|
-
const showAutoAcceptIndicator = useAutoAcceptIndicator({ config });
|
626
|
+
const showAutoAcceptIndicator = useAutoAcceptIndicator({ config, addItem });
|
598
627
|
const handleExit = useCallback((pressedOnce, setPressedOnce, timerRef) => {
|
599
628
|
if (pressedOnce) {
|
600
629
|
if (timerRef.current) {
|
@@ -615,6 +644,10 @@ You can switch authentication methods by typing /auth or switch to a different m
|
|
615
644
|
handleSlashCommand('/quit');
|
616
645
|
}, [handleSlashCommand]);
|
617
646
|
const handleGlobalKeypress = useCallback((key) => {
|
647
|
+
// Debug log keystrokes if enabled
|
648
|
+
if (settings.merged.debugKeystrokeLogging) {
|
649
|
+
console.log('[DEBUG] Keystroke:', JSON.stringify(key));
|
650
|
+
}
|
618
651
|
let enteringConstrainHeightMode = false;
|
619
652
|
if (!constrainHeight) {
|
620
653
|
enteringConstrainHeightMode = true;
|
@@ -676,6 +709,7 @@ You can switch authentication methods by typing /auth or switch to a different m
|
|
676
709
|
handleSlashCommand,
|
677
710
|
isAuthenticating,
|
678
711
|
cancelOngoingRequest,
|
712
|
+
settings.merged.debugKeystrokeLogging,
|
679
713
|
]);
|
680
714
|
useKeypress(handleGlobalKeypress, {
|
681
715
|
isActive: true,
|
@@ -685,7 +719,7 @@ You can switch authentication methods by typing /auth or switch to a different m
|
|
685
719
|
setLlxprtMdFileCount(config.getLlxprtMdFileCount());
|
686
720
|
}
|
687
721
|
}, [config, config.getLlxprtMdFileCount]);
|
688
|
-
const logger = useLogger();
|
722
|
+
const logger = useLogger(config.storage);
|
689
723
|
useEffect(() => {
|
690
724
|
const fetchUserMessages = async () => {
|
691
725
|
const pastMessagesRaw = (await logger?.getPreviousUserMessages()) || []; // Newest first
|
@@ -819,21 +853,23 @@ You can switch authentication methods by typing /auth or switch to a different m
|
|
819
853
|
? ' Type your message, @path/to/file or +path/to/file'
|
820
854
|
: ' Type your message or @path/to/file';
|
821
855
|
return (_jsx(StreamingContext.Provider, { value: streamingState, children: _jsxs(Box, { flexDirection: "column", width: "90%", children: [_jsx(Static, { items: [
|
822
|
-
_jsxs(Box, { flexDirection: "column", children: [!settings.merged.hideBanner && (_jsx(Header, { terminalWidth: terminalWidth, version: version, nightly: nightly })), !settings.merged.hideTips && _jsx(Tips, { config: config })] }, "header"),
|
856
|
+
_jsxs(Box, { flexDirection: "column", children: [!(settings.merged.hideBanner || config.getScreenReader()) && (_jsx(Header, { terminalWidth: terminalWidth, version: version, nightly: nightly })), !(settings.merged.hideTips || config.getScreenReader()) && (_jsx(Tips, { config: config }))] }, "header"),
|
823
857
|
...history.map((h) => (_jsx(HistoryItemDisplay, { terminalWidth: mainAreaWidth, availableTerminalHeight: staticAreaMaxItemHeight, item: h, isPending: false, config: config }, h.id))),
|
824
858
|
], children: (item) => item }, staticKey), _jsx(OverflowProvider, { children: _jsxs(Box, { ref: pendingHistoryItemRef, flexDirection: "column", children: [pendingHistoryItems.map((item, i) => (_jsx(HistoryItemDisplay, { availableTerminalHeight: constrainHeight ? availableTerminalHeight : undefined, terminalWidth: mainAreaWidth,
|
825
859
|
// TODO(taehykim): It seems like references to ids aren't necessary in
|
826
860
|
// HistoryItemDisplay. Refactor later. Use a fake id for now.
|
827
|
-
item: { ...item, id: 0 }, isPending: true, config: config, isFocused: !isEditorDialogOpen }, i))), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }), showHelp && _jsx(Help, { commands: slashCommands }), _jsxs(Box, { flexDirection: "column", ref: mainControlsRef, children: [updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), startupWarnings.length > 0 && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentYellow, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: Colors.AccentYellow, children: warning }, index))) })), _jsx(TodoPanel, { width: inputWidth }), shouldShowIdePrompt && currentIDE ? (_jsx(IdeIntegrationNudge, { ide: currentIDE, onComplete: handleIdePromptComplete })) : isFolderTrustDialogOpen ? (_jsx(FolderTrustDialog, { onSelect: handleFolderTrustSelect })) : shellConfirmationRequest ? (_jsx(ShellConfirmationDialog, { request: shellConfirmationRequest })) : confirmationRequest ? (_jsxs(Box, { flexDirection: "column", children: [confirmationRequest.prompt, _jsx(Box, { paddingY: 1, children: _jsx(RadioButtonSelect, { isFocused: !!confirmationRequest, items: [
|
861
|
+
item: { ...item, id: 0 }, isPending: true, config: config, isFocused: !isEditorDialogOpen }, i))), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }), showHelp && _jsx(Help, { commands: slashCommands }), _jsxs(Box, { flexDirection: "column", ref: mainControlsRef, children: [updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), startupWarnings.length > 0 && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentYellow, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: Colors.AccentYellow, children: warning }, index))) })), _jsx(TodoPanel, { width: inputWidth }), showWorkspaceMigrationDialog ? (_jsx(WorkspaceMigrationDialog, { workspaceExtensions: workspaceExtensions, onOpen: onWorkspaceMigrationDialogOpen, onClose: onWorkspaceMigrationDialogClose })) : shouldShowIdePrompt && currentIDE ? (_jsx(IdeIntegrationNudge, { ide: currentIDE, onComplete: handleIdePromptComplete })) : isFolderTrustDialogOpen ? (_jsx(FolderTrustDialog, { onSelect: handleFolderTrustSelect, isRestarting: isRestarting })) : shellConfirmationRequest ? (_jsx(ShellConfirmationDialog, { request: shellConfirmationRequest })) : confirmationRequest ? (_jsxs(Box, { flexDirection: "column", children: [confirmationRequest.prompt, _jsx(Box, { paddingY: 1, children: _jsx(RadioButtonSelect, { isFocused: !!confirmationRequest, items: [
|
828
862
|
{ label: 'Yes', value: true },
|
829
863
|
{ label: 'No', value: false },
|
830
864
|
], onSelect: handleConfirmationSelect }) })] })) : isThemeDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [_themeError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: _themeError }) })), _jsx(ThemeDialog, { onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, settings: settings, availableTerminalHeight: constrainHeight
|
831
865
|
? terminalHeight - staticExtraHeight
|
832
866
|
: undefined, terminalWidth: mainAreaWidth })] })) : isSettingsDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(SettingsDialog, { settings: settings, onSelect: closeSettingsDialog, onRestartRequest: handleSettingsRestart }) })) : isAuthenticating ? (_jsxs(_Fragment, { children: [_jsx(AuthInProgress, { onTimeout: handleAuthTimeout }), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }))] })) : isAuthDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(AuthDialog, { onSelect: handleAuthSelect, settings: settings, initialErrorMessage: authError }) })) : appState.openDialogs.oauthCode ? (_jsx(Box, { flexDirection: "column", children: _jsx(OAuthCodeDialog, { provider: global
|
833
867
|
.__oauth_provider || 'anthropic', onClose: handleOAuthCodeDialogClose, onSubmit: handleOAuthCodeSubmit }) })) : isEditorDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [_editorError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: _editorError }) })), _jsx(EditorSettingsDialog, { onSelect: handleEditorSelect, settings: settings, onExit: exitEditorDialog })] })) : isProviderDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(ProviderDialog, { providers: providerManager.listProviders(), currentProvider: providerManager.getActiveProviderName(), onSelect: handleProviderSelect, onClose: exitProviderDialog }) })) : isProviderModelDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(ProviderModelDialog, { models: providerModels, currentModel: currentModel, onSelect: handleProviderModelChange, onClose: exitProviderModelDialog }) })) : isLoadProfileDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(LoadProfileDialog, { profiles: profiles, onSelect: handleProfileSelect, onClose: exitLoadProfileDialog }) })) : isToolsDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(ToolsDialog, { tools: toolsDialogTools, action: toolsDialogAction, disabledTools: toolsDialogDisabledTools, onSelect: handleToolsSelect, onClose: exitToolsDialog }) })) : showPrivacyNotice ? (_jsx(PrivacyNotice, { onExit: handlePrivacyNoticeExit, config: config })) : (_jsxs(_Fragment, { children: [_jsx(LoadingIndicator, { thought: streamingState === StreamingState.WaitingForConfirmation ||
|
834
|
-
config.getAccessibility()?.disableLoadingPhrases
|
868
|
+
config.getAccessibility()?.disableLoadingPhrases ||
|
869
|
+
config.getScreenReader()
|
835
870
|
? undefined
|
836
|
-
: thought, currentLoadingPhrase: config.getAccessibility()?.disableLoadingPhrases
|
871
|
+
: thought, currentLoadingPhrase: config.getAccessibility()?.disableLoadingPhrases ||
|
872
|
+
config.getScreenReader()
|
837
873
|
? undefined
|
838
874
|
: currentLoadingPhrase, elapsedTime: elapsedTime }), _jsxs(Box, { marginTop: 1, display: "flex", justifyContent: "space-between", width: "100%", children: [_jsxs(Box, { children: [process.env.GEMINI_SYSTEM_MD && (_jsx(Text, { color: Colors.AccentRed, children: "|\u2310\u25A0_\u25A0| " })), ctrlCPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+C again to exit." })) : ctrlDPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+D again to exit." })) : showEscapePrompt ? (_jsx(Text, { color: Colors.Gray, children: "Press Esc again to clear." })) : (_jsx(ContextSummaryDisplay, { ideContext: ideContextState, llxprtMdFileCount: llxprtMdFileCount, contextFileNames: contextFileNames, mcpServers: config.getMcpServers(), blockedMcpServers: config.getBlockedMcpServers(), showToolDescriptions: showToolDescriptions }))] }), _jsxs(Box, { children: [showAutoAcceptIndicator !== ApprovalMode.DEFAULT &&
|
839
875
|
!shellModeActive && (_jsx(AutoAcceptIndicator, { approvalMode: showAutoAcceptIndicator })), shellModeActive && _jsx(ShellModeIndicator, {})] })] }), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) })), isInputActive && (_jsx(_Fragment, { children: _jsx(InputPrompt, { buffer: buffer, inputWidth: inputWidth, suggestionsWidth: suggestionsWidth, onSubmit: handleUserInputSubmit, userMessages: userMessages, onClearScreen: handleClearScreen, config: config, slashCommands: slashCommands, commandContext: commandContext, shellModeActive: shellModeActive, setShellModeActive: setShellModeActive, onEscapePromptChange: handleEscapePromptChange, focus: isFocused, vimHandleInput: vimHandleInput, placeholder: placeholder }) }))] })), initError && streamingState !== StreamingState.Responding && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentRed, paddingX: 1, marginBottom: 1, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text ? (_jsx(Text, { color: Colors.AccentRed, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: Colors.AccentRed, children: ["Initialization Error: ", initError] }), _jsxs(Text, { color: Colors.AccentRed, children: [' ', "Please check API key and configuration."] })] })) })), !settings.merged.hideFooter && (_jsx(Footer, { model: currentModel, targetDir: config.getTargetDir(), debugMode: config.getDebugMode(), branchName: branchName, debugMessage: debugMessage, errorCount: errorCount, showErrorDetails: showErrorDetails, showMemoryUsage: config.getDebugMode() ||
|