@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
package/README.md
CHANGED
|
@@ -382,7 +382,7 @@ See the [Uninstall Guide](docs/cli/uninstall.md) for removal instructions.
|
|
|
382
382
|
## 📄 Legal
|
|
383
383
|
|
|
384
384
|
- **License**: [Apache License 2.0](LICENSE)
|
|
385
|
-
- **Terms of Service**: [Terms & Privacy](./docs/tos-privacy.md)
|
|
385
|
+
- **Terms of Service**: [Terms & Privacy](./docs/resources/tos-privacy.md)
|
|
386
386
|
- **Security**: [Security Policy](SECURITY.md)
|
|
387
387
|
|
|
388
388
|
---
|
|
Binary file
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
1
|
+
#!/usr/bin/env -S node --no-warnings=DEP0040
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2025 Google LLC
|
|
@@ -29,7 +29,20 @@ process.on('uncaughtException', (error) => {
|
|
|
29
29
|
process.exit(1);
|
|
30
30
|
});
|
|
31
31
|
main().catch(async (error) => {
|
|
32
|
-
|
|
32
|
+
// Set a timeout to force exit if cleanup hangs
|
|
33
|
+
const cleanupTimeout = setTimeout(() => {
|
|
34
|
+
writeToStderr('Cleanup timed out, forcing exit...\n');
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}, 5000);
|
|
37
|
+
try {
|
|
38
|
+
await runExitCleanup();
|
|
39
|
+
}
|
|
40
|
+
catch (cleanupError) {
|
|
41
|
+
writeToStderr(`Error during final cleanup: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}\n`);
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
clearTimeout(cleanupTimeout);
|
|
45
|
+
}
|
|
33
46
|
if (error instanceof FatalError) {
|
|
34
47
|
let errorMessage = error.message;
|
|
35
48
|
if (!process.env['NO_COLOR']) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,6BAA6B;AAE7B,6DAA6D;AAC7D,iEAAiE;AACjE,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,IACE,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC5B,KAAK,YAAY,KAAK;QACtB,KAAK,CAAC,OAAO,KAAK,6CAA6C,EAC/D,CAAC;QACD,wFAAwF;QACxF,+EAA+E;QAC/E,OAAO;IACT,CAAC;IAED,uFAAuF;IACvF,iCAAiC;IACjC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IAC3B,MAAM,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,6BAA6B;AAE7B,6DAA6D;AAC7D,iEAAiE;AACjE,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,IACE,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC5B,KAAK,YAAY,KAAK;QACtB,KAAK,CAAC,OAAO,KAAK,6CAA6C,EAC/D,CAAC;QACD,wFAAwF;QACxF,+EAA+E;QAC/E,OAAO;IACT,CAAC;IAED,uFAAuF;IACvF,iCAAiC;IACjC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IAC3B,+CAA+C;IAC/C,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;QACrC,aAAa,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,IAAI,CAAC;QACH,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,YAAY,EAAE,CAAC;QACtB,aAAa,CACX,+BAA+B,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAC/G,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,YAAY,GAAG,WAAW,YAAY,SAAS,CAAC;QAClD,CAAC;QACD,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,wCAAwC,CAAC,CAAC;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@google/gemini-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0-preview.1",
|
|
4
4
|
"description": "Gemini CLI",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
"dist"
|
|
27
27
|
],
|
|
28
28
|
"config": {
|
|
29
|
-
"sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.
|
|
29
|
+
"sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.31.0-preview.1"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@agentclientprotocol/sdk": "^0.12.0",
|
|
33
33
|
"@google/gemini-cli-core": "file:../core",
|
|
34
|
-
"@google/genai": "1.
|
|
34
|
+
"@google/genai": "1.41.0",
|
|
35
35
|
"@iarna/toml": "^2.2.5",
|
|
36
36
|
"@modelcontextprotocol/sdk": "^1.23.0",
|
|
37
37
|
"ansi-escapes": "^7.3.0",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"chalk": "^4.1.2",
|
|
40
40
|
"cli-spinners": "^2.9.2",
|
|
41
41
|
"clipboardy": "^5.0.0",
|
|
42
|
+
"color-convert": "^2.0.1",
|
|
42
43
|
"command-exists": "^1.2.9",
|
|
43
44
|
"comment-json": "^4.2.5",
|
|
44
45
|
"diff": "^8.0.3",
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
"fzf": "^0.5.2",
|
|
48
49
|
"glob": "^12.0.0",
|
|
49
50
|
"highlight.js": "^11.11.1",
|
|
50
|
-
"ink": "npm:@jrichman/ink@6.4.
|
|
51
|
+
"ink": "npm:@jrichman/ink@6.4.11",
|
|
51
52
|
"ink-gradient": "^3.0.0",
|
|
52
53
|
"ink-spinner": "^5.0.0",
|
|
53
54
|
"latest-version": "^9.0.0",
|
|
@@ -62,7 +63,7 @@
|
|
|
62
63
|
"string-width": "^8.1.0",
|
|
63
64
|
"strip-ansi": "^7.1.0",
|
|
64
65
|
"strip-json-comments": "^3.1.1",
|
|
65
|
-
"tar": "^7.5.
|
|
66
|
+
"tar": "^7.5.8",
|
|
66
67
|
"tinygradient": "^1.1.5",
|
|
67
68
|
"undici": "^7.10.0",
|
|
68
69
|
"ws": "^8.16.0",
|
|
@@ -79,7 +80,7 @@
|
|
|
79
80
|
"@types/shell-quote": "^1.7.5",
|
|
80
81
|
"@types/ws": "^8.5.10",
|
|
81
82
|
"@types/yargs": "^17.0.32",
|
|
82
|
-
"
|
|
83
|
+
"@xterm/headless": "^5.5.0",
|
|
83
84
|
"typescript": "^5.3.3",
|
|
84
85
|
"vitest": "^3.1.1"
|
|
85
86
|
},
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { debugLogger, FolderTrustDiscoveryService, getRealPath, } from '@google/gemini-cli-core';
|
|
7
8
|
import { getErrorMessage } from '../../utils/errors.js';
|
|
8
|
-
import { INSTALL_WARNING_MESSAGE, requestConsentNonInteractive, } from '../../config/extensions/consent.js';
|
|
9
|
+
import { INSTALL_WARNING_MESSAGE, promptForConsentNonInteractive, requestConsentNonInteractive, } from '../../config/extensions/consent.js';
|
|
9
10
|
import { ExtensionManager, inferInstallMetadata, } from '../../config/extension-manager.js';
|
|
10
11
|
import { loadSettings } from '../../config/settings.js';
|
|
12
|
+
import { isWorkspaceTrusted, loadTrustedFolders, TrustLevel, } from '../../config/trustedFolders.js';
|
|
11
13
|
import { promptForSetting } from '../../config/extensions/extensionSettings.js';
|
|
12
14
|
import { exitCli } from '../utils.js';
|
|
13
15
|
export async function handleInstall(args) {
|
|
@@ -18,6 +20,73 @@ export async function handleInstall(args) {
|
|
|
18
20
|
autoUpdate: args.autoUpdate,
|
|
19
21
|
allowPreRelease: args.allowPreRelease,
|
|
20
22
|
});
|
|
23
|
+
const workspaceDir = process.cwd();
|
|
24
|
+
const settings = loadSettings(workspaceDir).merged;
|
|
25
|
+
if (installMetadata.type === 'local' || installMetadata.type === 'link') {
|
|
26
|
+
const resolvedPath = getRealPath(source);
|
|
27
|
+
installMetadata.source = resolvedPath;
|
|
28
|
+
const trustResult = isWorkspaceTrusted(settings, resolvedPath);
|
|
29
|
+
if (trustResult.isTrusted !== true) {
|
|
30
|
+
const discoveryResults = await FolderTrustDiscoveryService.discover(resolvedPath);
|
|
31
|
+
const hasDiscovery = discoveryResults.commands.length > 0 ||
|
|
32
|
+
discoveryResults.mcps.length > 0 ||
|
|
33
|
+
discoveryResults.hooks.length > 0 ||
|
|
34
|
+
discoveryResults.skills.length > 0 ||
|
|
35
|
+
discoveryResults.settings.length > 0;
|
|
36
|
+
const promptLines = [
|
|
37
|
+
'',
|
|
38
|
+
chalk.bold('Do you trust the files in this folder?'),
|
|
39
|
+
'',
|
|
40
|
+
`The extension source at "${resolvedPath}" is not trusted.`,
|
|
41
|
+
'',
|
|
42
|
+
'Trusting a folder allows Gemini CLI to load its local configurations,',
|
|
43
|
+
'including custom commands, hooks, MCP servers, agent skills, and',
|
|
44
|
+
'settings. These configurations could execute code on your behalf or',
|
|
45
|
+
'change the behavior of the CLI.',
|
|
46
|
+
'',
|
|
47
|
+
];
|
|
48
|
+
if (discoveryResults.discoveryErrors.length > 0) {
|
|
49
|
+
promptLines.push(chalk.red('❌ Discovery Errors:'));
|
|
50
|
+
for (const error of discoveryResults.discoveryErrors) {
|
|
51
|
+
promptLines.push(chalk.red(` • ${error}`));
|
|
52
|
+
}
|
|
53
|
+
promptLines.push('');
|
|
54
|
+
}
|
|
55
|
+
if (discoveryResults.securityWarnings.length > 0) {
|
|
56
|
+
promptLines.push(chalk.yellow('⚠️ Security Warnings:'));
|
|
57
|
+
for (const warning of discoveryResults.securityWarnings) {
|
|
58
|
+
promptLines.push(chalk.yellow(` • ${warning}`));
|
|
59
|
+
}
|
|
60
|
+
promptLines.push('');
|
|
61
|
+
}
|
|
62
|
+
if (hasDiscovery) {
|
|
63
|
+
promptLines.push(chalk.bold('This folder contains:'));
|
|
64
|
+
const groups = [
|
|
65
|
+
{ label: 'Commands', items: discoveryResults.commands },
|
|
66
|
+
{ label: 'MCP Servers', items: discoveryResults.mcps },
|
|
67
|
+
{ label: 'Hooks', items: discoveryResults.hooks },
|
|
68
|
+
{ label: 'Skills', items: discoveryResults.skills },
|
|
69
|
+
{ label: 'Setting overrides', items: discoveryResults.settings },
|
|
70
|
+
].filter((g) => g.items.length > 0);
|
|
71
|
+
for (const group of groups) {
|
|
72
|
+
promptLines.push(` • ${chalk.bold(group.label)} (${group.items.length}):`);
|
|
73
|
+
for (const item of group.items) {
|
|
74
|
+
promptLines.push(` - ${item}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
promptLines.push('');
|
|
78
|
+
}
|
|
79
|
+
promptLines.push(chalk.yellow('Do you want to trust this folder and continue with the installation? [y/N]: '));
|
|
80
|
+
const confirmed = await promptForConsentNonInteractive(promptLines.join('\n'), false);
|
|
81
|
+
if (confirmed) {
|
|
82
|
+
const trustedFolders = loadTrustedFolders();
|
|
83
|
+
await trustedFolders.setValue(resolvedPath, TrustLevel.TRUST_FOLDER);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
throw new Error(`Installation aborted: Folder "${resolvedPath}" is not trusted.`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
21
90
|
const requestConsent = args.consent
|
|
22
91
|
? () => Promise.resolve(true)
|
|
23
92
|
: requestConsentNonInteractive;
|
|
@@ -25,12 +94,11 @@ export async function handleInstall(args) {
|
|
|
25
94
|
debugLogger.log('You have consented to the following:');
|
|
26
95
|
debugLogger.log(INSTALL_WARNING_MESSAGE);
|
|
27
96
|
}
|
|
28
|
-
const workspaceDir = process.cwd();
|
|
29
97
|
const extensionManager = new ExtensionManager({
|
|
30
98
|
workspaceDir,
|
|
31
99
|
requestConsent,
|
|
32
100
|
requestSetting: promptForSetting,
|
|
33
|
-
settings
|
|
101
|
+
settings,
|
|
34
102
|
});
|
|
35
103
|
await extensionManager.loadExtensions();
|
|
36
104
|
const extension = await extensionManager.installOrUpdateExtension(installMetadata);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../src/commands/extensions/install.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../src/commands/extensions/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,25 +6,42 @@
|
|
|
6
6
|
import { describe, it, expect, vi, beforeEach, afterEach, } from 'vitest';
|
|
7
7
|
import { handleInstall, installCommand } from './install.js';
|
|
8
8
|
import yargs from 'yargs';
|
|
9
|
-
import
|
|
9
|
+
import * as core from '@google/gemini-cli-core';
|
|
10
|
+
import { ExtensionManager } from '../../config/extension-manager.js';
|
|
11
|
+
import * as path from 'node:path';
|
|
10
12
|
const mockInstallOrUpdateExtension = vi.hoisted(() => vi.fn());
|
|
11
13
|
const mockRequestConsentNonInteractive = vi.hoisted(() => vi.fn());
|
|
14
|
+
const mockPromptForConsentNonInteractive = vi.hoisted(() => vi.fn());
|
|
12
15
|
const mockStat = vi.hoisted(() => vi.fn());
|
|
13
16
|
const mockInferInstallMetadata = vi.hoisted(() => vi.fn());
|
|
17
|
+
const mockIsWorkspaceTrusted = vi.hoisted(() => vi.fn());
|
|
18
|
+
const mockLoadTrustedFolders = vi.hoisted(() => vi.fn());
|
|
19
|
+
const mockDiscover = vi.hoisted(() => vi.fn());
|
|
14
20
|
vi.mock('../../config/extensions/consent.js', () => ({
|
|
15
21
|
requestConsentNonInteractive: mockRequestConsentNonInteractive,
|
|
22
|
+
promptForConsentNonInteractive: mockPromptForConsentNonInteractive,
|
|
23
|
+
INSTALL_WARNING_MESSAGE: 'warning',
|
|
16
24
|
}));
|
|
17
|
-
vi.mock('../../config/
|
|
25
|
+
vi.mock('../../config/trustedFolders.js', () => ({
|
|
26
|
+
isWorkspaceTrusted: mockIsWorkspaceTrusted,
|
|
27
|
+
loadTrustedFolders: mockLoadTrustedFolders,
|
|
28
|
+
TrustLevel: {
|
|
29
|
+
TRUST_FOLDER: 'TRUST_FOLDER',
|
|
30
|
+
},
|
|
31
|
+
}));
|
|
32
|
+
vi.mock('@google/gemini-cli-core', async (importOriginal) => {
|
|
18
33
|
const actual = await importOriginal();
|
|
19
34
|
return {
|
|
20
35
|
...actual,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})),
|
|
25
|
-
inferInstallMetadata: mockInferInstallMetadata,
|
|
36
|
+
FolderTrustDiscoveryService: {
|
|
37
|
+
discover: mockDiscover,
|
|
38
|
+
},
|
|
26
39
|
};
|
|
27
40
|
});
|
|
41
|
+
vi.mock('../../config/extension-manager.js', async (importOriginal) => ({
|
|
42
|
+
...(await importOriginal()),
|
|
43
|
+
inferInstallMetadata: mockInferInstallMetadata,
|
|
44
|
+
}));
|
|
28
45
|
vi.mock('../../utils/errors.js', () => ({
|
|
29
46
|
getErrorMessage: vi.fn((error) => error.message),
|
|
30
47
|
}));
|
|
@@ -48,11 +65,23 @@ describe('handleInstall', () => {
|
|
|
48
65
|
let debugErrorSpy;
|
|
49
66
|
let processSpy;
|
|
50
67
|
beforeEach(() => {
|
|
51
|
-
debugLogSpy = vi.spyOn(debugLogger, 'log');
|
|
52
|
-
debugErrorSpy = vi.spyOn(debugLogger, 'error');
|
|
68
|
+
debugLogSpy = vi.spyOn(core.debugLogger, 'log');
|
|
69
|
+
debugErrorSpy = vi.spyOn(core.debugLogger, 'error');
|
|
53
70
|
processSpy = vi
|
|
54
71
|
.spyOn(process, 'exit')
|
|
55
72
|
.mockImplementation(() => undefined);
|
|
73
|
+
vi.spyOn(ExtensionManager.prototype, 'loadExtensions').mockResolvedValue([]);
|
|
74
|
+
vi.spyOn(ExtensionManager.prototype, 'installOrUpdateExtension').mockImplementation(mockInstallOrUpdateExtension);
|
|
75
|
+
mockIsWorkspaceTrusted.mockReturnValue({ isTrusted: true, source: 'file' });
|
|
76
|
+
mockDiscover.mockResolvedValue({
|
|
77
|
+
commands: [],
|
|
78
|
+
mcps: [],
|
|
79
|
+
hooks: [],
|
|
80
|
+
skills: [],
|
|
81
|
+
settings: [],
|
|
82
|
+
securityWarnings: [],
|
|
83
|
+
discoveryErrors: [],
|
|
84
|
+
});
|
|
56
85
|
mockInferInstallMetadata.mockImplementation(async (source, args) => {
|
|
57
86
|
if (source.startsWith('http://') ||
|
|
58
87
|
source.startsWith('https://') ||
|
|
@@ -75,29 +104,41 @@ describe('handleInstall', () => {
|
|
|
75
104
|
mockStat.mockClear();
|
|
76
105
|
mockInferInstallMetadata.mockClear();
|
|
77
106
|
vi.clearAllMocks();
|
|
107
|
+
vi.restoreAllMocks();
|
|
78
108
|
});
|
|
109
|
+
function createMockExtension(overrides = {}) {
|
|
110
|
+
return {
|
|
111
|
+
name: 'mock-extension',
|
|
112
|
+
version: '1.0.0',
|
|
113
|
+
isActive: true,
|
|
114
|
+
path: '/mock/path',
|
|
115
|
+
contextFiles: [],
|
|
116
|
+
id: 'mock-id',
|
|
117
|
+
...overrides,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
79
120
|
it('should install an extension from a http source', async () => {
|
|
80
|
-
mockInstallOrUpdateExtension.mockResolvedValue({
|
|
121
|
+
mockInstallOrUpdateExtension.mockResolvedValue(createMockExtension({
|
|
81
122
|
name: 'http-extension',
|
|
82
|
-
});
|
|
123
|
+
}));
|
|
83
124
|
await handleInstall({
|
|
84
125
|
source: 'http://google.com',
|
|
85
126
|
});
|
|
86
127
|
expect(debugLogSpy).toHaveBeenCalledWith('Extension "http-extension" installed successfully and enabled.');
|
|
87
128
|
});
|
|
88
129
|
it('should install an extension from a https source', async () => {
|
|
89
|
-
mockInstallOrUpdateExtension.mockResolvedValue({
|
|
130
|
+
mockInstallOrUpdateExtension.mockResolvedValue(createMockExtension({
|
|
90
131
|
name: 'https-extension',
|
|
91
|
-
});
|
|
132
|
+
}));
|
|
92
133
|
await handleInstall({
|
|
93
134
|
source: 'https://google.com',
|
|
94
135
|
});
|
|
95
136
|
expect(debugLogSpy).toHaveBeenCalledWith('Extension "https-extension" installed successfully and enabled.');
|
|
96
137
|
});
|
|
97
138
|
it('should install an extension from a git source', async () => {
|
|
98
|
-
mockInstallOrUpdateExtension.mockResolvedValue({
|
|
139
|
+
mockInstallOrUpdateExtension.mockResolvedValue(createMockExtension({
|
|
99
140
|
name: 'git-extension',
|
|
100
|
-
});
|
|
141
|
+
}));
|
|
101
142
|
await handleInstall({
|
|
102
143
|
source: 'git@some-url',
|
|
103
144
|
});
|
|
@@ -112,21 +153,21 @@ describe('handleInstall', () => {
|
|
|
112
153
|
expect(processSpy).toHaveBeenCalledWith(1);
|
|
113
154
|
});
|
|
114
155
|
it('should install an extension from a sso source', async () => {
|
|
115
|
-
mockInstallOrUpdateExtension.mockResolvedValue({
|
|
156
|
+
mockInstallOrUpdateExtension.mockResolvedValue(createMockExtension({
|
|
116
157
|
name: 'sso-extension',
|
|
117
|
-
});
|
|
158
|
+
}));
|
|
118
159
|
await handleInstall({
|
|
119
160
|
source: 'sso://google.com',
|
|
120
161
|
});
|
|
121
162
|
expect(debugLogSpy).toHaveBeenCalledWith('Extension "sso-extension" installed successfully and enabled.');
|
|
122
163
|
});
|
|
123
164
|
it('should install an extension from a local path', async () => {
|
|
124
|
-
mockInstallOrUpdateExtension.mockResolvedValue({
|
|
165
|
+
mockInstallOrUpdateExtension.mockResolvedValue(createMockExtension({
|
|
125
166
|
name: 'local-extension',
|
|
126
|
-
});
|
|
167
|
+
}));
|
|
127
168
|
mockStat.mockResolvedValue({});
|
|
128
169
|
await handleInstall({
|
|
129
|
-
source: '/some
|
|
170
|
+
source: path.join('/', 'some', 'path'),
|
|
130
171
|
});
|
|
131
172
|
expect(debugLogSpy).toHaveBeenCalledWith('Extension "local-extension" installed successfully and enabled.');
|
|
132
173
|
});
|
|
@@ -136,5 +177,97 @@ describe('handleInstall', () => {
|
|
|
136
177
|
expect(debugErrorSpy).toHaveBeenCalledWith('Install extension failed');
|
|
137
178
|
expect(processSpy).toHaveBeenCalledWith(1);
|
|
138
179
|
});
|
|
180
|
+
it('should proceed if local path is already trusted', async () => {
|
|
181
|
+
mockInstallOrUpdateExtension.mockResolvedValue(createMockExtension({
|
|
182
|
+
name: 'local-extension',
|
|
183
|
+
}));
|
|
184
|
+
mockStat.mockResolvedValue({});
|
|
185
|
+
mockIsWorkspaceTrusted.mockReturnValue({ isTrusted: true, source: 'file' });
|
|
186
|
+
await handleInstall({
|
|
187
|
+
source: path.join('/', 'some', 'path'),
|
|
188
|
+
});
|
|
189
|
+
expect(mockIsWorkspaceTrusted).toHaveBeenCalled();
|
|
190
|
+
expect(mockPromptForConsentNonInteractive).not.toHaveBeenCalled();
|
|
191
|
+
expect(debugLogSpy).toHaveBeenCalledWith('Extension "local-extension" installed successfully and enabled.');
|
|
192
|
+
});
|
|
193
|
+
it('should prompt and proceed if user accepts trust', async () => {
|
|
194
|
+
mockInstallOrUpdateExtension.mockResolvedValue(createMockExtension({
|
|
195
|
+
name: 'local-extension',
|
|
196
|
+
}));
|
|
197
|
+
mockStat.mockResolvedValue({});
|
|
198
|
+
mockIsWorkspaceTrusted.mockReturnValue({
|
|
199
|
+
isTrusted: undefined,
|
|
200
|
+
source: undefined,
|
|
201
|
+
});
|
|
202
|
+
mockPromptForConsentNonInteractive.mockResolvedValue(true);
|
|
203
|
+
const mockSetValue = vi.fn();
|
|
204
|
+
mockLoadTrustedFolders.mockReturnValue({
|
|
205
|
+
setValue: mockSetValue,
|
|
206
|
+
user: { path: '', config: {} },
|
|
207
|
+
errors: [],
|
|
208
|
+
rules: [],
|
|
209
|
+
isPathTrusted: vi.fn(),
|
|
210
|
+
});
|
|
211
|
+
await handleInstall({
|
|
212
|
+
source: path.join('/', 'untrusted', 'path'),
|
|
213
|
+
});
|
|
214
|
+
expect(mockIsWorkspaceTrusted).toHaveBeenCalled();
|
|
215
|
+
expect(mockPromptForConsentNonInteractive).toHaveBeenCalled();
|
|
216
|
+
expect(mockSetValue).toHaveBeenCalledWith(expect.stringContaining(path.join('untrusted', 'path')), 'TRUST_FOLDER');
|
|
217
|
+
expect(debugLogSpy).toHaveBeenCalledWith('Extension "local-extension" installed successfully and enabled.');
|
|
218
|
+
});
|
|
219
|
+
it('should prompt and abort if user denies trust', async () => {
|
|
220
|
+
mockStat.mockResolvedValue({});
|
|
221
|
+
mockIsWorkspaceTrusted.mockReturnValue({
|
|
222
|
+
isTrusted: undefined,
|
|
223
|
+
source: undefined,
|
|
224
|
+
});
|
|
225
|
+
mockPromptForConsentNonInteractive.mockResolvedValue(false);
|
|
226
|
+
await handleInstall({
|
|
227
|
+
source: path.join('/', 'evil', 'path'),
|
|
228
|
+
});
|
|
229
|
+
expect(mockIsWorkspaceTrusted).toHaveBeenCalled();
|
|
230
|
+
expect(mockPromptForConsentNonInteractive).toHaveBeenCalled();
|
|
231
|
+
expect(debugErrorSpy).toHaveBeenCalledWith(expect.stringContaining('Installation aborted: Folder'));
|
|
232
|
+
expect(processSpy).toHaveBeenCalledWith(1);
|
|
233
|
+
});
|
|
234
|
+
it('should include discovery results in trust prompt', async () => {
|
|
235
|
+
mockInstallOrUpdateExtension.mockResolvedValue(createMockExtension({
|
|
236
|
+
name: 'local-extension',
|
|
237
|
+
}));
|
|
238
|
+
mockStat.mockResolvedValue({});
|
|
239
|
+
mockIsWorkspaceTrusted.mockReturnValue({
|
|
240
|
+
isTrusted: undefined,
|
|
241
|
+
source: undefined,
|
|
242
|
+
});
|
|
243
|
+
mockDiscover.mockResolvedValue({
|
|
244
|
+
commands: ['custom-cmd'],
|
|
245
|
+
mcps: [],
|
|
246
|
+
hooks: [],
|
|
247
|
+
skills: ['cool-skill'],
|
|
248
|
+
settings: [],
|
|
249
|
+
securityWarnings: ['Security risk!'],
|
|
250
|
+
discoveryErrors: ['Read error'],
|
|
251
|
+
});
|
|
252
|
+
mockPromptForConsentNonInteractive.mockResolvedValue(true);
|
|
253
|
+
mockLoadTrustedFolders.mockReturnValue({
|
|
254
|
+
setValue: vi.fn(),
|
|
255
|
+
user: { path: '', config: {} },
|
|
256
|
+
errors: [],
|
|
257
|
+
rules: [],
|
|
258
|
+
isPathTrusted: vi.fn(),
|
|
259
|
+
});
|
|
260
|
+
await handleInstall({
|
|
261
|
+
source: '/untrusted/path',
|
|
262
|
+
});
|
|
263
|
+
expect(mockPromptForConsentNonInteractive).toHaveBeenCalledWith(expect.stringContaining('This folder contains:'), false);
|
|
264
|
+
expect(mockPromptForConsentNonInteractive).toHaveBeenCalledWith(expect.stringContaining('custom-cmd'), false);
|
|
265
|
+
expect(mockPromptForConsentNonInteractive).toHaveBeenCalledWith(expect.stringContaining('cool-skill'), false);
|
|
266
|
+
expect(mockPromptForConsentNonInteractive).toHaveBeenCalledWith(expect.stringContaining('Security Warnings:'), false);
|
|
267
|
+
expect(mockPromptForConsentNonInteractive).toHaveBeenCalledWith(expect.stringContaining('Security risk!'), false);
|
|
268
|
+
expect(mockPromptForConsentNonInteractive).toHaveBeenCalledWith(expect.stringContaining('Discovery Errors:'), false);
|
|
269
|
+
expect(mockPromptForConsentNonInteractive).toHaveBeenCalledWith(expect.stringContaining('Read error'), false);
|
|
270
|
+
});
|
|
139
271
|
});
|
|
272
|
+
// Implementation completed.
|
|
140
273
|
//# sourceMappingURL=install.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.test.js","sourceRoot":"","sources":["../../../../src/commands/extensions/install.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,EAAE,EACF,MAAM,EACN,EAAE,EACF,UAAU,EACV,SAAS,GAGV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"install.test.js","sourceRoot":"","sources":["../../../../src/commands/extensions/install.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/commands/extensions/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/commands/extensions/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import { loadSandboxConfig } from './sandboxConfig.js';
|
|
|
16
16
|
import { resolvePath } from '../utils/resolvePath.js';
|
|
17
17
|
import { RESUME_LATEST } from '../utils/sessionUtils.js';
|
|
18
18
|
import { isWorkspaceTrusted } from './trustedFolders.js';
|
|
19
|
-
import { createPolicyEngineConfig } from './policy.js';
|
|
19
|
+
import { createPolicyEngineConfig, resolveWorkspacePolicyState, } from './policy.js';
|
|
20
20
|
import { ExtensionManager } from './extension-manager.js';
|
|
21
21
|
import { McpServerEnablementManager } from './mcp/mcpServerEnablement.js';
|
|
22
22
|
import { requestConsentNonInteractive } from './extensions/consent.js';
|
|
@@ -390,9 +390,12 @@ export async function loadCliConfig(settings, sessionId, argv, options = {}) {
|
|
|
390
390
|
break;
|
|
391
391
|
case 'plan':
|
|
392
392
|
if (!(settings.experimental?.plan ?? false)) {
|
|
393
|
-
|
|
393
|
+
debugLogger.warn('Approval mode "plan" is only available when experimental.plan is enabled. Falling back to "default".');
|
|
394
|
+
approvalMode = ApprovalMode.DEFAULT;
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
approvalMode = ApprovalMode.PLAN;
|
|
394
398
|
}
|
|
395
|
-
approvalMode = ApprovalMode.PLAN;
|
|
396
399
|
break;
|
|
397
400
|
case 'default':
|
|
398
401
|
approvalMode = ApprovalMode.DEFAULT;
|
|
@@ -497,7 +500,12 @@ export async function loadCliConfig(settings, sessionId, argv, options = {}) {
|
|
|
497
500
|
},
|
|
498
501
|
policyPaths: argv.policy,
|
|
499
502
|
};
|
|
500
|
-
const
|
|
503
|
+
const { workspacePoliciesDir, policyUpdateConfirmationRequest } = await resolveWorkspacePolicyState({
|
|
504
|
+
cwd,
|
|
505
|
+
trustedFolder,
|
|
506
|
+
interactive,
|
|
507
|
+
});
|
|
508
|
+
const policyEngineConfig = await createPolicyEngineConfig(effectiveSettings, approvalMode, workspacePoliciesDir);
|
|
501
509
|
policyEngineConfig.nonInteractive = !interactive;
|
|
502
510
|
const defaultModel = PREVIEW_GEMINI_MODEL_AUTO;
|
|
503
511
|
const specifiedModel = argv.model || process.env['GEMINI_MODEL'] || settings.model?.name;
|
|
@@ -543,6 +551,7 @@ export async function loadCliConfig(settings, sessionId, argv, options = {}) {
|
|
|
543
551
|
coreTools: settings.tools?.core || undefined,
|
|
544
552
|
allowedTools: allowedTools.length > 0 ? allowedTools : undefined,
|
|
545
553
|
policyEngineConfig,
|
|
554
|
+
policyUpdateConfirmationRequest,
|
|
546
555
|
excludeTools,
|
|
547
556
|
toolDiscoveryCommand: settings.tools?.discoveryCommand,
|
|
548
557
|
toolCallCommand: settings.tools?.callCommand,
|
|
@@ -595,10 +604,13 @@ export async function loadCliConfig(settings, sessionId, argv, options = {}) {
|
|
|
595
604
|
enableExtensionReloading: settings.experimental?.extensionReloading,
|
|
596
605
|
enableAgents: settings.experimental?.enableAgents,
|
|
597
606
|
plan: settings.experimental?.plan,
|
|
607
|
+
directWebFetch: settings.experimental?.directWebFetch,
|
|
608
|
+
planSettings: settings.general?.plan,
|
|
598
609
|
enableEventDrivenScheduler: true,
|
|
599
610
|
skillsSupport: settings.skills?.enabled ?? true,
|
|
600
611
|
disabledSkills: settings.skills?.disabled,
|
|
601
612
|
experimentalJitContext: settings.experimental?.jitContext,
|
|
613
|
+
modelSteering: settings.experimental?.modelSteering,
|
|
602
614
|
toolOutputMasking: settings.experimental?.toolOutputMasking,
|
|
603
615
|
noBrowser: !!process.env['NO_BROWSER'],
|
|
604
616
|
summarizeToolOutput: settings.model?.summarizeToolOutput,
|
|
@@ -614,7 +626,6 @@ export async function loadCliConfig(settings, sessionId, argv, options = {}) {
|
|
|
614
626
|
shellToolInactivityTimeout: settings.tools?.shell?.inactivityTimeout,
|
|
615
627
|
enableShellOutputEfficiency: settings.tools?.shell?.enableShellOutputEfficiency ?? true,
|
|
616
628
|
skipNextSpeakerCheck: settings.model?.skipNextSpeakerCheck,
|
|
617
|
-
enablePromptCompletion: settings.general?.enablePromptCompletion,
|
|
618
629
|
truncateToolOutputThreshold: settings.tools?.truncateToolOutputThreshold,
|
|
619
630
|
eventEmitter: coreEvents,
|
|
620
631
|
useWriteTodos: argv.useWriteTodos ?? settings.useWriteTodos,
|
|
@@ -644,6 +655,7 @@ export async function loadCliConfig(settings, sessionId, argv, options = {}) {
|
|
|
644
655
|
agents: refreshedSettings.merged.agents,
|
|
645
656
|
};
|
|
646
657
|
},
|
|
658
|
+
enableConseca: settings.security?.enableConseca,
|
|
647
659
|
});
|
|
648
660
|
}
|
|
649
661
|
function mergeExcludeTools(settings, extraExcludes = []) {
|