@machina.ai/cell-cli 1.11.0-rc1 → 1.13.0-rc2
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/package.json +16 -10
- package/dist/src/commands/extensions/disable.d.ts +1 -1
- package/dist/src/commands/extensions/disable.js +15 -7
- package/dist/src/commands/extensions/disable.js.map +1 -1
- package/dist/src/commands/extensions/enable.d.ts +1 -1
- package/dist/src/commands/extensions/enable.js +15 -7
- package/dist/src/commands/extensions/enable.js.map +1 -1
- package/dist/src/commands/extensions/install.js +14 -3
- package/dist/src/commands/extensions/install.js.map +1 -1
- package/dist/src/commands/extensions/install.test.js +39 -19
- package/dist/src/commands/extensions/install.test.js.map +1 -1
- package/dist/src/commands/extensions/link.js +14 -3
- package/dist/src/commands/extensions/link.js.map +1 -1
- package/dist/src/commands/extensions/list.js +13 -4
- package/dist/src/commands/extensions/list.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.js +13 -2
- package/dist/src/commands/extensions/uninstall.js.map +1 -1
- package/dist/src/commands/extensions/update.js +18 -13
- package/dist/src/commands/extensions/update.js.map +1 -1
- package/dist/src/commands/extensions/validate.d.ts +12 -0
- package/dist/src/commands/extensions/validate.js +83 -0
- package/dist/src/commands/extensions/validate.js.map +1 -0
- package/dist/src/commands/extensions/validate.test.js +93 -0
- package/dist/src/commands/extensions/validate.test.js.map +1 -0
- package/dist/src/commands/extensions.js +3 -0
- package/dist/src/commands/extensions.js.map +1 -1
- package/dist/src/commands/mcp/add.test.js +3 -0
- package/dist/src/commands/mcp/add.test.js.map +1 -1
- package/dist/src/commands/mcp/list.js +10 -3
- package/dist/src/commands/mcp/list.js.map +1 -1
- package/dist/src/commands/mcp/list.test.js +37 -27
- package/dist/src/commands/mcp/list.test.js.map +1 -1
- package/dist/src/config/auth.js +0 -5
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/config.d.ts +6 -3
- package/dist/src/config/config.js +65 -80
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +235 -212
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager.d.ts +63 -0
- package/dist/src/config/extension-manager.js +450 -0
- package/dist/src/config/extension-manager.js.map +1 -0
- package/dist/src/config/extension.d.ts +4 -51
- package/dist/src/config/extension.js +1 -535
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/extension.test.js +525 -201
- package/dist/src/config/extension.test.js.map +1 -1
- package/dist/src/config/extensions/consent.d.ts +38 -0
- package/dist/src/config/extensions/consent.js +123 -0
- package/dist/src/config/extensions/consent.js.map +1 -0
- package/dist/src/config/extensions/extensionEnablement.d.ts +1 -1
- package/dist/src/config/extensions/extensionEnablement.js +4 -3
- package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.test.js +10 -10
- package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.d.ts +15 -0
- package/dist/src/config/extensions/extensionSettings.js +113 -0
- package/dist/src/config/extensions/extensionSettings.js.map +1 -0
- package/dist/src/config/extensions/extensionSettings.test.d.ts +6 -0
- package/dist/src/config/extensions/extensionSettings.test.js +254 -0
- package/dist/src/config/extensions/extensionSettings.test.js.map +1 -0
- package/dist/src/config/extensions/github.d.ts +2 -2
- package/dist/src/config/extensions/github.js +5 -10
- package/dist/src/config/extensions/github.js.map +1 -1
- package/dist/src/config/extensions/github.test.js +153 -167
- package/dist/src/config/extensions/github.test.js.map +1 -1
- package/dist/src/config/extensions/github_fetch.d.ts +1 -1
- package/dist/src/config/extensions/github_fetch.js +13 -1
- package/dist/src/config/extensions/github_fetch.js.map +1 -1
- package/dist/src/config/extensions/github_fetch.test.d.ts +6 -0
- package/dist/src/config/extensions/github_fetch.test.js +169 -0
- package/dist/src/config/extensions/github_fetch.test.js.map +1 -0
- package/dist/src/config/extensions/storage.d.ts +14 -0
- package/dist/src/config/extensions/storage.js +32 -0
- package/dist/src/config/extensions/storage.js.map +1 -0
- package/dist/src/config/extensions/update.d.ts +4 -4
- package/dist/src/config/extensions/update.js +39 -39
- package/dist/src/config/extensions/update.js.map +1 -1
- package/dist/src/config/extensions/update.test.js +72 -74
- package/dist/src/config/extensions/update.test.js.map +1 -1
- package/dist/src/config/extensions/variableSchema.d.ts +0 -6
- package/dist/src/config/extensions/variableSchema.js.map +1 -1
- package/dist/src/config/extensions/variables.d.ts +4 -0
- package/dist/src/config/extensions/variables.js +6 -0
- package/dist/src/config/extensions/variables.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +3 -0
- package/dist/src/config/keyBindings.js +30 -8
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/keyBindings.test.js +17 -0
- package/dist/src/config/keyBindings.test.js.map +1 -1
- package/dist/src/config/policies/read-only.toml +56 -0
- package/dist/src/config/policies/write.toml +63 -0
- package/dist/src/config/policies/yolo.toml +31 -0
- package/dist/src/config/policy-engine.integration.test.js +41 -38
- package/dist/src/config/policy-engine.integration.test.js.map +1 -1
- package/dist/src/config/policy.d.ts +2 -2
- package/dist/src/config/policy.js +10 -148
- package/dist/src/config/policy.js.map +1 -1
- package/dist/src/config/sandboxConfig.d.ts +1 -1
- package/dist/src/config/sandboxConfig.js +6 -3
- package/dist/src/config/sandboxConfig.js.map +1 -1
- package/dist/src/config/settings.d.ts +2 -1
- package/dist/src/config/settings.js +58 -18
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +128 -69
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +170 -28
- package/dist/src/config/settingsSchema.js +418 -27
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js +42 -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 +4 -2
- package/dist/src/config/trustedFolders.js.map +1 -1
- package/dist/src/core/initializer.js +2 -1
- package/dist/src/core/initializer.js.map +1 -1
- package/dist/src/gemini.d.ts +1 -1
- package/dist/src/gemini.js +46 -16
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +88 -30
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/nonInteractiveCli.d.ts +9 -1
- package/dist/src/nonInteractiveCli.js +114 -7
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCli.test.js +355 -112
- package/dist/src/nonInteractiveCli.test.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +4 -0
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +22 -0
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
- package/dist/src/services/FeedbackService.js +2 -2
- package/dist/src/services/FeedbackService.js.map +1 -1
- package/dist/src/services/McpPromptLoader.js +2 -2
- package/dist/src/services/McpPromptLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.test.js +4 -2
- package/dist/src/services/McpPromptLoader.test.js.map +1 -1
- package/dist/src/test-utils/async.d.ts +9 -0
- package/dist/src/test-utils/async.js +29 -0
- package/dist/src/test-utils/async.js.map +1 -0
- package/dist/src/test-utils/createExtension.d.ts +3 -1
- package/dist/src/test-utils/createExtension.js +3 -3
- package/dist/src/test-utils/createExtension.js.map +1 -1
- package/dist/src/test-utils/render.d.ts +16 -2
- package/dist/src/test-utils/render.js +66 -4
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/test-utils/render.test.d.ts +6 -0
- package/dist/src/test-utils/render.test.js +79 -0
- package/dist/src/test-utils/render.test.js.map +1 -0
- package/dist/src/ui/App.test.js +1 -1
- package/dist/src/ui/App.test.js.map +1 -1
- package/dist/src/ui/AppContainer.js +181 -65
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +505 -147
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.js +1 -1
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
- package/dist/src/ui/auth/ApiAuthDialog.d.ts +14 -0
- package/dist/src/ui/auth/ApiAuthDialog.js +26 -0
- package/dist/src/ui/auth/ApiAuthDialog.js.map +1 -0
- package/dist/src/ui/auth/ApiAuthDialog.test.d.ts +6 -0
- package/dist/src/ui/auth/ApiAuthDialog.test.js +91 -0
- package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -0
- package/dist/src/ui/auth/AuthDialog.js +7 -3
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/useAuth.d.ts +2 -0
- package/dist/src/ui/auth/useAuth.js +31 -2
- package/dist/src/ui/auth/useAuth.js.map +1 -1
- package/dist/src/ui/colors.js +3 -0
- package/dist/src/ui/colors.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +1 -1
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +64 -11
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.test.js +72 -1
- package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +14 -14
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.test.js +4 -0
- package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.js +1 -1
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.test.js +3 -1
- package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/policiesCommand.d.ts +7 -0
- package/dist/src/ui/commands/policiesCommand.js +59 -0
- package/dist/src/ui/commands/policiesCommand.js.map +1 -0
- package/dist/src/ui/commands/policiesCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/policiesCommand.test.js +83 -0
- package/dist/src/ui/commands/policiesCommand.test.js.map +1 -0
- package/dist/src/ui/components/AnsiOutput.test.js +1 -1
- package/dist/src/ui/components/AnsiOutput.test.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +3 -3
- package/dist/src/ui/components/AsciiArt.js +3 -3
- package/dist/src/ui/components/Composer.js +1 -1
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/Composer.test.js +5 -2
- package/dist/src/ui/components/Composer.test.js.map +1 -1
- package/dist/src/ui/components/ConfigInitDisplay.js +4 -6
- package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -1
- package/dist/src/ui/components/ConsentPrompt.test.js +18 -8
- package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.js +1 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.test.js +11 -6
- package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +4 -0
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +2 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.js +4 -3
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/Footer.test.js +83 -0
- package/dist/src/ui/components/Footer.test.js.map +1 -1
- package/dist/src/ui/components/Header.test.js +13 -5
- package/dist/src/ui/components/Header.test.js.map +1 -1
- package/dist/src/ui/components/Help.test.js +5 -4
- package/dist/src/ui/components/Help.test.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +27 -8
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.js +776 -727
- package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +2 -2
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.js +28 -15
- package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.js +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js +2 -2
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +1 -1
- package/dist/src/ui/components/MainContent.js +15 -4
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.js +1 -1
- package/dist/src/ui/components/ModelDialog.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.test.js +23 -13
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.js +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/Notifications.js +38 -5
- package/dist/src/ui/components/Notifications.js.map +1 -1
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +2 -2
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/PrepareLabel.test.js +14 -8
- package/dist/src/ui/components/PrepareLabel.test.js.map +1 -1
- package/dist/src/ui/components/ProQuotaDialog.test.js +14 -6
- package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
- package/dist/src/ui/components/QueuedMessageDisplay.test.js +11 -6
- package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.js +32 -25
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +428 -532
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.test.js +2 -2
- package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.test.js +1 -1
- package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.test.js +2 -2
- package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
- package/dist/src/ui/components/ToolStatsDisplay.test.js +1 -1
- package/dist/src/ui/components/ToolStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/messages/CompressionMessage.test.js +25 -17
- package/dist/src/ui/components/messages/CompressionMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.js +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -1
- package/dist/src/ui/components/messages/InfoMessage.js +1 -1
- package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
- package/dist/src/ui/components/messages/Todo.js +27 -5
- package/dist/src/ui/components/messages/Todo.js.map +1 -1
- package/dist/src/ui/components/messages/Todo.test.js +20 -8
- package/dist/src/ui/components/messages/Todo.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +29 -15
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/WarningMessage.js +2 -2
- package/dist/src/ui/components/messages/WarningMessage.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSelectionList.test.js +1 -1
- package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +43 -22
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
- package/dist/src/ui/components/shared/TextInput.d.ts +15 -0
- package/dist/src/ui/components/shared/TextInput.js +38 -0
- package/dist/src/ui/components/shared/TextInput.js.map +1 -0
- package/dist/src/ui/components/shared/TextInput.test.d.ts +6 -0
- package/dist/src/ui/components/shared/TextInput.test.js +242 -0
- package/dist/src/ui/components/shared/TextInput.test.js.map +1 -0
- package/dist/src/ui/components/shared/text-buffer.d.ts +9 -2
- package/dist/src/ui/components/shared/text-buffer.js +51 -13
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.test.js +385 -202
- package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
- package/dist/src/ui/components/views/ChatList.test.js +7 -4
- package/dist/src/ui/components/views/ChatList.test.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionsList.d.ts +7 -1
- package/dist/src/ui/components/views/ExtensionsList.js +9 -11
- package/dist/src/ui/components/views/ExtensionsList.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionsList.test.js +43 -22
- package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
- package/dist/src/ui/components/views/McpStatus.test.js +23 -12
- package/dist/src/ui/components/views/McpStatus.test.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.d.ts +3 -2
- package/dist/src/ui/contexts/KeypressContext.js +610 -540
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +438 -718
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/MouseContext.d.ts +21 -0
- package/dist/src/ui/contexts/MouseContext.js +89 -0
- package/dist/src/ui/contexts/MouseContext.js.map +1 -0
- package/dist/src/ui/contexts/MouseContext.test.d.ts +6 -0
- package/dist/src/ui/contexts/MouseContext.test.js +164 -0
- package/dist/src/ui/contexts/MouseContext.test.js.map +1 -0
- package/dist/src/ui/contexts/SessionContext.test.js +35 -17
- package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
- package/dist/src/ui/contexts/UIActionsContext.d.ts +2 -0
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +2 -0
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +31 -9
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +163 -64
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.test.js +64 -35
- package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +193 -165
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.test.js +16 -5
- package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +10 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +32 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.test.js +66 -64
- package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useConsoleMessages.test.js +26 -9
- package/dist/src/ui/hooks/useConsoleMessages.test.js.map +1 -1
- package/dist/src/ui/hooks/useEditorSettings.test.js +40 -34
- package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.d.ts +14 -5
- package/dist/src/ui/hooks/useExtensionUpdates.js +18 -13
- package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.test.js +49 -44
- package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
- package/dist/src/ui/hooks/useFlickerDetector.test.js +9 -5
- package/dist/src/ui/hooks/useFlickerDetector.test.js.map +1 -1
- package/dist/src/ui/hooks/useFocus.test.js +25 -9
- package/dist/src/ui/hooks/useFocus.test.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.test.js +46 -22
- package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +56 -19
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +260 -411
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.js +4 -0
- package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.js +46 -34
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
- package/dist/src/ui/hooks/useHistoryManager.test.js +2 -1
- package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -1
- package/dist/src/ui/hooks/useIdeTrustListener.test.js +40 -9
- package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -1
- package/dist/src/ui/hooks/useInputHistory.test.js +2 -1
- package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -1
- package/dist/src/ui/hooks/useInputHistoryStore.test.js +2 -1
- package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -1
- package/dist/src/ui/hooks/useKeypress.test.js +103 -114
- package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +24 -6
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useMemoryMonitor.test.js +10 -5
- package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +1 -1
- package/dist/src/ui/hooks/useMessageQueue.test.js +62 -45
- package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
- package/dist/src/ui/hooks/useModelCommand.test.js +21 -11
- package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -1
- package/dist/src/ui/hooks/useMouse.d.ts +17 -0
- package/dist/src/ui/hooks/useMouse.js +27 -0
- package/dist/src/ui/hooks/useMouse.js.map +1 -0
- package/dist/src/ui/hooks/useMouse.test.d.ts +6 -0
- package/dist/src/ui/hooks/useMouse.test.js +57 -0
- package/dist/src/ui/hooks/useMouse.test.js.map +1 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +2 -2
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.test.js +109 -106
- package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.js +26 -6
- package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -1
- package/dist/src/ui/hooks/usePromptCompletion.js +2 -2
- package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.js +13 -14
- package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js +55 -48
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +8 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js +59 -34
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.test.d.ts +6 -0
- package/dist/src/ui/hooks/useReactToolScheduler.test.js +65 -0
- package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +1 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +2 -2
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.js +5 -4
- package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.test.js +272 -183
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
- package/dist/src/ui/hooks/useShellHistory.test.js +52 -20
- package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.js +18 -7
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.js +275 -137
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useTimer.test.js +43 -14
- package/dist/src/ui/hooks/useTimer.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +226 -242
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/hooks/vim.test.js +235 -355
- package/dist/src/ui/hooks/vim.test.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +30 -3
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/state/extensions.d.ts +1 -0
- package/dist/src/ui/state/extensions.js +1 -0
- package/dist/src/ui/state/extensions.js.map +1 -1
- package/dist/src/ui/themes/ansi-light.js +1 -0
- package/dist/src/ui/themes/ansi-light.js.map +1 -1
- package/dist/src/ui/themes/ansi.js +1 -0
- package/dist/src/ui/themes/ansi.js.map +1 -1
- package/dist/src/ui/themes/atom-one-dark.js +2 -0
- package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
- package/dist/src/ui/themes/ayu-light.js +2 -0
- package/dist/src/ui/themes/ayu-light.js.map +1 -1
- package/dist/src/ui/themes/ayu.js +2 -0
- package/dist/src/ui/themes/ayu.js.map +1 -1
- package/dist/src/ui/themes/color-utils.d.ts +1 -0
- package/dist/src/ui/themes/color-utils.js +6 -0
- package/dist/src/ui/themes/color-utils.js.map +1 -1
- package/dist/src/ui/themes/color-utils.test.js +13 -1
- package/dist/src/ui/themes/color-utils.test.js.map +1 -1
- package/dist/src/ui/themes/dracula.js +2 -0
- package/dist/src/ui/themes/dracula.js.map +1 -1
- package/dist/src/ui/themes/github-dark.js +2 -0
- package/dist/src/ui/themes/github-dark.js.map +1 -1
- package/dist/src/ui/themes/github-light.js +2 -0
- package/dist/src/ui/themes/github-light.js.map +1 -1
- package/dist/src/ui/themes/googlecode.js +2 -0
- package/dist/src/ui/themes/googlecode.js.map +1 -1
- package/dist/src/ui/themes/no-color.js +3 -0
- package/dist/src/ui/themes/no-color.js.map +1 -1
- package/dist/src/ui/themes/semantic-tokens.d.ts +2 -0
- package/dist/src/ui/themes/semantic-tokens.js +6 -0
- package/dist/src/ui/themes/semantic-tokens.js.map +1 -1
- package/dist/src/ui/themes/shades-of-purple.js +2 -0
- package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +3 -0
- package/dist/src/ui/themes/theme.js +14 -3
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/theme.test.js +67 -1
- package/dist/src/ui/themes/theme.test.js.map +1 -1
- package/dist/src/ui/themes/xcode.js +2 -0
- package/dist/src/ui/themes/xcode.js.map +1 -1
- package/dist/src/ui/types.d.ts +3 -1
- package/dist/src/ui/types.js +2 -0
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.js +2 -1
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +1 -0
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +11 -10
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +11 -9
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.js +2 -2
- package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
- package/dist/src/ui/utils/input.d.ts +17 -0
- package/dist/src/ui/utils/input.js +51 -0
- package/dist/src/ui/utils/input.js.map +1 -0
- package/dist/src/ui/utils/input.test.d.ts +6 -0
- package/dist/src/ui/utils/input.test.js +44 -0
- package/dist/src/ui/utils/input.test.js.map +1 -0
- package/dist/src/ui/utils/kittyProtocolDetector.js +13 -4
- package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
- package/dist/src/ui/utils/mouse.d.ts +31 -0
- package/dist/src/ui/utils/mouse.js +164 -0
- package/dist/src/ui/utils/mouse.js.map +1 -0
- package/dist/src/ui/utils/mouse.test.d.ts +6 -0
- package/dist/src/ui/utils/mouse.test.js +131 -0
- package/dist/src/ui/utils/mouse.test.js.map +1 -0
- package/dist/src/ui/utils/textOutput.d.ts +25 -0
- package/dist/src/ui/utils/textOutput.js +49 -0
- package/dist/src/ui/utils/textOutput.js.map +1 -0
- package/dist/src/ui/utils/textOutput.test.d.ts +6 -0
- package/dist/src/ui/utils/textOutput.test.js +79 -0
- package/dist/src/ui/utils/textOutput.test.js.map +1 -0
- package/dist/src/ui/utils/updateCheck.d.ts +7 -1
- package/dist/src/ui/utils/updateCheck.js +33 -29
- package/dist/src/ui/utils/updateCheck.js.map +1 -1
- package/dist/src/ui/utils/updateCheck.test.js +24 -50
- package/dist/src/ui/utils/updateCheck.test.js.map +1 -1
- package/dist/src/utils/commentJson.js +2 -2
- package/dist/src/utils/commentJson.js.map +1 -1
- package/dist/src/utils/commentJson.test.js +7 -6
- package/dist/src/utils/commentJson.test.js.map +1 -1
- package/dist/src/utils/envVarResolver.d.ts +2 -2
- package/dist/src/utils/envVarResolver.js +10 -7
- package/dist/src/utils/envVarResolver.js.map +1 -1
- package/dist/src/utils/events.d.ts +11 -2
- package/dist/src/utils/events.js +1 -0
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.js +9 -3
- package/dist/src/utils/handleAutoUpdate.js.map +1 -1
- package/dist/src/utils/sandbox.js +16 -18
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/version.js +6 -2
- package/dist/src/utils/version.js.map +1 -1
- package/dist/src/zed-integration/acp.js +2 -1
- package/dist/src/zed-integration/acp.js.map +1 -1
- package/dist/src/zed-integration/schema.d.ts +4 -4
- package/dist/src/zed-integration/zedIntegration.d.ts +2 -2
- package/dist/src/zed-integration/zedIntegration.js +12 -19
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -14
- package/dist/src/config/policy.test.js +0 -360
- package/dist/src/config/policy.test.js.map +0 -1
- package/dist/src/utils/package.d.ts +0 -12
- package/dist/src/utils/package.js +0 -24
- package/dist/src/utils/package.js.map +0 -1
- /package/dist/src/{config/policy.test.d.ts → commands/extensions/validate.test.d.ts} +0 -0
|
@@ -11,6 +11,7 @@ import { OverflowProvider } from '../contexts/OverflowContext.js';
|
|
|
11
11
|
import { useUIState } from '../contexts/UIStateContext.js';
|
|
12
12
|
import { useAppContext } from '../contexts/AppContext.js';
|
|
13
13
|
import { AppHeader } from './AppHeader.js';
|
|
14
|
+
import { useSettings } from '../contexts/SettingsContext.js';
|
|
14
15
|
// Limit Gemini messages to a very high number of lines to mitigate performance
|
|
15
16
|
// issues in the worst case if we somehow get an enormous response from Gemini.
|
|
16
17
|
// This threshold is arbitrary but should be high enough to never impact normal
|
|
@@ -19,10 +20,20 @@ const MAX_GEMINI_MESSAGE_LINES = 65536;
|
|
|
19
20
|
export const MainContent = () => {
|
|
20
21
|
const { version } = useAppContext();
|
|
21
22
|
const uiState = useUIState();
|
|
23
|
+
const settings = useSettings();
|
|
24
|
+
const useAlternateBuffer = settings.merged.ui?.useAlternateBuffer ?? false;
|
|
22
25
|
const { pendingHistoryItems, mainAreaWidth, staticAreaMaxItemHeight, availableTerminalHeight, } = uiState;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
const historyItems = [
|
|
27
|
+
_jsx(AppHeader, { version: version }, "app-header"),
|
|
28
|
+
...uiState.history.map((h) => (_jsx(HistoryItemDisplay, { terminalWidth: mainAreaWidth, availableTerminalHeight: staticAreaMaxItemHeight, availableTerminalHeightGemini: MAX_GEMINI_MESSAGE_LINES, item: h, isPending: false, commands: uiState.slashCommands }, h.id))),
|
|
29
|
+
];
|
|
30
|
+
const pendingItems = (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", width: mainAreaWidth, children: [pendingHistoryItems.map((item, i) => (_jsx(HistoryItemDisplay, { availableTerminalHeight: uiState.constrainHeight ? availableTerminalHeight : undefined, terminalWidth: mainAreaWidth, item: { ...item, id: 0 }, isPending: true, isFocused: !uiState.isEditorDialogOpen, activeShellPtyId: uiState.activePtyId, embeddedShellFocused: uiState.embeddedShellFocused }, i))), _jsx(ShowMoreLines, { constrainHeight: uiState.constrainHeight })] }) }));
|
|
31
|
+
if (useAlternateBuffer) {
|
|
32
|
+
// Placeholder alternate buffer implementation using a scrollable box that
|
|
33
|
+
// is always scrolled to the bottom. In follow up PRs we will switch this
|
|
34
|
+
// to a proper alternate buffer implementation.
|
|
35
|
+
return (_jsx(Box, { flexDirection: "column", overflowY: "scroll", scrollTop: Number.MAX_SAFE_INTEGER, maxHeight: availableTerminalHeight, children: _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [historyItems, pendingItems] }) }));
|
|
36
|
+
}
|
|
37
|
+
return (_jsxs(_Fragment, { children: [_jsx(Static, { items: historyItems, children: (item) => item }, uiState.historyRemountKey), pendingItems] }));
|
|
27
38
|
};
|
|
28
39
|
//# sourceMappingURL=MainContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainContent.js","sourceRoot":"","sources":["../../../../src/ui/components/MainContent.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"MainContent.js","sourceRoot":"","sources":["../../../../src/ui/components/MainContent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,6 @@ export function ModelDialog({ onClose }) {
|
|
|
52
52
|
}
|
|
53
53
|
onClose();
|
|
54
54
|
}, [config, onClose]);
|
|
55
|
-
return (_jsxs(Box, { borderStyle: "round", borderColor: theme.border.default, flexDirection: "column", padding: 1, width: "100%", children: [_jsx(Text, { bold: true, children: "Select Model" }), _jsx(Box, { marginTop: 1, children: _jsx(DescriptiveRadioButtonSelect, { items: MODEL_OPTIONS, onSelect: handleSelect, initialIndex: initialIndex, showNumbers: true }) }), _jsx(Box, { flexDirection: "column", children: _jsx(Text, { color: theme.text.secondary, children: '> To use a specific Gemini model, use the --model flag.' }) }), _jsx(Box, { marginTop: 1, flexDirection: "column", children: _jsx(Text, { color: theme.text.secondary, children: "(Press Esc to close)" }) })] }));
|
|
55
|
+
return (_jsxs(Box, { borderStyle: "round", borderColor: theme.border.default, flexDirection: "column", padding: 1, width: "100%", children: [_jsx(Text, { bold: true, children: "Select Model" }), _jsx(Box, { marginTop: 1, children: _jsx(DescriptiveRadioButtonSelect, { items: MODEL_OPTIONS, onSelect: handleSelect, initialIndex: initialIndex, showNumbers: true }) }), _jsx(Box, { flexDirection: "column", children: _jsx(Text, { color: theme.text.secondary, children: '> To use a specific Gemini model on startup, use the --model flag.' }) }), _jsx(Box, { marginTop: 1, flexDirection: "column", children: _jsx(Text, { color: theme.text.secondary, children: "(Press Esc to close)" }) })] }));
|
|
56
56
|
}
|
|
57
57
|
//# sourceMappingURL=ModelDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/ModelDialog.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ModelDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/ModelDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* Copyright 2025 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
|
-
import { render
|
|
7
|
+
import { render } from '../../test-utils/render.js';
|
|
8
|
+
import { cleanup } from 'ink-testing-library';
|
|
8
9
|
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
9
10
|
import { DEFAULT_GEMINI_FLASH_LITE_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_MODEL_AUTO, } from '@google/gemini-cli-core';
|
|
10
11
|
import { ModelDialog } from './ModelDialog.js';
|
|
@@ -56,13 +57,14 @@ describe('<ModelDialog />', () => {
|
|
|
56
57
|
cleanup();
|
|
57
58
|
});
|
|
58
59
|
it('renders the title and help text', () => {
|
|
59
|
-
const {
|
|
60
|
-
expect(
|
|
61
|
-
expect(
|
|
62
|
-
expect(
|
|
60
|
+
const { lastFrame, unmount } = renderComponent();
|
|
61
|
+
expect(lastFrame()).toContain('Select Model');
|
|
62
|
+
expect(lastFrame()).toContain('(Press Esc to close)');
|
|
63
|
+
expect(lastFrame()).toContain('> To use a specific Gemini model on startup, use the --model flag.');
|
|
64
|
+
unmount();
|
|
63
65
|
});
|
|
64
66
|
it('passes all model options to DescriptiveRadioButtonSelect', () => {
|
|
65
|
-
renderComponent();
|
|
67
|
+
const { unmount } = renderComponent();
|
|
66
68
|
expect(mockedSelect).toHaveBeenCalledTimes(1);
|
|
67
69
|
const props = mockedSelect.mock.calls[0][0];
|
|
68
70
|
expect(props.items).toHaveLength(4);
|
|
@@ -71,26 +73,29 @@ describe('<ModelDialog />', () => {
|
|
|
71
73
|
expect(props.items[2].value).toBe(DEFAULT_GEMINI_FLASH_MODEL);
|
|
72
74
|
expect(props.items[3].value).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
|
|
73
75
|
expect(props.showNumbers).toBe(true);
|
|
76
|
+
unmount();
|
|
74
77
|
});
|
|
75
78
|
it('initializes with the model from ConfigContext', () => {
|
|
76
79
|
const mockGetModel = vi.fn(() => DEFAULT_GEMINI_FLASH_MODEL);
|
|
77
|
-
renderComponent({}, { getModel: mockGetModel });
|
|
80
|
+
const { unmount } = renderComponent({}, { getModel: mockGetModel });
|
|
78
81
|
expect(mockGetModel).toHaveBeenCalled();
|
|
79
82
|
expect(mockedSelect).toHaveBeenCalledWith(expect.objectContaining({
|
|
80
83
|
initialIndex: 2,
|
|
81
84
|
}), undefined);
|
|
85
|
+
unmount();
|
|
82
86
|
});
|
|
83
87
|
it('initializes with "auto" model if context is not provided', () => {
|
|
84
|
-
renderComponent({}, undefined);
|
|
88
|
+
const { unmount } = renderComponent({}, undefined);
|
|
85
89
|
expect(mockedSelect).toHaveBeenCalledWith(expect.objectContaining({
|
|
86
90
|
initialIndex: 0,
|
|
87
91
|
}), undefined);
|
|
92
|
+
unmount();
|
|
88
93
|
});
|
|
89
94
|
it('initializes with "auto" model if getModel returns undefined', () => {
|
|
90
95
|
const mockGetModel = vi.fn(() => undefined);
|
|
91
96
|
// @ts-expect-error This test validates component robustness when getModel
|
|
92
97
|
// returns an unexpected undefined value.
|
|
93
|
-
renderComponent({}, { getModel: mockGetModel });
|
|
98
|
+
const { unmount } = renderComponent({}, { getModel: mockGetModel });
|
|
94
99
|
expect(mockGetModel).toHaveBeenCalled();
|
|
95
100
|
// When getModel returns undefined, preferredModel falls back to DEFAULT_GEMINI_MODEL_AUTO
|
|
96
101
|
// which has index 0, so initialIndex should be 0
|
|
@@ -98,23 +103,26 @@ describe('<ModelDialog />', () => {
|
|
|
98
103
|
initialIndex: 0,
|
|
99
104
|
}), undefined);
|
|
100
105
|
expect(mockedSelect).toHaveBeenCalledTimes(1);
|
|
106
|
+
unmount();
|
|
101
107
|
});
|
|
102
108
|
it('calls config.setModel and onClose when DescriptiveRadioButtonSelect.onSelect is triggered', () => {
|
|
103
|
-
const { props, mockConfig } = renderComponent({}, {}); // Pass empty object for contextValue
|
|
109
|
+
const { props, mockConfig, unmount } = renderComponent({}, {}); // Pass empty object for contextValue
|
|
104
110
|
const childOnSelect = mockedSelect.mock.calls[0][0].onSelect;
|
|
105
111
|
expect(childOnSelect).toBeDefined();
|
|
106
112
|
childOnSelect(DEFAULT_GEMINI_MODEL);
|
|
107
113
|
// Assert against the default mock provided by renderComponent
|
|
108
114
|
expect(mockConfig?.setModel).toHaveBeenCalledWith(DEFAULT_GEMINI_MODEL);
|
|
109
115
|
expect(props.onClose).toHaveBeenCalledTimes(1);
|
|
116
|
+
unmount();
|
|
110
117
|
});
|
|
111
118
|
it('does not pass onHighlight to DescriptiveRadioButtonSelect', () => {
|
|
112
|
-
renderComponent();
|
|
119
|
+
const { unmount } = renderComponent();
|
|
113
120
|
const childOnHighlight = mockedSelect.mock.calls[0][0].onHighlight;
|
|
114
121
|
expect(childOnHighlight).toBeUndefined();
|
|
122
|
+
unmount();
|
|
115
123
|
});
|
|
116
124
|
it('calls onClose prop when "escape" key is pressed', () => {
|
|
117
|
-
const { props } = renderComponent();
|
|
125
|
+
const { props, unmount } = renderComponent();
|
|
118
126
|
expect(mockedUseKeypress).toHaveBeenCalled();
|
|
119
127
|
const keyPressHandler = mockedUseKeypress.mock.calls[0][0];
|
|
120
128
|
const options = mockedUseKeypress.mock.calls[0][1];
|
|
@@ -137,10 +145,11 @@ describe('<ModelDialog />', () => {
|
|
|
137
145
|
sequence: '',
|
|
138
146
|
});
|
|
139
147
|
expect(props.onClose).toHaveBeenCalledTimes(1);
|
|
148
|
+
unmount();
|
|
140
149
|
});
|
|
141
150
|
it('updates initialIndex when config context changes', () => {
|
|
142
151
|
const mockGetModel = vi.fn(() => DEFAULT_GEMINI_MODEL_AUTO);
|
|
143
|
-
const { rerender } = render(_jsx(ConfigContext.Provider, { value: { getModel: mockGetModel }, children: _jsx(ModelDialog, { onClose: vi.fn() }) }));
|
|
152
|
+
const { rerender, unmount } = render(_jsx(ConfigContext.Provider, { value: { getModel: mockGetModel }, children: _jsx(ModelDialog, { onClose: vi.fn() }) }));
|
|
144
153
|
expect(mockedSelect.mock.calls[0][0].initialIndex).toBe(0);
|
|
145
154
|
mockGetModel.mockReturnValue(DEFAULT_GEMINI_FLASH_LITE_MODEL);
|
|
146
155
|
const newMockConfig = { getModel: mockGetModel };
|
|
@@ -148,6 +157,7 @@ describe('<ModelDialog />', () => {
|
|
|
148
157
|
// Should be called at least twice: initial render + re-render after context change
|
|
149
158
|
expect(mockedSelect).toHaveBeenCalledTimes(2);
|
|
150
159
|
expect(mockedSelect.mock.calls[1][0].initialIndex).toBe(3);
|
|
160
|
+
unmount();
|
|
151
161
|
});
|
|
152
162
|
});
|
|
153
163
|
//# sourceMappingURL=ModelDialog.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ModelDialog.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ModelDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ModelDialog.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* Copyright 2025 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
|
-
import { render } from '
|
|
7
|
+
import { render } from '../../test-utils/render.js';
|
|
8
8
|
import { describe, it, expect, vi, beforeAll, afterAll } from 'vitest';
|
|
9
9
|
import { ModelStatsDisplay } from './ModelStatsDisplay.js';
|
|
10
10
|
import * as SessionContext from '../contexts/SessionContext.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelStatsDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ModelStatsDisplay.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ModelStatsDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ModelStatsDisplay.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,27 +5,60 @@ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-run
|
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
import { Box, Text, useIsScreenReaderEnabled } from 'ink';
|
|
8
|
+
import { useEffect, useState } from 'react';
|
|
8
9
|
import { useAppContext } from '../contexts/AppContext.js';
|
|
9
10
|
import { useUIState } from '../contexts/UIStateContext.js';
|
|
10
11
|
import { theme } from '../semantic-colors.js';
|
|
11
12
|
import { StreamingState } from '../types.js';
|
|
12
13
|
import { UpdateNotification } from './UpdateNotification.js';
|
|
13
|
-
import { CELL_DIR } from '@google/gemini-cli-core';
|
|
14
|
-
import
|
|
14
|
+
import { CELL_DIR, Storage } from '@google/gemini-cli-core';
|
|
15
|
+
import * as fs from 'node:fs/promises';
|
|
16
|
+
import os from 'node:os';
|
|
15
17
|
import path from 'node:path';
|
|
16
|
-
const settingsPath = path.join(homedir(), CELL_DIR, 'settings.json');
|
|
18
|
+
const settingsPath = path.join(os.homedir(), CELL_DIR, 'settings.json');
|
|
19
|
+
const screenReaderNudgeFilePath = path.join(Storage.getGlobalTempDir(), 'seen_screen_reader_nudge.json');
|
|
17
20
|
export const Notifications = () => {
|
|
18
21
|
const { startupWarnings } = useAppContext();
|
|
19
22
|
const { initError, streamingState, updateInfo } = useUIState();
|
|
20
23
|
const isScreenReaderEnabled = useIsScreenReaderEnabled();
|
|
21
24
|
const showStartupWarnings = startupWarnings.length > 0;
|
|
22
25
|
const showInitError = initError && streamingState !== StreamingState.Responding;
|
|
26
|
+
const [hasSeenScreenReaderNudge, setHasSeenScreenReaderNudge] = useState(undefined);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
const checkScreenReaderNudge = async () => {
|
|
29
|
+
try {
|
|
30
|
+
await fs.access(screenReaderNudgeFilePath);
|
|
31
|
+
setHasSeenScreenReaderNudge(true);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
setHasSeenScreenReaderNudge(false);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
checkScreenReaderNudge();
|
|
38
|
+
}, []);
|
|
39
|
+
const showScreenReaderNudge = isScreenReaderEnabled && hasSeenScreenReaderNudge === false;
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
const writeScreenReaderNudgeFile = async () => {
|
|
42
|
+
if (showScreenReaderNudge) {
|
|
43
|
+
try {
|
|
44
|
+
await fs.mkdir(path.dirname(screenReaderNudgeFilePath), {
|
|
45
|
+
recursive: true,
|
|
46
|
+
});
|
|
47
|
+
await fs.writeFile(screenReaderNudgeFilePath, 'true');
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error('Error storing screen reader nudge', error);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
writeScreenReaderNudgeFile();
|
|
55
|
+
}, [showScreenReaderNudge]);
|
|
23
56
|
if (!showStartupWarnings &&
|
|
24
57
|
!showInitError &&
|
|
25
58
|
!updateInfo &&
|
|
26
|
-
!
|
|
59
|
+
!showScreenReaderNudge) {
|
|
27
60
|
return null;
|
|
28
61
|
}
|
|
29
|
-
return (_jsxs(_Fragment, { children: [
|
|
62
|
+
return (_jsxs(_Fragment, { children: [showScreenReaderNudge && (_jsxs(Text, { children: ["You are currently in screen reader-friendly view. To switch out, open", ' ', settingsPath, " and remove the entry for ", '"screenReader"', ". This will disappear on next run."] })), updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), showStartupWarnings && (_jsx(Box, { borderStyle: "round", borderColor: theme.status.warning, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: theme.status.warning, children: warning }, index))) })), showInitError && (_jsxs(Box, { borderStyle: "round", borderColor: theme.status.error, paddingX: 1, marginBottom: 1, children: [_jsxs(Text, { color: theme.status.error, children: ["Initialization Error: ", initError] }), _jsxs(Text, { color: theme.status.error, children: [' ', "Please check API key and configuration."] })] }))] }));
|
|
30
63
|
};
|
|
31
64
|
//# sourceMappingURL=Notifications.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notifications.js","sourceRoot":"","sources":["../../../../src/ui/components/Notifications.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Notifications.js","sourceRoot":"","sources":["../../../../src/ui/components/Notifications.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* Copyright 2025 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
|
-
/// <reference types="vitest/globals" />
|
|
8
7
|
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
9
8
|
import { renderWithProviders } from '../../test-utils/render.js';
|
|
9
|
+
import { waitFor } from '../../test-utils/async.js';
|
|
10
10
|
import { PermissionsModifyTrustDialog } from './PermissionsModifyTrustDialog.js';
|
|
11
11
|
import { TrustLevel } from '../../config/trustedFolders.js';
|
|
12
|
-
import {
|
|
12
|
+
import { act } from 'react';
|
|
13
13
|
import * as processUtils from '../../utils/processUtils.js';
|
|
14
14
|
import { usePermissionsModifyTrust } from '../hooks/usePermissionsModifyTrust.js';
|
|
15
15
|
// Hoist mocks for dependencies of the usePermissionsModifyTrust hook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsModifyTrustDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/PermissionsModifyTrustDialog.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"PermissionsModifyTrustDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/PermissionsModifyTrustDialog.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,52 +5,57 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
import { describe, it, expect } from 'vitest';
|
|
8
|
-
import { render } from '
|
|
8
|
+
import { render } from '../../test-utils/render.js';
|
|
9
9
|
import { PrepareLabel, MAX_WIDTH } from './PrepareLabel.js';
|
|
10
10
|
describe('PrepareLabel', () => {
|
|
11
11
|
const color = 'white';
|
|
12
12
|
const flat = (s) => (s ?? '').replace(/\n/g, '');
|
|
13
13
|
it('renders plain label when no match (short label)', () => {
|
|
14
|
-
const { lastFrame } = render(_jsx(PrepareLabel, { label: "simple command", userInput: "", matchedIndex: undefined, textColor: color, isExpanded: false }));
|
|
14
|
+
const { lastFrame, unmount } = render(_jsx(PrepareLabel, { label: "simple command", userInput: "", matchedIndex: undefined, textColor: color, isExpanded: false }));
|
|
15
15
|
expect(lastFrame()).toMatchSnapshot();
|
|
16
|
+
unmount();
|
|
16
17
|
});
|
|
17
18
|
it('truncates long label when collapsed and no match', () => {
|
|
18
19
|
const long = 'x'.repeat(MAX_WIDTH + 25);
|
|
19
|
-
const { lastFrame } = render(_jsx(PrepareLabel, { label: long, userInput: "", textColor: color, isExpanded: false }));
|
|
20
|
+
const { lastFrame, unmount } = render(_jsx(PrepareLabel, { label: long, userInput: "", textColor: color, isExpanded: false }));
|
|
20
21
|
const out = lastFrame();
|
|
21
22
|
const f = flat(out);
|
|
22
23
|
expect(f.endsWith('...')).toBe(true);
|
|
23
24
|
expect(f.length).toBe(MAX_WIDTH + 3);
|
|
24
25
|
expect(out).toMatchSnapshot();
|
|
26
|
+
unmount();
|
|
25
27
|
});
|
|
26
28
|
it('shows full long label when expanded and no match', () => {
|
|
27
29
|
const long = 'y'.repeat(MAX_WIDTH + 25);
|
|
28
|
-
const { lastFrame } = render(_jsx(PrepareLabel, { label: long, userInput: "", textColor: color, isExpanded: true }));
|
|
30
|
+
const { lastFrame, unmount } = render(_jsx(PrepareLabel, { label: long, userInput: "", textColor: color, isExpanded: true }));
|
|
29
31
|
const out = lastFrame();
|
|
30
32
|
const f = flat(out);
|
|
31
33
|
expect(f.length).toBe(long.length);
|
|
32
34
|
expect(out).toMatchSnapshot();
|
|
35
|
+
unmount();
|
|
33
36
|
});
|
|
34
37
|
it('highlights matched substring when expanded (text only visible)', () => {
|
|
35
38
|
const label = 'run: git commit -m "feat: add search"';
|
|
36
39
|
const userInput = 'commit';
|
|
37
40
|
const matchedIndex = label.indexOf(userInput);
|
|
38
|
-
const { lastFrame } = render(_jsx(PrepareLabel, { label: label, userInput: userInput, matchedIndex: matchedIndex, textColor: color, isExpanded: true }));
|
|
41
|
+
const { lastFrame, unmount } = render(_jsx(PrepareLabel, { label: label, userInput: userInput, matchedIndex: matchedIndex, textColor: color, isExpanded: true }), 100);
|
|
39
42
|
expect(lastFrame()).toMatchSnapshot();
|
|
43
|
+
unmount();
|
|
40
44
|
});
|
|
41
45
|
it('creates centered window around match when collapsed', () => {
|
|
42
|
-
const prefix = '
|
|
46
|
+
const prefix = 'cd_/very/long/path/that/keeps/going/'.repeat(3);
|
|
43
47
|
const core = 'search-here';
|
|
44
48
|
const suffix = '/and/then/some/more/components/'.repeat(3);
|
|
45
49
|
const label = prefix + core + suffix;
|
|
46
50
|
const matchedIndex = prefix.length;
|
|
47
|
-
const { lastFrame } = render(_jsx(PrepareLabel, { label: label, userInput: core, matchedIndex: matchedIndex, textColor: color, isExpanded: false }));
|
|
51
|
+
const { lastFrame, unmount } = render(_jsx(PrepareLabel, { label: label, userInput: core, matchedIndex: matchedIndex, textColor: color, isExpanded: false }), 100);
|
|
48
52
|
const out = lastFrame();
|
|
49
53
|
const f = flat(out);
|
|
50
54
|
expect(f.includes(core)).toBe(true);
|
|
51
55
|
expect(f.startsWith('...')).toBe(true);
|
|
52
56
|
expect(f.endsWith('...')).toBe(true);
|
|
53
57
|
expect(out).toMatchSnapshot();
|
|
58
|
+
unmount();
|
|
54
59
|
});
|
|
55
60
|
it('truncates match itself when match is very long', () => {
|
|
56
61
|
const prefix = 'find ';
|
|
@@ -58,7 +63,7 @@ describe('PrepareLabel', () => {
|
|
|
58
63
|
const suffix = ' in this text';
|
|
59
64
|
const label = prefix + core + suffix;
|
|
60
65
|
const matchedIndex = prefix.length;
|
|
61
|
-
const { lastFrame } = render(_jsx(PrepareLabel, { label: label, userInput: core, matchedIndex: matchedIndex, textColor: color, isExpanded: false }));
|
|
66
|
+
const { lastFrame, unmount } = render(_jsx(PrepareLabel, { label: label, userInput: core, matchedIndex: matchedIndex, textColor: color, isExpanded: false }));
|
|
62
67
|
const out = lastFrame();
|
|
63
68
|
const f = flat(out);
|
|
64
69
|
expect(f.includes('...')).toBe(true);
|
|
@@ -66,6 +71,7 @@ describe('PrepareLabel', () => {
|
|
|
66
71
|
expect(f.endsWith('...')).toBe(true);
|
|
67
72
|
expect(f.length).toBe(MAX_WIDTH + 2);
|
|
68
73
|
expect(out).toMatchSnapshot();
|
|
74
|
+
unmount();
|
|
69
75
|
});
|
|
70
76
|
});
|
|
71
77
|
//# sourceMappingURL=PrepareLabel.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrepareLabel.test.js","sourceRoot":"","sources":["../../../../src/ui/components/PrepareLabel.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PrepareLabel.test.js","sourceRoot":"","sources":["../../../../src/ui/components/PrepareLabel.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* Copyright 2025 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
|
-
import { render } from '
|
|
7
|
+
import { render } from '../../test-utils/render.js';
|
|
8
|
+
import { act } from 'react';
|
|
8
9
|
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
9
10
|
import { ProQuotaDialog } from './ProQuotaDialog.js';
|
|
10
11
|
import { RadioButtonSelect } from './shared/RadioButtonSelect.js';
|
|
@@ -17,7 +18,7 @@ describe('ProQuotaDialog', () => {
|
|
|
17
18
|
vi.clearAllMocks();
|
|
18
19
|
});
|
|
19
20
|
it('should render with correct title and options', () => {
|
|
20
|
-
const { lastFrame } = render(_jsx(ProQuotaDialog, { failedModel: "gemini-2.5-pro", fallbackModel: "gemini-2.5-flash", onChoice: () => { } }));
|
|
21
|
+
const { lastFrame, unmount } = render(_jsx(ProQuotaDialog, { failedModel: "gemini-2.5-pro", fallbackModel: "gemini-2.5-flash", onChoice: () => { } }));
|
|
21
22
|
const output = lastFrame();
|
|
22
23
|
expect(output).toContain('Pro quota limit reached for gemini-2.5-pro.');
|
|
23
24
|
// Check that RadioButtonSelect was called with the correct items
|
|
@@ -35,24 +36,31 @@ describe('ProQuotaDialog', () => {
|
|
|
35
36
|
},
|
|
36
37
|
],
|
|
37
38
|
}), undefined);
|
|
39
|
+
unmount();
|
|
38
40
|
});
|
|
39
41
|
it('should call onChoice with "auth" when "Change auth" is selected', () => {
|
|
40
42
|
const mockOnChoice = vi.fn();
|
|
41
|
-
render(_jsx(ProQuotaDialog, { failedModel: "gemini-2.5-pro", fallbackModel: "gemini-2.5-flash", onChoice: mockOnChoice }));
|
|
43
|
+
const { unmount } = render(_jsx(ProQuotaDialog, { failedModel: "gemini-2.5-pro", fallbackModel: "gemini-2.5-flash", onChoice: mockOnChoice }));
|
|
42
44
|
// Get the onSelect function passed to RadioButtonSelect
|
|
43
45
|
const onSelect = RadioButtonSelect.mock.calls[0][0].onSelect;
|
|
44
46
|
// Simulate the selection
|
|
45
|
-
|
|
47
|
+
act(() => {
|
|
48
|
+
onSelect('auth');
|
|
49
|
+
});
|
|
46
50
|
expect(mockOnChoice).toHaveBeenCalledWith('auth');
|
|
51
|
+
unmount();
|
|
47
52
|
});
|
|
48
53
|
it('should call onChoice with "continue" when "Continue with flash" is selected', () => {
|
|
49
54
|
const mockOnChoice = vi.fn();
|
|
50
|
-
render(_jsx(ProQuotaDialog, { failedModel: "gemini-2.5-pro", fallbackModel: "gemini-2.5-flash", onChoice: mockOnChoice }));
|
|
55
|
+
const { unmount } = render(_jsx(ProQuotaDialog, { failedModel: "gemini-2.5-pro", fallbackModel: "gemini-2.5-flash", onChoice: mockOnChoice }));
|
|
51
56
|
// Get the onSelect function passed to RadioButtonSelect
|
|
52
57
|
const onSelect = RadioButtonSelect.mock.calls[0][0].onSelect;
|
|
53
58
|
// Simulate the selection
|
|
54
|
-
|
|
59
|
+
act(() => {
|
|
60
|
+
onSelect('continue');
|
|
61
|
+
});
|
|
55
62
|
expect(mockOnChoice).toHaveBeenCalledWith('continue');
|
|
63
|
+
unmount();
|
|
56
64
|
});
|
|
57
65
|
});
|
|
58
66
|
//# sourceMappingURL=ProQuotaDialog.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProQuotaDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ProQuotaDialog.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ProQuotaDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ProQuotaDialog.test.tsx"],"names":[],"mappings":"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"}
|