@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.
- package/dist/index.js +14 -9
- package/dist/index.js.map +1 -1
- package/dist/package.json +4 -4
- package/dist/src/acp/acpSession.js +9 -13
- package/dist/src/acp/acpSession.js.map +1 -1
- package/dist/src/acp/acpSession.test.js +88 -0
- package/dist/src/acp/acpSession.test.js.map +1 -1
- package/dist/src/commands/mcp/add.js +14 -6
- package/dist/src/commands/mcp/add.js.map +1 -1
- package/dist/src/commands/mcp/add.test.js +61 -0
- package/dist/src/commands/mcp/add.test.js.map +1 -1
- package/dist/src/commands/mcp/remove.js +14 -1
- package/dist/src/commands/mcp/remove.js.map +1 -1
- package/dist/src/commands/mcp/remove.test.js +63 -0
- package/dist/src/commands/mcp/remove.test.js.map +1 -1
- package/dist/src/config/config.js +12 -0
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +17 -0
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/envDefaults.d.ts +20 -0
- package/dist/src/config/envDefaults.js +29 -0
- package/dist/src/config/envDefaults.js.map +1 -0
- package/dist/src/config/envDefaults.test.d.ts +6 -0
- package/dist/src/config/envDefaults.test.js +23 -0
- package/dist/src/config/envDefaults.test.js.map +1 -0
- package/dist/src/config/extension-manager.js +13 -4
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension.test.js +117 -0
- package/dist/src/config/extension.test.js.map +1 -1
- package/dist/src/config/extensions/github.test.js +34 -0
- package/dist/src/config/extensions/github.test.js.map +1 -1
- package/dist/src/config/extensions/github_fetch.js +110 -18
- package/dist/src/config/extensions/github_fetch.js.map +1 -1
- package/dist/src/config/extensions/github_fetch.test.js +251 -36
- package/dist/src/config/extensions/github_fetch.test.js.map +1 -1
- package/dist/src/config/settings.d.ts +1 -0
- package/dist/src/config/settings.js +148 -58
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +300 -0
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +1 -1
- package/dist/src/config/settingsSchema.js +6 -1
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/gemini.test.js +69 -0
- 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/interactiveCli.js +8 -3
- package/dist/src/interactiveCli.js.map +1 -1
- package/dist/src/services/CommandService.js +1 -1
- package/dist/src/services/CommandService.js.map +1 -1
- package/dist/src/services/CommandService.test.js +18 -1
- package/dist/src/services/CommandService.test.js.map +1 -1
- package/dist/src/services/SlashCommandConflictHandler.d.ts +1 -0
- package/dist/src/services/SlashCommandConflictHandler.js +18 -2
- package/dist/src/services/SlashCommandConflictHandler.js.map +1 -1
- package/dist/src/services/SlashCommandConflictHandler.test.js +85 -8
- package/dist/src/services/SlashCommandConflictHandler.test.js.map +1 -1
- package/dist/src/ui/AppContainer.js +254 -12
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +362 -6
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.js +21 -5
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.test.js +83 -0
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/useAuth.js +7 -1
- package/dist/src/ui/auth/useAuth.js.map +1 -1
- package/dist/src/ui/auth/useAuth.test.js +9 -0
- package/dist/src/ui/auth/useAuth.test.js.map +1 -1
- package/dist/src/ui/commands/marketplaceCommand.js +92 -4
- package/dist/src/ui/commands/marketplaceCommand.js.map +1 -1
- package/dist/src/ui/commands/marketplaceCommand.test.js +98 -1
- package/dist/src/ui/commands/marketplaceCommand.test.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +6 -6
- package/dist/src/ui/components/AsciiArt.js +6 -6
- package/dist/src/ui/components/CliSpinner.d.ts +3 -2
- package/dist/src/ui/components/CliSpinner.js +27 -3
- package/dist/src/ui/components/CliSpinner.js.map +1 -1
- package/dist/src/ui/components/CliSpinner.test.js +42 -3
- package/dist/src/ui/components/CliSpinner.test.js.map +1 -1
- package/dist/src/ui/components/Composer.js +3 -3
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/Composer.test.js +39 -1
- package/dist/src/ui/components/Composer.test.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js +5 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js +19 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
- package/dist/src/ui/components/Footer.js +1 -1
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +1 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.js +9 -2
- package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
- package/dist/src/ui/components/GeminiSpinner.d.ts +1 -1
- package/dist/src/ui/components/GeminiSpinner.js +18 -7
- package/dist/src/ui/components/GeminiSpinner.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js +5 -2
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.js +21 -0
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.d.ts +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +4 -2
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/MainContent.js +47 -9
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/MainContent.test.js +87 -1
- package/dist/src/ui/components/MainContent.test.js.map +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.js +8 -4
- package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.js +30 -16
- package/dist/src/ui/components/ModelDialog.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.test.js +32 -24
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
- package/dist/src/ui/components/StatusRow.d.ts +7 -6
- package/dist/src/ui/components/StatusRow.js +24 -10
- package/dist/src/ui/components/StatusRow.js.map +1 -1
- package/dist/src/ui/components/ValidationDialog.js +13 -6
- package/dist/src/ui/components/ValidationDialog.js.map +1 -1
- package/dist/src/ui/components/ValidationDialog.test.js +40 -0
- package/dist/src/ui/components/ValidationDialog.test.js.map +1 -1
- package/dist/src/ui/components/messages/DenseToolMessage.js +17 -12
- package/dist/src/ui/components/messages/DenseToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/DenseToolMessage.test.js +71 -0
- package/dist/src/ui/components/messages/DenseToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplay.js +14 -11
- package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js +32 -0
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.js +8 -2
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +23 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
- package/dist/src/ui/contexts/ToolActionsContext.js +7 -1
- package/dist/src/ui/contexts/ToolActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/ToolActionsContext.test.js +54 -1
- package/dist/src/ui/contexts/ToolActionsContext.test.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.d.ts +2 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +15 -15
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAgentStream.d.ts +9 -2
- package/dist/src/ui/hooks/useAgentStream.js +173 -8
- package/dist/src/ui/hooks/useAgentStream.js.map +1 -1
- package/dist/src/ui/hooks/useAgentStream.test.js +104 -1
- package/dist/src/ui/hooks/useAgentStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +174 -59
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +230 -3
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +2 -1
- package/dist/src/ui/hooks/useLoadingIndicator.js +3 -3
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +23 -4
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.js +10 -6
- package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +49 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -1
- package/dist/src/ui/key/keyBindings.js +19 -6
- package/dist/src/ui/key/keyBindings.js.map +1 -1
- package/dist/src/ui/key/keyBindings.test.js +106 -0
- package/dist/src/ui/key/keyBindings.test.js.map +1 -1
- package/dist/src/ui/utils/formatters.d.ts +2 -0
- package/dist/src/ui/utils/formatters.js +13 -5
- package/dist/src/ui/utils/formatters.js.map +1 -1
- package/dist/src/ui/utils/formatters.test.js +18 -0
- package/dist/src/ui/utils/formatters.test.js.map +1 -1
- package/dist/src/utils/activityLogger.js +109 -33
- package/dist/src/utils/activityLogger.js.map +1 -1
- package/dist/src/utils/activityLogger.test.js +441 -0
- package/dist/src/utils/activityLogger.test.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.d.ts +4 -1
- package/dist/src/utils/handleAutoUpdate.js +45 -3
- package/dist/src/utils/handleAutoUpdate.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.test.js +280 -2
- package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
- package/dist/src/utils/nodeVersion.d.ts +11 -0
- package/dist/src/utils/nodeVersion.js +42 -0
- package/dist/src/utils/nodeVersion.js.map +1 -0
- package/dist/src/utils/nodeVersion.test.d.ts +6 -0
- package/dist/src/utils/nodeVersion.test.js +35 -0
- package/dist/src/utils/nodeVersion.test.js.map +1 -0
- package/dist/src/utils/processUtils.d.ts +23 -0
- package/dist/src/utils/processUtils.js +72 -0
- package/dist/src/utils/processUtils.js.map +1 -1
- package/dist/src/utils/processUtils.test.js +95 -1
- package/dist/src/utils/processUtils.test.js.map +1 -1
- package/dist/src/utils/relaunch.js +8 -6
- package/dist/src/utils/relaunch.js.map +1 -1
- package/dist/src/utils/relaunch.test.js +107 -1
- package/dist/src/utils/relaunch.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- 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,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
|
-
|
|
417
|
-
|
|
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(
|
|
426
|
+
return new RegExp(pattern).test(source);
|
|
422
427
|
}
|
|
423
428
|
catch (e) {
|
|
424
|
-
|
|
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,
|