diff --git a/packages/cli/src/commands/extensions/configure.test.ts b/packages/cli/src/commands/extensions/configure.test.ts index 70c30e6945..fc7a3a085b 100644 --- a/packages/cli/src/commands/extensions/configure.test.ts +++ b/packages/cli/src/commands/extensions/configure.test.ts @@ -22,6 +22,7 @@ import { type ExtensionSetting, } from '../../config/extensions/extensionSettings.js'; import prompts from 'prompts'; +import * as fs from 'node:fs'; const { mockExtensionManager, @@ -79,11 +80,15 @@ vi.mock('../../config/settings.js', () => ({ })); describe('extensions configure command', () => { + let tempWorkspaceDir: string; + beforeEach(() => { vi.spyOn(debugLogger, 'log'); vi.spyOn(debugLogger, 'error'); vi.clearAllMocks(); + tempWorkspaceDir = fs.mkdtempSync('gemini-cli-test-workspace'); + vi.spyOn(process, 'cwd').mockReturnValue(tempWorkspaceDir); // Default behaviors mockLoadSettings.mockReturnValue({ merged: {} }); mockGetExtensionAndManager.mockResolvedValue({ @@ -141,6 +146,7 @@ describe('extensions configure command', () => { 'TEST_VAR', promptForSetting, 'user', + tempWorkspaceDir, ); }); @@ -186,6 +192,7 @@ describe('extensions configure command', () => { 'VAR_1', promptForSetting, 'user', + tempWorkspaceDir, ); }); diff --git a/packages/cli/src/commands/extensions/configure.ts b/packages/cli/src/commands/extensions/configure.ts index 86a1d7e255..0ee02fe635 100644 --- a/packages/cli/src/commands/extensions/configure.ts +++ b/packages/cli/src/commands/extensions/configure.ts @@ -111,6 +111,7 @@ async function configureSpecificSetting( settingKey, promptForSetting, scope, + process.cwd(), ); } @@ -218,6 +219,7 @@ async function configureExtensionSettings( setting.envVar, promptForSetting, scope, + process.cwd(), ); } } diff --git a/packages/cli/src/config/extension-manager-hydration.test.ts b/packages/cli/src/config/extension-manager-hydration.test.ts index 6746a1a74a..3dc91089f9 100644 --- a/packages/cli/src/config/extension-manager-hydration.test.ts +++ b/packages/cli/src/config/extension-manager-hydration.test.ts @@ -306,6 +306,7 @@ System using model: \${MODEL_NAME} 'MY_VALUE', mockRequestSetting, ExtensionSettingScope.USER, + process.cwd(), ); await extensionManager.restartExtension(extension); diff --git a/packages/cli/src/config/extensions/extensionSettings.ts b/packages/cli/src/config/extensions/extensionSettings.ts index 482c206cd6..35624d86aa 100644 --- a/packages/cli/src/config/extensions/extensionSettings.ts +++ b/packages/cli/src/config/extensions/extensionSettings.ts @@ -207,7 +207,7 @@ export async function updateSetting( settingKey: string, requestSetting: (setting: ExtensionSetting) => Promise, scope: ExtensionSettingScope, - workspaceDir?: string, + workspaceDir: string, ): Promise { const { name: extensionName, settings } = extensionConfig; if (!settings || settings.length === 0) {