@google/gemini-cli 0.5.5 → 0.6.0-preview.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -2
- package/README.md +12 -2
- package/dist/index.js +0 -0
- package/dist/package.json +3 -3
- package/dist/src/commands/extensions/disable.d.ts +1 -1
- package/dist/src/commands/extensions/disable.js +3 -3
- package/dist/src/commands/extensions/disable.js.map +1 -1
- package/dist/src/commands/extensions/enable.d.ts +1 -1
- package/dist/src/commands/extensions/enable.js +5 -7
- package/dist/src/commands/extensions/enable.js.map +1 -1
- package/dist/src/commands/extensions/install.d.ts +1 -0
- package/dist/src/commands/extensions/install.js +10 -2
- package/dist/src/commands/extensions/install.js.map +1 -1
- package/dist/src/commands/extensions/install.test.js +75 -2
- package/dist/src/commands/extensions/install.test.js.map +1 -1
- package/dist/src/commands/extensions/update.js +14 -4
- package/dist/src/commands/extensions/update.js.map +1 -1
- package/dist/src/config/config.d.ts +1 -1
- package/dist/src/config/config.js +19 -5
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/extension.d.ts +17 -8
- package/dist/src/config/extension.js +192 -73
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.d.ts +30 -0
- package/dist/src/config/extensions/extensionEnablement.js +113 -0
- package/dist/src/config/extensions/extensionEnablement.js.map +1 -0
- package/dist/src/config/extensions/extensionEnablement.test.js +116 -0
- package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -0
- package/dist/src/config/extensions/variableSchema.d.ts +8 -0
- package/dist/src/config/extensions/variableSchema.js +4 -0
- package/dist/src/config/extensions/variableSchema.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +4 -1
- package/dist/src/config/keyBindings.js +8 -0
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/settings.d.ts +3 -0
- package/dist/src/config/settings.js +54 -15
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +67 -1
- package/dist/src/config/settingsSchema.js +64 -1
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js +6 -0
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/config/trustedFolders.d.ts +1 -1
- package/dist/src/config/trustedFolders.js +9 -4
- package/dist/src/config/trustedFolders.js.map +1 -1
- package/dist/src/config/trustedFolders.test.js +41 -25
- package/dist/src/config/trustedFolders.test.js.map +1 -1
- package/dist/src/core/initializer.js +6 -1
- package/dist/src/core/initializer.js.map +1 -1
- package/dist/src/gemini.js +29 -46
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +11 -15
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/nonInteractiveCli.js +23 -9
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/services/McpPromptLoader.js +43 -8
- package/dist/src/services/McpPromptLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.test.js +228 -1
- package/dist/src/services/McpPromptLoader.test.js.map +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.js +8 -1
- package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
- package/dist/src/ui/AppContainer.js +69 -32
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +36 -0
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.js +2 -1
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.js +2 -2
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/AuthInProgress.js +2 -2
- package/dist/src/ui/auth/AuthInProgress.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.d.ts +2 -0
- package/dist/src/ui/commands/chatCommand.js +82 -3
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +70 -16
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +2 -2
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +4 -1
- package/dist/src/ui/commands/types.js +0 -1
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AboutBox.js +2 -2
- package/dist/src/ui/components/AboutBox.js.map +1 -1
- package/dist/src/ui/components/AnsiOutput.d.ts +13 -0
- package/dist/src/ui/components/AnsiOutput.js +12 -0
- package/dist/src/ui/components/AnsiOutput.js.map +1 -0
- package/dist/src/ui/components/AnsiOutput.test.d.ts +6 -0
- package/dist/src/ui/components/AnsiOutput.test.js +97 -0
- package/dist/src/ui/components/AnsiOutput.test.js.map +1 -0
- package/dist/src/ui/components/AutoAcceptIndicator.js +4 -4
- package/dist/src/ui/components/AutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/components/Composer.js +10 -5
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/ConfigInitDisplay.js +2 -1
- package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.js +2 -2
- package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.js +3 -3
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.js +2 -2
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/DebugProfiler.js +2 -2
- package/dist/src/ui/components/DebugProfiler.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js +7 -7
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +9 -5
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.js +5 -5
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.js +6 -14
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +13 -13
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.d.ts +3 -0
- package/dist/src/ui/components/Footer.js +8 -3
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.js +3 -2
- package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
- package/dist/src/ui/components/Header.js +2 -2
- package/dist/src/ui/components/Header.js.map +1 -1
- package/dist/src/ui/components/Help.js +5 -5
- package/dist/src/ui/components/Help.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.d.ts +2 -0
- package/dist/src/ui/components/HistoryItemDisplay.js +2 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.d.ts +3 -0
- package/dist/src/ui/components/InputPrompt.js +97 -19
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +2 -2
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.d.ts +13 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.js +35 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.test.d.ts +6 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js +25 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +1 -0
- package/dist/src/ui/components/MainContent.js +1 -1
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.js +6 -4
- package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.js +7 -7
- package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/Notifications.js +2 -2
- package/dist/src/ui/components/Notifications.js.map +1 -1
- package/dist/src/ui/components/PrepareLabel.d.ts +5 -5
- package/dist/src/ui/components/PrepareLabel.js +67 -11
- package/dist/src/ui/components/PrepareLabel.js.map +1 -1
- package/dist/src/ui/components/PrepareLabel.test.d.ts +6 -0
- package/dist/src/ui/components/PrepareLabel.test.js +71 -0
- package/dist/src/ui/components/PrepareLabel.test.js.map +1 -0
- package/dist/src/ui/components/ProQuotaDialog.js +2 -2
- package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +2 -1
- package/dist/src/ui/components/SettingsDialog.js +73 -17
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +291 -0
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js +2 -2
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/ShellInputPrompt.d.ts +11 -0
- package/dist/src/ui/components/ShellInputPrompt.js +36 -0
- package/dist/src/ui/components/ShellInputPrompt.js.map +1 -0
- package/dist/src/ui/components/ShellModeIndicator.js +2 -2
- package/dist/src/ui/components/ShellModeIndicator.js.map +1 -1
- package/dist/src/ui/components/ShowMoreLines.js +2 -2
- package/dist/src/ui/components/ShowMoreLines.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.js +6 -6
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.d.ts +5 -2
- package/dist/src/ui/components/SuggestionsDisplay.js +17 -11
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.js +4 -4
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.test.js +10 -0
- package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
- package/dist/src/ui/components/Tips.js +2 -2
- package/dist/src/ui/components/Tips.js.map +1 -1
- package/dist/src/ui/components/ToolStatsDisplay.js +4 -4
- package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/UpdateNotification.js +2 -2
- package/dist/src/ui/components/UpdateNotification.js.map +1 -1
- package/dist/src/ui/components/WorkspaceMigrationDialog.js +4 -4
- package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -1
- package/dist/src/ui/components/messages/CompressionMessage.d.ts +1 -2
- package/dist/src/ui/components/messages/CompressionMessage.js +37 -8
- package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -1
- package/dist/src/ui/components/messages/CompressionMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/CompressionMessage.test.js +160 -0
- package/dist/src/ui/components/messages/CompressionMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/DiffRenderer.d.ts +2 -1
- package/dist/src/ui/components/messages/DiffRenderer.js +14 -22
- package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
- package/dist/src/ui/components/messages/ErrorMessage.js +2 -2
- package/dist/src/ui/components/messages/ErrorMessage.js.map +1 -1
- package/dist/src/ui/components/messages/GeminiMessage.js +2 -2
- package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
- 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/ToolConfirmationMessage.js +31 -19
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +3 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.js +10 -6
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.d.ts +4 -0
- package/dist/src/ui/components/messages/ToolMessage.js +17 -10
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.test.js +33 -1
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/UserMessage.js +3 -3
- package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
- package/dist/src/ui/components/messages/UserShellMessage.js +2 -2
- package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.js +2 -2
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.js +12 -12
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +19 -2
- package/dist/src/ui/components/shared/text-buffer.js +191 -133
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionsList.d.ts +6 -0
- package/dist/src/ui/components/views/ExtensionsList.js +47 -0
- package/dist/src/ui/components/views/ExtensionsList.js.map +1 -0
- package/dist/src/ui/components/views/ExtensionsList.test.d.ts +6 -0
- package/dist/src/ui/components/views/ExtensionsList.test.js +97 -0
- package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -0
- package/dist/src/ui/contexts/UIStateContext.d.ts +6 -1
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/hooks/keyToAnsi.d.ts +15 -0
- package/dist/src/ui/hooks/keyToAnsi.js +67 -0
- package/dist/src/ui/hooks/keyToAnsi.js.map +1 -0
- package/dist/src/ui/hooks/shellCommandProcessor.d.ts +2 -1
- package/dist/src/ui/hooks/shellCommandProcessor.js +58 -15
- package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.test.js +196 -17
- package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +3 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +14 -44
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +3 -2
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +9 -5
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +69 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +11 -1
- package/dist/src/ui/hooks/useGeminiStream.js +75 -18
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.js +15 -18
- package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.js +49 -53
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
- package/dist/src/ui/hooks/useIdeTrustListener.js +2 -2
- package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js +0 -2
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +3 -2
- package/dist/src/ui/hooks/useReactToolScheduler.js +21 -17
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.js +67 -20
- package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.js +12 -1
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.js +14 -2
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +6 -4
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +8 -0
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +5 -5
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +2 -2
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js +2 -2
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -1
- package/dist/src/ui/state/extensions.d.ts +14 -0
- package/dist/src/ui/state/extensions.js +16 -0
- package/dist/src/ui/state/extensions.js.map +1 -0
- package/dist/src/ui/themes/ayu.js +1 -1
- package/dist/src/ui/themes/dracula.js +2 -2
- package/dist/src/ui/themes/github-dark.js +1 -1
- package/dist/src/ui/themes/theme.js +17 -17
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/types.d.ts +12 -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 -2
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +7 -7
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +10 -10
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.js +6 -2
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.js +4 -4
- package/dist/src/ui/utils/TableRenderer.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.js +5 -6
- package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
- package/dist/src/ui/utils/displayUtils.js +4 -4
- package/dist/src/ui/utils/displayUtils.js.map +1 -1
- package/dist/src/ui/utils/textUtils.d.ts +9 -0
- package/dist/src/ui/utils/textUtils.js +52 -3
- package/dist/src/ui/utils/textUtils.js.map +1 -1
- package/dist/src/utils/commands.d.ts +20 -0
- package/dist/src/utils/commands.js +53 -0
- package/dist/src/utils/commands.js.map +1 -0
- package/dist/src/utils/commands.test.d.ts +6 -0
- package/dist/src/utils/commands.test.js +115 -0
- package/dist/src/utils/commands.test.js.map +1 -0
- package/dist/src/utils/commentJson.d.ts +9 -0
- package/dist/src/utils/commentJson.js +48 -0
- package/dist/src/utils/commentJson.js.map +1 -0
- package/dist/src/utils/commentJson.test.d.ts +6 -0
- package/dist/src/utils/commentJson.test.js +146 -0
- package/dist/src/utils/commentJson.test.js.map +1 -0
- package/dist/src/utils/errors.d.ts +21 -0
- package/dist/src/utils/errors.js +93 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.d.ts +6 -0
- package/dist/src/utils/errors.test.js +303 -0
- package/dist/src/utils/errors.test.js.map +1 -0
- package/dist/src/utils/sandbox.d.ts +1 -1
- package/dist/src/utils/sandbox.js +10 -17
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/settingsUtils.test.js +37 -2
- package/dist/src/utils/settingsUtils.test.js.map +1 -1
- package/dist/src/validateNonInterActiveAuth.js +30 -18
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/src/zed-integration/schema.d.ts +18 -18
- package/dist/src/zed-integration/zedIntegration.js +10 -7
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/src/utils/processUtils.d.ts +0 -13
- package/dist/src/utils/processUtils.js +0 -18
- package/dist/src/utils/processUtils.js.map +0 -1
- package/dist/src/utils/processUtils.test.js +0 -20
- package/dist/src/utils/processUtils.test.js.map +0 -1
- /package/dist/src/{utils/processUtils.test.d.ts → config/extensions/extensionEnablement.test.d.ts} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { GEMINI_DIR, Storage, ClearcutLogger, Config, ExtensionInstallEvent, } from '@google/gemini-cli-core';
|
|
6
|
+
import { GEMINI_DIR, Storage, ClearcutLogger, Config, ExtensionInstallEvent, ExtensionUninstallEvent, } from '@google/gemini-cli-core';
|
|
7
7
|
import * as fs from 'node:fs';
|
|
8
8
|
import * as path from 'node:path';
|
|
9
9
|
import * as os from 'node:os';
|
|
@@ -14,6 +14,8 @@ import { recursivelyHydrateStrings } from './extensions/variables.js';
|
|
|
14
14
|
import { isWorkspaceTrusted } from './trustedFolders.js';
|
|
15
15
|
import { resolveEnvVarsInObject } from '../utils/envVarResolver.js';
|
|
16
16
|
import { randomUUID } from 'node:crypto';
|
|
17
|
+
import { ExtensionUpdateState } from '../ui/state/extensions.js';
|
|
18
|
+
import { ExtensionEnablementManager } from './extensions/extensionEnablement.js';
|
|
17
19
|
export const EXTENSIONS_DIRECTORY_NAME = path.join(GEMINI_DIR, 'extensions');
|
|
18
20
|
export const EXTENSIONS_CONFIG_FILENAME = 'gemini-extension.json';
|
|
19
21
|
export const INSTALL_METADATA_FILENAME = '.gemini-extension-install.json';
|
|
@@ -62,9 +64,19 @@ export async function performWorkspaceExtensionMigration(extensions) {
|
|
|
62
64
|
}
|
|
63
65
|
return failedInstallNames;
|
|
64
66
|
}
|
|
67
|
+
function getClearcutLogger(cwd) {
|
|
68
|
+
const config = new Config({
|
|
69
|
+
sessionId: randomUUID(),
|
|
70
|
+
targetDir: cwd,
|
|
71
|
+
cwd,
|
|
72
|
+
model: '',
|
|
73
|
+
debugMode: false,
|
|
74
|
+
});
|
|
75
|
+
const logger = ClearcutLogger.getInstance(config);
|
|
76
|
+
return logger;
|
|
77
|
+
}
|
|
65
78
|
export function loadExtensions(workspaceDir = process.cwd()) {
|
|
66
79
|
const settings = loadSettings(workspaceDir).merged;
|
|
67
|
-
const disabledExtensions = settings.extensions?.disabled ?? [];
|
|
68
80
|
const allExtensions = [...loadUserExtensions()];
|
|
69
81
|
if ((isWorkspaceTrusted(settings) ?? true) &&
|
|
70
82
|
// Default management setting to true
|
|
@@ -72,9 +84,10 @@ export function loadExtensions(workspaceDir = process.cwd()) {
|
|
|
72
84
|
allExtensions.push(...getWorkspaceExtensions(workspaceDir));
|
|
73
85
|
}
|
|
74
86
|
const uniqueExtensions = new Map();
|
|
87
|
+
const manager = new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir());
|
|
75
88
|
for (const extension of allExtensions) {
|
|
76
89
|
if (!uniqueExtensions.has(extension.config.name) &&
|
|
77
|
-
|
|
90
|
+
manager.isEnabled(extension.config.name, workspaceDir)) {
|
|
78
91
|
uniqueExtensions.set(extension.config.name, extension);
|
|
79
92
|
}
|
|
80
93
|
}
|
|
@@ -99,16 +112,16 @@ export function loadExtensionsFromDir(dir) {
|
|
|
99
112
|
const extensions = [];
|
|
100
113
|
for (const subdir of fs.readdirSync(extensionsDir)) {
|
|
101
114
|
const extensionDir = path.join(extensionsDir, subdir);
|
|
102
|
-
const extension = loadExtension(extensionDir);
|
|
115
|
+
const extension = loadExtension({ extensionDir, workspaceDir: dir });
|
|
103
116
|
if (extension != null) {
|
|
104
117
|
extensions.push(extension);
|
|
105
118
|
}
|
|
106
119
|
}
|
|
107
120
|
return extensions;
|
|
108
121
|
}
|
|
109
|
-
export function loadExtension(
|
|
122
|
+
export function loadExtension(context) {
|
|
123
|
+
const { extensionDir, workspaceDir } = context;
|
|
110
124
|
if (!fs.statSync(extensionDir).isDirectory()) {
|
|
111
|
-
console.error(`Warning: unexpected file ${extensionDir} in extensions directory.`);
|
|
112
125
|
return null;
|
|
113
126
|
}
|
|
114
127
|
const installMetadata = loadInstallMetadata(extensionDir);
|
|
@@ -125,6 +138,7 @@ export function loadExtension(extensionDir) {
|
|
|
125
138
|
const configContent = fs.readFileSync(configFilePath, 'utf-8');
|
|
126
139
|
let config = recursivelyHydrateStrings(JSON.parse(configContent), {
|
|
127
140
|
extensionPath: extensionDir,
|
|
141
|
+
workspacePath: workspaceDir,
|
|
128
142
|
'/': path.sep,
|
|
129
143
|
pathSeparator: path.sep,
|
|
130
144
|
});
|
|
@@ -170,21 +184,23 @@ function getContextFileNames(config) {
|
|
|
170
184
|
}
|
|
171
185
|
/**
|
|
172
186
|
* Returns an annotated list of extensions. If an extension is listed in enabledExtensionNames, it will be active.
|
|
173
|
-
* If enabledExtensionNames is empty, an extension is active unless it is
|
|
187
|
+
* If enabledExtensionNames is empty, an extension is active unless it is disabled.
|
|
174
188
|
* @param extensions The base list of extensions.
|
|
175
189
|
* @param enabledExtensionNames The names of explicitly enabled extensions.
|
|
176
190
|
* @param workspaceDir The current workspace directory.
|
|
177
191
|
*/
|
|
178
192
|
export function annotateActiveExtensions(extensions, enabledExtensionNames, workspaceDir) {
|
|
179
|
-
const
|
|
180
|
-
const disabledExtensions = settings.extensions?.disabled ?? [];
|
|
193
|
+
const manager = new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir());
|
|
181
194
|
const annotatedExtensions = [];
|
|
182
195
|
if (enabledExtensionNames.length === 0) {
|
|
183
196
|
return extensions.map((extension) => ({
|
|
184
197
|
name: extension.config.name,
|
|
185
198
|
version: extension.config.version,
|
|
186
|
-
isActive:
|
|
199
|
+
isActive: manager.isEnabled(extension.config.name, workspaceDir),
|
|
187
200
|
path: extension.path,
|
|
201
|
+
source: extension.installMetadata?.source,
|
|
202
|
+
type: extension.installMetadata?.type,
|
|
203
|
+
ref: extension.installMetadata?.ref,
|
|
188
204
|
}));
|
|
189
205
|
}
|
|
190
206
|
const lowerCaseEnabledExtensions = new Set(enabledExtensionNames.map((e) => e.trim().toLowerCase()));
|
|
@@ -195,6 +211,9 @@ export function annotateActiveExtensions(extensions, enabledExtensionNames, work
|
|
|
195
211
|
version: extension.config.version,
|
|
196
212
|
isActive: false,
|
|
197
213
|
path: extension.path,
|
|
214
|
+
source: extension.installMetadata?.source,
|
|
215
|
+
type: extension.installMetadata?.type,
|
|
216
|
+
ref: extension.installMetadata?.ref,
|
|
198
217
|
}));
|
|
199
218
|
}
|
|
200
219
|
const notFoundNames = new Set(lowerCaseEnabledExtensions);
|
|
@@ -218,29 +237,49 @@ export function annotateActiveExtensions(extensions, enabledExtensionNames, work
|
|
|
218
237
|
}
|
|
219
238
|
/**
|
|
220
239
|
* Clones a Git repository to a specified local path.
|
|
221
|
-
* @param
|
|
240
|
+
* @param installMetadata The metadata for the extension to install.
|
|
222
241
|
* @param destination The destination path to clone the repository to.
|
|
223
242
|
*/
|
|
224
|
-
async function cloneFromGit(
|
|
243
|
+
async function cloneFromGit(installMetadata, destination) {
|
|
225
244
|
try {
|
|
226
|
-
|
|
227
|
-
await
|
|
245
|
+
const git = simpleGit(destination);
|
|
246
|
+
await git.clone(installMetadata.source, './', ['--depth', '1']);
|
|
247
|
+
const remotes = await git.getRemotes(true);
|
|
248
|
+
if (remotes.length === 0) {
|
|
249
|
+
throw new Error(`Unable to find any remotes for repo ${installMetadata.source}`);
|
|
250
|
+
}
|
|
251
|
+
const refToFetch = installMetadata.ref || 'HEAD';
|
|
252
|
+
await git.fetch(remotes[0].name, refToFetch);
|
|
253
|
+
// After fetching, checkout FETCH_HEAD to get the content of the fetched ref.
|
|
254
|
+
// This results in a detached HEAD state, which is fine for this purpose.
|
|
255
|
+
await git.checkout('FETCH_HEAD');
|
|
228
256
|
}
|
|
229
257
|
catch (error) {
|
|
230
|
-
throw new Error(`Failed to clone Git repository from ${
|
|
258
|
+
throw new Error(`Failed to clone Git repository from ${installMetadata.source}`, {
|
|
231
259
|
cause: error,
|
|
232
260
|
});
|
|
233
261
|
}
|
|
234
262
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
263
|
+
/**
|
|
264
|
+
* Asks users a prompt and awaits for a y/n response
|
|
265
|
+
* @param prompt A yes/no prompt to ask the user
|
|
266
|
+
* @returns Whether or not the user answers 'y' (yes)
|
|
267
|
+
*/
|
|
268
|
+
async function promptForContinuation(prompt) {
|
|
269
|
+
const readline = await import('node:readline');
|
|
270
|
+
const rl = readline.createInterface({
|
|
271
|
+
input: process.stdin,
|
|
272
|
+
output: process.stdout,
|
|
242
273
|
});
|
|
243
|
-
|
|
274
|
+
return new Promise((resolve) => {
|
|
275
|
+
rl.question(prompt, (answer) => {
|
|
276
|
+
rl.close();
|
|
277
|
+
resolve(answer.toLowerCase() === 'y');
|
|
278
|
+
});
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
export async function installExtension(installMetadata, askConsent = false, cwd = process.cwd()) {
|
|
282
|
+
const logger = getClearcutLogger(cwd);
|
|
244
283
|
let newExtensionConfig = null;
|
|
245
284
|
let localSourcePath;
|
|
246
285
|
try {
|
|
@@ -257,7 +296,7 @@ export async function installExtension(installMetadata, cwd = process.cwd()) {
|
|
|
257
296
|
let tempDir;
|
|
258
297
|
if (installMetadata.type === 'git') {
|
|
259
298
|
tempDir = await ExtensionStorage.createTmpDir();
|
|
260
|
-
await cloneFromGit(installMetadata
|
|
299
|
+
await cloneFromGit(installMetadata, tempDir);
|
|
261
300
|
localSourcePath = tempDir;
|
|
262
301
|
}
|
|
263
302
|
else if (installMetadata.type === 'local' ||
|
|
@@ -268,7 +307,10 @@ export async function installExtension(installMetadata, cwd = process.cwd()) {
|
|
|
268
307
|
throw new Error(`Unsupported install type: ${installMetadata.type}`);
|
|
269
308
|
}
|
|
270
309
|
try {
|
|
271
|
-
newExtensionConfig = await loadExtensionConfig(
|
|
310
|
+
newExtensionConfig = await loadExtensionConfig({
|
|
311
|
+
extensionDir: localSourcePath,
|
|
312
|
+
workspaceDir: cwd,
|
|
313
|
+
});
|
|
272
314
|
if (!newExtensionConfig) {
|
|
273
315
|
throw new Error(`Invalid extension at ${installMetadata.source}. Please make sure it has a valid gemini-extension.json file.`);
|
|
274
316
|
}
|
|
@@ -279,6 +321,9 @@ export async function installExtension(installMetadata, cwd = process.cwd()) {
|
|
|
279
321
|
if (installedExtensions.some((installed) => installed.config.name === newExtensionName)) {
|
|
280
322
|
throw new Error(`Extension "${newExtensionName}" is already installed. Please uninstall it first.`);
|
|
281
323
|
}
|
|
324
|
+
if (askConsent) {
|
|
325
|
+
await requestConsent(newExtensionConfig);
|
|
326
|
+
}
|
|
282
327
|
await fs.promises.mkdir(destinationPath, { recursive: true });
|
|
283
328
|
if (installMetadata.type === 'local' || installMetadata.type === 'git') {
|
|
284
329
|
await copyExtension(localSourcePath, destinationPath);
|
|
@@ -293,19 +338,39 @@ export async function installExtension(installMetadata, cwd = process.cwd()) {
|
|
|
293
338
|
}
|
|
294
339
|
}
|
|
295
340
|
logger?.logExtensionInstallEvent(new ExtensionInstallEvent(newExtensionConfig.name, newExtensionConfig.version, installMetadata.source, 'success'));
|
|
341
|
+
enableExtension(newExtensionConfig.name, SettingScope.User);
|
|
296
342
|
return newExtensionConfig.name;
|
|
297
343
|
}
|
|
298
344
|
catch (error) {
|
|
299
345
|
// Attempt to load config from the source path even if installation fails
|
|
300
346
|
// to get the name and version for logging.
|
|
301
347
|
if (!newExtensionConfig && localSourcePath) {
|
|
302
|
-
newExtensionConfig = await loadExtensionConfig(
|
|
348
|
+
newExtensionConfig = await loadExtensionConfig({
|
|
349
|
+
extensionDir: localSourcePath,
|
|
350
|
+
workspaceDir: cwd,
|
|
351
|
+
});
|
|
303
352
|
}
|
|
304
353
|
logger?.logExtensionInstallEvent(new ExtensionInstallEvent(newExtensionConfig?.name ?? '', newExtensionConfig?.version ?? '', installMetadata.source, 'error'));
|
|
305
354
|
throw error;
|
|
306
355
|
}
|
|
307
356
|
}
|
|
308
|
-
|
|
357
|
+
async function requestConsent(extensionConfig) {
|
|
358
|
+
const mcpServerEntries = Object.entries(extensionConfig.mcpServers || {});
|
|
359
|
+
if (mcpServerEntries.length) {
|
|
360
|
+
console.info('This extension will run the following MCP servers: ');
|
|
361
|
+
for (const [key, mcpServer] of mcpServerEntries) {
|
|
362
|
+
const isLocal = !!mcpServer.command;
|
|
363
|
+
console.info(` * ${key} (${isLocal ? 'local' : 'remote'}): ${mcpServer.description}`);
|
|
364
|
+
}
|
|
365
|
+
console.info('The extension will append info to your gemini.md context');
|
|
366
|
+
const shouldContinue = await promptForContinuation('Do you want to continue? (y/n): ');
|
|
367
|
+
if (!shouldContinue) {
|
|
368
|
+
throw new Error('Installation cancelled by user.');
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
export async function loadExtensionConfig(context) {
|
|
373
|
+
const { extensionDir, workspaceDir } = context;
|
|
309
374
|
const configFilePath = path.join(extensionDir, EXTENSIONS_CONFIG_FILENAME);
|
|
310
375
|
if (!fs.existsSync(configFilePath)) {
|
|
311
376
|
return null;
|
|
@@ -314,6 +379,7 @@ export async function loadExtensionConfig(extensionDir) {
|
|
|
314
379
|
const configContent = fs.readFileSync(configFilePath, 'utf-8');
|
|
315
380
|
const config = recursivelyHydrateStrings(JSON.parse(configContent), {
|
|
316
381
|
extensionPath: extensionDir,
|
|
382
|
+
workspacePath: workspaceDir,
|
|
317
383
|
'/': path.sep,
|
|
318
384
|
pathSeparator: path.sep,
|
|
319
385
|
});
|
|
@@ -327,22 +393,28 @@ export async function loadExtensionConfig(extensionDir) {
|
|
|
327
393
|
}
|
|
328
394
|
}
|
|
329
395
|
export async function uninstallExtension(extensionName, cwd = process.cwd()) {
|
|
396
|
+
const logger = getClearcutLogger(cwd);
|
|
330
397
|
const installedExtensions = loadUserExtensions();
|
|
331
398
|
if (!installedExtensions.some((installed) => installed.config.name === extensionName)) {
|
|
332
399
|
throw new Error(`Extension "${extensionName}" not found.`);
|
|
333
400
|
}
|
|
334
|
-
|
|
401
|
+
const manager = new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir());
|
|
402
|
+
manager.remove(extensionName);
|
|
335
403
|
const storage = new ExtensionStorage(extensionName);
|
|
336
|
-
|
|
404
|
+
await fs.promises.rm(storage.getExtensionDir(), {
|
|
337
405
|
recursive: true,
|
|
338
406
|
force: true,
|
|
339
407
|
});
|
|
408
|
+
logger?.logExtensionUninstallEvent(new ExtensionUninstallEvent(extensionName, 'success'));
|
|
340
409
|
}
|
|
341
410
|
export function toOutputString(extension) {
|
|
342
411
|
let output = `${extension.config.name} (${extension.config.version})`;
|
|
343
412
|
output += `\n Path: ${extension.path}`;
|
|
344
413
|
if (extension.installMetadata) {
|
|
345
414
|
output += `\n Source: ${extension.installMetadata.source} (Type: ${extension.installMetadata.type})`;
|
|
415
|
+
if (extension.installMetadata.ref) {
|
|
416
|
+
output += `\n Ref: ${extension.installMetadata.ref}`;
|
|
417
|
+
}
|
|
346
418
|
}
|
|
347
419
|
if (extension.contextFiles.length > 0) {
|
|
348
420
|
output += `\n Context files:`;
|
|
@@ -364,41 +436,53 @@ export function toOutputString(extension) {
|
|
|
364
436
|
}
|
|
365
437
|
return output;
|
|
366
438
|
}
|
|
367
|
-
export async function updateExtensionByName(extensionName, cwd = process.cwd()) {
|
|
368
|
-
const
|
|
369
|
-
const extension = installedExtensions.find((installed) => installed.config.name === extensionName);
|
|
439
|
+
export async function updateExtensionByName(extensionName, cwd = process.cwd(), extensions, setExtensionUpdateState) {
|
|
440
|
+
const extension = extensions.find((installed) => installed.name === extensionName);
|
|
370
441
|
if (!extension) {
|
|
371
442
|
throw new Error(`Extension "${extensionName}" not found. Run gemini extensions list to see available extensions.`);
|
|
372
443
|
}
|
|
373
|
-
return await updateExtension(extension, cwd);
|
|
444
|
+
return await updateExtension(extension, cwd, setExtensionUpdateState);
|
|
374
445
|
}
|
|
375
|
-
export async function updateExtension(extension, cwd = process.cwd()) {
|
|
376
|
-
if (!extension.
|
|
377
|
-
|
|
446
|
+
export async function updateExtension(extension, cwd = process.cwd(), setExtensionUpdateState) {
|
|
447
|
+
if (!extension.type) {
|
|
448
|
+
setExtensionUpdateState(ExtensionUpdateState.ERROR);
|
|
449
|
+
throw new Error(`Extension ${extension.name} cannot be updated, type is unknown.`);
|
|
378
450
|
}
|
|
379
|
-
if (extension.
|
|
451
|
+
if (extension.type === 'link') {
|
|
452
|
+
setExtensionUpdateState(ExtensionUpdateState.UP_TO_DATE);
|
|
380
453
|
throw new Error(`Extension is linked so does not need to be updated`);
|
|
381
454
|
}
|
|
382
|
-
|
|
455
|
+
setExtensionUpdateState(ExtensionUpdateState.UPDATING);
|
|
456
|
+
const originalVersion = extension.version;
|
|
383
457
|
const tempDir = await ExtensionStorage.createTmpDir();
|
|
384
458
|
try {
|
|
385
459
|
await copyExtension(extension.path, tempDir);
|
|
386
|
-
await uninstallExtension(extension.
|
|
387
|
-
await installExtension(
|
|
388
|
-
|
|
389
|
-
|
|
460
|
+
await uninstallExtension(extension.name, cwd);
|
|
461
|
+
await installExtension({
|
|
462
|
+
source: extension.source,
|
|
463
|
+
type: extension.type,
|
|
464
|
+
ref: extension.ref,
|
|
465
|
+
}, false, cwd);
|
|
466
|
+
const updatedExtensionStorage = new ExtensionStorage(extension.name);
|
|
467
|
+
const updatedExtension = loadExtension({
|
|
468
|
+
extensionDir: updatedExtensionStorage.getExtensionDir(),
|
|
469
|
+
workspaceDir: cwd,
|
|
470
|
+
});
|
|
390
471
|
if (!updatedExtension) {
|
|
472
|
+
setExtensionUpdateState(ExtensionUpdateState.ERROR);
|
|
391
473
|
throw new Error('Updated extension not found after installation.');
|
|
392
474
|
}
|
|
393
475
|
const updatedVersion = updatedExtension.config.version;
|
|
476
|
+
setExtensionUpdateState(ExtensionUpdateState.UPDATED_NEEDS_RESTART);
|
|
394
477
|
return {
|
|
395
|
-
name: extension.
|
|
478
|
+
name: extension.name,
|
|
396
479
|
originalVersion,
|
|
397
480
|
updatedVersion,
|
|
398
481
|
};
|
|
399
482
|
}
|
|
400
483
|
catch (e) {
|
|
401
484
|
console.error(`Error updating extension, rolling back. ${getErrorMessage(e)}`);
|
|
485
|
+
setExtensionUpdateState(ExtensionUpdateState.ERROR);
|
|
402
486
|
await copyExtension(tempDir, extension.path);
|
|
403
487
|
throw e;
|
|
404
488
|
}
|
|
@@ -410,40 +494,75 @@ export function disableExtension(name, scope, cwd = process.cwd()) {
|
|
|
410
494
|
if (scope === SettingScope.System || scope === SettingScope.SystemDefaults) {
|
|
411
495
|
throw new Error('System and SystemDefaults scopes are not supported.');
|
|
412
496
|
}
|
|
413
|
-
const
|
|
414
|
-
const
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
disabledExtensions.push(name);
|
|
421
|
-
extensionSettings.disabled = disabledExtensions;
|
|
422
|
-
settings.setValue(scope, 'extensions', extensionSettings);
|
|
497
|
+
const manager = new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir());
|
|
498
|
+
const scopePath = scope === SettingScope.Workspace ? cwd : os.homedir();
|
|
499
|
+
manager.disable(name, true, scopePath);
|
|
500
|
+
}
|
|
501
|
+
export function enableExtension(name, scope, cwd = process.cwd()) {
|
|
502
|
+
if (scope === SettingScope.System || scope === SettingScope.SystemDefaults) {
|
|
503
|
+
throw new Error('System and SystemDefaults scopes are not supported.');
|
|
423
504
|
}
|
|
505
|
+
const manager = new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir());
|
|
506
|
+
const scopePath = scope === SettingScope.Workspace ? cwd : os.homedir();
|
|
507
|
+
manager.enable(name, true, scopePath);
|
|
424
508
|
}
|
|
425
|
-
export function
|
|
426
|
-
|
|
509
|
+
export async function updateAllUpdatableExtensions(cwd = process.cwd(), extensions, extensionsState, setExtensionsUpdateState) {
|
|
510
|
+
return await Promise.all(extensions
|
|
511
|
+
.filter((extension) => extensionsState.get(extension.name) ===
|
|
512
|
+
ExtensionUpdateState.UPDATE_AVAILABLE)
|
|
513
|
+
.map((extension) => updateExtension(extension, cwd, (updateState) => {
|
|
514
|
+
const newState = new Map(extensionsState);
|
|
515
|
+
newState.set(extension.name, updateState);
|
|
516
|
+
setExtensionsUpdateState(newState);
|
|
517
|
+
})));
|
|
427
518
|
}
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
*/
|
|
433
|
-
function removeFromDisabledExtensions(name, scopes, cwd = process.cwd()) {
|
|
434
|
-
const settings = loadSettings(cwd);
|
|
435
|
-
for (const scope of scopes) {
|
|
436
|
-
const settingsFile = settings.forScope(scope);
|
|
437
|
-
const extensionSettings = settingsFile.settings.extensions || {
|
|
438
|
-
disabled: [],
|
|
439
|
-
};
|
|
440
|
-
const disabledExtensions = extensionSettings.disabled || [];
|
|
441
|
-
extensionSettings.disabled = disabledExtensions.filter((extension) => extension !== name);
|
|
442
|
-
settings.setValue(scope, 'extensions', extensionSettings);
|
|
519
|
+
export async function checkForAllExtensionUpdates(extensions, setExtensionsUpdateState) {
|
|
520
|
+
const finalState = new Map();
|
|
521
|
+
for (const extension of extensions) {
|
|
522
|
+
finalState.set(extension.name, await checkForExtensionUpdate(extension));
|
|
443
523
|
}
|
|
524
|
+
setExtensionsUpdateState(finalState);
|
|
525
|
+
return finalState;
|
|
444
526
|
}
|
|
445
|
-
export async function
|
|
446
|
-
|
|
447
|
-
|
|
527
|
+
export async function checkForExtensionUpdate(extension) {
|
|
528
|
+
if (extension.type !== 'git') {
|
|
529
|
+
return ExtensionUpdateState.NOT_UPDATABLE;
|
|
530
|
+
}
|
|
531
|
+
try {
|
|
532
|
+
const git = simpleGit(extension.path);
|
|
533
|
+
const remotes = await git.getRemotes(true);
|
|
534
|
+
if (remotes.length === 0) {
|
|
535
|
+
console.error('No git remotes found.');
|
|
536
|
+
return ExtensionUpdateState.ERROR;
|
|
537
|
+
}
|
|
538
|
+
const remoteUrl = remotes[0].refs.fetch;
|
|
539
|
+
if (!remoteUrl) {
|
|
540
|
+
console.error(`No fetch URL found for git remote ${remotes[0].name}.`);
|
|
541
|
+
return ExtensionUpdateState.ERROR;
|
|
542
|
+
}
|
|
543
|
+
// Determine the ref to check on the remote.
|
|
544
|
+
const refToCheck = extension.ref || 'HEAD';
|
|
545
|
+
const lsRemoteOutput = await git.listRemote([remoteUrl, refToCheck]);
|
|
546
|
+
if (typeof lsRemoteOutput !== 'string' || lsRemoteOutput.trim() === '') {
|
|
547
|
+
console.error(`Git ref ${refToCheck} not found.`);
|
|
548
|
+
return ExtensionUpdateState.ERROR;
|
|
549
|
+
}
|
|
550
|
+
const remoteHash = lsRemoteOutput.split('\t')[0];
|
|
551
|
+
const localHash = await git.revparse(['HEAD']);
|
|
552
|
+
if (!remoteHash) {
|
|
553
|
+
console.error(`Unable to parse hash from git ls-remote output "${lsRemoteOutput}"`);
|
|
554
|
+
return ExtensionUpdateState.ERROR;
|
|
555
|
+
}
|
|
556
|
+
else if (remoteHash === localHash) {
|
|
557
|
+
return ExtensionUpdateState.UP_TO_DATE;
|
|
558
|
+
}
|
|
559
|
+
else {
|
|
560
|
+
return ExtensionUpdateState.UPDATE_AVAILABLE;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
catch (error) {
|
|
564
|
+
console.error(`Failed to check for updates for extension "${extension.name}": ${getErrorMessage(error)}`);
|
|
565
|
+
return ExtensionUpdateState.ERROR;
|
|
566
|
+
}
|
|
448
567
|
}
|
|
449
568
|
//# sourceMappingURL=extension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/config/extension.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/config/extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export interface ExtensionEnablementConfig {
|
|
7
|
+
overrides: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface AllExtensionsEnablementConfig {
|
|
10
|
+
[extensionName: string]: ExtensionEnablementConfig;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Determines if an extension is enabled based on the configuration and current path.
|
|
14
|
+
* The last matching rule in the overrides list wins.
|
|
15
|
+
*
|
|
16
|
+
* @param config The enablement configuration for a single extension.
|
|
17
|
+
* @param currentPath The absolute path of the current working directory.
|
|
18
|
+
* @returns True if the extension is enabled, false otherwise.
|
|
19
|
+
*/
|
|
20
|
+
export declare class ExtensionEnablementManager {
|
|
21
|
+
private configFilePath;
|
|
22
|
+
private configDir;
|
|
23
|
+
constructor(configDir: string);
|
|
24
|
+
isEnabled(extensionName: string, currentPath: string): boolean;
|
|
25
|
+
readConfig(): AllExtensionsEnablementConfig;
|
|
26
|
+
writeConfig(config: AllExtensionsEnablementConfig): void;
|
|
27
|
+
enable(extensionName: string, includeSubdirs: boolean, scopePath: string): void;
|
|
28
|
+
disable(extensionName: string, includeSubdirs: boolean, scopePath: string): void;
|
|
29
|
+
remove(extensionName: string): void;
|
|
30
|
+
}
|