@google/gemini-cli 0.12.0-nightly.20251023.a7faa208 → 0.12.0-nightly.20251027.cb0947c5

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.
Files changed (233) hide show
  1. package/dist/package.json +5 -4
  2. package/dist/src/commands/extensions/disable.js +13 -6
  3. package/dist/src/commands/extensions/disable.js.map +1 -1
  4. package/dist/src/commands/extensions/enable.js +13 -6
  5. package/dist/src/commands/extensions/enable.js.map +1 -1
  6. package/dist/src/commands/extensions/install.js +12 -2
  7. package/dist/src/commands/extensions/install.js.map +1 -1
  8. package/dist/src/commands/extensions/install.test.js +11 -3
  9. package/dist/src/commands/extensions/install.test.js.map +1 -1
  10. package/dist/src/commands/extensions/link.js +12 -2
  11. package/dist/src/commands/extensions/link.js.map +1 -1
  12. package/dist/src/commands/extensions/list.js +13 -4
  13. package/dist/src/commands/extensions/list.js.map +1 -1
  14. package/dist/src/commands/extensions/uninstall.js +12 -2
  15. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  16. package/dist/src/commands/extensions/update.js +17 -13
  17. package/dist/src/commands/extensions/update.js.map +1 -1
  18. package/dist/src/commands/mcp/list.js +10 -3
  19. package/dist/src/commands/mcp/list.js.map +1 -1
  20. package/dist/src/commands/mcp/list.test.js +12 -6
  21. package/dist/src/commands/mcp/list.test.js.map +1 -1
  22. package/dist/src/config/config.d.ts +1 -0
  23. package/dist/src/config/config.js +15 -3
  24. package/dist/src/config/config.js.map +1 -1
  25. package/dist/src/config/config.test.js +23 -15
  26. package/dist/src/config/config.test.js.map +1 -1
  27. package/dist/src/config/extension-manager.d.ts +38 -0
  28. package/dist/src/config/extension-manager.js +411 -0
  29. package/dist/src/config/extension-manager.js.map +1 -0
  30. package/dist/src/config/extension.d.ts +4 -51
  31. package/dist/src/config/extension.js +1 -535
  32. package/dist/src/config/extension.js.map +1 -1
  33. package/dist/src/config/extension.test.js +343 -163
  34. package/dist/src/config/extension.test.js.map +1 -1
  35. package/dist/src/config/extensions/consent.d.ts +38 -0
  36. package/dist/src/config/extensions/consent.js +123 -0
  37. package/dist/src/config/extensions/consent.js.map +1 -0
  38. package/dist/src/config/extensions/extensionEnablement.d.ts +1 -1
  39. package/dist/src/config/extensions/extensionEnablement.js +4 -3
  40. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  41. package/dist/src/config/extensions/extensionEnablement.test.js +10 -10
  42. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
  43. package/dist/src/config/extensions/extensionSettings.d.ts +15 -0
  44. package/dist/src/config/extensions/extensionSettings.js +63 -0
  45. package/dist/src/config/extensions/extensionSettings.js.map +1 -0
  46. package/dist/src/config/extensions/extensionSettings.test.d.ts +6 -0
  47. package/dist/src/config/extensions/extensionSettings.test.js +137 -0
  48. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -0
  49. package/dist/src/config/extensions/github.d.ts +2 -2
  50. package/dist/src/config/extensions/github.js +3 -8
  51. package/dist/src/config/extensions/github.js.map +1 -1
  52. package/dist/src/config/extensions/github.test.js +25 -7
  53. package/dist/src/config/extensions/github.test.js.map +1 -1
  54. package/dist/src/config/extensions/github_fetch.d.ts +1 -1
  55. package/dist/src/config/extensions/github_fetch.js +13 -1
  56. package/dist/src/config/extensions/github_fetch.js.map +1 -1
  57. package/dist/src/config/extensions/github_fetch.test.d.ts +6 -0
  58. package/dist/src/config/extensions/github_fetch.test.js +169 -0
  59. package/dist/src/config/extensions/github_fetch.test.js.map +1 -0
  60. package/dist/src/config/extensions/storage.d.ts +14 -0
  61. package/dist/src/config/extensions/storage.js +32 -0
  62. package/dist/src/config/extensions/storage.js.map +1 -0
  63. package/dist/src/config/extensions/update.d.ts +4 -4
  64. package/dist/src/config/extensions/update.js +11 -18
  65. package/dist/src/config/extensions/update.js.map +1 -1
  66. package/dist/src/config/extensions/update.test.js +33 -58
  67. package/dist/src/config/extensions/update.test.js.map +1 -1
  68. package/dist/src/config/extensions/variableSchema.d.ts +0 -6
  69. package/dist/src/config/extensions/variableSchema.js.map +1 -1
  70. package/dist/src/config/extensions/variables.d.ts +4 -0
  71. package/dist/src/config/extensions/variables.js +6 -0
  72. package/dist/src/config/extensions/variables.js.map +1 -1
  73. package/dist/src/config/settings.d.ts +2 -1
  74. package/dist/src/config/settings.js +4 -7
  75. package/dist/src/config/settings.js.map +1 -1
  76. package/dist/src/config/settings.test.js +86 -16
  77. package/dist/src/config/settings.test.js.map +1 -1
  78. package/dist/src/core/initializer.js +2 -1
  79. package/dist/src/core/initializer.js.map +1 -1
  80. package/dist/src/gemini.js +22 -5
  81. package/dist/src/gemini.js.map +1 -1
  82. package/dist/src/gemini.test.js +26 -2
  83. package/dist/src/gemini.test.js.map +1 -1
  84. package/dist/src/generated/git-commit.d.ts +2 -2
  85. package/dist/src/generated/git-commit.js +2 -2
  86. package/dist/src/nonInteractiveCli.js +30 -5
  87. package/dist/src/nonInteractiveCli.js.map +1 -1
  88. package/dist/src/nonInteractiveCli.test.js +151 -14
  89. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  90. package/dist/src/test-utils/createExtension.d.ts +3 -1
  91. package/dist/src/test-utils/createExtension.js +3 -3
  92. package/dist/src/test-utils/createExtension.js.map +1 -1
  93. package/dist/src/ui/AppContainer.js +102 -48
  94. package/dist/src/ui/AppContainer.js.map +1 -1
  95. package/dist/src/ui/AppContainer.test.js +138 -79
  96. package/dist/src/ui/AppContainer.test.js.map +1 -1
  97. package/dist/src/ui/commands/extensionsCommand.js +19 -10
  98. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  99. package/dist/src/ui/commands/extensionsCommand.test.js +8 -0
  100. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  101. package/dist/src/ui/components/FolderTrustDialog.test.js +1 -0
  102. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  103. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  104. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  105. package/dist/src/ui/components/InputPrompt.js +5 -6
  106. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  107. package/dist/src/ui/components/InputPrompt.test.js +668 -712
  108. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  109. package/dist/src/ui/components/ModelDialog.test.js +1 -0
  110. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  111. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +1 -0
  112. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
  113. package/dist/src/ui/components/SettingsDialog.test.js +2 -30
  114. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  115. package/dist/src/ui/components/ThemeDialog.test.js +1 -2
  116. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
  117. package/dist/src/ui/components/shared/BaseSelectionList.test.js +1 -0
  118. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
  119. package/dist/src/ui/components/shared/text-buffer.test.js +1 -0
  120. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  121. package/dist/src/ui/components/views/ExtensionsList.d.ts +7 -1
  122. package/dist/src/ui/components/views/ExtensionsList.js +8 -11
  123. package/dist/src/ui/components/views/ExtensionsList.js.map +1 -1
  124. package/dist/src/ui/components/views/ExtensionsList.test.js +34 -21
  125. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
  126. package/dist/src/ui/contexts/KeypressContext.d.ts +3 -2
  127. package/dist/src/ui/contexts/KeypressContext.js +429 -386
  128. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  129. package/dist/src/ui/contexts/KeypressContext.test.js +162 -479
  130. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  131. package/dist/src/ui/contexts/SessionContext.test.js +1 -0
  132. package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
  133. package/dist/src/ui/hooks/shellCommandProcessor.test.js +18 -2
  134. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  135. package/dist/src/ui/hooks/slashCommandProcessor.test.js +74 -80
  136. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  137. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +1 -0
  138. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  139. package/dist/src/ui/hooks/useCommandCompletion.test.js +79 -78
  140. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
  141. package/dist/src/ui/hooks/useConsoleMessages.test.js +26 -9
  142. package/dist/src/ui/hooks/useConsoleMessages.test.js.map +1 -1
  143. package/dist/src/ui/hooks/useEditorSettings.test.js +40 -34
  144. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
  145. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +15 -5
  146. package/dist/src/ui/hooks/useExtensionUpdates.js +16 -18
  147. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  148. package/dist/src/ui/hooks/useExtensionUpdates.test.js +46 -36
  149. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  150. package/dist/src/ui/hooks/useFlickerDetector.test.js +1 -0
  151. package/dist/src/ui/hooks/useFlickerDetector.test.js.map +1 -1
  152. package/dist/src/ui/hooks/useFocus.test.js +25 -9
  153. package/dist/src/ui/hooks/useFocus.test.js.map +1 -1
  154. package/dist/src/ui/hooks/useFolderTrust.test.js +1 -0
  155. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  156. package/dist/src/ui/hooks/useGeminiStream.js +49 -14
  157. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  158. package/dist/src/ui/hooks/useGeminiStream.test.js +114 -34
  159. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  160. package/dist/src/ui/hooks/useGitBranchName.js +4 -0
  161. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  162. package/dist/src/ui/hooks/useGitBranchName.test.js +46 -35
  163. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  164. package/dist/src/ui/hooks/useHistoryManager.test.js +1 -0
  165. package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -1
  166. package/dist/src/ui/hooks/useIdeTrustListener.test.js +24 -7
  167. package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -1
  168. package/dist/src/ui/hooks/useInputHistory.test.js +1 -0
  169. package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -1
  170. package/dist/src/ui/hooks/useInputHistoryStore.test.js +1 -0
  171. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -1
  172. package/dist/src/ui/hooks/useKeypress.test.js +94 -113
  173. package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
  174. package/dist/src/ui/hooks/useLoadingIndicator.test.js +24 -6
  175. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  176. package/dist/src/ui/hooks/useMemoryMonitor.test.js +10 -5
  177. package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +1 -1
  178. package/dist/src/ui/hooks/useMessageQueue.test.js +61 -45
  179. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
  180. package/dist/src/ui/hooks/useModelCommand.test.js +18 -11
  181. package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -1
  182. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +1 -0
  183. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -1
  184. package/dist/src/ui/hooks/usePhraseCycler.test.js +1 -0
  185. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
  186. package/dist/src/ui/hooks/usePrivacySettings.test.js +26 -10
  187. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -1
  188. package/dist/src/ui/hooks/useQuotaAndFallback.js +13 -14
  189. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
  190. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +32 -39
  191. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
  192. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +8 -1
  193. package/dist/src/ui/hooks/useReactToolScheduler.js +59 -34
  194. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  195. package/dist/src/ui/hooks/useReactToolScheduler.test.d.ts +6 -0
  196. package/dist/src/ui/hooks/useReactToolScheduler.test.js +66 -0
  197. package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +1 -0
  198. package/dist/src/ui/hooks/useSelectionList.test.js +193 -132
  199. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  200. package/dist/src/ui/hooks/useShellHistory.test.js +1 -0
  201. package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -1
  202. package/dist/src/ui/hooks/useTimer.test.js +43 -14
  203. package/dist/src/ui/hooks/useTimer.test.js.map +1 -1
  204. package/dist/src/ui/hooks/useToolScheduler.test.js +122 -39
  205. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  206. package/dist/src/ui/hooks/vim.test.js +251 -356
  207. package/dist/src/ui/hooks/vim.test.js.map +1 -1
  208. package/dist/src/ui/types.d.ts +2 -1
  209. package/dist/src/ui/types.js.map +1 -1
  210. package/dist/src/ui/utils/CodeColorizer.js +2 -1
  211. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  212. package/dist/src/ui/utils/textOutput.d.ts +25 -0
  213. package/dist/src/ui/utils/textOutput.js +49 -0
  214. package/dist/src/ui/utils/textOutput.js.map +1 -0
  215. package/dist/src/ui/utils/textOutput.test.d.ts +6 -0
  216. package/dist/src/ui/utils/textOutput.test.js +79 -0
  217. package/dist/src/ui/utils/textOutput.test.js.map +1 -0
  218. package/dist/src/ui/utils/updateCheck.d.ts +7 -1
  219. package/dist/src/ui/utils/updateCheck.js +27 -26
  220. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  221. package/dist/src/ui/utils/updateCheck.test.js +19 -49
  222. package/dist/src/ui/utils/updateCheck.test.js.map +1 -1
  223. package/dist/src/utils/envVarResolver.d.ts +2 -2
  224. package/dist/src/utils/envVarResolver.js +10 -7
  225. package/dist/src/utils/envVarResolver.js.map +1 -1
  226. package/dist/src/utils/handleAutoUpdate.js +9 -3
  227. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  228. package/dist/src/zed-integration/schema.d.ts +4 -4
  229. package/dist/src/zed-integration/zedIntegration.js +8 -13
  230. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  231. package/dist/tsconfig.tsbuildinfo +1 -1
  232. package/package.json +5 -4
  233. package/dist/google-gemini-cli-0.12.0-nightly.20251022.0542de95.tgz +0 -0
@@ -3,7 +3,13 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import * as path from 'node:path';
6
7
  import { VARIABLE_SCHEMA } from './variableSchema.js';
8
+ import { GEMINI_DIR } from '@google/gemini-cli-core';
9
+ export const EXTENSIONS_DIRECTORY_NAME = path.join(GEMINI_DIR, 'extensions');
10
+ export const EXTENSIONS_CONFIG_FILENAME = 'gemini-extension.json';
11
+ export const INSTALL_METADATA_FILENAME = '.gemini-extension-install.json';
12
+ export const EXTENSION_SETTINGS_FILENAME = '.env';
7
13
  export function validateVariables(variables, schema) {
8
14
  for (const key in schema) {
9
15
  const definition = schema[key];
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../src/config/extensions/variables.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAgB3E,MAAM,UAAU,iBAAiB,CAC/B,SAA0B,EAC1B,MAAsB;IAEtB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,GAA4B,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAwB;IACjE,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC;IAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACvC,OAAO,CAAC,GAA4B,CAAC,IAAI,IAAI;QAC3C,CAAC,CAAC,KAAK;QACP,CAAC,CAAE,OAAO,CAAC,GAA4B,CAAY,CACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,GAAc,EACd,MAAuB;IAEvB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../src/config/extensions/variables.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAuB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,gCAAgC,CAAC;AAC1E,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAgBlD,MAAM,UAAU,iBAAiB,CAC/B,SAA0B,EAC1B,MAAsB;IAEtB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,GAA4B,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAwB;IACjE,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC;IAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACvC,OAAO,CAAC,GAA4B,CAAC,IAAI,IAAI;QAC3C,CAAC,CAAC,KAAK;QACP,CAAC,CAAE,OAAO,CAAC,GAA4B,CAAY,CACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,GAAc,EACd,MAAuB;IAEvB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { type Settings, type MemoryImportFormat } from './settingsSchema.js';
7
+ import type { ExtensionManager } from './extension-manager.js';
7
8
  export type { Settings, MemoryImportFormat };
8
9
  export declare const USER_SETTINGS_PATH: string;
9
10
  export declare const USER_SETTINGS_DIR: string;
@@ -70,5 +71,5 @@ export declare function loadEnvironment(settings: Settings): void;
70
71
  * Project settings override user settings.
71
72
  */
72
73
  export declare function loadSettings(workspaceDir?: string): LoadedSettings;
73
- export declare function migrateDeprecatedSettings(loadedSettings: LoadedSettings, workspaceDir?: string): void;
74
+ export declare function migrateDeprecatedSettings(loadedSettings: LoadedSettings, extensionManager: ExtensionManager): void;
74
75
  export declare function saveSettings(settingsFile: SettingsFile): void;
@@ -8,7 +8,7 @@ import * as path from 'node:path';
8
8
  import { homedir, platform } from 'node:os';
9
9
  import * as dotenv from 'dotenv';
10
10
  import process from 'node:process';
11
- import { debugLogger, FatalConfigError, GEMINI_DIR, getErrorMessage, Storage, } from '@google/gemini-cli-core';
11
+ import { debugLogger, FatalConfigError, GEMINI_DIR, getErrorMessage, Storage, coreEvents, } from '@google/gemini-cli-core';
12
12
  import stripJsonComments from 'strip-json-comments';
13
13
  import { DefaultLight } from '../ui/themes/default-light.js';
14
14
  import { DefaultDark } from '../ui/themes/default.js';
@@ -17,8 +17,6 @@ import { getSettingsSchema, } from './settingsSchema.js';
17
17
  import { resolveEnvVarsInObject } from '../utils/envVarResolver.js';
18
18
  import { customDeepMerge } from '../utils/deepMerge.js';
19
19
  import { updateSettingsFilePreservingFormat } from '../utils/commentJson.js';
20
- import { disableExtension } from './extension.js';
21
- import { ExtensionEnablementManager } from './extensions/extensionEnablement.js';
22
20
  function getMergeStrategyForPath(path) {
23
21
  let current = undefined;
24
22
  let currentSchema = getSettingsSchema();
@@ -533,14 +531,13 @@ export function loadSettings(workspaceDir = process.cwd()) {
533
531
  rawJson: workspaceResult.rawJson,
534
532
  }, isTrusted, migratedInMemorScopes);
535
533
  }
536
- export function migrateDeprecatedSettings(loadedSettings, workspaceDir = process.cwd()) {
534
+ export function migrateDeprecatedSettings(loadedSettings, extensionManager) {
537
535
  const processScope = (scope) => {
538
536
  const settings = loadedSettings.forScope(scope).settings;
539
537
  if (settings.extensions?.disabled) {
540
538
  debugLogger.log(`Migrating deprecated extensions.disabled settings from ${scope} settings...`);
541
- const extensionEnablementManager = new ExtensionEnablementManager();
542
539
  for (const extension of settings.extensions.disabled ?? []) {
543
- disableExtension(extension, scope, extensionEnablementManager, workspaceDir);
540
+ extensionManager.disableExtension(extension, scope);
544
541
  }
545
542
  const newExtensionsValue = { ...settings.extensions };
546
543
  newExtensionsValue.disabled = undefined;
@@ -565,7 +562,7 @@ export function saveSettings(settingsFile) {
565
562
  updateSettingsFilePreservingFormat(settingsFile.path, settingsToSave);
566
563
  }
567
564
  catch (error) {
568
- console.error('Error saving user settings file:', error);
565
+ coreEvents.emitFeedback('error', 'There was an error saving your latest settings changes.', error);
569
566
  }
570
567
  }
571
568
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
@@ -35,12 +35,12 @@ import { describe, it, expect, vi, beforeEach, afterEach, } from 'vitest';
35
35
  import * as fs from 'node:fs'; // fs will be mocked separately
36
36
  import stripJsonComments from 'strip-json-comments'; // Will be mocked separately
37
37
  import { isWorkspaceTrusted } from './trustedFolders.js';
38
- import { disableExtension, ExtensionStorage } from './extension.js';
39
38
  // These imports will get the versions from the vi.mock('./settings.js', ...) factory.
40
39
  import { loadSettings, USER_SETTINGS_PATH, // This IS the mocked path.
41
- getSystemSettingsPath, getSystemDefaultsPath, migrateSettingsToV1, needsMigration, loadEnvironment, migrateDeprecatedSettings, SettingScope, } from './settings.js';
42
- import { FatalConfigError, GEMINI_DIR, Storage } from '@google/gemini-cli-core';
43
- import { ExtensionEnablementManager } from './extensions/extensionEnablement.js';
40
+ getSystemSettingsPath, getSystemDefaultsPath, migrateSettingsToV1, needsMigration, loadEnvironment, migrateDeprecatedSettings, SettingScope, saveSettings, } from './settings.js';
41
+ import { FatalConfigError, GEMINI_DIR } from '@google/gemini-cli-core';
42
+ import { ExtensionManager } from './extension-manager.js';
43
+ import { updateSettingsFilePreservingFormat } from '../utils/commentJson.js';
44
44
  const MOCK_WORKSPACE_DIR = '/mock/workspace';
45
45
  // Use the (mocked) GEMINI_DIR for consistency
46
46
  const MOCK_WORKSPACE_SETTINGS_PATH = pathActual.join(MOCK_WORKSPACE_DIR, GEMINI_DIR, 'settings.json');
@@ -58,6 +58,19 @@ vi.mock('fs', async (importOriginal) => {
58
58
  };
59
59
  });
60
60
  vi.mock('./extension.js');
61
+ const mockCoreEvents = vi.hoisted(() => ({
62
+ emitFeedback: vi.fn(),
63
+ }));
64
+ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
65
+ const actual = await importOriginal();
66
+ return {
67
+ ...actual,
68
+ coreEvents: mockCoreEvents,
69
+ };
70
+ });
71
+ vi.mock('../utils/commentJson.js', () => ({
72
+ updateSettingsFilePreservingFormat: vi.fn(),
73
+ }));
61
74
  vi.mock('strip-json-comments', () => ({
62
75
  default: vi.fn((content) => content),
63
76
  }));
@@ -1688,14 +1701,14 @@ describe('Settings Loading and Merging', () => {
1688
1701
  },
1689
1702
  ui: {},
1690
1703
  model: {
1691
- name: 'gemini-1.5-pro',
1704
+ name: 'gemini-2.5-pro',
1692
1705
  },
1693
1706
  unrecognized: 'value',
1694
1707
  };
1695
1708
  const v1Settings = migrateSettingsToV1(v2Settings);
1696
1709
  expect(v1Settings).toEqual({
1697
1710
  vimMode: false,
1698
- model: 'gemini-1.5-pro',
1711
+ model: 'gemini-2.5-pro',
1699
1712
  unrecognized: 'value',
1700
1713
  });
1701
1714
  });
@@ -1886,14 +1899,12 @@ describe('Settings Loading and Merging', () => {
1886
1899
  describe('migrateDeprecatedSettings', () => {
1887
1900
  let mockFsExistsSync;
1888
1901
  let mockFsReadFileSync;
1889
- let mockDisableExtension;
1890
1902
  beforeEach(() => {
1891
1903
  vi.resetAllMocks();
1892
1904
  mockFsExistsSync = vi.mocked(fs.existsSync);
1893
- mockFsReadFileSync = vi.mocked(fs.readFileSync);
1894
- mockDisableExtension = vi.mocked(disableExtension);
1895
- vi.mocked(ExtensionStorage.getUserExtensionsDir).mockReturnValue(new Storage(osActual.homedir()).getExtensionsDir());
1896
1905
  mockFsExistsSync.mockReturnValue(true);
1906
+ mockFsReadFileSync = vi.mocked(fs.readFileSync);
1907
+ mockFsReadFileSync.mockReturnValue('{}');
1897
1908
  vi.mocked(isWorkspaceTrusted).mockReturnValue({
1898
1909
  isTrusted: true,
1899
1910
  source: undefined,
@@ -1922,13 +1933,21 @@ describe('Settings Loading and Merging', () => {
1922
1933
  });
1923
1934
  const loadedSettings = loadSettings(MOCK_WORKSPACE_DIR);
1924
1935
  const setValueSpy = vi.spyOn(loadedSettings, 'setValue');
1925
- migrateDeprecatedSettings(loadedSettings, MOCK_WORKSPACE_DIR);
1936
+ const extensionManager = new ExtensionManager({
1937
+ loadedSettings,
1938
+ workspaceDir: MOCK_WORKSPACE_DIR,
1939
+ requestConsent: vi.fn(),
1940
+ requestSetting: vi.fn(),
1941
+ });
1942
+ const mockDisableExtension = vi.spyOn(extensionManager, 'disableExtension');
1943
+ mockDisableExtension.mockImplementation(() => { });
1944
+ migrateDeprecatedSettings(loadedSettings, extensionManager);
1926
1945
  // Check user settings migration
1927
- expect(mockDisableExtension).toHaveBeenCalledWith('user-ext-1', SettingScope.User, expect.any(ExtensionEnablementManager), MOCK_WORKSPACE_DIR);
1928
- expect(mockDisableExtension).toHaveBeenCalledWith('shared-ext', SettingScope.User, expect.any(ExtensionEnablementManager), MOCK_WORKSPACE_DIR);
1946
+ expect(mockDisableExtension).toHaveBeenCalledWith('user-ext-1', SettingScope.User);
1947
+ expect(mockDisableExtension).toHaveBeenCalledWith('shared-ext', SettingScope.User);
1929
1948
  // Check workspace settings migration
1930
- expect(mockDisableExtension).toHaveBeenCalledWith('workspace-ext-1', SettingScope.Workspace, expect.any(ExtensionEnablementManager), MOCK_WORKSPACE_DIR);
1931
- expect(mockDisableExtension).toHaveBeenCalledWith('shared-ext', SettingScope.Workspace, expect.any(ExtensionEnablementManager), MOCK_WORKSPACE_DIR);
1949
+ expect(mockDisableExtension).toHaveBeenCalledWith('workspace-ext-1', SettingScope.Workspace);
1950
+ expect(mockDisableExtension).toHaveBeenCalledWith('shared-ext', SettingScope.Workspace);
1932
1951
  // Check that setValue was called to remove the deprecated setting
1933
1952
  expect(setValueSpy).toHaveBeenCalledWith(SettingScope.User, 'extensions', {
1934
1953
  disabled: undefined,
@@ -1955,10 +1974,61 @@ describe('Settings Loading and Merging', () => {
1955
1974
  });
1956
1975
  const loadedSettings = loadSettings(MOCK_WORKSPACE_DIR);
1957
1976
  const setValueSpy = vi.spyOn(loadedSettings, 'setValue');
1958
- migrateDeprecatedSettings(loadedSettings, MOCK_WORKSPACE_DIR);
1977
+ const extensionManager = new ExtensionManager({
1978
+ loadedSettings,
1979
+ workspaceDir: MOCK_WORKSPACE_DIR,
1980
+ requestConsent: vi.fn(),
1981
+ requestSetting: vi.fn(),
1982
+ });
1983
+ const mockDisableExtension = vi.spyOn(extensionManager, 'disableExtension');
1984
+ mockDisableExtension.mockImplementation(() => { });
1985
+ migrateDeprecatedSettings(loadedSettings, extensionManager);
1959
1986
  expect(mockDisableExtension).not.toHaveBeenCalled();
1960
1987
  expect(setValueSpy).not.toHaveBeenCalled();
1961
1988
  });
1962
1989
  });
1990
+ describe('saveSettings', () => {
1991
+ it('should save settings using updateSettingsFilePreservingFormat', () => {
1992
+ const mockUpdateSettings = vi.mocked(updateSettingsFilePreservingFormat);
1993
+ const settingsFile = {
1994
+ path: '/mock/settings.json',
1995
+ settings: { ui: { theme: 'dark' } },
1996
+ originalSettings: { ui: { theme: 'dark' } },
1997
+ };
1998
+ saveSettings(settingsFile);
1999
+ expect(mockUpdateSettings).toHaveBeenCalledWith('/mock/settings.json', {
2000
+ ui: { theme: 'dark' },
2001
+ });
2002
+ });
2003
+ it('should create directory if it does not exist', () => {
2004
+ const mockFsExistsSync = vi.mocked(fs.existsSync);
2005
+ const mockFsMkdirSync = vi.mocked(fs.mkdirSync);
2006
+ mockFsExistsSync.mockReturnValue(false);
2007
+ const settingsFile = {
2008
+ path: '/mock/new/dir/settings.json',
2009
+ settings: {},
2010
+ originalSettings: {},
2011
+ };
2012
+ saveSettings(settingsFile);
2013
+ expect(mockFsExistsSync).toHaveBeenCalledWith('/mock/new/dir');
2014
+ expect(mockFsMkdirSync).toHaveBeenCalledWith('/mock/new/dir', {
2015
+ recursive: true,
2016
+ });
2017
+ });
2018
+ it('should emit error feedback if saving fails', () => {
2019
+ const mockUpdateSettings = vi.mocked(updateSettingsFilePreservingFormat);
2020
+ const error = new Error('Write failed');
2021
+ mockUpdateSettings.mockImplementation(() => {
2022
+ throw error;
2023
+ });
2024
+ const settingsFile = {
2025
+ path: '/mock/settings.json',
2026
+ settings: {},
2027
+ originalSettings: {},
2028
+ };
2029
+ saveSettings(settingsFile);
2030
+ expect(mockCoreEvents.emitFeedback).toHaveBeenCalledWith('error', 'There was an error saving your latest settings changes.', error);
2031
+ });
2032
+ });
1963
2033
  });
1964
2034
  //# sourceMappingURL=settings.test.js.map