diff options
Diffstat (limited to 'packages/cli/src')
| -rw-r--r-- | packages/cli/src/config/config.test.ts | 33 | ||||
| -rw-r--r-- | packages/cli/src/config/config.ts | 3 | ||||
| -rw-r--r-- | packages/cli/src/config/settings.ts | 1 |
3 files changed, 37 insertions, 0 deletions
diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index 64ecdbb8..6a7e3b57 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -1009,6 +1009,39 @@ describe('loadCliConfig ideModeFeature', () => { }); }); +describe('loadCliConfig folderTrustFeature', () => { + const originalArgv = process.argv; + const originalEnv = { ...process.env }; + + beforeEach(() => { + vi.resetAllMocks(); + vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); + process.env.GEMINI_API_KEY = 'test-api-key'; + }); + + afterEach(() => { + process.argv = originalArgv; + process.env = originalEnv; + vi.restoreAllMocks(); + }); + + it('should be false by default', async () => { + process.argv = ['node', 'script.js']; + const settings: Settings = {}; + const argv = await parseArguments(); + const config = await loadCliConfig(settings, [], 'test-session', argv); + expect(config.getFolderTrustFeature()).toBe(false); + }); + + it('should be true when settings.folderTrustFeature is true', async () => { + process.argv = ['node', 'script.js']; + const argv = await parseArguments(); + const settings: Settings = { folderTrustFeature: true }; + const config = await loadCliConfig(settings, [], 'test-session', argv); + expect(config.getFolderTrustFeature()).toBe(true); + }); +}); + vi.mock('fs', async () => { const actualFs = await vi.importActual<typeof fs>('fs'); const MOCK_CWD1 = process.cwd(); diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 7175c033..2c942c08 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -313,6 +313,8 @@ export async function loadCliConfig( const ideModeFeature = argv.ideModeFeature ?? settings.ideModeFeature ?? false; + const folderTrustFeature = settings.folderTrustFeature ?? false; + const allExtensions = annotateActiveExtensions( extensions, argv.extensions || [], @@ -480,6 +482,7 @@ export async function loadCliConfig( summarizeToolOutput: settings.summarizeToolOutput, ideMode, ideModeFeature, + folderTrustFeature, }); } diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index 93641ae0..64500845 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -112,6 +112,7 @@ export interface Settings { // Flag to be removed post-launch. ideModeFeature?: boolean; + folderTrustFeature?: boolean; /// IDE mode setting configured via slash command toggle. ideMode?: boolean; |
