@google/gemini-cli 0.11.0-nightly.20251020.a96f0659 → 0.11.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.
Files changed (199) hide show
  1. package/dist/index.js +5 -5
  2. package/dist/index.js.map +1 -1
  3. package/dist/package.json +2 -2
  4. package/dist/src/commands/extensions/disable.js +8 -5
  5. package/dist/src/commands/extensions/disable.js.map +1 -1
  6. package/dist/src/commands/extensions/enable.js +8 -6
  7. package/dist/src/commands/extensions/enable.js.map +1 -1
  8. package/dist/src/commands/extensions/install.js +5 -4
  9. package/dist/src/commands/extensions/install.js.map +1 -1
  10. package/dist/src/commands/extensions/link.js +3 -2
  11. package/dist/src/commands/extensions/link.js.map +1 -1
  12. package/dist/src/commands/extensions/list.js +4 -3
  13. package/dist/src/commands/extensions/list.js.map +1 -1
  14. package/dist/src/commands/extensions/new.js +14 -20
  15. package/dist/src/commands/extensions/new.js.map +1 -1
  16. package/dist/src/commands/extensions/uninstall.js +3 -2
  17. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  18. package/dist/src/commands/extensions/update.js +16 -16
  19. package/dist/src/commands/extensions/update.js.map +1 -1
  20. package/dist/src/commands/mcp/add.js +7 -4
  21. package/dist/src/commands/mcp/add.js.map +1 -1
  22. package/dist/src/commands/mcp/add.test.js +13 -3
  23. package/dist/src/commands/mcp/add.test.js.map +1 -1
  24. package/dist/src/commands/mcp/list.js +6 -6
  25. package/dist/src/commands/mcp/list.js.map +1 -1
  26. package/dist/src/commands/mcp/list.test.js +16 -15
  27. package/dist/src/commands/mcp/list.test.js.map +1 -1
  28. package/dist/src/commands/mcp/remove.js +3 -2
  29. package/dist/src/commands/mcp/remove.js.map +1 -1
  30. package/dist/src/config/config.d.ts +2 -3
  31. package/dist/src/config/config.integration.test.js +0 -30
  32. package/dist/src/config/config.integration.test.js.map +1 -1
  33. package/dist/src/config/config.js +21 -28
  34. package/dist/src/config/config.js.map +1 -1
  35. package/dist/src/config/config.test.js +120 -149
  36. package/dist/src/config/config.test.js.map +1 -1
  37. package/dist/src/config/extension.d.ts +4 -11
  38. package/dist/src/config/extension.js +66 -64
  39. package/dist/src/config/extension.js.map +1 -1
  40. package/dist/src/config/extension.test.js +49 -137
  41. package/dist/src/config/extension.test.js.map +1 -1
  42. package/dist/src/config/extensions/github.d.ts +3 -2
  43. package/dist/src/config/extensions/github.js +12 -9
  44. package/dist/src/config/extensions/github.js.map +1 -1
  45. package/dist/src/config/extensions/github.test.js +11 -5
  46. package/dist/src/config/extensions/github.test.js.map +1 -1
  47. package/dist/src/config/extensions/update.d.ts +5 -4
  48. package/dist/src/config/extensions/update.js +10 -6
  49. package/dist/src/config/extensions/update.js.map +1 -1
  50. package/dist/src/config/extensions/update.test.js +57 -57
  51. package/dist/src/config/extensions/update.test.js.map +1 -1
  52. package/dist/src/config/extensions/variableSchema.d.ts +2 -0
  53. package/dist/src/config/extensions/variableSchema.js.map +1 -1
  54. package/dist/src/config/policy.d.ts +3 -2
  55. package/dist/src/config/policy.js +20 -10
  56. package/dist/src/config/policy.js.map +1 -1
  57. package/dist/src/config/policy.test.js +58 -34
  58. package/dist/src/config/policy.test.js.map +1 -1
  59. package/dist/src/config/settings.js +5 -3
  60. package/dist/src/config/settings.js.map +1 -1
  61. package/dist/src/config/settings.test.js +9 -11
  62. package/dist/src/config/settings.test.js.map +1 -1
  63. package/dist/src/config/settingsSchema.d.ts +1 -1
  64. package/dist/src/config/settingsSchema.js +1 -1
  65. package/dist/src/config/settingsSchema.js.map +1 -1
  66. package/dist/src/gemini.js +19 -15
  67. package/dist/src/gemini.js.map +1 -1
  68. package/dist/src/gemini.test.js +8 -0
  69. package/dist/src/gemini.test.js.map +1 -1
  70. package/dist/src/generated/git-commit.d.ts +2 -2
  71. package/dist/src/generated/git-commit.js +2 -2
  72. package/dist/src/generated/git-commit.js.map +1 -1
  73. package/dist/src/nonInteractiveCli.js +2 -2
  74. package/dist/src/nonInteractiveCli.js.map +1 -1
  75. package/dist/src/nonInteractiveCli.test.js +28 -0
  76. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  77. package/dist/src/nonInteractiveCliCommands.js +2 -2
  78. package/dist/src/nonInteractiveCliCommands.js.map +1 -1
  79. package/dist/src/services/CommandService.js +2 -1
  80. package/dist/src/services/CommandService.js.map +1 -1
  81. package/dist/src/services/prompt-processors/atFileProcessor.js +3 -2
  82. package/dist/src/services/prompt-processors/atFileProcessor.js.map +1 -1
  83. package/dist/src/ui/AppContainer.js +8 -6
  84. package/dist/src/ui/AppContainer.js.map +1 -1
  85. package/dist/src/ui/auth/AuthDialog.js +2 -2
  86. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  87. package/dist/src/ui/auth/useAuth.js +2 -2
  88. package/dist/src/ui/auth/useAuth.js.map +1 -1
  89. package/dist/src/ui/commands/copyCommand.js +2 -1
  90. package/dist/src/ui/commands/copyCommand.js.map +1 -1
  91. package/dist/src/ui/commands/directoryCommand.js +1 -1
  92. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  93. package/dist/src/ui/commands/directoryCommand.test.js +0 -1
  94. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
  95. package/dist/src/ui/commands/extensionsCommand.test.js +3 -0
  96. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  97. package/dist/src/ui/commands/memoryCommand.js +1 -1
  98. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  99. package/dist/src/ui/commands/memoryCommand.test.js +1 -1
  100. package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
  101. package/dist/src/ui/commands/setupGithubCommand.js +4 -3
  102. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  103. package/dist/src/ui/commands/types.d.ts +1 -0
  104. package/dist/src/ui/components/Composer.js +2 -2
  105. package/dist/src/ui/components/Composer.js.map +1 -1
  106. package/dist/src/ui/components/InputPrompt.test.js +39 -18
  107. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  108. package/dist/src/ui/components/SettingsDialog.js +3 -2
  109. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  110. package/dist/src/ui/components/SettingsDialog.test.js +1 -20
  111. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  112. package/dist/src/ui/components/messages/Todo.js +24 -14
  113. package/dist/src/ui/components/messages/Todo.js.map +1 -1
  114. package/dist/src/ui/components/messages/Todo.test.js +50 -61
  115. package/dist/src/ui/components/messages/Todo.test.js.map +1 -1
  116. package/dist/src/ui/components/shared/BaseSelectionList.test.js +34 -25
  117. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
  118. package/dist/src/ui/components/shared/text-buffer.js +1 -1
  119. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  120. package/dist/src/ui/components/shared/text-buffer.test.js +24 -0
  121. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  122. package/dist/src/ui/components/views/ExtensionsList.js +3 -4
  123. package/dist/src/ui/components/views/ExtensionsList.js.map +1 -1
  124. package/dist/src/ui/components/views/ExtensionsList.test.js +2 -9
  125. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
  126. package/dist/src/ui/components/views/McpStatus.js +2 -2
  127. package/dist/src/ui/components/views/McpStatus.js.map +1 -1
  128. package/dist/src/ui/hooks/atCommandProcessor.js +2 -2
  129. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  130. package/dist/src/ui/hooks/shellCommandProcessor.js +0 -1
  131. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  132. package/dist/src/ui/hooks/slashCommandProcessor.js +2 -0
  133. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  134. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +2 -1
  135. package/dist/src/ui/hooks/useExtensionUpdates.js +5 -3
  136. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  137. package/dist/src/ui/hooks/useExtensionUpdates.test.js +25 -13
  138. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  139. package/dist/src/ui/hooks/useGeminiStream.js +30 -24
  140. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  141. package/dist/src/ui/hooks/useGeminiStream.test.js +38 -3
  142. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  143. package/dist/src/ui/hooks/useInputHistoryStore.js +2 -1
  144. package/dist/src/ui/hooks/useInputHistoryStore.js.map +1 -1
  145. package/dist/src/ui/hooks/useReactToolScheduler.js +2 -2
  146. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  147. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +1 -1
  148. package/dist/src/ui/hooks/useShowMemoryCommand.js +4 -3
  149. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -1
  150. package/dist/src/ui/hooks/useSlashCompletion.js +2 -1
  151. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  152. package/dist/src/ui/hooks/vim.js +2 -1
  153. package/dist/src/ui/hooks/vim.js.map +1 -1
  154. package/dist/src/ui/themes/color-utils.js +2 -1
  155. package/dist/src/ui/themes/color-utils.js.map +1 -1
  156. package/dist/src/ui/themes/theme-manager.js +8 -7
  157. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  158. package/dist/src/ui/utils/commandUtils.js +2 -1
  159. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  160. package/dist/src/ui/utils/computeStats.js +5 -2
  161. package/dist/src/ui/utils/computeStats.js.map +1 -1
  162. package/dist/src/ui/utils/computeStats.test.d.ts +6 -0
  163. package/dist/src/ui/utils/computeStats.test.js +262 -0
  164. package/dist/src/ui/utils/computeStats.test.js.map +1 -0
  165. package/dist/src/ui/utils/terminalSetup.js +3 -2
  166. package/dist/src/ui/utils/terminalSetup.js.map +1 -1
  167. package/dist/src/ui/utils/updateCheck.js +2 -1
  168. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  169. package/dist/src/utils/cleanup.test.d.ts +6 -0
  170. package/dist/src/utils/cleanup.test.js +49 -0
  171. package/dist/src/utils/cleanup.test.js.map +1 -0
  172. package/dist/src/utils/gitUtils.js +3 -2
  173. package/dist/src/utils/gitUtils.js.map +1 -1
  174. package/dist/src/utils/handleAutoUpdate.test.d.ts +6 -0
  175. package/dist/src/utils/handleAutoUpdate.test.js +225 -0
  176. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -0
  177. package/dist/src/utils/installationInfo.js +2 -2
  178. package/dist/src/utils/installationInfo.js.map +1 -1
  179. package/dist/src/utils/installationInfo.test.js +8 -4
  180. package/dist/src/utils/installationInfo.test.js.map +1 -1
  181. package/dist/src/utils/readStdin.js +2 -1
  182. package/dist/src/utils/readStdin.js.map +1 -1
  183. package/dist/src/utils/sandbox-macos-permissive-open.sb +3 -1
  184. package/dist/src/utils/sandbox.js +13 -13
  185. package/dist/src/utils/sandbox.js.map +1 -1
  186. package/dist/src/utils/sessionCleanup.js +4 -4
  187. package/dist/src/utils/sessionCleanup.js.map +1 -1
  188. package/dist/src/utils/startupWarnings.test.d.ts +6 -0
  189. package/dist/src/utils/startupWarnings.test.js +61 -0
  190. package/dist/src/utils/startupWarnings.test.js.map +1 -0
  191. package/dist/src/validateNonInterActiveAuth.js +2 -2
  192. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  193. package/dist/src/validateNonInterActiveAuth.test.js +1 -4
  194. package/dist/src/validateNonInterActiveAuth.test.js.map +1 -1
  195. package/dist/src/zed-integration/zedIntegration.js +6 -7
  196. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  197. package/dist/tsconfig.tsbuildinfo +1 -1
  198. package/package.json +3 -3
  199. package/dist/google-gemini-cli-0.11.0-nightly.20251015.203bad7c.tgz +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, Config, ExtensionInstallEvent, ExtensionUninstallEvent, ExtensionUpdateEvent, ExtensionDisableEvent, ExtensionEnableEvent, logExtensionEnable, logExtensionInstallEvent, logExtensionUninstall, logExtensionUpdateEvent, logExtensionDisable, } from '@google/gemini-cli-core';
6
+ import { GEMINI_DIR, Storage, Config, ExtensionInstallEvent, ExtensionUninstallEvent, ExtensionUpdateEvent, ExtensionDisableEvent, ExtensionEnableEvent, logExtensionEnable, logExtensionInstallEvent, logExtensionUninstall, logExtensionUpdateEvent, logExtensionDisable, debugLogger, } 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';
@@ -67,6 +67,7 @@ export function loadExtensions(extensionEnablementManager, workspaceDir = proces
67
67
  const extension = loadExtension({
68
68
  extensionDir,
69
69
  workspaceDir,
70
+ extensionEnablementManager,
70
71
  });
71
72
  if (extension != null) {
72
73
  extensions.push(extension);
@@ -74,15 +75,14 @@ export function loadExtensions(extensionEnablementManager, workspaceDir = proces
74
75
  }
75
76
  const uniqueExtensions = new Map();
76
77
  for (const extension of extensions) {
77
- if (!uniqueExtensions.has(extension.name) &&
78
- extensionEnablementManager.isEnabled(extension.name, workspaceDir)) {
78
+ if (!uniqueExtensions.has(extension.name)) {
79
79
  uniqueExtensions.set(extension.name, extension);
80
80
  }
81
81
  }
82
82
  return Array.from(uniqueExtensions.values());
83
83
  }
84
84
  export function loadExtension(context) {
85
- const { extensionDir, workspaceDir } = context;
85
+ const { extensionDir, workspaceDir, extensionEnablementManager } = context;
86
86
  if (!fs.statSync(extensionDir).isDirectory()) {
87
87
  return null;
88
88
  }
@@ -95,6 +95,7 @@ export function loadExtension(context) {
95
95
  let config = loadExtensionConfig({
96
96
  extensionDir: effectiveExtensionPath,
97
97
  workspaceDir,
98
+ extensionEnablementManager,
98
99
  });
99
100
  config = resolveEnvVarsInObject(config);
100
101
  if (config.mcpServers) {
@@ -106,24 +107,6 @@ export function loadExtension(context) {
106
107
  const contextFiles = getContextFileNames(config)
107
108
  .map((contextFileName) => path.join(effectiveExtensionPath, contextFileName))
108
109
  .filter((contextFilePath) => fs.existsSync(contextFilePath));
109
- // IDs are created by hashing details of the installation source in order to
110
- // deduplicate extensions with conflicting names and also obfuscate any
111
- // potentially sensitive information such as private git urls, system paths,
112
- // or project names.
113
- const hash = createHash('sha256');
114
- const githubUrlParts = installMetadata &&
115
- (installMetadata.type === 'git' ||
116
- installMetadata.type === 'github-release')
117
- ? tryParseGithubUrl(installMetadata.source)
118
- : null;
119
- if (githubUrlParts) {
120
- // For github repos, we use the https URI to the repo as the ID.
121
- hash.update(`https://github.com/${githubUrlParts.owner}/${githubUrlParts.repo}`);
122
- }
123
- else {
124
- hash.update(installMetadata?.source ?? config.name);
125
- }
126
- const id = hash.digest('hex');
127
110
  return {
128
111
  name: config.name,
129
112
  version: config.version,
@@ -132,16 +115,16 @@ export function loadExtension(context) {
132
115
  installMetadata,
133
116
  mcpServers: config.mcpServers,
134
117
  excludeTools: config.excludeTools,
135
- isActive: true, // Barring any other signals extensions should be considered Active.
136
- id,
118
+ isActive: extensionEnablementManager.isEnabled(config.name, workspaceDir),
119
+ id: getExtensionId(config, installMetadata),
137
120
  };
138
121
  }
139
122
  catch (e) {
140
- console.error(`Warning: Skipping extension in ${effectiveExtensionPath}: ${getErrorMessage(e)}`);
123
+ debugLogger.error(`Warning: Skipping extension in ${effectiveExtensionPath}: ${getErrorMessage(e)}`);
141
124
  return null;
142
125
  }
143
126
  }
144
- export function loadExtensionByName(name, workspaceDir = process.cwd()) {
127
+ export function loadExtensionByName(name, extensionEnablementManager, workspaceDir = process.cwd()) {
145
128
  const userExtensionsDir = ExtensionStorage.getUserExtensionsDir();
146
129
  if (!fs.existsSync(userExtensionsDir)) {
147
130
  return null;
@@ -151,7 +134,11 @@ export function loadExtensionByName(name, workspaceDir = process.cwd()) {
151
134
  if (!fs.statSync(extensionDir).isDirectory()) {
152
135
  continue;
153
136
  }
154
- const extension = loadExtension({ extensionDir, workspaceDir });
137
+ const extension = loadExtension({
138
+ extensionDir,
139
+ workspaceDir,
140
+ extensionEnablementManager,
141
+ });
155
142
  if (extension && extension.name.toLowerCase() === name.toLowerCase()) {
156
143
  return extension;
157
144
  }
@@ -183,20 +170,6 @@ function getContextFileNames(config) {
183
170
  }
184
171
  return config.contextFileName;
185
172
  }
186
- /**
187
- * Returns an annotated list of extensions. If an extension is listed in enabledExtensionNames, it will be active.
188
- * If enabledExtensionNames is empty, an extension is active unless it is disabled.
189
- * @param extensions The base list of extensions.
190
- * @param enabledExtensionNames The names of explicitly enabled extensions.
191
- * @param workspaceDir The current workspace directory.
192
- */
193
- export function annotateActiveExtensions(extensions, workspaceDir, manager) {
194
- manager.validateExtensionOverrides(extensions);
195
- return extensions.map((extension) => ({
196
- ...extension,
197
- isActive: manager.isEnabled(extension.name, workspaceDir),
198
- }));
199
- }
200
173
  /**
201
174
  * Requests consent from the user to perform an action, by reading a Y/n
202
175
  * character from stdin.
@@ -207,7 +180,7 @@ export function annotateActiveExtensions(extensions, workspaceDir, manager) {
207
180
  * @returns boolean, whether they consented or not.
208
181
  */
209
182
  export async function requestConsentNonInteractive(consentDescription) {
210
- console.info(consentDescription);
183
+ debugLogger.log(consentDescription);
211
184
  const result = await promptForConsentNonInteractive('Do you want to continue? [Y/n]: ');
212
185
  return result;
213
186
  }
@@ -263,11 +236,15 @@ async function promptForConsentInteractive(prompt, addExtensionUpdateConfirmatio
263
236
  });
264
237
  });
265
238
  }
239
+ export function hashValue(value) {
240
+ return createHash('sha256').update(value).digest('hex');
241
+ }
266
242
  export async function installOrUpdateExtension(installMetadata, requestConsent, cwd = process.cwd(), previousExtensionConfig) {
267
243
  const isUpdate = !!previousExtensionConfig;
268
244
  const telemetryConfig = getTelemetryConfig(cwd);
269
245
  let newExtensionConfig = null;
270
246
  let localSourcePath;
247
+ const extensionEnablementManager = new ExtensionEnablementManager();
271
248
  try {
272
249
  const settings = loadSettings(cwd).merged;
273
250
  if (!isWorkspaceTrusted(settings).isTrusted) {
@@ -321,6 +298,7 @@ export async function installOrUpdateExtension(installMetadata, requestConsent,
321
298
  newExtensionConfig = loadExtensionConfig({
322
299
  extensionDir: localSourcePath,
323
300
  workspaceDir: cwd,
301
+ extensionEnablementManager,
324
302
  });
325
303
  const newExtensionName = newExtensionConfig.name;
326
304
  if (!isUpdate) {
@@ -351,11 +329,11 @@ export async function installOrUpdateExtension(installMetadata, requestConsent,
351
329
  }
352
330
  }
353
331
  if (isUpdate) {
354
- logExtensionUpdateEvent(telemetryConfig, new ExtensionUpdateEvent(newExtensionConfig.name, newExtensionConfig.version, previousExtensionConfig.version, installMetadata.source, 'success'));
332
+ logExtensionUpdateEvent(telemetryConfig, new ExtensionUpdateEvent(hashValue(newExtensionConfig.name), getExtensionId(newExtensionConfig, installMetadata), newExtensionConfig.version, previousExtensionConfig.version, installMetadata.type, 'success'));
355
333
  }
356
334
  else {
357
- logExtensionInstallEvent(telemetryConfig, new ExtensionInstallEvent(newExtensionConfig.name, newExtensionConfig.version, installMetadata.source, 'success'));
358
- enableExtension(newExtensionConfig.name, SettingScope.User);
335
+ logExtensionInstallEvent(telemetryConfig, new ExtensionInstallEvent(hashValue(newExtensionConfig.name), getExtensionId(newExtensionConfig, installMetadata), newExtensionConfig.version, installMetadata.type, 'success'));
336
+ enableExtension(newExtensionConfig.name, SettingScope.User, extensionEnablementManager);
359
337
  }
360
338
  return newExtensionConfig.name;
361
339
  }
@@ -367,17 +345,22 @@ export async function installOrUpdateExtension(installMetadata, requestConsent,
367
345
  newExtensionConfig = loadExtensionConfig({
368
346
  extensionDir: localSourcePath,
369
347
  workspaceDir: cwd,
348
+ extensionEnablementManager,
370
349
  });
371
350
  }
372
351
  catch {
373
352
  // Ignore error, this is just for logging.
374
353
  }
375
354
  }
355
+ const config = newExtensionConfig ?? previousExtensionConfig;
356
+ const extensionId = config
357
+ ? getExtensionId(config, installMetadata)
358
+ : undefined;
376
359
  if (isUpdate) {
377
- logExtensionUpdateEvent(telemetryConfig, new ExtensionUpdateEvent(newExtensionConfig?.name ?? previousExtensionConfig.name, newExtensionConfig?.version ?? '', previousExtensionConfig.version, installMetadata.source, 'error'));
360
+ logExtensionUpdateEvent(telemetryConfig, new ExtensionUpdateEvent(hashValue(config?.name ?? ''), extensionId ?? '', newExtensionConfig?.version ?? '', previousExtensionConfig.version, installMetadata.type, 'error'));
378
361
  }
379
362
  else {
380
- logExtensionInstallEvent(telemetryConfig, new ExtensionInstallEvent(newExtensionConfig?.name ?? '', newExtensionConfig?.version ?? '', installMetadata.source, 'error'));
363
+ logExtensionInstallEvent(telemetryConfig, new ExtensionInstallEvent(hashValue(newExtensionConfig?.name ?? ''), extensionId ?? '', newExtensionConfig?.version ?? '', installMetadata.type, 'error'));
381
364
  }
382
365
  throw error;
383
366
  }
@@ -463,13 +446,13 @@ export function loadExtensionConfig(context) {
463
446
  }
464
447
  export async function uninstallExtension(extensionIdentifier, isUpdate, cwd = process.cwd()) {
465
448
  const installedExtensions = loadExtensions(new ExtensionEnablementManager(), cwd);
466
- const extensionName = installedExtensions.find((installed) => installed.name.toLowerCase() === extensionIdentifier.toLowerCase() ||
449
+ const extension = installedExtensions.find((installed) => installed.name.toLowerCase() === extensionIdentifier.toLowerCase() ||
467
450
  installed.installMetadata?.source.toLowerCase() ===
468
- extensionIdentifier.toLowerCase())?.name;
469
- if (!extensionName) {
451
+ extensionIdentifier.toLowerCase());
452
+ if (!extension) {
470
453
  throw new Error(`Extension not found.`);
471
454
  }
472
- const storage = new ExtensionStorage(extensionName);
455
+ const storage = new ExtensionStorage(extension.name);
473
456
  await fs.promises.rm(storage.getExtensionDir(), {
474
457
  recursive: true,
475
458
  force: true,
@@ -478,10 +461,10 @@ export async function uninstallExtension(extensionIdentifier, isUpdate, cwd = pr
478
461
  // uninstalls related to updates.
479
462
  if (isUpdate)
480
463
  return;
481
- const manager = new ExtensionEnablementManager([extensionName]);
482
- manager.remove(extensionName);
464
+ const manager = new ExtensionEnablementManager([extension.name]);
465
+ manager.remove(extension.name);
483
466
  const telemetryConfig = getTelemetryConfig(cwd);
484
- logExtensionUninstall(telemetryConfig, new ExtensionUninstallEvent(extensionName, 'success'));
467
+ logExtensionUninstall(telemetryConfig, new ExtensionUninstallEvent(hashValue(extension.name), extension.id, 'success'));
485
468
  }
486
469
  export function toOutputString(extension, workspaceDir) {
487
470
  const manager = new ExtensionEnablementManager();
@@ -489,6 +472,7 @@ export function toOutputString(extension, workspaceDir) {
489
472
  const workspaceEnabled = manager.isEnabled(extension.name, workspaceDir);
490
473
  const status = workspaceEnabled ? chalk.green('✓') : chalk.red('✗');
491
474
  let output = `${status} ${extension.name} (${extension.version})`;
475
+ output += `\n ID: ${extension.id}`;
492
476
  output += `\n Path: ${extension.path}`;
493
477
  if (extension.installMetadata) {
494
478
  output += `\n Source: ${extension.installMetadata.source} (Type: ${extension.installMetadata.type})`;
@@ -521,32 +505,50 @@ export function toOutputString(extension, workspaceDir) {
521
505
  }
522
506
  return output;
523
507
  }
524
- export function disableExtension(name, scope, cwd = process.cwd()) {
508
+ export function disableExtension(name, scope, extensionEnablementManager, cwd = process.cwd()) {
525
509
  const config = getTelemetryConfig(cwd);
526
510
  if (scope === SettingScope.System || scope === SettingScope.SystemDefaults) {
527
511
  throw new Error('System and SystemDefaults scopes are not supported.');
528
512
  }
529
- const extension = loadExtensionByName(name, cwd);
513
+ const extension = loadExtensionByName(name, extensionEnablementManager, cwd);
530
514
  if (!extension) {
531
515
  throw new Error(`Extension with name ${name} does not exist.`);
532
516
  }
533
- const manager = new ExtensionEnablementManager([name]);
534
517
  const scopePath = scope === SettingScope.Workspace ? cwd : os.homedir();
535
- manager.disable(name, true, scopePath);
536
- logExtensionDisable(config, new ExtensionDisableEvent(name, scope));
518
+ extensionEnablementManager.disable(name, true, scopePath);
519
+ logExtensionDisable(config, new ExtensionDisableEvent(hashValue(name), extension.id, scope));
537
520
  }
538
- export function enableExtension(name, scope, cwd = process.cwd()) {
521
+ export function enableExtension(name, scope, extensionEnablementManager, cwd = process.cwd()) {
539
522
  if (scope === SettingScope.System || scope === SettingScope.SystemDefaults) {
540
523
  throw new Error('System and SystemDefaults scopes are not supported.');
541
524
  }
542
- const extension = loadExtensionByName(name, cwd);
525
+ const extension = loadExtensionByName(name, extensionEnablementManager, cwd);
543
526
  if (!extension) {
544
527
  throw new Error(`Extension with name ${name} does not exist.`);
545
528
  }
546
- const manager = new ExtensionEnablementManager();
547
529
  const scopePath = scope === SettingScope.Workspace ? cwd : os.homedir();
548
- manager.enable(name, true, scopePath);
530
+ extensionEnablementManager.enable(name, true, scopePath);
549
531
  const config = getTelemetryConfig(cwd);
550
- logExtensionEnable(config, new ExtensionEnableEvent(name, scope));
532
+ logExtensionEnable(config, new ExtensionEnableEvent(hashValue(name), extension.id, scope));
533
+ }
534
+ function getExtensionId(config, installMetadata) {
535
+ // IDs are created by hashing details of the installation source in order to
536
+ // deduplicate extensions with conflicting names and also obfuscate any
537
+ // potentially sensitive information such as private git urls, system paths,
538
+ // or project names.
539
+ let idValue = config.name;
540
+ const githubUrlParts = installMetadata &&
541
+ (installMetadata.type === 'git' ||
542
+ installMetadata.type === 'github-release')
543
+ ? tryParseGithubUrl(installMetadata.source)
544
+ : null;
545
+ if (githubUrlParts) {
546
+ // For github repos, we use the https URI to the repo as the ID.
547
+ idValue = `https://github.com/${githubUrlParts.owner}/${githubUrlParts.repo}`;
548
+ }
549
+ else {
550
+ idValue = installMetadata?.source ?? config.name;
551
+ }
552
+ return hashValue(idValue);
551
553
  }
552
554
  //# 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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"}