@vybestack/llxprt-code 0.1.12
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/LICENSE +202 -0
- package/README.md +256 -0
- package/dist/.last_build +0 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +95 -0
- package/dist/src/config/auth.d.ts +6 -0
- package/dist/src/config/auth.js +42 -0
- package/dist/src/config/auth.js.map +1 -0
- package/dist/src/config/config.d.ts +41 -0
- package/dist/src/config/config.js +345 -0
- package/dist/src/config/config.js.map +1 -0
- package/dist/src/config/extension.d.ts +21 -0
- package/dist/src/config/extension.js +109 -0
- package/dist/src/config/extension.js.map +1 -0
- package/dist/src/config/sandboxConfig.d.ts +13 -0
- package/dist/src/config/sandboxConfig.js +75 -0
- package/dist/src/config/sandboxConfig.js.map +1 -0
- package/dist/src/config/settings.d.ts +88 -0
- package/dist/src/config/settings.js +263 -0
- package/dist/src/config/settings.js.map +1 -0
- package/dist/src/gemini.d.ts +6 -0
- package/dist/src/gemini.js +420 -0
- package/dist/src/gemini.js.map +1 -0
- package/dist/src/generated/git-commit.d.ts +6 -0
- package/dist/src/generated/git-commit.js +9 -0
- package/dist/src/generated/git-commit.js.map +1 -0
- package/dist/src/nonInteractiveCli.d.ts +7 -0
- package/dist/src/nonInteractiveCli.js +131 -0
- package/dist/src/nonInteractiveCli.js.map +1 -0
- package/dist/src/providers/IMessage.d.ts +38 -0
- package/dist/src/providers/IMessage.js +17 -0
- package/dist/src/providers/IMessage.js.map +1 -0
- package/dist/src/providers/IModel.d.ts +23 -0
- package/dist/src/providers/IModel.js +17 -0
- package/dist/src/providers/IModel.js.map +1 -0
- package/dist/src/providers/IProvider.d.ts +32 -0
- package/dist/src/providers/IProvider.js +17 -0
- package/dist/src/providers/IProvider.js.map +1 -0
- package/dist/src/providers/ITool.d.ts +23 -0
- package/dist/src/providers/ITool.js +17 -0
- package/dist/src/providers/ITool.js.map +1 -0
- package/dist/src/providers/ProviderAwareContentGenerator.d.ts +6 -0
- package/dist/src/providers/ProviderAwareContentGenerator.js +9 -0
- package/dist/src/providers/ProviderAwareContentGenerator.js.map +1 -0
- package/dist/src/providers/ProviderManager.d.ts +19 -0
- package/dist/src/providers/ProviderManager.js +63 -0
- package/dist/src/providers/ProviderManager.js.map +1 -0
- package/dist/src/providers/ProviderManagerAdapter.d.ts +17 -0
- package/dist/src/providers/ProviderManagerAdapter.js +113 -0
- package/dist/src/providers/ProviderManagerAdapter.js.map +1 -0
- package/dist/src/providers/README-qwen3.md +60 -0
- package/dist/src/providers/README.md +203 -0
- package/dist/src/providers/adapters/IStreamAdapter.d.ts +18 -0
- package/dist/src/providers/adapters/IStreamAdapter.js +7 -0
- package/dist/src/providers/adapters/IStreamAdapter.js.map +1 -0
- package/dist/src/providers/anthropic/AnthropicProvider.d.ts +46 -0
- package/dist/src/providers/anthropic/AnthropicProvider.js +478 -0
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -0
- package/dist/src/providers/contentGeneratorProvider.d.ts +13 -0
- package/dist/src/providers/contentGeneratorProvider.js +17 -0
- package/dist/src/providers/contentGeneratorProvider.js.map +1 -0
- package/dist/src/providers/enhanceConfigWithProviders.d.ts +12 -0
- package/dist/src/providers/enhanceConfigWithProviders.js +16 -0
- package/dist/src/providers/enhanceConfigWithProviders.js.map +1 -0
- package/dist/src/providers/gemini/GeminiProvider.d.ts +72 -0
- package/dist/src/providers/gemini/GeminiProvider.js +454 -0
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -0
- package/dist/src/providers/index.d.ts +13 -0
- package/dist/src/providers/index.js +18 -0
- package/dist/src/providers/index.js.map +1 -0
- package/dist/src/providers/integration/TEST_INSTRUCTIONS.md +197 -0
- package/dist/src/providers/openai/ConversationCache.d.ts +20 -0
- package/dist/src/providers/openai/ConversationCache.js +109 -0
- package/dist/src/providers/openai/ConversationCache.js.map +1 -0
- package/dist/src/providers/openai/IChatGenerateParams.d.ts +11 -0
- package/dist/src/providers/openai/IChatGenerateParams.js +2 -0
- package/dist/src/providers/openai/IChatGenerateParams.js.map +1 -0
- package/dist/src/providers/openai/OpenAIProvider.d.ts +71 -0
- package/dist/src/providers/openai/OpenAIProvider.js +486 -0
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -0
- package/dist/src/providers/openai/Qwen3FireworksProvider.d.ts +39 -0
- package/dist/src/providers/openai/Qwen3FireworksProvider.js +209 -0
- package/dist/src/providers/openai/Qwen3FireworksProvider.js.map +1 -0
- package/dist/src/providers/openai/RESPONSES_API_MODELS.d.ts +2 -0
- package/dist/src/providers/openai/RESPONSES_API_MODELS.js +14 -0
- package/dist/src/providers/openai/RESPONSES_API_MODELS.js.map +1 -0
- package/dist/src/providers/openai/buildResponsesRequest.d.ts +67 -0
- package/dist/src/providers/openai/buildResponsesRequest.js +144 -0
- package/dist/src/providers/openai/buildResponsesRequest.js.map +1 -0
- package/dist/src/providers/openai/docs/accessing-provider-info.md +172 -0
- package/dist/src/providers/openai/docs/params-mapping.md +91 -0
- package/dist/src/providers/openai/docs/qwen3-fireworks.md +47 -0
- package/dist/src/providers/openai/docs/responses-api-tool-calls.md +96 -0
- package/dist/src/providers/openai/estimateRemoteTokens.d.ts +26 -0
- package/dist/src/providers/openai/estimateRemoteTokens.js +75 -0
- package/dist/src/providers/openai/estimateRemoteTokens.js.map +1 -0
- package/dist/src/providers/openai/getOpenAIProviderInfo.d.ts +46 -0
- package/dist/src/providers/openai/getOpenAIProviderInfo.js +74 -0
- package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +1 -0
- package/dist/src/providers/openai/parseResponsesStream.d.ts +3 -0
- package/dist/src/providers/openai/parseResponsesStream.js +444 -0
- package/dist/src/providers/openai/parseResponsesStream.js.map +1 -0
- package/dist/src/providers/parsers/TextToolCallParser.d.ts +35 -0
- package/dist/src/providers/parsers/TextToolCallParser.js +248 -0
- package/dist/src/providers/parsers/TextToolCallParser.js.map +1 -0
- package/dist/src/providers/providerConfigUtils.d.ts +26 -0
- package/dist/src/providers/providerConfigUtils.js +173 -0
- package/dist/src/providers/providerConfigUtils.js.map +1 -0
- package/dist/src/providers/providerManagerInstance.d.ts +9 -0
- package/dist/src/providers/providerManagerInstance.js +109 -0
- package/dist/src/providers/providerManagerInstance.js.map +1 -0
- package/dist/src/providers/tokenizers/AnthropicTokenizer.d.ts +19 -0
- package/dist/src/providers/tokenizers/AnthropicTokenizer.js +37 -0
- package/dist/src/providers/tokenizers/AnthropicTokenizer.js.map +1 -0
- package/dist/src/providers/tokenizers/ITokenizer.d.ts +18 -0
- package/dist/src/providers/tokenizers/ITokenizer.js +17 -0
- package/dist/src/providers/tokenizers/ITokenizer.js.map +1 -0
- package/dist/src/providers/tokenizers/OpenAITokenizer.d.ts +24 -0
- package/dist/src/providers/tokenizers/OpenAITokenizer.js +56 -0
- package/dist/src/providers/tokenizers/OpenAITokenizer.js.map +1 -0
- package/dist/src/providers/types.d.ts +14 -0
- package/dist/src/providers/types.js +16 -0
- package/dist/src/providers/types.js.map +1 -0
- package/dist/src/services/CommandService.d.ts +13 -0
- package/dist/src/services/CommandService.js +38 -0
- package/dist/src/services/CommandService.js.map +1 -0
- package/dist/src/tools/IToolFormatter.d.ts +40 -0
- package/dist/src/tools/IToolFormatter.js +17 -0
- package/dist/src/tools/IToolFormatter.js.map +1 -0
- package/dist/src/tools/ToolFormatter.d.ts +45 -0
- package/dist/src/tools/ToolFormatter.js +216 -0
- package/dist/src/tools/ToolFormatter.js.map +1 -0
- package/dist/src/ui/App.d.ts +15 -0
- package/dist/src/ui/App.js +468 -0
- package/dist/src/ui/App.js.map +1 -0
- package/dist/src/ui/colors.d.ts +25 -0
- package/dist/src/ui/colors.js +126 -0
- package/dist/src/ui/colors.js.map +1 -0
- package/dist/src/ui/commands/aboutCommand.d.ts +7 -0
- package/dist/src/ui/commands/aboutCommand.js +61 -0
- package/dist/src/ui/commands/aboutCommand.js.map +1 -0
- package/dist/src/ui/commands/authCommand.d.ts +7 -0
- package/dist/src/ui/commands/authCommand.js +14 -0
- package/dist/src/ui/commands/authCommand.js.map +1 -0
- package/dist/src/ui/commands/clearCommand.d.ts +7 -0
- package/dist/src/ui/commands/clearCommand.js +15 -0
- package/dist/src/ui/commands/clearCommand.js.map +1 -0
- package/dist/src/ui/commands/helpCommand.d.ts +7 -0
- package/dist/src/ui/commands/helpCommand.js +18 -0
- package/dist/src/ui/commands/helpCommand.js.map +1 -0
- package/dist/src/ui/commands/memoryCommand.d.ts +7 -0
- package/dist/src/ui/commands/memoryCommand.js +81 -0
- package/dist/src/ui/commands/memoryCommand.js.map +1 -0
- package/dist/src/ui/commands/privacyCommand.d.ts +7 -0
- package/dist/src/ui/commands/privacyCommand.js +14 -0
- package/dist/src/ui/commands/privacyCommand.js.map +1 -0
- package/dist/src/ui/commands/themeCommand.d.ts +7 -0
- package/dist/src/ui/commands/themeCommand.js +14 -0
- package/dist/src/ui/commands/themeCommand.js.map +1 -0
- package/dist/src/ui/commands/types.d.ts +63 -0
- package/dist/src/ui/commands/types.js +7 -0
- package/dist/src/ui/commands/types.js.map +1 -0
- package/dist/src/ui/components/AboutBox.d.ts +16 -0
- package/dist/src/ui/components/AboutBox.js +6 -0
- package/dist/src/ui/components/AboutBox.js.map +1 -0
- package/dist/src/ui/components/AsciiArt.d.ts +7 -0
- package/dist/src/ui/components/AsciiArt.js +24 -0
- package/dist/src/ui/components/AsciiArt.js.map +1 -0
- package/dist/src/ui/components/AuthDialog.d.ts +15 -0
- package/dist/src/ui/components/AuthDialog.js +102 -0
- package/dist/src/ui/components/AuthDialog.js.map +1 -0
- package/dist/src/ui/components/AuthInProgress.d.ts +11 -0
- package/dist/src/ui/components/AuthInProgress.js +27 -0
- package/dist/src/ui/components/AuthInProgress.js.map +1 -0
- package/dist/src/ui/components/AutoAcceptIndicator.d.ts +12 -0
- package/dist/src/ui/components/AutoAcceptIndicator.js +26 -0
- package/dist/src/ui/components/AutoAcceptIndicator.js.map +1 -0
- package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +11 -0
- package/dist/src/ui/components/ConsoleSummaryDisplay.js +11 -0
- package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -0
- package/dist/src/ui/components/ContextSummaryDisplay.d.ts +15 -0
- package/dist/src/ui/components/ContextSummaryDisplay.js +41 -0
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -0
- package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +14 -0
- package/dist/src/ui/components/DetailedMessagesDisplay.js +34 -0
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -0
- package/dist/src/ui/components/EditorSettingsDialog.d.ts +15 -0
- package/dist/src/ui/components/EditorSettingsDialog.js +73 -0
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -0
- package/dist/src/ui/components/ErrorBoundary.d.ts +46 -0
- package/dist/src/ui/components/ErrorBoundary.js +115 -0
- package/dist/src/ui/components/ErrorBoundary.js.map +1 -0
- package/dist/src/ui/components/Footer.d.ts +22 -0
- package/dist/src/ui/components/Footer.js +32 -0
- package/dist/src/ui/components/Footer.js.map +1 -0
- package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +17 -0
- package/dist/src/ui/components/GeminiRespondingSpinner.js +16 -0
- package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -0
- package/dist/src/ui/components/Header.d.ts +14 -0
- package/dist/src/ui/components/Header.js +20 -0
- package/dist/src/ui/components/Header.js.map +1 -0
- package/dist/src/ui/components/Help.d.ts +12 -0
- package/dist/src/ui/components/Help.js +10 -0
- package/dist/src/ui/components/Help.js.map +1 -0
- package/dist/src/ui/components/HistoryItemDisplay.d.ts +18 -0
- package/dist/src/ui/components/HistoryItemDisplay.js +17 -0
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -0
- package/dist/src/ui/components/InputPrompt.d.ts +25 -0
- package/dist/src/ui/components/InputPrompt.js +350 -0
- package/dist/src/ui/components/InputPrompt.js.map +1 -0
- package/dist/src/ui/components/LayoutManager.d.ts +24 -0
- package/dist/src/ui/components/LayoutManager.js +58 -0
- package/dist/src/ui/components/LayoutManager.js.map +1 -0
- package/dist/src/ui/components/LoadingIndicator.d.ts +15 -0
- package/dist/src/ui/components/LoadingIndicator.js +20 -0
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -0
- package/dist/src/ui/components/MemoryUsageDisplay.d.ts +7 -0
- package/dist/src/ui/components/MemoryUsageDisplay.js +27 -0
- package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -0
- package/dist/src/ui/components/ModelStatsDisplay.d.ts +7 -0
- package/dist/src/ui/components/ModelStatsDisplay.js +33 -0
- package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -0
- package/dist/src/ui/components/ProviderDialog.d.ts +9 -0
- package/dist/src/ui/components/ProviderDialog.js +54 -0
- package/dist/src/ui/components/ProviderDialog.js.map +1 -0
- package/dist/src/ui/components/ProviderModelDialog.d.ts +15 -0
- package/dist/src/ui/components/ProviderModelDialog.js +54 -0
- package/dist/src/ui/components/ProviderModelDialog.js.map +1 -0
- package/dist/src/ui/components/SessionSummaryDisplay.d.ts +11 -0
- package/dist/src/ui/components/SessionSummaryDisplay.js +4 -0
- package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -0
- package/dist/src/ui/components/ShellModeIndicator.d.ts +7 -0
- package/dist/src/ui/components/ShellModeIndicator.js +5 -0
- package/dist/src/ui/components/ShellModeIndicator.js.map +1 -0
- package/dist/src/ui/components/ShowMoreLines.d.ts +10 -0
- package/dist/src/ui/components/ShowMoreLines.js +24 -0
- package/dist/src/ui/components/ShowMoreLines.js.map +1 -0
- package/dist/src/ui/components/StatsDisplay.d.ts +12 -0
- package/dist/src/ui/components/StatsDisplay.js +42 -0
- package/dist/src/ui/components/StatsDisplay.js.map +1 -0
- package/dist/src/ui/components/SuggestionsDisplay.d.ts +21 -0
- package/dist/src/ui/components/SuggestionsDisplay.js +32 -0
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -0
- package/dist/src/ui/components/ThemeDialog.d.ts +19 -0
- package/dist/src/ui/components/ThemeDialog.js +127 -0
- package/dist/src/ui/components/ThemeDialog.js.map +1 -0
- package/dist/src/ui/components/Tips.d.ts +12 -0
- package/dist/src/ui/components/Tips.js +8 -0
- package/dist/src/ui/components/Tips.js.map +1 -0
- package/dist/src/ui/components/ToolStatsDisplay.d.ts +7 -0
- package/dist/src/ui/components/ToolStatsDisplay.js +41 -0
- package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -0
- package/dist/src/ui/components/UpdateNotification.d.ts +10 -0
- package/dist/src/ui/components/UpdateNotification.js +10 -0
- package/dist/src/ui/components/UpdateNotification.js.map +1 -0
- package/dist/src/ui/components/messages/CompressionMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/CompressionMessage.js +16 -0
- package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -0
- package/dist/src/ui/components/messages/DiffRenderer.d.ts +15 -0
- package/dist/src/ui/components/messages/DiffRenderer.js +212 -0
- package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -0
- package/dist/src/ui/components/messages/ErrorMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/ErrorMessage.js +9 -0
- package/dist/src/ui/components/messages/ErrorMessage.js.map +1 -0
- package/dist/src/ui/components/messages/GeminiMessage.d.ts +15 -0
- package/dist/src/ui/components/messages/GeminiMessage.js +10 -0
- package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -0
- package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +14 -0
- package/dist/src/ui/components/messages/GeminiMessageContent.js +15 -0
- package/dist/src/ui/components/messages/GeminiMessageContent.js.map +1 -0
- package/dist/src/ui/components/messages/InfoMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/InfoMessage.js +9 -0
- package/dist/src/ui/components/messages/InfoMessage.js.map +1 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +15 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +117 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +18 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.js +53 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -0
- package/dist/src/ui/components/messages/ToolMessage.d.ts +15 -0
- package/dist/src/ui/components/messages/ToolMessage.js +61 -0
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -0
- package/dist/src/ui/components/messages/UserMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/UserMessage.js +9 -0
- package/dist/src/ui/components/messages/UserMessage.js.map +1 -0
- package/dist/src/ui/components/messages/UserShellMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/UserShellMessage.js +9 -0
- package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -0
- package/dist/src/ui/components/shared/MaxSizedBox.d.ts +61 -0
- package/dist/src/ui/components/shared/MaxSizedBox.js +384 -0
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +44 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.js +77 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -0
- package/dist/src/ui/components/shared/text-buffer.d.ts +184 -0
- package/dist/src/ui/components/shared/text-buffer.js +1021 -0
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -0
- package/dist/src/ui/constants.d.ts +8 -0
- package/dist/src/ui/constants.js +12 -0
- package/dist/src/ui/constants.js.map +1 -0
- package/dist/src/ui/containers/SessionController.d.ts +26 -0
- package/dist/src/ui/containers/SessionController.js +314 -0
- package/dist/src/ui/containers/SessionController.js.map +1 -0
- package/dist/src/ui/containers/UIStateShell.d.ts +6 -0
- package/dist/src/ui/containers/UIStateShell.js +4 -0
- package/dist/src/ui/containers/UIStateShell.js.map +1 -0
- package/dist/src/ui/contexts/AppDispatchContext.d.ts +12 -0
- package/dist/src/ui/contexts/AppDispatchContext.js +17 -0
- package/dist/src/ui/contexts/AppDispatchContext.js.map +1 -0
- package/dist/src/ui/contexts/OpenAIProviderContext.d.ts +29 -0
- package/dist/src/ui/contexts/OpenAIProviderContext.js +63 -0
- package/dist/src/ui/contexts/OpenAIProviderContext.js.map +1 -0
- package/dist/src/ui/contexts/OverflowContext.d.ts +19 -0
- package/dist/src/ui/contexts/OverflowContext.js +43 -0
- package/dist/src/ui/contexts/OverflowContext.js.map +1 -0
- package/dist/src/ui/contexts/SessionContext.d.ts +36 -0
- package/dist/src/ui/contexts/SessionContext.js +66 -0
- package/dist/src/ui/contexts/SessionContext.js.map +1 -0
- package/dist/src/ui/contexts/SessionStateContext.d.ts +15 -0
- package/dist/src/ui/contexts/SessionStateContext.js +26 -0
- package/dist/src/ui/contexts/SessionStateContext.js.map +1 -0
- package/dist/src/ui/contexts/StreamingContext.d.ts +9 -0
- package/dist/src/ui/contexts/StreamingContext.js +15 -0
- package/dist/src/ui/contexts/StreamingContext.js.map +1 -0
- package/dist/src/ui/editors/editorSettingsManager.d.ts +19 -0
- package/dist/src/ui/editors/editorSettingsManager.js +54 -0
- package/dist/src/ui/editors/editorSettingsManager.js.map +1 -0
- package/dist/src/ui/hooks/atCommandProcessor.d.ts +31 -0
- package/dist/src/ui/hooks/atCommandProcessor.js +310 -0
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -0
- package/dist/src/ui/hooks/index.d.ts +2 -0
- package/dist/src/ui/hooks/index.js +3 -0
- package/dist/src/ui/hooks/index.js.map +1 -0
- package/dist/src/ui/hooks/shellCommandProcessor.d.ts +16 -0
- package/dist/src/ui/hooks/shellCommandProcessor.js +263 -0
- package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -0
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +27 -0
- package/dist/src/ui/hooks/slashCommandProcessor.js +1413 -0
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -0
- package/dist/src/ui/hooks/useAuthCommand.d.ts +15 -0
- package/dist/src/ui/hooks/useAuthCommand.js +76 -0
- package/dist/src/ui/hooks/useAuthCommand.js.map +1 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +10 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +37 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -0
- package/dist/src/ui/hooks/useBracketedPaste.d.ts +12 -0
- package/dist/src/ui/hooks/useBracketedPaste.js +32 -0
- package/dist/src/ui/hooks/useBracketedPaste.js.map +1 -0
- package/dist/src/ui/hooks/useCompletion.d.ts +21 -0
- package/dist/src/ui/hooks/useCompletion.js +375 -0
- package/dist/src/ui/hooks/useCompletion.js.map +1 -0
- package/dist/src/ui/hooks/useConsoleMessages.d.ts +12 -0
- package/dist/src/ui/hooks/useConsoleMessages.js +60 -0
- package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -0
- package/dist/src/ui/hooks/useEditorSettings.d.ts +17 -0
- package/dist/src/ui/hooks/useEditorSettings.js +48 -0
- package/dist/src/ui/hooks/useEditorSettings.js.map +1 -0
- package/dist/src/ui/hooks/useGeminiStream.d.ts +23 -0
- package/dist/src/ui/hooks/useGeminiStream.js +607 -0
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -0
- package/dist/src/ui/hooks/useGitBranchName.d.ts +6 -0
- package/dist/src/ui/hooks/useGitBranchName.js +61 -0
- package/dist/src/ui/hooks/useGitBranchName.js.map +1 -0
- package/dist/src/ui/hooks/useHistoryManager.d.ts +22 -0
- package/dist/src/ui/hooks/useHistoryManager.js +74 -0
- package/dist/src/ui/hooks/useHistoryManager.js.map +1 -0
- package/dist/src/ui/hooks/useInputHistory.d.ts +19 -0
- package/dist/src/ui/hooks/useInputHistory.js +84 -0
- package/dist/src/ui/hooks/useInputHistory.js.map +1 -0
- package/dist/src/ui/hooks/useKeypress.d.ts +29 -0
- package/dist/src/ui/hooks/useKeypress.js +162 -0
- package/dist/src/ui/hooks/useKeypress.js.map +1 -0
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +10 -0
- package/dist/src/ui/hooks/useLoadingIndicator.js +44 -0
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -0
- package/dist/src/ui/hooks/useLogger.d.ts +10 -0
- package/dist/src/ui/hooks/useLogger.js +29 -0
- package/dist/src/ui/hooks/useLogger.js.map +1 -0
- package/dist/src/ui/hooks/useOpenAIProviderInfo.d.ts +17 -0
- package/dist/src/ui/hooks/useOpenAIProviderInfo.js +43 -0
- package/dist/src/ui/hooks/useOpenAIProviderInfo.js.map +1 -0
- package/dist/src/ui/hooks/usePhraseCycler.d.ts +14 -0
- package/dist/src/ui/hooks/usePhraseCycler.js +197 -0
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -0
- package/dist/src/ui/hooks/usePrivacySettings.d.ts +16 -0
- package/dist/src/ui/hooks/usePrivacySettings.js +115 -0
- package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -0
- package/dist/src/ui/hooks/useProviderDialog.d.ts +25 -0
- package/dist/src/ui/hooks/useProviderDialog.js +61 -0
- package/dist/src/ui/hooks/useProviderDialog.js.map +1 -0
- package/dist/src/ui/hooks/useProviderModelDialog.d.ts +26 -0
- package/dist/src/ui/hooks/useProviderModelDialog.js +62 -0
- package/dist/src/ui/hooks/useProviderModelDialog.js.map +1 -0
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +33 -0
- package/dist/src/ui/hooks/useReactToolScheduler.js +186 -0
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -0
- package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +6 -0
- package/dist/src/ui/hooks/useRefreshMemoryCommand.js +7 -0
- package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +1 -0
- package/dist/src/ui/hooks/useSession.d.ts +11 -0
- package/dist/src/ui/hooks/useSession.js +19 -0
- package/dist/src/ui/hooks/useSession.js.map +1 -0
- package/dist/src/ui/hooks/useShellHistory.d.ts +11 -0
- package/dist/src/ui/hooks/useShellHistory.js +89 -0
- package/dist/src/ui/hooks/useShellHistory.js.map +1 -0
- package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +9 -0
- package/dist/src/ui/hooks/useShowMemoryCommand.js +50 -0
- package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -0
- package/dist/src/ui/hooks/useStableCallback.d.ts +40 -0
- package/dist/src/ui/hooks/useStableCallback.js +58 -0
- package/dist/src/ui/hooks/useStableCallback.js.map +1 -0
- package/dist/src/ui/hooks/useStateAndRef.d.ts +7 -0
- package/dist/src/ui/hooks/useStateAndRef.js +26 -0
- package/dist/src/ui/hooks/useStateAndRef.js.map +1 -0
- package/dist/src/ui/hooks/useTerminalSize.d.ts +9 -0
- package/dist/src/ui/hooks/useTerminalSize.js +27 -0
- package/dist/src/ui/hooks/useTerminalSize.js.map +1 -0
- package/dist/src/ui/hooks/useThemeCommand.d.ts +16 -0
- package/dist/src/ui/hooks/useThemeCommand.js +94 -0
- package/dist/src/ui/hooks/useThemeCommand.js.map +1 -0
- package/dist/src/ui/hooks/useTimer.d.ts +12 -0
- package/dist/src/ui/hooks/useTimer.js +58 -0
- package/dist/src/ui/hooks/useTimer.js.map +1 -0
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +12 -0
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +42 -0
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -0
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +10 -0
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +17 -0
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -0
- package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +10 -0
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js +17 -0
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -0
- package/dist/src/ui/privacy/PrivacyNotice.d.ts +12 -0
- package/dist/src/ui/privacy/PrivacyNotice.js +25 -0
- package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -0
- package/dist/src/ui/reducers/appReducer.d.ts +59 -0
- package/dist/src/ui/reducers/appReducer.js +91 -0
- package/dist/src/ui/reducers/appReducer.js.map +1 -0
- package/dist/src/ui/reducers/sessionReducer.d.ts +36 -0
- package/dist/src/ui/reducers/sessionReducer.js +30 -0
- package/dist/src/ui/reducers/sessionReducer.js.map +1 -0
- package/dist/src/ui/themes/ansi-light.d.ts +7 -0
- package/dist/src/ui/themes/ansi-light.js +139 -0
- package/dist/src/ui/themes/ansi-light.js.map +1 -0
- package/dist/src/ui/themes/ansi.d.ts +7 -0
- package/dist/src/ui/themes/ansi.js +149 -0
- package/dist/src/ui/themes/ansi.js.map +1 -0
- package/dist/src/ui/themes/atom-one-dark.d.ts +7 -0
- package/dist/src/ui/themes/atom-one-dark.js +136 -0
- package/dist/src/ui/themes/atom-one-dark.js.map +1 -0
- package/dist/src/ui/themes/ayu-light.d.ts +7 -0
- package/dist/src/ui/themes/ayu-light.js +128 -0
- package/dist/src/ui/themes/ayu-light.js.map +1 -0
- package/dist/src/ui/themes/ayu.d.ts +7 -0
- package/dist/src/ui/themes/ayu.js +102 -0
- package/dist/src/ui/themes/ayu.js.map +1 -0
- package/dist/src/ui/themes/default-light.d.ts +7 -0
- package/dist/src/ui/themes/default-light.js +100 -0
- package/dist/src/ui/themes/default-light.js.map +1 -0
- package/dist/src/ui/themes/default.d.ts +7 -0
- package/dist/src/ui/themes/default.js +143 -0
- package/dist/src/ui/themes/default.js.map +1 -0
- package/dist/src/ui/themes/dracula.d.ts +7 -0
- package/dist/src/ui/themes/dracula.js +113 -0
- package/dist/src/ui/themes/dracula.js.map +1 -0
- package/dist/src/ui/themes/github-dark.d.ts +7 -0
- package/dist/src/ui/themes/github-dark.js +136 -0
- package/dist/src/ui/themes/github-dark.js.map +1 -0
- package/dist/src/ui/themes/github-light.d.ts +7 -0
- package/dist/src/ui/themes/github-light.js +138 -0
- package/dist/src/ui/themes/github-light.js.map +1 -0
- package/dist/src/ui/themes/googlecode.d.ts +7 -0
- package/dist/src/ui/themes/googlecode.js +135 -0
- package/dist/src/ui/themes/googlecode.js.map +1 -0
- package/dist/src/ui/themes/green-screen.d.ts +7 -0
- package/dist/src/ui/themes/green-screen.js +113 -0
- package/dist/src/ui/themes/green-screen.js.map +1 -0
- package/dist/src/ui/themes/no-color.d.ts +7 -0
- package/dist/src/ui/themes/no-color.js +84 -0
- package/dist/src/ui/themes/no-color.js.map +1 -0
- package/dist/src/ui/themes/shades-of-purple.d.ts +11 -0
- package/dist/src/ui/themes/shades-of-purple.js +302 -0
- package/dist/src/ui/themes/shades-of-purple.js.map +1 -0
- package/dist/src/ui/themes/theme-manager.d.ts +33 -0
- package/dist/src/ui/themes/theme-manager.js +111 -0
- package/dist/src/ui/themes/theme-manager.js.map +1 -0
- package/dist/src/ui/themes/theme.d.ts +83 -0
- package/dist/src/ui/themes/theme.js +304 -0
- package/dist/src/ui/themes/theme.js.map +1 -0
- package/dist/src/ui/themes/xcode.d.ts +7 -0
- package/dist/src/ui/themes/xcode.js +143 -0
- package/dist/src/ui/themes/xcode.js.map +1 -0
- package/dist/src/ui/types.d.ts +174 -0
- package/dist/src/ui/types.js +43 -0
- package/dist/src/ui/types.js.map +1 -0
- package/dist/src/ui/utils/CodeColorizer.d.ts +14 -0
- package/dist/src/ui/utils/CodeColorizer.js +97 -0
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -0
- package/dist/src/ui/utils/ConsolePatcher.d.ts +23 -0
- package/dist/src/ui/utils/ConsolePatcher.js +42 -0
- package/dist/src/ui/utils/ConsolePatcher.js.map +1 -0
- package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +16 -0
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +104 -0
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -0
- package/dist/src/ui/utils/MarkdownDisplay.d.ts +14 -0
- package/dist/src/ui/utils/MarkdownDisplay.js +205 -0
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -0
- package/dist/src/ui/utils/TableRenderer.d.ts +17 -0
- package/dist/src/ui/utils/TableRenderer.js +84 -0
- package/dist/src/ui/utils/TableRenderer.js.map +1 -0
- package/dist/src/ui/utils/clipboardUtils.d.ts +22 -0
- package/dist/src/ui/utils/clipboardUtils.js +127 -0
- package/dist/src/ui/utils/clipboardUtils.js.map +1 -0
- package/dist/src/ui/utils/commandUtils.d.ts +22 -0
- package/dist/src/ui/utils/commandUtils.js +25 -0
- package/dist/src/ui/utils/commandUtils.js.map +1 -0
- package/dist/src/ui/utils/computeStats.d.ts +10 -0
- package/dist/src/ui/utils/computeStats.js +55 -0
- package/dist/src/ui/utils/computeStats.js.map +1 -0
- package/dist/src/ui/utils/displayUtils.d.ts +17 -0
- package/dist/src/ui/utils/displayUtils.js +24 -0
- package/dist/src/ui/utils/displayUtils.js.map +1 -0
- package/dist/src/ui/utils/errorParsing.d.ts +7 -0
- package/dist/src/ui/utils/errorParsing.js +106 -0
- package/dist/src/ui/utils/errorParsing.js.map +1 -0
- package/dist/src/ui/utils/formatters.d.ts +13 -0
- package/dist/src/ui/utils/formatters.js +56 -0
- package/dist/src/ui/utils/formatters.js.map +1 -0
- package/dist/src/ui/utils/markdownUtilities.d.ts +6 -0
- package/dist/src/ui/utils/markdownUtilities.js +110 -0
- package/dist/src/ui/utils/markdownUtilities.js.map +1 -0
- package/dist/src/ui/utils/renderLoopDetector.d.ts +52 -0
- package/dist/src/ui/utils/renderLoopDetector.js +146 -0
- package/dist/src/ui/utils/renderLoopDetector.js.map +1 -0
- package/dist/src/ui/utils/textUtils.d.ts +22 -0
- package/dist/src/ui/utils/textUtils.js +58 -0
- package/dist/src/ui/utils/textUtils.js.map +1 -0
- package/dist/src/ui/utils/updateCheck.d.ts +6 -0
- package/dist/src/ui/utils/updateCheck.js +50 -0
- package/dist/src/ui/utils/updateCheck.js.map +1 -0
- package/dist/src/utils/ConversationContext.d.ts +55 -0
- package/dist/src/utils/ConversationContext.js +85 -0
- package/dist/src/utils/ConversationContext.js.map +1 -0
- package/dist/src/utils/cleanup.d.ts +8 -0
- package/dist/src/utils/cleanup.js +34 -0
- package/dist/src/utils/cleanup.js.map +1 -0
- package/dist/src/utils/package.d.ts +12 -0
- package/dist/src/utils/package.js +24 -0
- package/dist/src/utils/package.js.map +1 -0
- package/dist/src/utils/readStdin.d.ts +6 -0
- package/dist/src/utils/readStdin.js +34 -0
- package/dist/src/utils/readStdin.js.map +1 -0
- package/dist/src/utils/sandbox-macos-permissive-closed.sb +26 -0
- package/dist/src/utils/sandbox-macos-permissive-open.sb +19 -0
- package/dist/src/utils/sandbox-macos-permissive-proxied.sb +31 -0
- package/dist/src/utils/sandbox-macos-restrictive-closed.sb +87 -0
- package/dist/src/utils/sandbox-macos-restrictive-open.sb +90 -0
- package/dist/src/utils/sandbox-macos-restrictive-proxied.sb +92 -0
- package/dist/src/utils/sandbox.d.ts +7 -0
- package/dist/src/utils/sandbox.js +680 -0
- package/dist/src/utils/sandbox.js.map +1 -0
- package/dist/src/utils/startupWarnings.d.ts +6 -0
- package/dist/src/utils/startupWarnings.js +40 -0
- package/dist/src/utils/startupWarnings.js.map +1 -0
- package/dist/src/utils/userStartupWarnings.d.ts +6 -0
- package/dist/src/utils/userStartupWarnings.js +48 -0
- package/dist/src/utils/userStartupWarnings.js.map +1 -0
- package/dist/src/utils/version.d.ts +6 -0
- package/dist/src/utils/version.js +11 -0
- package/dist/src/utils/version.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/vybestack-llxprt-code-0.1.12.tgz +0 -0
- package/package.json +95 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { useCallback, useEffect } from 'react';
|
7
|
+
import { themeManager } from '../themes/theme-manager.js';
|
8
|
+
import { MessageType } from '../types.js';
|
9
|
+
import process from 'node:process';
|
10
|
+
import { useAppDispatch } from '../contexts/AppDispatchContext.js';
|
11
|
+
export const useThemeCommand = (loadedSettings, appState, addItem) => {
|
12
|
+
// Determine the effective theme
|
13
|
+
const effectiveTheme = loadedSettings.merged.theme;
|
14
|
+
const appDispatch = useAppDispatch();
|
15
|
+
const isThemeDialogOpen = appState.openDialogs.theme;
|
16
|
+
// Set initial dialog state based on theme availability
|
17
|
+
useEffect(() => {
|
18
|
+
if (effectiveTheme === undefined && !process.env.NO_COLOR) {
|
19
|
+
appDispatch({ type: 'OPEN_DIALOG', payload: 'theme' });
|
20
|
+
}
|
21
|
+
}, [effectiveTheme, appDispatch]); // Run only on mount
|
22
|
+
// Apply initial theme on component mount
|
23
|
+
useEffect(() => {
|
24
|
+
if (effectiveTheme === undefined) {
|
25
|
+
if (process.env.NO_COLOR) {
|
26
|
+
addItem({
|
27
|
+
type: MessageType.INFO,
|
28
|
+
text: 'Theme configuration unavailable due to NO_COLOR env variable.',
|
29
|
+
}, Date.now());
|
30
|
+
}
|
31
|
+
// If no theme is set and NO_COLOR is not set, the dialog is already open.
|
32
|
+
return;
|
33
|
+
}
|
34
|
+
if (!themeManager.setActiveTheme(effectiveTheme)) {
|
35
|
+
appDispatch({ type: 'OPEN_DIALOG', payload: 'theme' });
|
36
|
+
appDispatch({
|
37
|
+
type: 'SET_THEME_ERROR',
|
38
|
+
payload: `Theme "${effectiveTheme}" not found.`,
|
39
|
+
});
|
40
|
+
}
|
41
|
+
else {
|
42
|
+
appDispatch({ type: 'SET_THEME_ERROR', payload: null });
|
43
|
+
}
|
44
|
+
}, [effectiveTheme, appDispatch, addItem]); // Re-run if effectiveTheme or appDispatch changes
|
45
|
+
const openThemeDialog = useCallback(() => {
|
46
|
+
if (process.env.NO_COLOR) {
|
47
|
+
addItem({
|
48
|
+
type: MessageType.INFO,
|
49
|
+
text: 'Theme configuration unavailable due to NO_COLOR env variable.',
|
50
|
+
}, Date.now());
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
appDispatch({ type: 'OPEN_DIALOG', payload: 'theme' });
|
54
|
+
}, [addItem, appDispatch]);
|
55
|
+
const applyTheme = useCallback((themeName) => {
|
56
|
+
if (!themeManager.setActiveTheme(themeName)) {
|
57
|
+
// If theme is not found, open the theme selection dialog and set error message
|
58
|
+
appDispatch({ type: 'OPEN_DIALOG', payload: 'theme' });
|
59
|
+
appDispatch({
|
60
|
+
type: 'SET_THEME_ERROR',
|
61
|
+
payload: `Theme "${themeName}" not found.`,
|
62
|
+
});
|
63
|
+
}
|
64
|
+
else {
|
65
|
+
// Force re-render by updating a dummy warning
|
66
|
+
appDispatch({
|
67
|
+
type: 'SET_WARNING',
|
68
|
+
payload: { key: 'theme-render', message: '' },
|
69
|
+
});
|
70
|
+
appDispatch({ type: 'CLEAR_WARNING', payload: 'theme-render' });
|
71
|
+
appDispatch({ type: 'SET_THEME_ERROR', payload: null }); // Clear any previous theme error on success
|
72
|
+
}
|
73
|
+
}, [appDispatch]);
|
74
|
+
const handleThemeHighlight = useCallback((themeName) => {
|
75
|
+
applyTheme(themeName);
|
76
|
+
}, [applyTheme]);
|
77
|
+
const handleThemeSelect = useCallback((themeName, scope) => {
|
78
|
+
// Added scope parameter
|
79
|
+
try {
|
80
|
+
loadedSettings.setValue(scope, 'theme', themeName); // Update the merged settings
|
81
|
+
applyTheme(loadedSettings.merged.theme); // Apply the current theme
|
82
|
+
}
|
83
|
+
finally {
|
84
|
+
appDispatch({ type: 'CLOSE_DIALOG', payload: 'theme' }); // Close the dialog
|
85
|
+
}
|
86
|
+
}, [applyTheme, loadedSettings, appDispatch]);
|
87
|
+
return {
|
88
|
+
isThemeDialogOpen,
|
89
|
+
openThemeDialog,
|
90
|
+
handleThemeSelect,
|
91
|
+
handleThemeHighlight,
|
92
|
+
};
|
93
|
+
};
|
94
|
+
//# sourceMappingURL=useThemeCommand.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useThemeCommand.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useThemeCommand.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
/**
|
7
|
+
* Custom hook to manage a timer that increments every second.
|
8
|
+
* @param isActive Whether the timer should be running.
|
9
|
+
* @param resetKey A key that, when changed, will reset the timer to 0 and restart the interval.
|
10
|
+
* @returns The elapsed time in seconds.
|
11
|
+
*/
|
12
|
+
export declare const useTimer: (isActive: boolean, resetKey: unknown) => number;
|
@@ -0,0 +1,58 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { useState, useEffect, useRef } from 'react';
|
7
|
+
/**
|
8
|
+
* Custom hook to manage a timer that increments every second.
|
9
|
+
* @param isActive Whether the timer should be running.
|
10
|
+
* @param resetKey A key that, when changed, will reset the timer to 0 and restart the interval.
|
11
|
+
* @returns The elapsed time in seconds.
|
12
|
+
*/
|
13
|
+
export const useTimer = (isActive, resetKey) => {
|
14
|
+
const [elapsedTime, setElapsedTime] = useState(0);
|
15
|
+
const timerRef = useRef(null);
|
16
|
+
const prevResetKeyRef = useRef(resetKey);
|
17
|
+
const prevIsActiveRef = useRef(isActive);
|
18
|
+
useEffect(() => {
|
19
|
+
let shouldResetTime = false;
|
20
|
+
if (prevResetKeyRef.current !== resetKey) {
|
21
|
+
shouldResetTime = true;
|
22
|
+
prevResetKeyRef.current = resetKey;
|
23
|
+
}
|
24
|
+
if (prevIsActiveRef.current === false && isActive) {
|
25
|
+
// Transitioned from inactive to active
|
26
|
+
shouldResetTime = true;
|
27
|
+
}
|
28
|
+
if (shouldResetTime) {
|
29
|
+
setElapsedTime(0);
|
30
|
+
}
|
31
|
+
prevIsActiveRef.current = isActive;
|
32
|
+
// Manage interval
|
33
|
+
if (isActive) {
|
34
|
+
// Clear previous interval unconditionally before starting a new one
|
35
|
+
// This handles resetKey changes while active, ensuring a fresh interval start.
|
36
|
+
if (timerRef.current) {
|
37
|
+
clearInterval(timerRef.current);
|
38
|
+
}
|
39
|
+
timerRef.current = setInterval(() => {
|
40
|
+
setElapsedTime((prev) => prev + 1);
|
41
|
+
}, 1000);
|
42
|
+
}
|
43
|
+
else {
|
44
|
+
if (timerRef.current) {
|
45
|
+
clearInterval(timerRef.current);
|
46
|
+
timerRef.current = null;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
return () => {
|
50
|
+
if (timerRef.current) {
|
51
|
+
clearInterval(timerRef.current);
|
52
|
+
timerRef.current = null;
|
53
|
+
}
|
54
|
+
};
|
55
|
+
}, [isActive, resetKey]);
|
56
|
+
return elapsedTime;
|
57
|
+
};
|
58
|
+
//# sourceMappingURL=useTimer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useTimer.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useTimer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;IAC/D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,eAAe,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzC,eAAe,GAAG,IAAI,CAAC;YACvB,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC;QACrC,CAAC;QAED,IAAI,eAAe,CAAC,OAAO,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;YAClD,uCAAuC;YACvC,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,cAAc,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC;QAEnC,kBAAkB;QAClB,IAAI,QAAQ,EAAE,CAAC;YACb,oEAAoE;YACpE,+EAA+E;YAC/E,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;YACD,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;gBAClC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzB,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { Config } from '@vybestack/llxprt-code-core';
|
7
|
+
interface CloudFreePrivacyNoticeProps {
|
8
|
+
config: Config;
|
9
|
+
onExit: () => void;
|
10
|
+
}
|
11
|
+
export declare const CloudFreePrivacyNotice: ({ config, onExit, }: CloudFreePrivacyNoticeProps) => import("react/jsx-runtime").JSX.Element;
|
12
|
+
export {};
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
/**
|
3
|
+
* @license
|
4
|
+
* Copyright 2025 Google LLC
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
6
|
+
*/
|
7
|
+
import { Box, Newline, Text, useInput } from 'ink';
|
8
|
+
import { useCallback } from 'react';
|
9
|
+
import { RadioButtonSelect } from '../components/shared/RadioButtonSelect.js';
|
10
|
+
import { usePrivacySettings } from '../hooks/usePrivacySettings.js';
|
11
|
+
import { CloudPaidPrivacyNotice } from './CloudPaidPrivacyNotice.js';
|
12
|
+
import { Colors } from '../colors.js';
|
13
|
+
export const CloudFreePrivacyNotice = ({ config, onExit, }) => {
|
14
|
+
const { privacyState, updateDataCollectionOptIn } = usePrivacySettings(config);
|
15
|
+
const handleSelect = useCallback((value) => {
|
16
|
+
updateDataCollectionOptIn(value);
|
17
|
+
// Only exit if there was no error.
|
18
|
+
if (!privacyState.error) {
|
19
|
+
onExit();
|
20
|
+
}
|
21
|
+
}, [updateDataCollectionOptIn, privacyState.error, onExit]);
|
22
|
+
useInput((input, key) => {
|
23
|
+
if (privacyState.error && key.escape) {
|
24
|
+
onExit();
|
25
|
+
}
|
26
|
+
});
|
27
|
+
if (privacyState.isLoading) {
|
28
|
+
return _jsx(Text, { color: Colors.Gray, children: "Loading..." });
|
29
|
+
}
|
30
|
+
if (privacyState.error) {
|
31
|
+
return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Text, { color: Colors.AccentRed, children: ["Error loading Opt-in settings: ", privacyState.error] }), _jsx(Text, { color: Colors.Gray, children: "Press Esc to exit." })] }));
|
32
|
+
}
|
33
|
+
if (privacyState.isFreeTier === false) {
|
34
|
+
return _jsx(CloudPaidPrivacyNotice, { onExit: onExit });
|
35
|
+
}
|
36
|
+
const items = [
|
37
|
+
{ label: 'Yes', value: true },
|
38
|
+
{ label: 'No', value: false },
|
39
|
+
];
|
40
|
+
return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Gemini Code Assist for Individuals Privacy Notice" }), _jsx(Newline, {}), _jsxs(Text, { children: ["This notice and our Privacy Policy", _jsx(Text, { color: Colors.AccentBlue, children: "[1]" }), " describe how Gemini Code Assist handles your data. Please read them carefully."] }), _jsx(Newline, {}), _jsx(Text, { children: "When you use Gemini Code Assist for individuals with Gemini CLI, Google collects your prompts, related code, generated output, code edits, related feature usage information, and your feedback to provide, improve, and develop Google products and services and machine learning technologies." }), _jsx(Newline, {}), _jsx(Text, { children: "To help with quality and improve our products (such as generative machine-learning models), human reviewers may read, annotate, and process the data collected above. We take steps to protect your privacy as part of this process. This includes disconnecting the data from your Google Account before reviewers see or annotate it, and storing those disconnected copies for up to 18 months. Please don't submit confidential information or any data you wouldn't want a reviewer to see or Google to use to improve our products, services and machine-learning technologies." }), _jsx(Newline, {}), _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: "Allow Google to use this data to develop and improve our products?" }), _jsx(RadioButtonSelect, { items: items, initialIndex: privacyState.dataCollectionOptIn ? 0 : 1, onSelect: handleSelect })] }), _jsx(Newline, {}), _jsxs(Text, { children: [_jsx(Text, { color: Colors.AccentBlue, children: "[1]" }), ' ', "https://policies.google.com/privacy"] }), _jsx(Newline, {}), _jsx(Text, { color: Colors.Gray, children: "Press Enter to choose an option and exit." })] }));
|
41
|
+
};
|
42
|
+
//# sourceMappingURL=CloudFreePrivacyNotice.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CloudFreePrivacyNotice.js","sourceRoot":"","sources":["../../../../src/ui/privacy/CloudFreePrivacyNotice.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
interface CloudPaidPrivacyNoticeProps {
|
7
|
+
onExit: () => void;
|
8
|
+
}
|
9
|
+
export declare const CloudPaidPrivacyNotice: ({ onExit, }: CloudPaidPrivacyNoticeProps) => import("react/jsx-runtime").JSX.Element;
|
10
|
+
export {};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
/**
|
3
|
+
* @license
|
4
|
+
* Copyright 2025 Google LLC
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
6
|
+
*/
|
7
|
+
import { Box, Newline, Text, useInput } from 'ink';
|
8
|
+
import { Colors } from '../colors.js';
|
9
|
+
export const CloudPaidPrivacyNotice = ({ onExit, }) => {
|
10
|
+
useInput((input, key) => {
|
11
|
+
if (key.escape) {
|
12
|
+
onExit();
|
13
|
+
}
|
14
|
+
});
|
15
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Vertex AI Notice" }), _jsx(Newline, {}), _jsxs(Text, { children: ["Service Specific Terms", _jsx(Text, { color: Colors.AccentBlue, children: "[1]" }), " are incorporated into the agreement under which Google has agreed to provide Google Cloud Platform", _jsx(Text, { color: Colors.AccentGreen, children: "[2]" }), " to Customer (the \u201CAgreement\u201D). If the Agreement authorizes the resale or supply of Google Cloud Platform under a Google Cloud partner or reseller program, then except for in the section entitled \u201CPartner-Specific Terms\u201D, all references to Customer in the Service Specific Terms mean Partner or Reseller (as applicable), and all references to Customer Data in the Service Specific Terms mean Partner Data. Capitalized terms used but not defined in the Service Specific Terms have the meaning given to them in the Agreement."] }), _jsx(Newline, {}), _jsxs(Text, { children: [_jsx(Text, { color: Colors.AccentBlue, children: "[1]" }), ' ', "https://cloud.google.com/terms/service-terms"] }), _jsxs(Text, { children: [_jsx(Text, { color: Colors.AccentGreen, children: "[2]" }), ' ', "https://cloud.google.com/terms/services"] }), _jsx(Newline, {}), _jsx(Text, { color: Colors.Gray, children: "Press Esc to exit." })] }));
|
16
|
+
};
|
17
|
+
//# sourceMappingURL=CloudPaidPrivacyNotice.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CloudPaidPrivacyNotice.js","sourceRoot":"","sources":["../../../../src/ui/privacy/CloudPaidPrivacyNotice.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAMtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,MAAM,GACsB,EAAE,EAAE;IAChC,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,CAAC,YAAY,iCAE9B,EACP,KAAC,OAAO,KAAG,EACX,MAAC,IAAI,yCACmB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,oBAAY,yGAE3C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,oBAAY,uiBAS3D,EACP,KAAC,OAAO,KAAG,EACX,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,oBAAY,EAAC,GAAG,oDAEzC,EACP,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,oBAAY,EAAC,GAAG,+CAE1C,EACP,KAAC,OAAO,KAAG,EACX,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,mCAA2B,IAC/C,CACP,CAAC;AACJ,CAAC,CAAC"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
interface GeminiPrivacyNoticeProps {
|
7
|
+
onExit: () => void;
|
8
|
+
}
|
9
|
+
export declare const GeminiPrivacyNotice: ({ onExit }: GeminiPrivacyNoticeProps) => import("react/jsx-runtime").JSX.Element;
|
10
|
+
export {};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
/**
|
3
|
+
* @license
|
4
|
+
* Copyright 2025 Google LLC
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
6
|
+
*/
|
7
|
+
import { Box, Newline, Text, useInput } from 'ink';
|
8
|
+
import { Colors } from '../colors.js';
|
9
|
+
export const GeminiPrivacyNotice = ({ onExit }) => {
|
10
|
+
useInput((input, key) => {
|
11
|
+
if (key.escape) {
|
12
|
+
onExit();
|
13
|
+
}
|
14
|
+
});
|
15
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Gemini API Key Notice" }), _jsx(Newline, {}), _jsxs(Text, { children: ["By using the Gemini API", _jsx(Text, { color: Colors.AccentBlue, children: "[1]" }), ", Google AI Studio", _jsx(Text, { color: Colors.AccentRed, children: "[2]" }), ", and the other Google developer services that reference these terms (collectively, the \"APIs\" or \"Services\"), you are agreeing to Google APIs Terms of Service (the \"API Terms\")", _jsx(Text, { color: Colors.AccentGreen, children: "[3]" }), ", and the Gemini API Additional Terms of Service (the \"Additional Terms\")", _jsx(Text, { color: Colors.AccentPurple, children: "[4]" }), "."] }), _jsx(Newline, {}), _jsxs(Text, { children: [_jsx(Text, { color: Colors.AccentBlue, children: "[1]" }), ' ', "https://ai.google.dev/docs/gemini_api_overview"] }), _jsxs(Text, { children: [_jsx(Text, { color: Colors.AccentRed, children: "[2]" }), " https://aistudio.google.com/"] }), _jsxs(Text, { children: [_jsx(Text, { color: Colors.AccentGreen, children: "[3]" }), ' ', "https://developers.google.com/terms"] }), _jsxs(Text, { children: [_jsx(Text, { color: Colors.AccentPurple, children: "[4]" }), ' ', "https://ai.google.dev/gemini-api/terms"] }), _jsx(Newline, {}), _jsx(Text, { color: Colors.Gray, children: "Press Esc to exit." })] }));
|
16
|
+
};
|
17
|
+
//# sourceMappingURL=GeminiPrivacyNotice.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"GeminiPrivacyNotice.js","sourceRoot":"","sources":["../../../../src/ui/privacy/GeminiPrivacyNotice.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAMtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,MAAM,EAA4B,EAAE,EAAE;IAC1E,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,CAAC,YAAY,sCAE9B,EACP,KAAC,OAAO,KAAG,EACX,MAAC,IAAI,0CACoB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,oBAAY,wBAEjE,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,oBAAY,6LAIzC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,oBAAY,iFAE3C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,oBAAY,SACvC,EACP,KAAC,OAAO,KAAG,EACX,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,oBAAY,EAAC,GAAG,sDAEzC,EACP,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,oBAAY,qCACpC,EACP,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,oBAAY,EAAC,GAAG,2CAE1C,EACP,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,oBAAY,EAAC,GAAG,8CAE3C,EACP,KAAC,OAAO,KAAG,EACX,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,mCAA2B,IAC/C,CACP,CAAC;AACJ,CAAC,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { type Config } from '@vybestack/llxprt-code-core';
|
7
|
+
interface PrivacyNoticeProps {
|
8
|
+
onExit: () => void;
|
9
|
+
config: Config;
|
10
|
+
}
|
11
|
+
export declare const PrivacyNotice: ({ onExit, config }: PrivacyNoticeProps) => import("react/jsx-runtime").JSX.Element;
|
12
|
+
export {};
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
/**
|
3
|
+
* @license
|
4
|
+
* Copyright 2025 Google LLC
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
6
|
+
*/
|
7
|
+
import { Box } from 'ink';
|
8
|
+
import { AuthType } from '@vybestack/llxprt-code-core';
|
9
|
+
import { GeminiPrivacyNotice } from './GeminiPrivacyNotice.js';
|
10
|
+
import { CloudPaidPrivacyNotice } from './CloudPaidPrivacyNotice.js';
|
11
|
+
import { CloudFreePrivacyNotice } from './CloudFreePrivacyNotice.js';
|
12
|
+
const PrivacyNoticeText = ({ config, onExit, }) => {
|
13
|
+
const authType = config.getContentGeneratorConfig()?.authType;
|
14
|
+
switch (authType) {
|
15
|
+
case AuthType.USE_GEMINI:
|
16
|
+
return _jsx(GeminiPrivacyNotice, { onExit: onExit });
|
17
|
+
case AuthType.USE_VERTEX_AI:
|
18
|
+
return _jsx(CloudPaidPrivacyNotice, { onExit: onExit });
|
19
|
+
case AuthType.LOGIN_WITH_GOOGLE:
|
20
|
+
default:
|
21
|
+
return _jsx(CloudFreePrivacyNotice, { config: config, onExit: onExit });
|
22
|
+
}
|
23
|
+
};
|
24
|
+
export const PrivacyNotice = ({ onExit, config }) => (_jsx(Box, { borderStyle: "round", padding: 1, flexDirection: "column", children: _jsx(PrivacyNoticeText, { config: config, onExit: onExit }) }));
|
25
|
+
//# sourceMappingURL=PrivacyNotice.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PrivacyNotice.js","sourceRoot":"","sources":["../../../../src/ui/privacy/PrivacyNotice.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAe,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAOrE,MAAM,iBAAiB,GAAG,CAAC,EACzB,MAAM,EACN,MAAM,GAIP,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,CAAC;IAE9D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,UAAU;YACtB,OAAO,KAAC,mBAAmB,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;QACjD,KAAK,QAAQ,CAAC,aAAa;YACzB,OAAO,KAAC,sBAAsB,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;QACpD,KAAK,QAAQ,CAAC,iBAAiB,CAAC;QAChC;YACE,OAAO,KAAC,sBAAsB,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC;IACtE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAsB,EAAE,EAAE,CAAC,CACvE,KAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,OAAO,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,YACzD,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAI,GACjD,CACP,CAAC"}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { HistoryItem } from '../types.js';
|
7
|
+
export type AppAction = {
|
8
|
+
type: 'ADD_ITEM';
|
9
|
+
payload: {
|
10
|
+
itemData: Omit<HistoryItem, 'id'>;
|
11
|
+
baseTimestamp: number;
|
12
|
+
};
|
13
|
+
} | {
|
14
|
+
type: 'OPEN_DIALOG';
|
15
|
+
payload: 'theme' | 'auth' | 'editor' | 'providerModel' | 'provider' | 'privacy';
|
16
|
+
} | {
|
17
|
+
type: 'CLOSE_DIALOG';
|
18
|
+
payload: 'theme' | 'auth' | 'editor' | 'providerModel' | 'provider' | 'privacy';
|
19
|
+
} | {
|
20
|
+
type: 'SET_WARNING';
|
21
|
+
payload: {
|
22
|
+
key: string;
|
23
|
+
message: string;
|
24
|
+
};
|
25
|
+
} | {
|
26
|
+
type: 'CLEAR_WARNING';
|
27
|
+
payload: string;
|
28
|
+
} | {
|
29
|
+
type: 'SET_THEME_ERROR';
|
30
|
+
payload: string | null;
|
31
|
+
} | {
|
32
|
+
type: 'SET_AUTH_ERROR';
|
33
|
+
payload: string | null;
|
34
|
+
} | {
|
35
|
+
type: 'SET_EDITOR_ERROR';
|
36
|
+
payload: string | null;
|
37
|
+
};
|
38
|
+
export interface AppState {
|
39
|
+
openDialogs: {
|
40
|
+
theme: boolean;
|
41
|
+
auth: boolean;
|
42
|
+
editor: boolean;
|
43
|
+
providerModel: boolean;
|
44
|
+
provider: boolean;
|
45
|
+
privacy: boolean;
|
46
|
+
};
|
47
|
+
warnings: Map<string, string>;
|
48
|
+
errors: {
|
49
|
+
theme: string | null;
|
50
|
+
auth: string | null;
|
51
|
+
editor: string | null;
|
52
|
+
};
|
53
|
+
lastAddItemAction: {
|
54
|
+
itemData: Omit<HistoryItem, 'id'>;
|
55
|
+
baseTimestamp: number;
|
56
|
+
} | null;
|
57
|
+
}
|
58
|
+
export declare const initialAppState: AppState;
|
59
|
+
export declare function appReducer(state: AppState, action: AppAction): AppState;
|
@@ -0,0 +1,91 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
export const initialAppState = {
|
7
|
+
openDialogs: {
|
8
|
+
theme: false,
|
9
|
+
auth: false,
|
10
|
+
editor: false,
|
11
|
+
providerModel: false,
|
12
|
+
provider: false,
|
13
|
+
privacy: false,
|
14
|
+
},
|
15
|
+
warnings: new Map(),
|
16
|
+
errors: {
|
17
|
+
theme: null,
|
18
|
+
auth: null,
|
19
|
+
editor: null,
|
20
|
+
},
|
21
|
+
lastAddItemAction: null,
|
22
|
+
};
|
23
|
+
export function appReducer(state, action) {
|
24
|
+
switch (action.type) {
|
25
|
+
case 'ADD_ITEM':
|
26
|
+
// This action triggers a side effect in SessionController
|
27
|
+
return {
|
28
|
+
...state,
|
29
|
+
lastAddItemAction: action.payload,
|
30
|
+
};
|
31
|
+
case 'OPEN_DIALOG':
|
32
|
+
return {
|
33
|
+
...state,
|
34
|
+
openDialogs: {
|
35
|
+
...state.openDialogs,
|
36
|
+
[action.payload]: true,
|
37
|
+
},
|
38
|
+
};
|
39
|
+
case 'CLOSE_DIALOG':
|
40
|
+
return {
|
41
|
+
...state,
|
42
|
+
openDialogs: {
|
43
|
+
...state.openDialogs,
|
44
|
+
[action.payload]: false,
|
45
|
+
},
|
46
|
+
};
|
47
|
+
case 'SET_WARNING': {
|
48
|
+
const newWarnings = new Map(state.warnings);
|
49
|
+
newWarnings.set(action.payload.key, action.payload.message);
|
50
|
+
return {
|
51
|
+
...state,
|
52
|
+
warnings: newWarnings,
|
53
|
+
};
|
54
|
+
}
|
55
|
+
case 'CLEAR_WARNING': {
|
56
|
+
const newWarnings = new Map(state.warnings);
|
57
|
+
newWarnings.delete(action.payload);
|
58
|
+
return {
|
59
|
+
...state,
|
60
|
+
warnings: newWarnings,
|
61
|
+
};
|
62
|
+
}
|
63
|
+
case 'SET_THEME_ERROR':
|
64
|
+
return {
|
65
|
+
...state,
|
66
|
+
errors: {
|
67
|
+
...state.errors,
|
68
|
+
theme: action.payload,
|
69
|
+
},
|
70
|
+
};
|
71
|
+
case 'SET_AUTH_ERROR':
|
72
|
+
return {
|
73
|
+
...state,
|
74
|
+
errors: {
|
75
|
+
...state.errors,
|
76
|
+
auth: action.payload,
|
77
|
+
},
|
78
|
+
};
|
79
|
+
case 'SET_EDITOR_ERROR':
|
80
|
+
return {
|
81
|
+
...state,
|
82
|
+
errors: {
|
83
|
+
...state.errors,
|
84
|
+
editor: action.payload,
|
85
|
+
},
|
86
|
+
};
|
87
|
+
default:
|
88
|
+
return state;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
//# sourceMappingURL=appReducer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"appReducer.js","sourceRoot":"","sources":["../../../../src/ui/reducers/appReducer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwDH,MAAM,CAAC,MAAM,eAAe,GAAa;IACvC,WAAW,EAAE;QACX,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;KACf;IACD,QAAQ,EAAE,IAAI,GAAG,EAAE;IACnB,MAAM,EAAE;QACN,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;KACb;IACD,iBAAiB,EAAE,IAAI;CACxB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,MAAiB;IAC3D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,UAAU;YACb,0DAA0D;YAC1D,OAAO;gBACL,GAAG,KAAK;gBACR,iBAAiB,EAAE,MAAM,CAAC,OAAO;aAClC,CAAC;QAEJ,KAAK,aAAa;YAChB,OAAO;gBACL,GAAG,KAAK;gBACR,WAAW,EAAE;oBACX,GAAG,KAAK,CAAC,WAAW;oBACpB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI;iBACvB;aACF,CAAC;QAEJ,KAAK,cAAc;YACjB,OAAO;gBACL,GAAG,KAAK;gBACR,WAAW,EAAE;oBACX,GAAG,KAAK,CAAC,WAAW;oBACpB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK;iBACxB;aACF,CAAC;QAEJ,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5C,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5D,OAAO;gBACL,GAAG,KAAK;gBACR,QAAQ,EAAE,WAAW;aACtB,CAAC;QACJ,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5C,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO;gBACL,GAAG,KAAK;gBACR,QAAQ,EAAE,WAAW;aACtB,CAAC;QACJ,CAAC;QAED,KAAK,iBAAiB;YACpB,OAAO;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,KAAK,EAAE,MAAM,CAAC,OAAO;iBACtB;aACF,CAAC;QAEJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,IAAI,EAAE,MAAM,CAAC,OAAO;iBACrB;aACF,CAAC;QAEJ,KAAK,kBAAkB;YACrB,OAAO;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,MAAM,EAAE,MAAM,CAAC,OAAO;iBACvB;aACF,CAAC;QAEJ;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { UserTierId } from '@vybestack/llxprt-code-core';
|
7
|
+
export interface SessionState {
|
8
|
+
currentModel: string;
|
9
|
+
isPaidMode: boolean | undefined;
|
10
|
+
lastProvider: string | undefined;
|
11
|
+
modelSwitchedFromQuotaError: boolean;
|
12
|
+
userTier: UserTierId | undefined;
|
13
|
+
transientWarnings: string[];
|
14
|
+
}
|
15
|
+
export type SessionAction = {
|
16
|
+
type: 'SET_CURRENT_MODEL';
|
17
|
+
payload: string;
|
18
|
+
} | {
|
19
|
+
type: 'SET_PAID_MODE';
|
20
|
+
payload: boolean | undefined;
|
21
|
+
} | {
|
22
|
+
type: 'SET_LAST_PROVIDER';
|
23
|
+
payload: string | undefined;
|
24
|
+
} | {
|
25
|
+
type: 'SET_MODEL_SWITCHED_FROM_QUOTA_ERROR';
|
26
|
+
payload: boolean;
|
27
|
+
} | {
|
28
|
+
type: 'SET_USER_TIER';
|
29
|
+
payload: UserTierId | undefined;
|
30
|
+
} | {
|
31
|
+
type: 'SET_TRANSIENT_WARNINGS';
|
32
|
+
payload: string[];
|
33
|
+
} | {
|
34
|
+
type: 'CLEAR_TRANSIENT_WARNINGS';
|
35
|
+
};
|
36
|
+
export declare const sessionReducer: (state: SessionState, action: SessionAction) => SessionState;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
// Session reducer with exhaustive switch
|
7
|
+
export const sessionReducer = (state, action) => {
|
8
|
+
switch (action.type) {
|
9
|
+
case 'SET_CURRENT_MODEL':
|
10
|
+
return { ...state, currentModel: action.payload };
|
11
|
+
case 'SET_PAID_MODE':
|
12
|
+
return { ...state, isPaidMode: action.payload };
|
13
|
+
case 'SET_LAST_PROVIDER':
|
14
|
+
return { ...state, lastProvider: action.payload };
|
15
|
+
case 'SET_MODEL_SWITCHED_FROM_QUOTA_ERROR':
|
16
|
+
return { ...state, modelSwitchedFromQuotaError: action.payload };
|
17
|
+
case 'SET_USER_TIER':
|
18
|
+
return { ...state, userTier: action.payload };
|
19
|
+
case 'SET_TRANSIENT_WARNINGS':
|
20
|
+
return { ...state, transientWarnings: action.payload };
|
21
|
+
case 'CLEAR_TRANSIENT_WARNINGS':
|
22
|
+
return { ...state, transientWarnings: [] };
|
23
|
+
default: {
|
24
|
+
// Exhaustive check - this ensures all action types are handled
|
25
|
+
const _exhaustiveCheck = action;
|
26
|
+
return state;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
};
|
30
|
+
//# sourceMappingURL=sessionReducer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sessionReducer.js","sourceRoot":"","sources":["../../../../src/ui/reducers/sessionReducer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAmB,EACnB,MAAqB,EACP,EAAE;IAChB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,mBAAmB;YACtB,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACpD,KAAK,eAAe;YAClB,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAClD,KAAK,mBAAmB;YACtB,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACpD,KAAK,qCAAqC;YACxC,OAAO,EAAE,GAAG,KAAK,EAAE,2BAA2B,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACnE,KAAK,eAAe;YAClB,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAChD,KAAK,wBAAwB;YAC3B,OAAO,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACzD,KAAK,0BAA0B;YAC7B,OAAO,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;QAC7C,OAAO,CAAC,CAAC,CAAC;YACR,+DAA+D;YAC/D,MAAM,gBAAgB,GAAU,MAAM,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|