@google/gemini-cli 0.30.1 → 0.31.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/google-gemini-cli-0.31.0-preview.0.tgz +0 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -1
- package/dist/package.json +7 -6
- package/dist/src/commands/extensions/install.js +72 -4
- package/dist/src/commands/extensions/install.js.map +1 -1
- package/dist/src/commands/extensions/install.test.js +153 -20
- package/dist/src/commands/extensions/install.test.js.map +1 -1
- package/dist/src/commands/extensions/utils.js +1 -0
- package/dist/src/commands/extensions/utils.js.map +1 -1
- package/dist/src/config/config.js +17 -5
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +79 -4
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager-hydration.test.js +2 -2
- package/dist/src/config/extension-manager-hydration.test.js.map +1 -1
- package/dist/src/config/extension-manager.js +10 -6
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension.test.js +20 -20
- package/dist/src/config/extension.test.js.map +1 -1
- package/dist/src/config/extensionRegistryClient.js +3 -2
- package/dist/src/config/extensionRegistryClient.js.map +1 -1
- package/dist/src/config/extensionRegistryClient.test.js +52 -0
- package/dist/src/config/extensionRegistryClient.test.js.map +1 -1
- package/dist/src/config/extensions/consent.d.ts +10 -0
- package/dist/src/config/extensions/consent.js +10 -3
- package/dist/src/config/extensions/consent.js.map +1 -1
- package/dist/src/config/extensions/consent.test.js +1 -1
- package/dist/src/config/extensions/consent.test.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.js +1 -0
- package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.js +20 -3
- package/dist/src/config/extensions/extensionSettings.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.test.js +16 -0
- package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
- package/dist/src/config/extensions/github.test.js +1 -1
- package/dist/src/config/extensions/github.test.js.map +1 -1
- package/dist/src/config/extensions/variables.js +3 -1
- package/dist/src/config/extensions/variables.js.map +1 -1
- package/dist/src/config/keyBindings.js +6 -2
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/policy-engine.integration.test.js +51 -13
- package/dist/src/config/policy-engine.integration.test.js.map +1 -1
- package/dist/src/config/policy.d.ts +15 -3
- package/dist/src/config/policy.js +49 -4
- package/dist/src/config/policy.js.map +1 -1
- package/dist/src/config/policy.test.d.ts +6 -0
- package/dist/src/config/policy.test.js +152 -0
- package/dist/src/config/policy.test.js.map +1 -0
- package/dist/src/config/settings-validation.js +1 -1
- package/dist/src/config/settings-validation.js.map +1 -1
- package/dist/src/config/settings-validation.test.js +2 -3
- package/dist/src/config/settings-validation.test.js.map +1 -1
- package/dist/src/config/settings.d.ts +2 -0
- package/dist/src/config/settings.js +18 -20
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +118 -18
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +171 -9
- package/dist/src/config/settingsSchema.js +159 -9
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js +26 -0
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/config/settings_repro.test.js +0 -1
- package/dist/src/config/settings_repro.test.js.map +1 -1
- package/dist/src/config/trustedFolders.test.js +3 -1
- package/dist/src/config/trustedFolders.test.js.map +1 -1
- package/dist/src/config/workspace-policy-cli.test.d.ts +6 -0
- package/dist/src/config/workspace-policy-cli.test.js +180 -0
- package/dist/src/config/workspace-policy-cli.test.js.map +1 -0
- package/dist/src/gemini.d.ts +2 -2
- package/dist/src/gemini.js +15 -5
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +18 -2
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/gemini_cleanup.test.js +27 -24
- package/dist/src/gemini_cleanup.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/generated/git-commit.js.map +1 -1
- package/dist/src/integration-tests/modelSteering.test.d.ts +6 -0
- package/dist/src/integration-tests/modelSteering.test.js +65 -0
- package/dist/src/integration-tests/modelSteering.test.js.map +1 -0
- package/dist/src/nonInteractiveCli.js +2 -3
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/test-utils/AppRig.d.ts +1 -1
- package/dist/src/test-utils/AppRig.js +16 -7
- package/dist/src/test-utils/AppRig.js.map +1 -1
- package/dist/src/test-utils/AppRig.test.js +37 -2
- package/dist/src/test-utils/AppRig.test.js.map +1 -1
- package/dist/src/test-utils/async.d.ts +1 -1
- package/dist/src/test-utils/async.js +1 -1
- package/dist/src/test-utils/async.js.map +1 -1
- package/dist/src/test-utils/customMatchers.js +1 -1
- package/dist/src/test-utils/customMatchers.js.map +1 -1
- package/dist/src/test-utils/mockCommandContext.js +8 -2
- package/dist/src/test-utils/mockCommandContext.js.map +1 -1
- package/dist/src/test-utils/mockConfig.js +2 -1
- package/dist/src/test-utils/mockConfig.js.map +1 -1
- package/dist/src/test-utils/render.d.ts +81 -5
- package/dist/src/test-utils/render.js +299 -29
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/test-utils/render.test.js +49 -23
- package/dist/src/test-utils/render.test.js.map +1 -1
- package/dist/src/test-utils/settings.js +4 -2
- package/dist/src/test-utils/settings.js.map +1 -1
- package/dist/src/ui/App.test.js +56 -24
- package/dist/src/ui/App.test.js.map +1 -1
- package/dist/src/ui/AppContainer.d.ts +2 -2
- package/dist/src/ui/AppContainer.js +231 -11
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +561 -7
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.test.js +29 -33
- package/dist/src/ui/IdeIntegrationNudge.test.js.map +1 -1
- package/dist/src/ui/auth/ApiAuthDialog.test.js +19 -9
- package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.js +1 -1
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.test.js +61 -27
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/AuthInProgress.test.js +35 -14
- package/dist/src/ui/auth/AuthInProgress.test.js.map +1 -1
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js +11 -5
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +1 -1
- package/dist/src/ui/colors.js +6 -0
- package/dist/src/ui/colors.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.js +2 -0
- package/dist/src/ui/commands/clearCommand.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.test.js +7 -1
- package/dist/src/ui/commands/clearCommand.test.js.map +1 -1
- package/dist/src/ui/commands/copyCommand.js +2 -1
- package/dist/src/ui/commands/copyCommand.js.map +1 -1
- package/dist/src/ui/commands/copyCommand.test.js +6 -4
- package/dist/src/ui/commands/copyCommand.test.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +18 -0
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.test.js +4 -4
- package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/planCommand.js +1 -1
- package/dist/src/ui/commands/planCommand.js.map +1 -1
- package/dist/src/ui/commands/planCommand.test.js +1 -1
- package/dist/src/ui/commands/planCommand.test.js.map +1 -1
- package/dist/src/ui/commands/policiesCommand.js +5 -0
- package/dist/src/ui/commands/policiesCommand.js.map +1 -1
- package/dist/src/ui/commands/policiesCommand.test.js +38 -1
- package/dist/src/ui/commands/policiesCommand.test.js.map +1 -1
- package/dist/src/ui/commands/rewindCommand.js +3 -2
- package/dist/src/ui/commands/rewindCommand.js.map +1 -1
- package/dist/src/ui/components/AboutBox.test.js +16 -8
- package/dist/src/ui/components/AboutBox.test.js.map +1 -1
- package/dist/src/ui/components/AdminSettingsChangedDialog.test.js +7 -4
- package/dist/src/ui/components/AdminSettingsChangedDialog.test.js.map +1 -1
- package/dist/src/ui/components/AgentConfigDialog.test.js +41 -19
- package/dist/src/ui/components/AgentConfigDialog.test.js.map +1 -1
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.js +1 -1
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.js.map +1 -1
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +24 -12
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +1 -1
- package/dist/src/ui/components/AnsiOutput.test.js +35 -19
- package/dist/src/ui/components/AnsiOutput.test.js.map +1 -1
- package/dist/src/ui/components/AppHeader.test.js +27 -17
- package/dist/src/ui/components/AppHeader.test.js.map +1 -1
- package/dist/src/ui/components/ApprovalModeIndicator.test.js +18 -12
- package/dist/src/ui/components/ApprovalModeIndicator.test.js.map +1 -1
- package/dist/src/ui/components/AskUserDialog.test.js +147 -85
- package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
- package/dist/src/ui/components/BackgroundShellDisplay.test.js +50 -48
- package/dist/src/ui/components/BackgroundShellDisplay.test.js.map +1 -1
- package/dist/src/ui/components/Banner.test.js +8 -4
- package/dist/src/ui/components/Banner.test.js.map +1 -1
- package/dist/src/ui/components/Checklist.test.js +17 -12
- package/dist/src/ui/components/Checklist.test.js.map +1 -1
- package/dist/src/ui/components/ChecklistItem.test.js +9 -6
- package/dist/src/ui/components/ChecklistItem.test.js.map +1 -1
- package/dist/src/ui/components/CliSpinner.test.js +8 -5
- package/dist/src/ui/components/CliSpinner.test.js.map +1 -1
- package/dist/src/ui/components/Composer.js +5 -5
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/Composer.test.js +104 -100
- package/dist/src/ui/components/Composer.test.js.map +1 -1
- package/dist/src/ui/components/ConfigInitDisplay.test.js +3 -2
- package/dist/src/ui/components/ConfigInitDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ConsentPrompt.test.js +15 -8
- package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.test.js +9 -5
- package/dist/src/ui/components/ConsoleSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.test.js +16 -14
- package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.test.js +12 -6
- package/dist/src/ui/components/ContextUsageDisplay.test.js.map +1 -1
- package/dist/src/ui/components/CopyModeWarning.test.js +9 -5
- package/dist/src/ui/components/CopyModeWarning.test.js.map +1 -1
- package/dist/src/ui/components/DebugProfiler.test.js +17 -14
- package/dist/src/ui/components/DebugProfiler.test.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js +13 -7
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +5 -1
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/DialogManager.test.js +9 -5
- package/dist/src/ui/components/DialogManager.test.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.test.js +16 -8
- package/dist/src/ui/components/EditorSettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ExitPlanModeDialog.js +2 -2
- package/dist/src/ui/components/ExitPlanModeDialog.js.map +1 -1
- package/dist/src/ui/components/ExitPlanModeDialog.test.js +2 -2
- package/dist/src/ui/components/ExitPlanModeDialog.test.js.map +1 -1
- package/dist/src/ui/components/ExitWarning.test.js +18 -10
- package/dist/src/ui/components/ExitWarning.test.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.d.ts +2 -0
- package/dist/src/ui/components/FolderTrustDialog.js +49 -3
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +249 -18
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.test.js +101 -50
- package/dist/src/ui/components/Footer.test.js.map +1 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.test.js +23 -13
- package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +1 -1
- package/dist/src/ui/components/GradientRegression.test.js +20 -10
- package/dist/src/ui/components/GradientRegression.test.js.map +1 -1
- package/dist/src/ui/components/Header.test.js +2 -0
- package/dist/src/ui/components/Header.test.js.map +1 -1
- package/dist/src/ui/components/Help.test.js +9 -6
- package/dist/src/ui/components/Help.test.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.d.ts +1 -2
- package/dist/src/ui/components/HistoryItemDisplay.js +4 -3
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.js +80 -35
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
- package/dist/src/ui/components/HookStatusDisplay.test.js +13 -9
- package/dist/src/ui/components/HookStatusDisplay.test.js.map +1 -1
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js +36 -16
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +10 -12
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.js +127 -13
- package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.js +97 -47
- package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/components/LogoutConfirmationDialog.test.js +25 -9
- package/dist/src/ui/components/LogoutConfirmationDialog.test.js.map +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js +9 -5
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +1 -1
- package/dist/src/ui/components/MainContent.js +35 -14
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/MainContent.test.js +224 -10
- package/dist/src/ui/components/MainContent.test.js.map +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.test.js +8 -3
- package/dist/src/ui/components/MemoryUsageDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.js +6 -6
- package/dist/src/ui/components/ModelDialog.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.test.js +142 -16
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.js +38 -24
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/MultiFolderTrustDialog.test.js +32 -9
- package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/NewAgentsNotification.test.js +6 -4
- package/dist/src/ui/components/NewAgentsNotification.test.js.map +1 -1
- package/dist/src/ui/components/Notifications.js +50 -4
- package/dist/src/ui/components/Notifications.js.map +1 -1
- package/dist/src/ui/components/Notifications.test.js +162 -30
- package/dist/src/ui/components/Notifications.test.js.map +1 -1
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +36 -10
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/PolicyUpdateDialog.d.ts +18 -0
- package/dist/src/ui/components/PolicyUpdateDialog.js +59 -0
- package/dist/src/ui/components/PolicyUpdateDialog.js.map +1 -0
- package/dist/src/ui/components/PolicyUpdateDialog.test.d.ts +6 -0
- package/dist/src/ui/components/PolicyUpdateDialog.test.js +93 -0
- package/dist/src/ui/components/PolicyUpdateDialog.test.js.map +1 -0
- package/dist/src/ui/components/QueuedMessageDisplay.test.js +16 -11
- package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -1
- package/dist/src/ui/components/QuittingDisplay.test.js +9 -5
- package/dist/src/ui/components/QuittingDisplay.test.js.map +1 -1
- package/dist/src/ui/components/QuotaDisplay.test.js +40 -22
- package/dist/src/ui/components/QuotaDisplay.test.js.map +1 -1
- package/dist/src/ui/components/RawMarkdownIndicator.test.js +8 -4
- package/dist/src/ui/components/RawMarkdownIndicator.test.js.map +1 -1
- package/dist/src/ui/components/RewindConfirmation.test.js +15 -7
- package/dist/src/ui/components/RewindConfirmation.test.js.map +1 -1
- package/dist/src/ui/components/RewindViewer.js +9 -7
- package/dist/src/ui/components/RewindViewer.js.map +1 -1
- package/dist/src/ui/components/RewindViewer.test.js +54 -17
- package/dist/src/ui/components/RewindViewer.test.js.map +1 -1
- package/dist/src/ui/components/SessionBrowser.test.js +24 -11
- package/dist/src/ui/components/SessionBrowser.test.js.map +1 -1
- package/dist/src/ui/components/SessionRetentionWarningDialog.test.js +12 -7
- package/dist/src/ui/components/SessionRetentionWarningDialog.test.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.js +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +7 -4
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.js +76 -7
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +252 -109
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellInputPrompt.test.js +120 -67
- package/dist/src/ui/components/ShellInputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/ShellModeIndicator.test.js +4 -2
- package/dist/src/ui/components/ShellModeIndicator.test.js.map +1 -1
- package/dist/src/ui/components/ShortcutsHelp.js +1 -1
- package/dist/src/ui/components/ShortcutsHelp.js.map +1 -1
- package/dist/src/ui/components/ShortcutsHelp.test.js +6 -3
- package/dist/src/ui/components/ShortcutsHelp.test.js.map +1 -1
- package/dist/src/ui/components/ShowMoreLines.d.ts +2 -1
- package/dist/src/ui/components/ShowMoreLines.js +10 -5
- package/dist/src/ui/components/ShowMoreLines.js.map +1 -1
- package/dist/src/ui/components/ShowMoreLines.test.js +47 -7
- package/dist/src/ui/components/ShowMoreLines.test.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.d.ts +1 -0
- package/dist/src/ui/components/StatsDisplay.js +9 -3
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.test.js +51 -34
- package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/StatusDisplay.test.js +30 -17
- package/dist/src/ui/components/StatusDisplay.test.js.map +1 -1
- package/dist/src/ui/components/StickyHeader.test.js +4 -2
- package/dist/src/ui/components/StickyHeader.test.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.test.js +19 -13
- package/dist/src/ui/components/SuggestionsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/Table.test.js +9 -6
- package/dist/src/ui/components/Table.test.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.test.js +42 -19
- package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
- package/dist/src/ui/components/ThemedGradient.test.js +4 -2
- package/dist/src/ui/components/ThemedGradient.test.js.map +1 -1
- package/dist/src/ui/components/Tips.test.js +4 -2
- package/dist/src/ui/components/Tips.test.js.map +1 -1
- package/dist/src/ui/components/ToastDisplay.js +6 -1
- package/dist/src/ui/components/ToastDisplay.js.map +1 -1
- package/dist/src/ui/components/ToastDisplay.test.js +48 -17
- package/dist/src/ui/components/ToastDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.js +11 -8
- package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.test.js +75 -17
- package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
- package/dist/src/ui/components/ToolStatsDisplay.test.js +19 -12
- package/dist/src/ui/components/ToolStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/UpdateNotification.test.js +4 -2
- package/dist/src/ui/components/UpdateNotification.test.js.map +1 -1
- package/dist/src/ui/components/UserIdentity.test.js +16 -11
- package/dist/src/ui/components/UserIdentity.test.js.map +1 -1
- package/dist/src/ui/components/ValidationDialog.test.js +33 -16
- package/dist/src/ui/components/ValidationDialog.test.js.map +1 -1
- package/dist/src/ui/components/messages/CompressionMessage.test.js +99 -101
- package/dist/src/ui/components/messages/CompressionMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ErrorMessage.test.js +8 -4
- package/dist/src/ui/components/messages/ErrorMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/GeminiMessage.js +5 -1
- package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
- package/dist/src/ui/components/messages/GeminiMessage.test.js +12 -6
- package/dist/src/ui/components/messages/GeminiMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/HintMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/HintMessage.js +14 -0
- package/dist/src/ui/components/messages/HintMessage.js.map +1 -0
- package/dist/src/ui/components/messages/InfoMessage.d.ts +1 -0
- package/dist/src/ui/components/messages/InfoMessage.js +2 -2
- package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
- package/dist/src/ui/components/messages/InfoMessage.test.js +12 -6
- package/dist/src/ui/components/messages/InfoMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +4 -2
- package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +1 -1
- package/dist/src/ui/components/messages/ShellToolMessage.d.ts +1 -2
- package/dist/src/ui/components/messages/ShellToolMessage.js +15 -29
- package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ShellToolMessage.test.js +91 -22
- package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ThinkingMessage.test.js +25 -13
- package/dist/src/ui/components/messages/ThinkingMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/Todo.test.js +34 -19
- package/dist/src/ui/components/messages/Todo.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +128 -13
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +175 -20
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +3 -4
- package/dist/src/ui/components/messages/ToolGroupMessage.js +91 -35
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +286 -63
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.js +4 -4
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.test.js +118 -39
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js +15 -6
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js +4 -2
- package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js +79 -0
- package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolResultDisplay.js +25 -14
- package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js +81 -31
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js +5 -5
- package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolShared.d.ts +8 -0
- package/dist/src/ui/components/messages/ToolShared.js +27 -9
- package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
- package/dist/src/ui/components/messages/ToolShared.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolShared.test.js +52 -0
- package/dist/src/ui/components/messages/ToolShared.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js +11 -4
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js.map +1 -1
- package/dist/src/ui/components/messages/UserMessage.js +1 -2
- package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
- package/dist/src/ui/components/messages/UserMessage.test.js +16 -8
- package/dist/src/ui/components/messages/UserMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/UserShellMessage.js +1 -2
- package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -1
- package/dist/src/ui/components/messages/WarningMessage.test.js +8 -4
- package/dist/src/ui/components/messages/WarningMessage.test.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSelectionList.test.js +118 -106
- package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.js +22 -24
- package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +139 -40
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +10 -6
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -1
- package/dist/src/ui/components/shared/EnumSelector.test.js +42 -20
- package/dist/src/ui/components/shared/EnumSelector.test.js.map +1 -1
- package/dist/src/ui/components/shared/ExpandableText.test.js +21 -14
- package/dist/src/ui/components/shared/ExpandableText.test.js.map +1 -1
- package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js +8 -4
- package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +41 -30
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
- package/dist/src/ui/components/shared/Scrollable.js +2 -3
- package/dist/src/ui/components/shared/Scrollable.js.map +1 -1
- package/dist/src/ui/components/shared/Scrollable.test.js +33 -17
- package/dist/src/ui/components/shared/Scrollable.test.js.map +1 -1
- package/dist/src/ui/components/shared/ScrollableList.js +1 -1
- package/dist/src/ui/components/shared/ScrollableList.js.map +1 -1
- package/dist/src/ui/components/shared/ScrollableList.test.js +36 -6
- package/dist/src/ui/components/shared/ScrollableList.test.js.map +1 -1
- package/dist/src/ui/components/shared/SearchableList.d.ts +46 -14
- package/dist/src/ui/components/shared/SearchableList.js +69 -57
- package/dist/src/ui/components/shared/SearchableList.js.map +1 -1
- package/dist/src/ui/components/shared/SearchableList.test.js +67 -14
- package/dist/src/ui/components/shared/SearchableList.test.js.map +1 -1
- package/dist/src/ui/components/shared/SectionHeader.d.ts +1 -0
- package/dist/src/ui/components/shared/SectionHeader.js +1 -1
- package/dist/src/ui/components/shared/SectionHeader.js.map +1 -1
- package/dist/src/ui/components/shared/SectionHeader.test.js +9 -2
- package/dist/src/ui/components/shared/SectionHeader.test.js.map +1 -1
- package/dist/src/ui/components/shared/TabHeader.js +1 -1
- package/dist/src/ui/components/shared/TabHeader.js.map +1 -1
- package/dist/src/ui/components/shared/TabHeader.test.js +65 -25
- package/dist/src/ui/components/shared/TabHeader.test.js.map +1 -1
- package/dist/src/ui/components/shared/TextInput.test.js +111 -65
- package/dist/src/ui/components/shared/TextInput.test.js.map +1 -1
- package/dist/src/ui/components/shared/VirtualizedList.test.js +27 -35
- package/dist/src/ui/components/shared/VirtualizedList.test.js.map +1 -1
- package/dist/src/ui/components/triage/TriageDuplicates.js +1 -0
- package/dist/src/ui/components/triage/TriageDuplicates.js.map +1 -1
- package/dist/src/ui/components/triage/TriageIssues.js +1 -0
- package/dist/src/ui/components/triage/TriageIssues.js.map +1 -1
- package/dist/src/ui/components/views/ChatList.test.js +9 -6
- package/dist/src/ui/components/views/ChatList.test.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionRegistryView.d.ts +15 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.js +60 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.js.map +1 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.test.d.ts +6 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.test.js +168 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.test.js.map +1 -0
- package/dist/src/ui/components/views/ExtensionsList.test.js +21 -19
- package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
- package/dist/src/ui/components/views/McpStatus.test.js +38 -25
- package/dist/src/ui/components/views/McpStatus.test.js.map +1 -1
- package/dist/src/ui/components/views/SkillsList.test.js +18 -12
- package/dist/src/ui/components/views/SkillsList.test.js.map +1 -1
- package/dist/src/ui/components/views/ToolsList.test.js +9 -6
- package/dist/src/ui/components/views/ToolsList.test.js.map +1 -1
- package/dist/src/ui/constants/tips.js +1 -1
- package/dist/src/ui/constants/tips.js.map +1 -1
- package/dist/src/ui/constants.d.ts +2 -1
- package/dist/src/ui/constants.js +2 -1
- package/dist/src/ui/constants.js.map +1 -1
- package/dist/src/ui/contexts/AppContext.d.ts +2 -1
- package/dist/src/ui/contexts/AppContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.js +37 -8
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +68 -0
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/OverflowContext.d.ts +3 -3
- package/dist/src/ui/contexts/OverflowContext.js +5 -1
- package/dist/src/ui/contexts/OverflowContext.js.map +1 -1
- package/dist/src/ui/contexts/TerminalContext.test.js +26 -15
- package/dist/src/ui/contexts/TerminalContext.test.js.map +1 -1
- package/dist/src/ui/contexts/UIActionsContext.d.ts +6 -1
- package/dist/src/ui/contexts/UIActionsContext.js +1 -1
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +7 -1
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +6 -2
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +23 -11
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +30 -14
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/toolMapping.d.ts +2 -0
- package/dist/src/ui/hooks/toolMapping.js +13 -1
- package/dist/src/ui/hooks/toolMapping.js.map +1 -1
- package/dist/src/ui/hooks/toolMapping.test.js +42 -0
- package/dist/src/ui/hooks/toolMapping.test.js.map +1 -1
- package/dist/src/ui/hooks/useAnimatedScrollbar.js +13 -3
- package/dist/src/ui/hooks/useAnimatedScrollbar.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js +74 -22
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.test.js +88 -0
- package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.js +2 -3
- package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.test.js +0 -4
- package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useConfirmingTool.d.ts +2 -6
- package/dist/src/ui/hooks/useConfirmingTool.js +2 -23
- package/dist/src/ui/hooks/useConfirmingTool.js.map +1 -1
- package/dist/src/ui/hooks/useConsoleMessages.js +18 -6
- package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
- package/dist/src/ui/hooks/useConsoleMessages.test.js +4 -4
- package/dist/src/ui/hooks/useExtensionRegistry.d.ts +13 -0
- package/dist/src/ui/hooks/useExtensionRegistry.js +70 -0
- package/dist/src/ui/hooks/useExtensionRegistry.js.map +1 -0
- package/dist/src/ui/hooks/useFocus.d.ts +4 -1
- package/dist/src/ui/hooks/useFocus.js +7 -1
- package/dist/src/ui/hooks/useFocus.js.map +1 -1
- package/dist/src/ui/hooks/useFocus.test.js +20 -11
- package/dist/src/ui/hooks/useFocus.test.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.d.ts +2 -0
- package/dist/src/ui/hooks/useFolderTrust.js +15 -3
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.test.js +3 -0
- package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +86 -20
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +150 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +3 -1
- package/dist/src/ui/hooks/useLoadingIndicator.js +2 -2
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +9 -4
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useMouseClick.test.js +15 -7
- package/dist/src/ui/hooks/useMouseClick.test.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.d.ts +4 -2
- package/dist/src/ui/hooks/usePhraseCycler.js +38 -26
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.test.js +123 -73
- package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
- package/dist/src/ui/hooks/usePromptCompletion.d.ts +1 -2
- package/dist/src/ui/hooks/usePromptCompletion.js +2 -2
- package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useRegistrySearch.d.ts +19 -0
- package/dist/src/ui/hooks/useRegistrySearch.js +35 -0
- package/dist/src/ui/hooks/useRegistrySearch.js.map +1 -0
- package/dist/src/ui/hooks/useRunEventNotifications.d.ts +22 -0
- package/dist/src/ui/hooks/useRunEventNotifications.js +93 -0
- package/dist/src/ui/hooks/useRunEventNotifications.js.map +1 -0
- package/dist/src/ui/hooks/useSearchBuffer.d.ts +11 -0
- package/dist/src/ui/hooks/useSearchBuffer.js +24 -0
- package/dist/src/ui/hooks/useSearchBuffer.js.map +1 -0
- package/dist/src/ui/hooks/useSelectionList.test.js +111 -45
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionBrowser.js +3 -2
- package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
- package/dist/src/ui/hooks/useSessionBrowser.test.js +15 -12
- package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionResume.js +2 -2
- package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.js +1 -0
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useStateAndRef.js +1 -0
- package/dist/src/ui/hooks/useStateAndRef.js.map +1 -1
- package/dist/src/ui/hooks/useTerminalTheme.test.js +29 -18
- package/dist/src/ui/hooks/useTerminalTheme.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.js +19 -2
- package/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +44 -0
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +1 -0
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/layouts/DefaultAppLayout.test.js +12 -6
- package/dist/src/ui/layouts/DefaultAppLayout.test.js.map +1 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js +24 -8
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js.map +1 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js +16 -5
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js.map +1 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js +16 -5
- package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js.map +1 -1
- package/dist/src/ui/privacy/PrivacyNotice.test.js +4 -2
- package/dist/src/ui/privacy/PrivacyNotice.test.js.map +1 -1
- package/dist/src/ui/themes/no-color.js +4 -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 -2
- package/dist/src/ui/themes/semantic-tokens.js.map +1 -1
- package/dist/src/ui/themes/solarized-dark.js +2 -0
- package/dist/src/ui/themes/solarized-dark.js.map +1 -1
- package/dist/src/ui/themes/solarized-light.js +2 -0
- package/dist/src/ui/themes/solarized-light.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.js +9 -4
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +2 -0
- package/dist/src/ui/themes/theme.js +20 -7
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/theme.test.js +7 -7
- package/dist/src/ui/themes/theme.test.js.map +1 -1
- package/dist/src/ui/types.d.ts +14 -2
- package/dist/src/ui/types.js +1 -0
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.js +3 -5
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.test.js +4 -2
- package/dist/src/ui/utils/CodeColorizer.test.js.map +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +3 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.js +65 -33
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.js +7 -3
- package/dist/src/ui/utils/TableRenderer.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.test.js +43 -22
- package/dist/src/ui/utils/TableRenderer.test.js.map +1 -1
- package/dist/src/ui/utils/borderStyles.d.ts +18 -0
- package/dist/src/ui/utils/borderStyles.js +78 -0
- package/dist/src/ui/utils/borderStyles.js.map +1 -0
- package/dist/src/ui/utils/commandUtils.d.ts +2 -1
- package/dist/src/ui/utils/commandUtils.js +8 -3
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.test.js +18 -0
- package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
- package/dist/src/ui/utils/confirmingTool.d.ts +15 -0
- package/dist/src/ui/utils/confirmingTool.js +27 -0
- package/dist/src/ui/utils/confirmingTool.js.map +1 -0
- package/dist/src/ui/utils/pendingAttentionNotification.d.ts +12 -0
- package/dist/src/ui/utils/pendingAttentionNotification.js +101 -0
- package/dist/src/ui/utils/pendingAttentionNotification.js.map +1 -0
- package/dist/src/ui/utils/pendingAttentionNotification.test.d.ts +6 -0
- package/dist/src/ui/utils/pendingAttentionNotification.test.js +79 -0
- package/dist/src/ui/utils/pendingAttentionNotification.test.js.map +1 -0
- package/dist/src/ui/utils/terminalCapabilityManager.d.ts +2 -0
- package/dist/src/ui/utils/terminalCapabilityManager.js +18 -0
- package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
- package/dist/src/ui/utils/terminalCapabilityManager.test.js +68 -0
- package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
- package/dist/src/ui/utils/terminalSetup.d.ts +24 -0
- package/dist/src/ui/utils/terminalSetup.js +130 -34
- package/dist/src/ui/utils/terminalSetup.js.map +1 -1
- package/dist/src/ui/utils/terminalSetup.test.js +35 -1
- package/dist/src/ui/utils/terminalSetup.test.js.map +1 -1
- package/dist/src/ui/utils/textUtils.d.ts +4 -0
- package/dist/src/ui/utils/textUtils.js +10 -1
- package/dist/src/ui/utils/textUtils.js.map +1 -1
- package/dist/src/ui/utils/textUtils.test.js +25 -2
- package/dist/src/ui/utils/textUtils.test.js.map +1 -1
- package/dist/src/ui/utils/toolLayoutUtils.d.ts +44 -0
- package/dist/src/ui/utils/toolLayoutUtils.js +73 -0
- package/dist/src/ui/utils/toolLayoutUtils.js.map +1 -0
- package/dist/src/ui/utils/urlSecurityUtils.d.ts +32 -0
- package/dist/src/ui/utils/urlSecurityUtils.js +71 -0
- package/dist/src/ui/utils/urlSecurityUtils.js.map +1 -0
- package/dist/src/ui/utils/urlSecurityUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/urlSecurityUtils.test.js +49 -0
- package/dist/src/ui/utils/urlSecurityUtils.test.js.map +1 -0
- package/dist/src/utils/activityLogger.js +95 -24
- package/dist/src/utils/activityLogger.js.map +1 -1
- package/dist/src/utils/devtoolsService.js +1 -2
- package/dist/src/utils/devtoolsService.js.map +1 -1
- package/dist/src/utils/devtoolsService.test.js +1 -1
- package/dist/src/utils/devtoolsService.test.js.map +1 -1
- package/dist/src/utils/envVarResolver.js +4 -1
- package/dist/src/utils/envVarResolver.js.map +1 -1
- package/dist/src/utils/gitUtils.js +2 -0
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/jsonoutput.js +2 -0
- package/dist/src/utils/jsonoutput.js.map +1 -1
- package/dist/src/utils/persistentState.d.ts +2 -0
- package/dist/src/utils/persistentState.js +1 -0
- package/dist/src/utils/persistentState.js.map +1 -1
- package/dist/src/utils/readStdin.js +1 -0
- package/dist/src/utils/readStdin.js.map +1 -1
- package/dist/src/utils/sessionUtils.d.ts +1 -6
- package/dist/src/utils/sessionUtils.js +8 -101
- package/dist/src/utils/sessionUtils.js.map +1 -1
- package/dist/src/utils/sessionUtils.test.js +47 -0
- package/dist/src/utils/sessionUtils.test.js.map +1 -1
- package/dist/src/utils/settingsUtils.js +2 -0
- package/dist/src/utils/settingsUtils.js.map +1 -1
- package/dist/src/utils/skillUtils.test.js +7 -5
- package/dist/src/utils/skillUtils.test.js.map +1 -1
- package/dist/src/utils/terminalNotifications.d.ts +25 -0
- package/dist/src/utils/terminalNotifications.js +77 -0
- package/dist/src/utils/terminalNotifications.js.map +1 -0
- package/dist/src/utils/terminalNotifications.test.d.ts +6 -0
- package/dist/src/utils/terminalNotifications.test.js +123 -0
- package/dist/src/utils/terminalNotifications.test.js.map +1 -0
- package/dist/src/utils/userStartupWarnings.d.ts +4 -1
- package/dist/src/utils/userStartupWarnings.js +22 -4
- package/dist/src/utils/userStartupWarnings.js.map +1 -1
- package/dist/src/utils/userStartupWarnings.test.js +53 -11
- package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
- package/dist/src/zed-integration/acpErrors.js +2 -0
- package/dist/src/zed-integration/acpErrors.js.map +1 -1
- package/dist/src/zed-integration/acpResume.test.js +53 -3
- package/dist/src/zed-integration/acpResume.test.js.map +1 -1
- package/dist/src/zed-integration/fileSystemService.js +2 -0
- package/dist/src/zed-integration/fileSystemService.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.d.ts +2 -0
- package/dist/src/zed-integration/zedIntegration.js +77 -6
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.test.js +176 -2
- package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/dist/google-gemini-cli-0.30.0.tgz +0 -0
- package/dist/src/ui/hooks/useFuzzyList.d.ts +0 -25
- package/dist/src/ui/hooks/useFuzzyList.js +0 -100
- package/dist/src/ui/hooks/useFuzzyList.js.map +0 -1
|
@@ -8,7 +8,7 @@ import { policiesCommand } from './policiesCommand.js';
|
|
|
8
8
|
import { CommandKind } from './types.js';
|
|
9
9
|
import { MessageType } from '../types.js';
|
|
10
10
|
import { createMockCommandContext } from '../../test-utils/mockCommandContext.js';
|
|
11
|
-
import { PolicyDecision } from '@google/gemini-cli-core';
|
|
11
|
+
import { PolicyDecision, ApprovalMode, } from '@google/gemini-cli-core';
|
|
12
12
|
describe('policiesCommand', () => {
|
|
13
13
|
let mockContext;
|
|
14
14
|
beforeEach(() => {
|
|
@@ -78,10 +78,47 @@ describe('policiesCommand', () => {
|
|
|
78
78
|
expect(content).toContain('### Normal Mode Policies');
|
|
79
79
|
expect(content).toContain('### Auto Edit Mode Policies (combined with normal mode policies)');
|
|
80
80
|
expect(content).toContain('### Yolo Mode Policies (combined with normal mode policies)');
|
|
81
|
+
expect(content).toContain('### Plan Mode Policies');
|
|
81
82
|
expect(content).toContain('**DENY** tool: `dangerousTool` [Priority: 10]');
|
|
82
83
|
expect(content).toContain('**ALLOW** all tools (args match: `safe`) [Source: test.toml]');
|
|
83
84
|
expect(content).toContain('**ASK_USER** all tools');
|
|
84
85
|
});
|
|
86
|
+
it('should show plan-only rules in plan mode section', async () => {
|
|
87
|
+
const mockRules = [
|
|
88
|
+
{
|
|
89
|
+
decision: PolicyDecision.ALLOW,
|
|
90
|
+
toolName: 'glob',
|
|
91
|
+
priority: 70,
|
|
92
|
+
modes: [ApprovalMode.PLAN],
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
decision: PolicyDecision.DENY,
|
|
96
|
+
priority: 60,
|
|
97
|
+
modes: [ApprovalMode.PLAN],
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
decision: PolicyDecision.ALLOW,
|
|
101
|
+
toolName: 'shell',
|
|
102
|
+
priority: 50,
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
const mockPolicyEngine = {
|
|
106
|
+
getRules: vi.fn().mockReturnValue(mockRules),
|
|
107
|
+
};
|
|
108
|
+
mockContext.services.config = {
|
|
109
|
+
getPolicyEngine: vi.fn().mockReturnValue(mockPolicyEngine),
|
|
110
|
+
};
|
|
111
|
+
const listCommand = policiesCommand.subCommands[0];
|
|
112
|
+
await listCommand.action(mockContext, '');
|
|
113
|
+
const call = vi.mocked(mockContext.ui.addItem).mock.calls[0];
|
|
114
|
+
const content = call[0].text;
|
|
115
|
+
// Plan-only rules appear under Plan Mode section
|
|
116
|
+
expect(content).toContain('### Plan Mode Policies');
|
|
117
|
+
// glob ALLOW is plan-only, should appear in plan section
|
|
118
|
+
expect(content).toContain('**ALLOW** tool: `glob` [Priority: 70]');
|
|
119
|
+
// shell ALLOW has no modes (applies to all), appears in normal section
|
|
120
|
+
expect(content).toContain('**ALLOW** tool: `shell` [Priority: 50]');
|
|
121
|
+
});
|
|
85
122
|
});
|
|
86
123
|
});
|
|
87
124
|
//# sourceMappingURL=policiesCommand.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policiesCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/policiesCommand.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"policiesCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/policiesCommand.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import {} from '../types.js';
|
|
|
10
10
|
import { convertSessionToHistoryFormats } from '../hooks/useSessionBrowser.js';
|
|
11
11
|
import { revertFileChanges } from '../utils/rewindFileOps.js';
|
|
12
12
|
import { RewindOutcome } from '../components/RewindConfirmation.js';
|
|
13
|
-
import { checkExhaustive, coreEvents, debugLogger, logRewind, RewindEvent, } from '@google/gemini-cli-core';
|
|
13
|
+
import { checkExhaustive, coreEvents, debugLogger, logRewind, RewindEvent, convertSessionToClientHistory, } from '@google/gemini-cli-core';
|
|
14
14
|
/**
|
|
15
15
|
* Helper function to handle the core logic of rewinding a conversation.
|
|
16
16
|
* This function encapsulates the steps needed to rewind the conversation,
|
|
@@ -33,7 +33,8 @@ async function rewindConversation(context, client, recordingService, messageId,
|
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
// Convert to UI and Client formats
|
|
36
|
-
const { uiHistory
|
|
36
|
+
const { uiHistory } = convertSessionToHistoryFormats(conversation.messages);
|
|
37
|
+
const clientHistory = convertSessionToClientHistory(conversation.messages);
|
|
37
38
|
client.setHistory(clientHistory);
|
|
38
39
|
// Reset context manager as we are rewinding history
|
|
39
40
|
await context.services.config?.getContextManager()?.refresh();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewindCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/rewindCommand.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,GAGZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAoB,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EACL,eAAe,EACf,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,
|
|
1
|
+
{"version":3,"file":"rewindCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/rewindCommand.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,9 @@ describe('AboutBox', () => {
|
|
|
21
21
|
gcpProject: '',
|
|
22
22
|
ideClient: '',
|
|
23
23
|
};
|
|
24
|
-
it('renders with required props', () => {
|
|
25
|
-
const { lastFrame } = renderWithProviders(_jsx(AboutBox, { ...defaultProps }));
|
|
24
|
+
it('renders with required props', async () => {
|
|
25
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AboutBox, { ...defaultProps }));
|
|
26
|
+
await waitUntilReady();
|
|
26
27
|
const output = lastFrame();
|
|
27
28
|
expect(output).toContain('About Gemini CLI');
|
|
28
29
|
expect(output).toContain('1.0.0');
|
|
@@ -31,29 +32,36 @@ describe('AboutBox', () => {
|
|
|
31
32
|
expect(output).toContain('default');
|
|
32
33
|
expect(output).toContain('macOS');
|
|
33
34
|
expect(output).toContain('Logged in with Google');
|
|
35
|
+
unmount();
|
|
34
36
|
});
|
|
35
37
|
it.each([
|
|
36
38
|
['gcpProject', 'my-project', 'GCP Project'],
|
|
37
39
|
['ideClient', 'vscode', 'IDE Client'],
|
|
38
40
|
['tier', 'Enterprise', 'Tier'],
|
|
39
|
-
])('renders optional prop %s', (prop, value, label) => {
|
|
41
|
+
])('renders optional prop %s', async (prop, value, label) => {
|
|
40
42
|
const props = { ...defaultProps, [prop]: value };
|
|
41
|
-
const { lastFrame } = renderWithProviders(_jsx(AboutBox, { ...props }));
|
|
43
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AboutBox, { ...props }));
|
|
44
|
+
await waitUntilReady();
|
|
42
45
|
const output = lastFrame();
|
|
43
46
|
expect(output).toContain(label);
|
|
44
47
|
expect(output).toContain(value);
|
|
48
|
+
unmount();
|
|
45
49
|
});
|
|
46
|
-
it('renders Auth Method with email when userEmail is provided', () => {
|
|
50
|
+
it('renders Auth Method with email when userEmail is provided', async () => {
|
|
47
51
|
const props = { ...defaultProps, userEmail: 'test@example.com' };
|
|
48
|
-
const { lastFrame } = renderWithProviders(_jsx(AboutBox, { ...props }));
|
|
52
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AboutBox, { ...props }));
|
|
53
|
+
await waitUntilReady();
|
|
49
54
|
const output = lastFrame();
|
|
50
55
|
expect(output).toContain('Logged in with Google (test@example.com)');
|
|
56
|
+
unmount();
|
|
51
57
|
});
|
|
52
|
-
it('renders Auth Method correctly when not oauth', () => {
|
|
58
|
+
it('renders Auth Method correctly when not oauth', async () => {
|
|
53
59
|
const props = { ...defaultProps, selectedAuthType: 'api-key' };
|
|
54
|
-
const { lastFrame } = renderWithProviders(_jsx(AboutBox, { ...props }));
|
|
60
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AboutBox, { ...props }));
|
|
61
|
+
await waitUntilReady();
|
|
55
62
|
const output = lastFrame();
|
|
56
63
|
expect(output).toContain('api-key');
|
|
64
|
+
unmount();
|
|
57
65
|
});
|
|
58
66
|
});
|
|
59
67
|
//# sourceMappingURL=AboutBox.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AboutBox.test.js","sourceRoot":"","sources":["../../../../src/ui/components/AboutBox.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,uBAAuB;AACvB,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,eAAe,EAAE,kBAAkB;CACpC,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,MAAM,YAAY,GAAG;QACnB,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,SAAS;QACrB,YAAY,EAAE,YAAY;QAC1B,gBAAgB,EAAE,OAAO;QACzB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,EAAE,CAAC,6BAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"AboutBox.test.js","sourceRoot":"","sources":["../../../../src/ui/components/AboutBox.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,uBAAuB;AACvB,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,eAAe,EAAE,kBAAkB;CACpC,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,MAAM,YAAY,GAAG;QACnB,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,SAAS;QACrB,YAAY,EAAE,YAAY;QAC1B,gBAAgB,EAAE,OAAO;QACzB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,QAAQ,OAAK,YAAY,GAAI,CAC/B,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;QAC3C,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC;QACrC,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;KAC/B,CAAC,CAAC,0BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QACjD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,QAAQ,OAAK,KAAK,GAAI,CACxB,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,KAAK,GAAG,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;QACjE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,QAAQ,OAAK,KAAK,GAAI,CACxB,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,KAAK,GAAG,EAAE,GAAG,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;QAC/D,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,QAAQ,OAAK,KAAK,GAAI,CACxB,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -13,27 +13,30 @@ describe('AdminSettingsChangedDialog', () => {
|
|
|
13
13
|
afterEach(() => {
|
|
14
14
|
vi.restoreAllMocks();
|
|
15
15
|
});
|
|
16
|
-
it('renders correctly', () => {
|
|
17
|
-
const { lastFrame } = renderWithProviders(_jsx(AdminSettingsChangedDialog, {}));
|
|
16
|
+
it('renders correctly', async () => {
|
|
17
|
+
const { lastFrame, waitUntilReady } = renderWithProviders(_jsx(AdminSettingsChangedDialog, {}));
|
|
18
|
+
await waitUntilReady();
|
|
18
19
|
expect(lastFrame()).toMatchSnapshot();
|
|
19
20
|
});
|
|
20
21
|
it('restarts on "r" key press', async () => {
|
|
21
|
-
const { stdin } = renderWithProviders(_jsx(AdminSettingsChangedDialog, {}), {
|
|
22
|
+
const { stdin, waitUntilReady } = renderWithProviders(_jsx(AdminSettingsChangedDialog, {}), {
|
|
22
23
|
uiActions: {
|
|
23
24
|
handleRestart: handleRestartMock,
|
|
24
25
|
},
|
|
25
26
|
});
|
|
27
|
+
await waitUntilReady();
|
|
26
28
|
act(() => {
|
|
27
29
|
stdin.write('r');
|
|
28
30
|
});
|
|
29
31
|
expect(handleRestartMock).toHaveBeenCalled();
|
|
30
32
|
});
|
|
31
33
|
it.each(['r', 'R'])('restarts on "%s" key press', async (key) => {
|
|
32
|
-
const { stdin } = renderWithProviders(_jsx(AdminSettingsChangedDialog, {}), {
|
|
34
|
+
const { stdin, waitUntilReady } = renderWithProviders(_jsx(AdminSettingsChangedDialog, {}), {
|
|
33
35
|
uiActions: {
|
|
34
36
|
handleRestart: handleRestartMock,
|
|
35
37
|
},
|
|
36
38
|
});
|
|
39
|
+
await waitUntilReady();
|
|
37
40
|
act(() => {
|
|
38
41
|
stdin.write(key);
|
|
39
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminSettingsChangedDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/AdminSettingsChangedDialog.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAElC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"AdminSettingsChangedDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/AdminSettingsChangedDialog.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAElC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,mBAAmB,CACvD,KAAC,0BAA0B,KAAG,CAC/B,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,mBAAmB,CACnD,KAAC,0BAA0B,KAAG,EAC9B;YACE,SAAS,EAAE;gBACT,aAAa,EAAE,iBAAiB;aACjC;SACF,CACF,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QAEvB,GAAG,CAAC,GAAG,EAAE;YACP,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC9D,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,mBAAmB,CACnD,KAAC,0BAA0B,KAAG,EAC9B;YACE,SAAS,EAAE;gBACT,aAAa,EAAE,iBAAiB;aACjC;SACF,CACF,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QAEvB,GAAG,CAAC,GAAG,EAAE;YACP,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -96,16 +96,21 @@ describe('AgentConfigDialog', () => {
|
|
|
96
96
|
mockOnClose = vi.fn();
|
|
97
97
|
mockOnSave = vi.fn();
|
|
98
98
|
});
|
|
99
|
-
const renderDialog = (settings, definition = createMockAgentDefinition()) =>
|
|
99
|
+
const renderDialog = async (settings, definition = createMockAgentDefinition()) => {
|
|
100
|
+
const result = render(_jsx(KeypressProvider, { children: _jsx(AgentConfigDialog, { agentName: "test-agent", displayName: "Test Agent", definition: definition, settings: settings, onClose: mockOnClose, onSave: mockOnSave }) }));
|
|
101
|
+
await result.waitUntilReady();
|
|
102
|
+
return result;
|
|
103
|
+
};
|
|
100
104
|
describe('rendering', () => {
|
|
101
|
-
it('should render the dialog with title', () => {
|
|
105
|
+
it('should render the dialog with title', async () => {
|
|
102
106
|
const settings = createMockSettings();
|
|
103
|
-
const { lastFrame } = renderDialog(settings);
|
|
107
|
+
const { lastFrame, unmount } = await renderDialog(settings);
|
|
104
108
|
expect(lastFrame()).toContain('Configure: Test Agent');
|
|
109
|
+
unmount();
|
|
105
110
|
});
|
|
106
|
-
it('should render all configuration fields', () => {
|
|
111
|
+
it('should render all configuration fields', async () => {
|
|
107
112
|
const settings = createMockSettings();
|
|
108
|
-
const { lastFrame } = renderDialog(settings);
|
|
113
|
+
const { lastFrame, unmount } = await renderDialog(settings);
|
|
109
114
|
const frame = lastFrame();
|
|
110
115
|
expect(frame).toContain('Enabled');
|
|
111
116
|
expect(frame).toContain('Model');
|
|
@@ -115,77 +120,91 @@ describe('AgentConfigDialog', () => {
|
|
|
115
120
|
expect(frame).toContain('Max Output Tokens');
|
|
116
121
|
expect(frame).toContain('Max Time (minutes)');
|
|
117
122
|
expect(frame).toContain('Max Turns');
|
|
123
|
+
unmount();
|
|
118
124
|
});
|
|
119
|
-
it('should render scope selector', () => {
|
|
125
|
+
it('should render scope selector', async () => {
|
|
120
126
|
const settings = createMockSettings();
|
|
121
|
-
const { lastFrame } = renderDialog(settings);
|
|
127
|
+
const { lastFrame, unmount } = await renderDialog(settings);
|
|
122
128
|
expect(lastFrame()).toContain('Apply To');
|
|
123
129
|
expect(lastFrame()).toContain('User Settings');
|
|
124
130
|
expect(lastFrame()).toContain('Workspace Settings');
|
|
131
|
+
unmount();
|
|
125
132
|
});
|
|
126
|
-
it('should render help text', () => {
|
|
133
|
+
it('should render help text', async () => {
|
|
127
134
|
const settings = createMockSettings();
|
|
128
|
-
const { lastFrame } = renderDialog(settings);
|
|
135
|
+
const { lastFrame, unmount } = await renderDialog(settings);
|
|
129
136
|
expect(lastFrame()).toContain('Use Enter to select');
|
|
130
137
|
expect(lastFrame()).toContain('Tab to change focus');
|
|
131
138
|
expect(lastFrame()).toContain('Esc to close');
|
|
139
|
+
unmount();
|
|
132
140
|
});
|
|
133
141
|
});
|
|
134
142
|
describe('keyboard navigation', () => {
|
|
135
143
|
it('should close dialog on Escape', async () => {
|
|
136
144
|
const settings = createMockSettings();
|
|
137
|
-
const { stdin } = renderDialog(settings);
|
|
145
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog(settings);
|
|
138
146
|
await act(async () => {
|
|
139
147
|
stdin.write(TerminalKeys.ESCAPE);
|
|
140
148
|
});
|
|
149
|
+
// Escape key has a 50ms timeout in KeypressContext, so we need to wrap waitUntilReady in act
|
|
150
|
+
await act(async () => {
|
|
151
|
+
await waitUntilReady();
|
|
152
|
+
});
|
|
141
153
|
await waitFor(() => {
|
|
142
154
|
expect(mockOnClose).toHaveBeenCalled();
|
|
143
155
|
});
|
|
156
|
+
unmount();
|
|
144
157
|
});
|
|
145
158
|
it('should navigate down with arrow key', async () => {
|
|
146
159
|
const settings = createMockSettings();
|
|
147
|
-
const { lastFrame, stdin } = renderDialog(settings);
|
|
160
|
+
const { lastFrame, stdin, waitUntilReady, unmount } = await renderDialog(settings);
|
|
148
161
|
// Initially first item (Enabled) should be active
|
|
149
162
|
expect(lastFrame()).toContain('●');
|
|
150
163
|
// Press down arrow
|
|
151
164
|
await act(async () => {
|
|
152
165
|
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
153
166
|
});
|
|
167
|
+
await waitUntilReady();
|
|
154
168
|
await waitFor(() => {
|
|
155
169
|
// Model field should now be highlighted
|
|
156
170
|
expect(lastFrame()).toContain('Model');
|
|
157
171
|
});
|
|
172
|
+
unmount();
|
|
158
173
|
});
|
|
159
174
|
it('should switch focus with Tab', async () => {
|
|
160
175
|
const settings = createMockSettings();
|
|
161
|
-
const { lastFrame, stdin } = renderDialog(settings);
|
|
176
|
+
const { lastFrame, stdin, waitUntilReady, unmount } = await renderDialog(settings);
|
|
162
177
|
// Initially settings section is focused
|
|
163
178
|
expect(lastFrame()).toContain('> Configure: Test Agent');
|
|
164
179
|
// Press Tab to switch to scope selector
|
|
165
180
|
await act(async () => {
|
|
166
181
|
stdin.write(TerminalKeys.TAB);
|
|
167
182
|
});
|
|
183
|
+
await waitUntilReady();
|
|
168
184
|
await waitFor(() => {
|
|
169
185
|
expect(lastFrame()).toContain('> Apply To');
|
|
170
186
|
});
|
|
187
|
+
unmount();
|
|
171
188
|
});
|
|
172
189
|
});
|
|
173
190
|
describe('boolean toggle', () => {
|
|
174
191
|
it('should toggle enabled field on Enter', async () => {
|
|
175
192
|
const settings = createMockSettings();
|
|
176
|
-
const { stdin } = renderDialog(settings);
|
|
193
|
+
const { stdin, waitUntilReady, unmount } = await renderDialog(settings);
|
|
177
194
|
// Press Enter to toggle the first field (Enabled)
|
|
178
195
|
await act(async () => {
|
|
179
196
|
stdin.write(TerminalKeys.ENTER);
|
|
180
197
|
});
|
|
198
|
+
await waitUntilReady();
|
|
181
199
|
await waitFor(() => {
|
|
182
200
|
expect(settings.setValue).toHaveBeenCalledWith(SettingScope.User, 'agents.overrides.test-agent.enabled', false);
|
|
183
201
|
expect(mockOnSave).toHaveBeenCalled();
|
|
184
202
|
});
|
|
203
|
+
unmount();
|
|
185
204
|
});
|
|
186
205
|
});
|
|
187
206
|
describe('default values', () => {
|
|
188
|
-
it('should show values from agent definition as defaults', () => {
|
|
207
|
+
it('should show values from agent definition as defaults', async () => {
|
|
189
208
|
const definition = createMockAgentDefinition({
|
|
190
209
|
modelConfig: {
|
|
191
210
|
model: 'gemini-2.0-flash',
|
|
@@ -199,25 +218,27 @@ describe('AgentConfigDialog', () => {
|
|
|
199
218
|
},
|
|
200
219
|
});
|
|
201
220
|
const settings = createMockSettings();
|
|
202
|
-
const { lastFrame } = renderDialog(settings, definition);
|
|
221
|
+
const { lastFrame, unmount } = await renderDialog(settings, definition);
|
|
203
222
|
const frame = lastFrame();
|
|
204
223
|
expect(frame).toContain('gemini-2.0-flash');
|
|
205
224
|
expect(frame).toContain('0.7');
|
|
206
225
|
expect(frame).toContain('10');
|
|
207
226
|
expect(frame).toContain('20');
|
|
227
|
+
unmount();
|
|
208
228
|
});
|
|
209
|
-
it('should show experimental agents as disabled by default', () => {
|
|
229
|
+
it('should show experimental agents as disabled by default', async () => {
|
|
210
230
|
const definition = createMockAgentDefinition({
|
|
211
231
|
experimental: true,
|
|
212
232
|
});
|
|
213
233
|
const settings = createMockSettings();
|
|
214
|
-
const { lastFrame } = renderDialog(settings, definition);
|
|
234
|
+
const { lastFrame, unmount } = await renderDialog(settings, definition);
|
|
215
235
|
// Experimental agents default to disabled
|
|
216
236
|
expect(lastFrame()).toContain('false');
|
|
237
|
+
unmount();
|
|
217
238
|
});
|
|
218
239
|
});
|
|
219
240
|
describe('existing overrides', () => {
|
|
220
|
-
it('should show existing override values with * indicator', () => {
|
|
241
|
+
it('should show existing override values with * indicator', async () => {
|
|
221
242
|
const settings = createMockSettings({
|
|
222
243
|
agents: {
|
|
223
244
|
overrides: {
|
|
@@ -230,11 +251,12 @@ describe('AgentConfigDialog', () => {
|
|
|
230
251
|
},
|
|
231
252
|
},
|
|
232
253
|
});
|
|
233
|
-
const { lastFrame } = renderDialog(settings);
|
|
254
|
+
const { lastFrame, unmount } = await renderDialog(settings);
|
|
234
255
|
const frame = lastFrame();
|
|
235
256
|
// Should show the overridden values
|
|
236
257
|
expect(frame).toContain('custom-model');
|
|
237
258
|
expect(frame).toContain('false');
|
|
259
|
+
unmount();
|
|
238
260
|
});
|
|
239
261
|
});
|
|
240
262
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentConfigDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/AgentConfigDialog.test.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AgentConfigDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/AgentConfigDialog.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACjB,aAAa,EAAE,GAAG;KACnB,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,IAAK,YAMJ;AAND,WAAK,YAAY;IACf,4BAAgB,CAAA;IAChB,0BAAU,CAAA;IACV,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;AACnB,CAAC,EANI,YAAY,KAAZ,YAAY,QAMhB;AAED,MAAM,kBAAkB,GAAG,CACzB,YAAY,GAAG,EAAE,EACjB,iBAAiB,GAAG,EAAE,EACN,EAAE;IAClB,MAAM,QAAQ,GAAG,IAAI,cAAc,CACjC;QACE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAClE,gBAAgB,EAAE;YAChB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YACxB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE;SACX;QACD,IAAI,EAAE,uBAAuB;KAC9B,EACD;QACE,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,EAAE;QACpB,IAAI,EAAE,8BAA8B;KACrC,EACD;QACE,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YACxB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACzB,GAAG,YAAY;SAChB;QACD,gBAAgB,EAAE;YAChB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YACxB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACzB,GAAG,YAAY;SAChB;QACD,IAAI,EAAE,qBAAqB;KAC5B,EACD;QACE,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YACxB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACzB,GAAG,iBAAiB;SACrB;QACD,gBAAgB,EAAE;YAChB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YACxB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACzB,GAAG,iBAAiB;SACrB;QACD,IAAI,EAAE,0BAA0B;KACjC,EACD,IAAI,EACJ,EAAE,CACH,CAAC;IAEF,gBAAgB;IAChB,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE5B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,YAAsC,EAAE,EACvB,EAAE,CACnB,CAAC;IACC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,0BAA0B;IACvC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE;QACX,KAAK,EAAE,SAAS;QAChB,qBAAqB,EAAE;YACrB,WAAW,EAAE,GAAG;SACjB;KACF;IACD,SAAS,EAAE;QACT,cAAc,EAAE,CAAC;QACjB,QAAQ,EAAE,EAAE;KACb;IACD,YAAY,EAAE,KAAK;IACnB,GAAG,SAAS;CACb,CAAoB,CAAC;AAExB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,WAAqC,CAAC;IAC1C,IAAI,UAAoC,CAAC;IAEzC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,KAAK,EACxB,QAAwB,EACxB,aAA8B,yBAAyB,EAAE,EACzD,EAAE;QACF,MAAM,MAAM,GAAG,MAAM,CACnB,KAAC,gBAAgB,cACf,KAAC,iBAAiB,IAChB,SAAS,EAAC,YAAY,EACtB,WAAW,EAAC,YAAY,EACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,GAClB,GACe,CACpB,CAAC;QACF,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAE1B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACrC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE5D,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE5D,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACrD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACrD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAExE,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,6FAA6F;YAC7F,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,MAAM,cAAc,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,EAAE;gBACjB,MAAM,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GACjD,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE/B,kDAAkD;YAClD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAEnC,mBAAmB;YACnB,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,MAAM,cAAc,EAAE,CAAC;YAEvB,MAAM,OAAO,CAAC,GAAG,EAAE;gBACjB,wCAAwC;gBACxC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GACjD,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE/B,wCAAwC;YACxC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;YAEzD,wCAAwC;YACxC,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,MAAM,cAAc,EAAE,CAAC;YAEvB,MAAM,OAAO,CAAC,GAAG,EAAE;gBACjB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAExE,kDAAkD;YAClD,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,MAAM,cAAc,EAAE,CAAC;YAEvB,MAAM,OAAO,CAAC,GAAG,EAAE;gBACjB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAC5C,YAAY,CAAC,IAAI,EACjB,qCAAqC,EACrC,KAAK,CACN,CAAC;gBACF,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,UAAU,GAAG,yBAAyB,CAAC;gBAC3C,WAAW,EAAE;oBACX,KAAK,EAAE,kBAAkB;oBACzB,qBAAqB,EAAE;wBACrB,WAAW,EAAE,GAAG;qBACjB;iBACF;gBACD,SAAS,EAAE;oBACT,cAAc,EAAE,EAAE;oBAClB,QAAQ,EAAE,EAAE;iBACb;aACF,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAE1B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,UAAU,GAAG,yBAAyB,CAAC;gBAC3C,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAExE,0CAA0C;YAC1C,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,QAAQ,GAAG,kBAAkB,CAAC;gBAClC,MAAM,EAAE;oBACN,SAAS,EAAE;wBACT,YAAY,EAAE;4BACZ,OAAO,EAAE,KAAK;4BACd,WAAW,EAAE;gCACX,KAAK,EAAE,cAAc;6BACtB;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAE1B,oCAAoC;YACpC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -24,6 +24,6 @@ export const AlternateBufferQuittingDisplay = () => {
|
|
|
24
24
|
// user exits alternate buffer mode.
|
|
25
25
|
// Our version of Ink is clever and will render a final frame outside of
|
|
26
26
|
// the alternate buffer on app exit.
|
|
27
|
-
return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, flexGrow: 0, width: uiState.terminalWidth, children: [_jsx(AppHeader, { version: version }, "app-header"), uiState.history.map((h) => (_jsx(HistoryItemDisplay, { terminalWidth: uiState.mainAreaWidth, availableTerminalHeight: undefined, availableTerminalHeightGemini: MAX_GEMINI_MESSAGE_LINES, item: h, isPending: false, commands: uiState.slashCommands }, h.id))), uiState.pendingHistoryItems.map((item, i) => (_jsx(HistoryItemDisplay, { availableTerminalHeight: undefined, terminalWidth: uiState.mainAreaWidth, item: { ...item, id: 0 }, isPending: true
|
|
27
|
+
return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, flexGrow: 0, width: uiState.terminalWidth, children: [_jsx(AppHeader, { version: version }, "app-header"), uiState.history.map((h) => (_jsx(HistoryItemDisplay, { terminalWidth: uiState.mainAreaWidth, availableTerminalHeight: undefined, availableTerminalHeightGemini: MAX_GEMINI_MESSAGE_LINES, item: h, isPending: false, commands: uiState.slashCommands }, h.id))), uiState.pendingHistoryItems.map((item, i) => (_jsx(HistoryItemDisplay, { availableTerminalHeight: undefined, terminalWidth: uiState.mainAreaWidth, item: { ...item, id: 0 }, isPending: true }, i))), showPromptedTool && (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [_jsx(Text, { color: theme.status.warning, bold: true, children: "Action Required (was prompted):" }), _jsxs(Box, { marginTop: 1, children: [_jsx(ToolStatusIndicator, { status: confirmingTool.tool.status, name: confirmingTool.tool.name }), _jsx(ToolInfo, { name: confirmingTool.tool.name, status: confirmingTool.tool.status, description: confirmingTool.tool.description, emphasis: "high" })] })] })), _jsx(QuittingDisplay, {})] }));
|
|
28
28
|
};
|
|
29
29
|
//# sourceMappingURL=AlternateBufferQuittingDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlternateBufferQuittingDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/AlternateBufferQuittingDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,EAAE;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,gBAAgB,GAAG,cAAc,KAAK,IAAI,CAAC;IAEjD,uEAAuE;IACvE,0EAA0E;IAC1E,oCAAoC;IACpC,wEAAwE;IACxE,oCAAoC;IACpC,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,OAAO,CAAC,aAAa,aAE5B,KAAC,SAAS,IAAkB,OAAO,EAAE,OAAO,IAA7B,YAAY,CAAqB,EAC/C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,kBAAkB,IACjB,aAAa,EAAE,OAAO,CAAC,aAAa,EACpC,uBAAuB,EAAE,SAAS,EAClC,6BAA6B,EAAE,wBAAwB,EAEvD,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,OAAO,CAAC,aAAa,IAH1B,CAAC,CAAC,EAAE,CAIT,CACH,CAAC,EACD,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5C,KAAC,kBAAkB,IAEjB,uBAAuB,EAAE,SAAS,EAClC,aAAa,EAAE,OAAO,CAAC,aAAa,EACpC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EACxB,SAAS,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"AlternateBufferQuittingDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/AlternateBufferQuittingDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,EAAE;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,gBAAgB,GAAG,cAAc,KAAK,IAAI,CAAC;IAEjD,uEAAuE;IACvE,0EAA0E;IAC1E,oCAAoC;IACpC,wEAAwE;IACxE,oCAAoC;IACpC,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,OAAO,CAAC,aAAa,aAE5B,KAAC,SAAS,IAAkB,OAAO,EAAE,OAAO,IAA7B,YAAY,CAAqB,EAC/C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,kBAAkB,IACjB,aAAa,EAAE,OAAO,CAAC,aAAa,EACpC,uBAAuB,EAAE,SAAS,EAClC,6BAA6B,EAAE,wBAAwB,EAEvD,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,OAAO,CAAC,aAAa,IAH1B,CAAC,CAAC,EAAE,CAIT,CACH,CAAC,EACD,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5C,KAAC,kBAAkB,IAEjB,uBAAuB,EAAE,SAAS,EAClC,aAAa,EAAE,OAAO,CAAC,aAAa,EACpC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EACxB,SAAS,EAAE,IAAI,IAJV,CAAC,CAKN,CACH,CAAC,EACD,gBAAgB,IAAI,CACnB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aACvD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,sDAEhC,EACP,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,mBAAmB,IAClB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,EAClC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,GAC9B,EACF,KAAC,QAAQ,IACP,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,EAC9B,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,EAClC,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,EAC5C,QAAQ,EAAC,MAAM,GACf,IACE,IACF,CACP,EACD,KAAC,eAAe,KAAG,IACf,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -92,51 +92,59 @@ describe('AlternateBufferQuittingDisplay', () => {
|
|
|
92
92
|
warningText: '',
|
|
93
93
|
},
|
|
94
94
|
};
|
|
95
|
-
it('renders with active and pending tool messages', () => {
|
|
95
|
+
it('renders with active and pending tool messages', async () => {
|
|
96
96
|
persistentStateMock.setData({ tipsShown: 0 });
|
|
97
|
-
const { lastFrame } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
97
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
98
98
|
uiState: {
|
|
99
99
|
...baseUIState,
|
|
100
100
|
history: mockHistory,
|
|
101
101
|
pendingHistoryItems: mockPendingHistoryItems,
|
|
102
102
|
},
|
|
103
103
|
});
|
|
104
|
+
await waitUntilReady();
|
|
104
105
|
expect(lastFrame()).toMatchSnapshot('with_history_and_pending');
|
|
106
|
+
unmount();
|
|
105
107
|
});
|
|
106
|
-
it('renders with empty history and no pending items', () => {
|
|
108
|
+
it('renders with empty history and no pending items', async () => {
|
|
107
109
|
persistentStateMock.setData({ tipsShown: 0 });
|
|
108
|
-
const { lastFrame } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
110
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
109
111
|
uiState: {
|
|
110
112
|
...baseUIState,
|
|
111
113
|
history: [],
|
|
112
114
|
pendingHistoryItems: [],
|
|
113
115
|
},
|
|
114
116
|
});
|
|
117
|
+
await waitUntilReady();
|
|
115
118
|
expect(lastFrame()).toMatchSnapshot('empty');
|
|
119
|
+
unmount();
|
|
116
120
|
});
|
|
117
|
-
it('renders with history but no pending items', () => {
|
|
121
|
+
it('renders with history but no pending items', async () => {
|
|
118
122
|
persistentStateMock.setData({ tipsShown: 0 });
|
|
119
|
-
const { lastFrame } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
123
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
120
124
|
uiState: {
|
|
121
125
|
...baseUIState,
|
|
122
126
|
history: mockHistory,
|
|
123
127
|
pendingHistoryItems: [],
|
|
124
128
|
},
|
|
125
129
|
});
|
|
130
|
+
await waitUntilReady();
|
|
126
131
|
expect(lastFrame()).toMatchSnapshot('with_history_no_pending');
|
|
132
|
+
unmount();
|
|
127
133
|
});
|
|
128
|
-
it('renders with pending items but no history', () => {
|
|
134
|
+
it('renders with pending items but no history', async () => {
|
|
129
135
|
persistentStateMock.setData({ tipsShown: 0 });
|
|
130
|
-
const { lastFrame } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
136
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
131
137
|
uiState: {
|
|
132
138
|
...baseUIState,
|
|
133
139
|
history: [],
|
|
134
140
|
pendingHistoryItems: mockPendingHistoryItems,
|
|
135
141
|
},
|
|
136
142
|
});
|
|
143
|
+
await waitUntilReady();
|
|
137
144
|
expect(lastFrame()).toMatchSnapshot('with_pending_no_history');
|
|
145
|
+
unmount();
|
|
138
146
|
});
|
|
139
|
-
it('renders with a tool awaiting confirmation', () => {
|
|
147
|
+
it('renders with a tool awaiting confirmation', async () => {
|
|
140
148
|
persistentStateMock.setData({ tipsShown: 0 });
|
|
141
149
|
const pendingHistoryItems = [
|
|
142
150
|
{
|
|
@@ -157,33 +165,37 @@ describe('AlternateBufferQuittingDisplay', () => {
|
|
|
157
165
|
],
|
|
158
166
|
},
|
|
159
167
|
];
|
|
160
|
-
const { lastFrame } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
168
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
161
169
|
uiState: {
|
|
162
170
|
...baseUIState,
|
|
163
171
|
history: [],
|
|
164
172
|
pendingHistoryItems,
|
|
165
173
|
},
|
|
166
174
|
});
|
|
175
|
+
await waitUntilReady();
|
|
167
176
|
const output = lastFrame();
|
|
168
177
|
expect(output).toContain('Action Required (was prompted):');
|
|
169
178
|
expect(output).toContain('confirming_tool');
|
|
170
179
|
expect(output).toContain('Confirming tool description');
|
|
171
180
|
expect(output).toMatchSnapshot('with_confirming_tool');
|
|
181
|
+
unmount();
|
|
172
182
|
});
|
|
173
|
-
it('renders with user and gemini messages', () => {
|
|
183
|
+
it('renders with user and gemini messages', async () => {
|
|
174
184
|
persistentStateMock.setData({ tipsShown: 0 });
|
|
175
185
|
const history = [
|
|
176
186
|
{ id: 1, type: 'user', text: 'Hello Gemini' },
|
|
177
187
|
{ id: 2, type: 'gemini', text: 'Hello User!' },
|
|
178
188
|
];
|
|
179
|
-
const { lastFrame } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
189
|
+
const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(AlternateBufferQuittingDisplay, {}), {
|
|
180
190
|
uiState: {
|
|
181
191
|
...baseUIState,
|
|
182
192
|
history,
|
|
183
193
|
pendingHistoryItems: [],
|
|
184
194
|
},
|
|
185
195
|
});
|
|
196
|
+
await waitUntilReady();
|
|
186
197
|
expect(lastFrame()).toMatchSnapshot('with_user_gemini_messages');
|
|
198
|
+
unmount();
|
|
187
199
|
});
|
|
188
200
|
});
|
|
189
201
|
//# sourceMappingURL=AlternateBufferQuittingDisplay.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlternateBufferQuittingDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/components/AlternateBufferQuittingDisplay.test.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AlternateBufferQuittingDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/components/AlternateBufferQuittingDisplay.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI;CAC/B,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC5D,MAAM,MAAM,GACV,MAAM,cAAc,EAA8C,CAAC;IACrE,OAAO;QACL,GAAG,MAAM;QACT,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;YACpB,OAAO,EAAE,QAAQ;SAClB,CAAC;KACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC1D,MAAM,MAAM,GACV,MAAM,cAAc,EAA4C,CAAC;IACnE,OAAO;QACL,GAAG,MAAM;QACT,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;KAC5B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,uBAAuB,EAAE,GAAG,EAAE,CAAC,KAAC,IAAI,0BAAe;CACpD,CAAC,CAAC,CAAC;AAEJ,MAAM,WAAW,GAAkB;IACjC;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,wBAAwB;gBACrC,MAAM,EAAE,kBAAkB,CAAC,OAAO;gBAClC,aAAa,EAAE,SAAS;gBACxB,mBAAmB,EAAE,SAAS;aAC/B;SACF;KACF;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,wBAAwB;gBACrC,MAAM,EAAE,kBAAkB,CAAC,OAAO;gBAClC,aAAa,EAAE,SAAS;gBACxB,mBAAmB,EAAE,SAAS;aAC/B;SACF;KACF;CACF,CAAC;AAEF,MAAM,uBAAuB,GAA2B;IACtD;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,wBAAwB;gBACrC,MAAM,EAAE,kBAAkB,CAAC,SAAS;gBACpC,aAAa,EAAE,SAAS;gBACxB,mBAAmB,EAAE,SAAS;aAC/B;SACF;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG;QAClB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,SAAS;QACtB,oBAAoB,EAAE,KAAK;QAC3B,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE;YACV,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;SAChB;KACF,CAAC;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,mBAAmB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,8BAA8B,KAAG,EAClC;YACE,OAAO,EAAE;gBACP,GAAG,WAAW;gBACd,OAAO,EAAE,WAAW;gBACpB,mBAAmB,EAAE,uBAAuB;aAC7C;SACF,CACF,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAChE,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,mBAAmB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,8BAA8B,KAAG,EAClC;YACE,OAAO,EAAE;gBACP,GAAG,WAAW;gBACd,OAAO,EAAE,EAAE;gBACX,mBAAmB,EAAE,EAAE;aACxB;SACF,CACF,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,mBAAmB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,8BAA8B,KAAG,EAClC;YACE,OAAO,EAAE;gBACP,GAAG,WAAW;gBACd,OAAO,EAAE,WAAW;gBACpB,mBAAmB,EAAE,EAAE;aACxB;SACF,CACF,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;QAC/D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,mBAAmB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,8BAA8B,KAAG,EAClC;YACE,OAAO,EAAE;gBACP,GAAG,WAAW;gBACd,OAAO,EAAE,EAAE;gBACX,mBAAmB,EAAE,uBAAuB;aAC7C;SACF,CACF,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;QAC/D,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,mBAAmB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,mBAAmB,GAA2B;YAClD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE;oBACL;wBACE,MAAM,EAAE,OAAO;wBACf,IAAI,EAAE,iBAAiB;wBACvB,WAAW,EAAE,6BAA6B;wBAC1C,MAAM,EAAE,kBAAkB,CAAC,gBAAgB;wBAC3C,aAAa,EAAE,SAAS;wBACxB,mBAAmB,EAAE;4BACnB,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,cAAc;4BACrB,MAAM,EAAE,sBAAsB;yBAC/B;qBACF;iBACF;aACF;SACF,CAAC;QACF,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,8BAA8B,KAAG,EAClC;YACE,OAAO,EAAE;gBACP,GAAG,WAAW;gBACd,OAAO,EAAE,EAAE;gBACX,mBAAmB;aACpB;SACF,CACF,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,mBAAmB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAkB;YAC7B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;YAC7C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;SAC/C,CAAC;QACF,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAChE,KAAC,8BAA8B,KAAG,EAClC;YACE,OAAO,EAAE;gBACP,GAAG,WAAW;gBACd,OAAO;gBACP,mBAAmB,EAAE,EAAE;aACxB;SACF,CACF,CAAC;QACF,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAC;QACjE,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|