@machina.ai/cell-cli 1.64.0-rc2 → 1.66.0-rc1

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 (194) hide show
  1. package/dist/index.js +14 -9
  2. package/dist/index.js.map +1 -1
  3. package/dist/package.json +4 -4
  4. package/dist/src/acp/acpSession.js +9 -13
  5. package/dist/src/acp/acpSession.js.map +1 -1
  6. package/dist/src/acp/acpSession.test.js +88 -0
  7. package/dist/src/acp/acpSession.test.js.map +1 -1
  8. package/dist/src/commands/mcp/add.js +14 -6
  9. package/dist/src/commands/mcp/add.js.map +1 -1
  10. package/dist/src/commands/mcp/add.test.js +61 -0
  11. package/dist/src/commands/mcp/add.test.js.map +1 -1
  12. package/dist/src/commands/mcp/remove.js +14 -1
  13. package/dist/src/commands/mcp/remove.js.map +1 -1
  14. package/dist/src/commands/mcp/remove.test.js +63 -0
  15. package/dist/src/commands/mcp/remove.test.js.map +1 -1
  16. package/dist/src/config/config.js +12 -0
  17. package/dist/src/config/config.js.map +1 -1
  18. package/dist/src/config/config.test.js +17 -0
  19. package/dist/src/config/config.test.js.map +1 -1
  20. package/dist/src/config/envDefaults.d.ts +20 -0
  21. package/dist/src/config/envDefaults.js +29 -0
  22. package/dist/src/config/envDefaults.js.map +1 -0
  23. package/dist/src/config/envDefaults.test.d.ts +6 -0
  24. package/dist/src/config/envDefaults.test.js +23 -0
  25. package/dist/src/config/envDefaults.test.js.map +1 -0
  26. package/dist/src/config/extension-manager.js +13 -4
  27. package/dist/src/config/extension-manager.js.map +1 -1
  28. package/dist/src/config/extension.test.js +117 -0
  29. package/dist/src/config/extension.test.js.map +1 -1
  30. package/dist/src/config/extensions/github.test.js +34 -0
  31. package/dist/src/config/extensions/github.test.js.map +1 -1
  32. package/dist/src/config/extensions/github_fetch.js +110 -18
  33. package/dist/src/config/extensions/github_fetch.js.map +1 -1
  34. package/dist/src/config/extensions/github_fetch.test.js +251 -36
  35. package/dist/src/config/extensions/github_fetch.test.js.map +1 -1
  36. package/dist/src/config/settings.d.ts +1 -0
  37. package/dist/src/config/settings.js +148 -58
  38. package/dist/src/config/settings.js.map +1 -1
  39. package/dist/src/config/settings.test.js +300 -0
  40. package/dist/src/config/settings.test.js.map +1 -1
  41. package/dist/src/config/settingsSchema.d.ts +1 -1
  42. package/dist/src/config/settingsSchema.js +6 -1
  43. package/dist/src/config/settingsSchema.js.map +1 -1
  44. package/dist/src/gemini.test.js +69 -0
  45. package/dist/src/gemini.test.js.map +1 -1
  46. package/dist/src/generated/git-commit.d.ts +2 -2
  47. package/dist/src/generated/git-commit.js +2 -2
  48. package/dist/src/interactiveCli.js +8 -3
  49. package/dist/src/interactiveCli.js.map +1 -1
  50. package/dist/src/services/CommandService.js +1 -1
  51. package/dist/src/services/CommandService.js.map +1 -1
  52. package/dist/src/services/CommandService.test.js +18 -1
  53. package/dist/src/services/CommandService.test.js.map +1 -1
  54. package/dist/src/services/SlashCommandConflictHandler.d.ts +1 -0
  55. package/dist/src/services/SlashCommandConflictHandler.js +18 -2
  56. package/dist/src/services/SlashCommandConflictHandler.js.map +1 -1
  57. package/dist/src/services/SlashCommandConflictHandler.test.js +85 -8
  58. package/dist/src/services/SlashCommandConflictHandler.test.js.map +1 -1
  59. package/dist/src/ui/AppContainer.js +254 -12
  60. package/dist/src/ui/AppContainer.js.map +1 -1
  61. package/dist/src/ui/AppContainer.test.js +362 -6
  62. package/dist/src/ui/AppContainer.test.js.map +1 -1
  63. package/dist/src/ui/auth/AuthDialog.js +21 -5
  64. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  65. package/dist/src/ui/auth/AuthDialog.test.js +83 -0
  66. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  67. package/dist/src/ui/auth/useAuth.js +7 -1
  68. package/dist/src/ui/auth/useAuth.js.map +1 -1
  69. package/dist/src/ui/auth/useAuth.test.js +9 -0
  70. package/dist/src/ui/auth/useAuth.test.js.map +1 -1
  71. package/dist/src/ui/commands/marketplaceCommand.js +92 -4
  72. package/dist/src/ui/commands/marketplaceCommand.js.map +1 -1
  73. package/dist/src/ui/commands/marketplaceCommand.test.js +98 -1
  74. package/dist/src/ui/commands/marketplaceCommand.test.js.map +1 -1
  75. package/dist/src/ui/components/AsciiArt.d.ts +6 -6
  76. package/dist/src/ui/components/AsciiArt.js +6 -6
  77. package/dist/src/ui/components/CliSpinner.d.ts +3 -2
  78. package/dist/src/ui/components/CliSpinner.js +27 -3
  79. package/dist/src/ui/components/CliSpinner.js.map +1 -1
  80. package/dist/src/ui/components/CliSpinner.test.js +42 -3
  81. package/dist/src/ui/components/CliSpinner.test.js.map +1 -1
  82. package/dist/src/ui/components/Composer.js +3 -3
  83. package/dist/src/ui/components/Composer.js.map +1 -1
  84. package/dist/src/ui/components/Composer.test.js +39 -1
  85. package/dist/src/ui/components/Composer.test.js.map +1 -1
  86. package/dist/src/ui/components/DetailedMessagesDisplay.js +5 -1
  87. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
  88. package/dist/src/ui/components/DetailedMessagesDisplay.test.js +19 -1
  89. package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
  90. package/dist/src/ui/components/Footer.js +1 -1
  91. package/dist/src/ui/components/Footer.js.map +1 -1
  92. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +1 -1
  93. package/dist/src/ui/components/GeminiRespondingSpinner.js +9 -2
  94. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
  95. package/dist/src/ui/components/GeminiSpinner.d.ts +1 -1
  96. package/dist/src/ui/components/GeminiSpinner.js +18 -7
  97. package/dist/src/ui/components/GeminiSpinner.js.map +1 -1
  98. package/dist/src/ui/components/HistoryItemDisplay.js +5 -2
  99. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  100. package/dist/src/ui/components/HistoryItemDisplay.test.js +21 -0
  101. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  102. package/dist/src/ui/components/LoadingIndicator.d.ts +1 -1
  103. package/dist/src/ui/components/LoadingIndicator.js +4 -2
  104. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  105. package/dist/src/ui/components/MainContent.js +47 -9
  106. package/dist/src/ui/components/MainContent.js.map +1 -1
  107. package/dist/src/ui/components/MainContent.test.js +87 -1
  108. package/dist/src/ui/components/MainContent.test.js.map +1 -1
  109. package/dist/src/ui/components/MemoryUsageDisplay.js +8 -4
  110. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  111. package/dist/src/ui/components/ModelDialog.js +30 -16
  112. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  113. package/dist/src/ui/components/ModelDialog.test.js +32 -24
  114. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  115. package/dist/src/ui/components/StatusRow.d.ts +7 -6
  116. package/dist/src/ui/components/StatusRow.js +24 -10
  117. package/dist/src/ui/components/StatusRow.js.map +1 -1
  118. package/dist/src/ui/components/ValidationDialog.js +13 -6
  119. package/dist/src/ui/components/ValidationDialog.js.map +1 -1
  120. package/dist/src/ui/components/ValidationDialog.test.js +40 -0
  121. package/dist/src/ui/components/ValidationDialog.test.js.map +1 -1
  122. package/dist/src/ui/components/messages/DenseToolMessage.js +17 -12
  123. package/dist/src/ui/components/messages/DenseToolMessage.js.map +1 -1
  124. package/dist/src/ui/components/messages/DenseToolMessage.test.js +71 -0
  125. package/dist/src/ui/components/messages/DenseToolMessage.test.js.map +1 -1
  126. package/dist/src/ui/components/messages/ToolResultDisplay.js +14 -11
  127. package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
  128. package/dist/src/ui/components/messages/ToolResultDisplay.test.js +32 -0
  129. package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +1 -1
  130. package/dist/src/ui/components/shared/MaxSizedBox.js +8 -2
  131. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  132. package/dist/src/ui/components/shared/MaxSizedBox.test.js +23 -1
  133. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
  134. package/dist/src/ui/contexts/ToolActionsContext.js +7 -1
  135. package/dist/src/ui/contexts/ToolActionsContext.js.map +1 -1
  136. package/dist/src/ui/contexts/ToolActionsContext.test.js +54 -1
  137. package/dist/src/ui/contexts/ToolActionsContext.test.js.map +1 -1
  138. package/dist/src/ui/hooks/atCommandProcessor.d.ts +2 -1
  139. package/dist/src/ui/hooks/atCommandProcessor.js +15 -15
  140. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  141. package/dist/src/ui/hooks/useAgentStream.d.ts +9 -2
  142. package/dist/src/ui/hooks/useAgentStream.js +173 -8
  143. package/dist/src/ui/hooks/useAgentStream.js.map +1 -1
  144. package/dist/src/ui/hooks/useAgentStream.test.js +104 -1
  145. package/dist/src/ui/hooks/useAgentStream.test.js.map +1 -1
  146. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  147. package/dist/src/ui/hooks/useGeminiStream.js +174 -59
  148. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  149. package/dist/src/ui/hooks/useGeminiStream.test.js +230 -3
  150. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  151. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +2 -1
  152. package/dist/src/ui/hooks/useLoadingIndicator.js +3 -3
  153. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  154. package/dist/src/ui/hooks/useLoadingIndicator.test.js +23 -4
  155. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  156. package/dist/src/ui/hooks/useReverseSearchCompletion.js +10 -6
  157. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
  158. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +49 -0
  159. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -1
  160. package/dist/src/ui/key/keyBindings.js +19 -6
  161. package/dist/src/ui/key/keyBindings.js.map +1 -1
  162. package/dist/src/ui/key/keyBindings.test.js +106 -0
  163. package/dist/src/ui/key/keyBindings.test.js.map +1 -1
  164. package/dist/src/ui/utils/formatters.d.ts +2 -0
  165. package/dist/src/ui/utils/formatters.js +13 -5
  166. package/dist/src/ui/utils/formatters.js.map +1 -1
  167. package/dist/src/ui/utils/formatters.test.js +18 -0
  168. package/dist/src/ui/utils/formatters.test.js.map +1 -1
  169. package/dist/src/utils/activityLogger.js +109 -33
  170. package/dist/src/utils/activityLogger.js.map +1 -1
  171. package/dist/src/utils/activityLogger.test.js +441 -0
  172. package/dist/src/utils/activityLogger.test.js.map +1 -1
  173. package/dist/src/utils/handleAutoUpdate.d.ts +4 -1
  174. package/dist/src/utils/handleAutoUpdate.js +45 -3
  175. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  176. package/dist/src/utils/handleAutoUpdate.test.js +280 -2
  177. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  178. package/dist/src/utils/nodeVersion.d.ts +11 -0
  179. package/dist/src/utils/nodeVersion.js +42 -0
  180. package/dist/src/utils/nodeVersion.js.map +1 -0
  181. package/dist/src/utils/nodeVersion.test.d.ts +6 -0
  182. package/dist/src/utils/nodeVersion.test.js +35 -0
  183. package/dist/src/utils/nodeVersion.test.js.map +1 -0
  184. package/dist/src/utils/processUtils.d.ts +23 -0
  185. package/dist/src/utils/processUtils.js +72 -0
  186. package/dist/src/utils/processUtils.js.map +1 -1
  187. package/dist/src/utils/processUtils.test.js +95 -1
  188. package/dist/src/utils/processUtils.test.js.map +1 -1
  189. package/dist/src/utils/relaunch.js +8 -6
  190. package/dist/src/utils/relaunch.js.map +1 -1
  191. package/dist/src/utils/relaunch.test.js +107 -1
  192. package/dist/src/utils/relaunch.test.js.map +1 -1
  193. package/dist/tsconfig.tsbuildinfo +1 -1
  194. package/package.json +4 -4
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Archivo canónico de variables de entorno que Cell CLI define por defecto al
8
+ * arrancar. Documentado en docs/env-defaults.md.
9
+ *
10
+ * Reglas:
11
+ * - Solo valores por defecto: si el usuario ya definió la variable, se respeta.
12
+ * - Cada entrada lleva un comentario con quién la usa y por qué.
13
+ * - Este módulo se importa desde el entry point antes del relanzamiento, así que
14
+ * no debe importar nada (ni core ni dependencias pesadas).
15
+ */
16
+ export const CELL_ENV_DEFAULTS = {
17
+ // Archify (skill del marketplace, versión fijada): sin esto consulta GitHub
18
+ // Pages buscando actualizaciones en cada diagrama.
19
+ ARCHIFY_UPDATE_CHECK_DISABLED: '1',
20
+ };
21
+ /**
22
+ * Aplica CELL_ENV_DEFAULTS sobre `env` sin sobrescribir valores existentes.
23
+ */
24
+ export function applyCellEnvDefaults(env = process.env) {
25
+ for (const [key, value] of Object.entries(CELL_ENV_DEFAULTS)) {
26
+ env[key] ??= value;
27
+ }
28
+ }
29
+ //# sourceMappingURL=envDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envDefaults.js","sourceRoot":"","sources":["../../../src/config/envDefaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,4EAA4E;IAC5E,mDAAmD;IACnD,6BAA6B,EAAE,GAAG;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAyB,OAAO,CAAC,GAAG;IAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect } from 'vitest';
7
+ import { CELL_ENV_DEFAULTS, applyCellEnvDefaults } from './envDefaults.js';
8
+ describe('applyCellEnvDefaults', () => {
9
+ it('sets every default when the variable is missing', () => {
10
+ const env = {};
11
+ applyCellEnvDefaults(env);
12
+ expect(env).toEqual(CELL_ENV_DEFAULTS);
13
+ });
14
+ it('does not override a value defined by the user', () => {
15
+ const env = { ARCHIFY_UPDATE_CHECK_DISABLED: '0' };
16
+ applyCellEnvDefaults(env);
17
+ expect(env['ARCHIFY_UPDATE_CHECK_DISABLED']).toBe('0');
18
+ });
19
+ it('disables the Archify update check by default', () => {
20
+ expect(CELL_ENV_DEFAULTS['ARCHIFY_UPDATE_CHECK_DISABLED']).toBe('1');
21
+ });
22
+ });
23
+ //# sourceMappingURL=envDefaults.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envDefaults.test.js","sourceRoot":"","sources":["../../../src/config/envDefaults.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,GAAG,GAAsB,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAAC;QACtE,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -413,15 +413,24 @@ Would you like to attempt to install via "git clone" instead?`))) {
413
413
  const installMetadata = loadInstallMetadata(extensionDir);
414
414
  let effectiveExtensionPath = extensionDir;
415
415
  if ((this.settings.security?.allowedExtensions?.length ?? 0) > 0) {
416
- if (!installMetadata?.source) {
417
- throw new Error(`Failed to load extension ${extensionDir}. The ${INSTALL_METADATA_FILENAME} file is missing or misconfigured.`);
416
+ // The metadata is parsed JSON that is not validated, so a source that is
417
+ // not a string is as unusable as a missing one.
418
+ if (!installMetadata?.source ||
419
+ typeof installMetadata.source !== 'string') {
420
+ debugLogger.warn(`Failed to load extension ${extensionDir}. The ${INSTALL_METADATA_FILENAME} file is missing or misconfigured.`);
421
+ return null;
418
422
  }
423
+ const source = getRealPath(installMetadata.source);
419
424
  const extensionAllowed = this.settings.security?.allowedExtensions.some((pattern) => {
420
425
  try {
421
- return new RegExp(pattern).test(getRealPath(installMetadata?.source ?? ''));
426
+ return new RegExp(pattern).test(source);
422
427
  }
423
428
  catch (e) {
424
- throw new Error(`Invalid regex pattern in allowedExtensions setting: "${pattern}. Error: ${getErrorMessage(e)}`);
429
+ // An invalid pattern cannot match anything. Ignore it, so the
430
+ // patterns listed after it are still evaluated and one bad entry
431
+ // does not make every extension unavailable.
432
+ debugLogger.warn(`Invalid regex pattern in allowedExtensions setting: "${pattern}". Error: ${getErrorMessage(e)}`);
433
+ return false;
425
434
  }
426
435
  });
427
436
  if (!extensionAllowed) {
@@ -1 +1 @@
1
- {"version":3,"file":"extension-manager.js","sourceRoot":"","sources":["../../../src/config/extension-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-manager.js","sourceRoot":"","sources":["../../../src/config/extension-manager.ts"],"names":[],"mappings":"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"}
@@ -658,6 +658,123 @@ name = "yolo-checker"
658
658
  expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('This extension is not allowed by the "allowedExtensions" security setting'));
659
659
  consoleSpy.mockRestore();
660
660
  });
661
+ it('should skip directories with missing or misconfigured install metadata and still load the other extensions if the allowlist is set.', async () => {
662
+ const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => { });
663
+ createExtension({
664
+ extensionsDir: userExtensionsDir,
665
+ name: 'my-ext',
666
+ version: '1.0.0',
667
+ installMetadata: {
668
+ type: 'git',
669
+ source: 'http://allowed.com/foo/bar',
670
+ },
671
+ });
672
+ // Left behind when an install is interrupted before the metadata file
673
+ // is written.
674
+ const interruptedDir = path.join(userExtensionsDir, 'interrupted-ext');
675
+ fs.mkdirSync(interruptedDir);
676
+ // Metadata that cannot be parsed counts as missing.
677
+ const corruptDir = path.join(userExtensionsDir, 'corrupt-ext');
678
+ fs.mkdirSync(corruptDir);
679
+ fs.writeFileSync(path.join(corruptDir, INSTALL_METADATA_FILENAME), '{');
680
+ // Metadata that parses but has a source that is not a string is
681
+ // misconfigured too.
682
+ const wrongTypeDir = path.join(userExtensionsDir, 'wrong-type-ext');
683
+ fs.mkdirSync(wrongTypeDir);
684
+ fs.writeFileSync(path.join(wrongTypeDir, INSTALL_METADATA_FILENAME), JSON.stringify({ type: 'git', source: 5 }));
685
+ const extensionAllowlistSetting = createTestMergedSettings({
686
+ security: { allowedExtensions: ['allowed\\.com'] },
687
+ });
688
+ extensionManager = new ExtensionManager({
689
+ workspaceDir: tempWorkspaceDir,
690
+ requestConsent: mockRequestConsent,
691
+ requestSetting: mockPromptForSettings,
692
+ settings: extensionAllowlistSetting,
693
+ integrityManager: mockIntegrityManager,
694
+ });
695
+ const extensions = await extensionManager.loadExtensions();
696
+ expect(extensions.map((e) => e.name)).toEqual(['my-ext']);
697
+ for (const dir of [interruptedDir, corruptDir, wrongTypeDir]) {
698
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining(`Failed to load extension ${dir}. The ${INSTALL_METADATA_FILENAME} file is missing or misconfigured.`));
699
+ }
700
+ consoleSpy.mockRestore();
701
+ });
702
+ it('should not fail the whole load and log a warning if an allowlist pattern is not a valid regex.', async () => {
703
+ const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => { });
704
+ createExtension({
705
+ extensionsDir: userExtensionsDir,
706
+ name: 'my-ext',
707
+ version: '1.0.0',
708
+ installMetadata: {
709
+ type: 'git',
710
+ source: 'http://allowed.com/foo/bar',
711
+ },
712
+ });
713
+ const extensionAllowlistSetting = createTestMergedSettings({
714
+ security: { allowedExtensions: ['('] },
715
+ });
716
+ extensionManager = new ExtensionManager({
717
+ workspaceDir: tempWorkspaceDir,
718
+ requestConsent: mockRequestConsent,
719
+ requestSetting: mockPromptForSettings,
720
+ settings: extensionAllowlistSetting,
721
+ integrityManager: mockIntegrityManager,
722
+ });
723
+ await expect(extensionManager.loadExtensions()).resolves.toEqual([]);
724
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Invalid regex pattern in allowedExtensions setting'));
725
+ consoleSpy.mockRestore();
726
+ });
727
+ it('should load an extension matched by a valid allowlist pattern listed before an invalid one.', async () => {
728
+ createExtension({
729
+ extensionsDir: userExtensionsDir,
730
+ name: 'my-ext',
731
+ version: '1.0.0',
732
+ installMetadata: {
733
+ type: 'git',
734
+ source: 'http://allowed.com/foo/bar',
735
+ },
736
+ });
737
+ const extensionAllowlistSetting = createTestMergedSettings({
738
+ security: { allowedExtensions: ['allowed\\.com', '('] },
739
+ });
740
+ extensionManager = new ExtensionManager({
741
+ workspaceDir: tempWorkspaceDir,
742
+ requestConsent: mockRequestConsent,
743
+ requestSetting: mockPromptForSettings,
744
+ settings: extensionAllowlistSetting,
745
+ integrityManager: mockIntegrityManager,
746
+ });
747
+ const extensions = await extensionManager.loadExtensions();
748
+ expect(extensions.map((e) => e.name)).toEqual(['my-ext']);
749
+ });
750
+ it('should load an extension matched by a valid allowlist pattern listed after an invalid one.', async () => {
751
+ const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => { });
752
+ createExtension({
753
+ extensionsDir: userExtensionsDir,
754
+ name: 'my-ext',
755
+ version: '1.0.0',
756
+ installMetadata: {
757
+ type: 'git',
758
+ source: 'http://allowed.com/foo/bar',
759
+ },
760
+ });
761
+ const extensionAllowlistSetting = createTestMergedSettings({
762
+ security: { allowedExtensions: ['(', 'allowed\\.com'] },
763
+ });
764
+ extensionManager = new ExtensionManager({
765
+ workspaceDir: tempWorkspaceDir,
766
+ requestConsent: mockRequestConsent,
767
+ requestSetting: mockPromptForSettings,
768
+ settings: extensionAllowlistSetting,
769
+ integrityManager: mockIntegrityManager,
770
+ });
771
+ const extensions = await extensionManager.loadExtensions();
772
+ expect(extensions.map((e) => e.name)).toEqual(['my-ext']);
773
+ // The invalid entry is still reported, but it does not stop the
774
+ // patterns listed after it from being evaluated.
775
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Invalid regex pattern in allowedExtensions setting'));
776
+ consoleSpy.mockRestore();
777
+ });
661
778
  it('should not load any extensions if admin.extensions.enabled is false', async () => {
662
779
  createExtension({
663
780
  extensionsDir: userExtensionsDir,