@google/gemini-cli 0.31.0-preview.2 → 0.31.0-preview.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@google/gemini-cli",
3
- "version": "0.31.0-preview.2",
3
+ "version": "0.31.0-preview.3",
4
4
  "description": "Gemini CLI",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -26,7 +26,7 @@
26
26
  "dist"
27
27
  ],
28
28
  "config": {
29
- "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.31.0-preview.2"
29
+ "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.31.0-preview.3"
30
30
  },
31
31
  "dependencies": {
32
32
  "@agentclientprotocol/sdk": "^0.12.0",
@@ -5,6 +5,26 @@
5
5
  */
6
6
  import { type PolicyEngineConfig, type ApprovalMode, type PolicyEngine, type MessageBus, Storage, type PolicyUpdateConfirmationRequest } from '@google/gemini-cli-core';
7
7
  import { type Settings } from './settings.js';
8
+ /**
9
+ * Temporary flag to automatically accept workspace policies to reduce friction.
10
+ * Exported as 'let' to allow monkey patching in tests via the setter.
11
+ */
12
+ export declare let autoAcceptWorkspacePolicies: boolean;
13
+ /**
14
+ * Sets the autoAcceptWorkspacePolicies flag.
15
+ * Used primarily for testing purposes.
16
+ */
17
+ export declare function setAutoAcceptWorkspacePolicies(value: boolean): void;
18
+ /**
19
+ * Temporary flag to disable workspace level policies altogether.
20
+ * Exported as 'let' to allow monkey patching in tests via the setter.
21
+ */
22
+ export declare let disableWorkspacePolicies: boolean;
23
+ /**
24
+ * Sets the disableWorkspacePolicies flag.
25
+ * Used primarily for testing purposes.
26
+ */
27
+ export declare function setDisableWorkspacePolicies(value: boolean): void;
8
28
  export declare function createPolicyEngineConfig(settings: Settings, approvalMode: ApprovalMode, workspacePoliciesDir?: string): Promise<PolicyEngineConfig>;
9
29
  export declare function createPolicyUpdater(policyEngine: PolicyEngine, messageBus: MessageBus, storage: Storage): void;
10
30
  export interface WorkspacePolicyState {
@@ -3,8 +3,32 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { createPolicyEngineConfig as createCorePolicyEngineConfig, createPolicyUpdater as createCorePolicyUpdater, PolicyIntegrityManager, IntegrityStatus, Storage, writeToStderr, } from '@google/gemini-cli-core';
6
+ import { createPolicyEngineConfig as createCorePolicyEngineConfig, createPolicyUpdater as createCorePolicyUpdater, PolicyIntegrityManager, IntegrityStatus, Storage, writeToStderr, debugLogger, } from '@google/gemini-cli-core';
7
7
  import {} from './settings.js';
8
+ /**
9
+ * Temporary flag to automatically accept workspace policies to reduce friction.
10
+ * Exported as 'let' to allow monkey patching in tests via the setter.
11
+ */
12
+ export let autoAcceptWorkspacePolicies = true;
13
+ /**
14
+ * Sets the autoAcceptWorkspacePolicies flag.
15
+ * Used primarily for testing purposes.
16
+ */
17
+ export function setAutoAcceptWorkspacePolicies(value) {
18
+ autoAcceptWorkspacePolicies = value;
19
+ }
20
+ /**
21
+ * Temporary flag to disable workspace level policies altogether.
22
+ * Exported as 'let' to allow monkey patching in tests via the setter.
23
+ */
24
+ export let disableWorkspacePolicies = true;
25
+ /**
26
+ * Sets the disableWorkspacePolicies flag.
27
+ * Used primarily for testing purposes.
28
+ */
29
+ export function setDisableWorkspacePolicies(value) {
30
+ disableWorkspacePolicies = value;
31
+ }
8
32
  export async function createPolicyEngineConfig(settings, approvalMode, workspacePoliciesDir) {
9
33
  // Explicitly construct PolicySettings from Settings to ensure type safety
10
34
  // and avoid accidental leakage of other settings properties.
@@ -27,7 +51,7 @@ export async function resolveWorkspacePolicyState(options) {
27
51
  const { cwd, trustedFolder, interactive } = options;
28
52
  let workspacePoliciesDir;
29
53
  let policyUpdateConfirmationRequest;
30
- if (trustedFolder) {
54
+ if (trustedFolder && !disableWorkspacePolicies) {
31
55
  const storage = new Storage(cwd);
32
56
  // If we are in the home directory (or rather, our target Gemini dir is the global one),
33
57
  // don't treat it as a workspace to avoid loading global policies twice.
@@ -45,8 +69,8 @@ export async function resolveWorkspacePolicyState(options) {
45
69
  // No workspace policies found
46
70
  workspacePoliciesDir = undefined;
47
71
  }
48
- else if (interactive) {
49
- // Policies changed or are new, and we are in interactive mode
72
+ else if (interactive && !autoAcceptWorkspacePolicies) {
73
+ // Policies changed or are new, and we are in interactive mode and auto-accept is disabled
50
74
  policyUpdateConfirmationRequest = {
51
75
  scope: 'workspace',
52
76
  identifier: cwd,
@@ -55,11 +79,15 @@ export async function resolveWorkspacePolicyState(options) {
55
79
  };
56
80
  }
57
81
  else {
58
- // Non-interactive mode: warn and automatically accept/load
82
+ // Non-interactive mode or auto-accept is enabled: automatically accept/load
59
83
  await integrityManager.acceptIntegrity('workspace', cwd, integrityResult.hash);
60
84
  workspacePoliciesDir = potentialWorkspacePoliciesDir;
61
- // debugLogger.warn here doesn't show up in the terminal. It is showing up only in debug mode on the debug console
62
- writeToStderr('WARNING: Workspace policies changed or are new. Automatically accepting and loading them in non-interactive mode.\n');
85
+ if (!interactive) {
86
+ writeToStderr('WARNING: Workspace policies changed or are new. Automatically accepting and loading them.\n');
87
+ }
88
+ else {
89
+ debugLogger.warn('Workspace policies changed or are new. Automatically accepting and loading them.');
90
+ }
63
91
  }
64
92
  }
65
93
  return { workspacePoliciesDir, policyUpdateConfirmationRequest };
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/config/policy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAML,wBAAwB,IAAI,4BAA4B,EACxD,mBAAmB,IAAI,uBAAuB,EAC9C,sBAAsB,EACtB,eAAe,EACf,OAAO,EAEP,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAiB,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAkB,EAClB,YAA0B,EAC1B,oBAA6B;IAE7B,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,cAAc,GAAmB;QACrC,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,oBAAoB;KACrB,CAAC;IAEF,OAAO,4BAA4B,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,YAA0B,EAC1B,UAAsB,EACtB,OAAgB;IAEhB,OAAO,uBAAuB,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAOD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAIjD;IACC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEpD,IAAI,oBAAwC,CAAC;IAC7C,IAAI,+BAES,CAAC;IAEd,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,wFAAwF;QACxF,wEAAwE;QACxE,IAAI,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACjC,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,6BAA6B,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACxE,MAAM,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACtD,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAC3D,WAAW,EACX,GAAG,EACH,6BAA6B,CAC9B,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;YACrD,oBAAoB,GAAG,6BAA6B,CAAC;QACvD,CAAC;aAAM,IACL,eAAe,CAAC,MAAM,KAAK,eAAe,CAAC,GAAG;YAC9C,eAAe,CAAC,SAAS,KAAK,CAAC,EAC/B,CAAC;YACD,8BAA8B;YAC9B,oBAAoB,GAAG,SAAS,CAAC;QACnC,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,8DAA8D;YAC9D,+BAA+B,GAAG;gBAChC,KAAK,EAAE,WAAW;gBAClB,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,6BAA6B;gBACxC,OAAO,EAAE,eAAe,CAAC,IAAI;aAC9B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,MAAM,gBAAgB,CAAC,eAAe,CACpC,WAAW,EACX,GAAG,EACH,eAAe,CAAC,IAAI,CACrB,CAAC;YACF,oBAAoB,GAAG,6BAA6B,CAAC;YACrD,kHAAkH;YAClH,aAAa,CACX,qHAAqH,CACtH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/config/policy.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
7
  import * as fs from 'node:fs';
8
8
  import * as path from 'node:path';
9
9
  import * as os from 'node:os';
10
- import { resolveWorkspacePolicyState } from './policy.js';
10
+ import { resolveWorkspacePolicyState, autoAcceptWorkspacePolicies, setAutoAcceptWorkspacePolicies, disableWorkspacePolicies, setDisableWorkspacePolicies, } from './policy.js';
11
11
  import { writeToStderr } from '@google/gemini-cli-core';
12
12
  // Mock debugLogger to avoid noise in test output
13
13
  vi.mock('@google/gemini-cli-core', async (importOriginal) => {
@@ -34,6 +34,8 @@ describe('resolveWorkspacePolicyState', () => {
34
34
  workspaceDir = path.join(tempDir, 'workspace');
35
35
  fs.mkdirSync(workspaceDir);
36
36
  policiesDir = path.join(workspaceDir, '.gemini', 'policies');
37
+ // Enable policies for these tests to verify loading logic
38
+ setDisableWorkspacePolicies(false);
37
39
  vi.clearAllMocks();
38
40
  });
39
41
  afterEach(() => {
@@ -52,21 +54,25 @@ describe('resolveWorkspacePolicyState', () => {
52
54
  policyUpdateConfirmationRequest: undefined,
53
55
  });
54
56
  });
57
+ it('should have disableWorkspacePolicies set to true by default', () => {
58
+ // We explicitly set it to false in beforeEach for other tests,
59
+ // so here we test that setting it to true works.
60
+ setDisableWorkspacePolicies(true);
61
+ expect(disableWorkspacePolicies).toBe(true);
62
+ });
55
63
  it('should return policy directory if integrity matches', async () => {
56
64
  // Set up policies directory with a file
57
65
  fs.mkdirSync(policiesDir, { recursive: true });
58
66
  fs.writeFileSync(path.join(policiesDir, 'policy.toml'), 'rules = []');
59
- // First call to establish integrity (interactive accept)
67
+ // First call to establish integrity (interactive auto-accept)
60
68
  const firstResult = await resolveWorkspacePolicyState({
61
69
  cwd: workspaceDir,
62
70
  trustedFolder: true,
63
71
  interactive: true,
64
72
  });
65
- expect(firstResult.policyUpdateConfirmationRequest).toBeDefined();
66
- // Establish integrity manually as if accepted
67
- const { PolicyIntegrityManager } = await import('@google/gemini-cli-core');
68
- const integrityManager = new PolicyIntegrityManager();
69
- await integrityManager.acceptIntegrity('workspace', workspaceDir, firstResult.policyUpdateConfirmationRequest.newHash);
73
+ expect(firstResult.workspacePoliciesDir).toBe(policiesDir);
74
+ expect(firstResult.policyUpdateConfirmationRequest).toBeUndefined();
75
+ expect(writeToStderr).not.toHaveBeenCalled();
70
76
  // Second call should match
71
77
  const result = await resolveWorkspacePolicyState({
72
78
  cwd: workspaceDir,
@@ -85,23 +91,30 @@ describe('resolveWorkspacePolicyState', () => {
85
91
  expect(result.workspacePoliciesDir).toBeUndefined();
86
92
  expect(result.policyUpdateConfirmationRequest).toBeUndefined();
87
93
  });
88
- it('should return confirmation request if changed in interactive mode', async () => {
89
- fs.mkdirSync(policiesDir, { recursive: true });
90
- fs.writeFileSync(path.join(policiesDir, 'policy.toml'), 'rules = []');
91
- const result = await resolveWorkspacePolicyState({
92
- cwd: workspaceDir,
93
- trustedFolder: true,
94
- interactive: true,
95
- });
96
- expect(result.workspacePoliciesDir).toBeUndefined();
97
- expect(result.policyUpdateConfirmationRequest).toEqual({
98
- scope: 'workspace',
99
- identifier: workspaceDir,
100
- policyDir: policiesDir,
101
- newHash: expect.any(String),
102
- });
94
+ it('should return confirmation request if changed in interactive mode when AUTO_ACCEPT is false', async () => {
95
+ const originalValue = autoAcceptWorkspacePolicies;
96
+ setAutoAcceptWorkspacePolicies(false);
97
+ try {
98
+ fs.mkdirSync(policiesDir, { recursive: true });
99
+ fs.writeFileSync(path.join(policiesDir, 'policy.toml'), 'rules = []');
100
+ const result = await resolveWorkspacePolicyState({
101
+ cwd: workspaceDir,
102
+ trustedFolder: true,
103
+ interactive: true,
104
+ });
105
+ expect(result.workspacePoliciesDir).toBeUndefined();
106
+ expect(result.policyUpdateConfirmationRequest).toEqual({
107
+ scope: 'workspace',
108
+ identifier: workspaceDir,
109
+ policyDir: policiesDir,
110
+ newHash: expect.any(String),
111
+ });
112
+ }
113
+ finally {
114
+ setAutoAcceptWorkspacePolicies(originalValue);
115
+ }
103
116
  });
104
- it('should warn and auto-accept if changed in non-interactive mode', async () => {
117
+ it('should warn and auto-accept if changed in non-interactive mode when AUTO_ACCEPT is true', async () => {
105
118
  fs.mkdirSync(policiesDir, { recursive: true });
106
119
  fs.writeFileSync(path.join(policiesDir, 'policy.toml'), 'rules = []');
107
120
  const result = await resolveWorkspacePolicyState({
@@ -113,6 +126,25 @@ describe('resolveWorkspacePolicyState', () => {
113
126
  expect(result.policyUpdateConfirmationRequest).toBeUndefined();
114
127
  expect(writeToStderr).toHaveBeenCalledWith(expect.stringContaining('Automatically accepting and loading'));
115
128
  });
129
+ it('should warn and auto-accept if changed in non-interactive mode when AUTO_ACCEPT is false', async () => {
130
+ const originalValue = autoAcceptWorkspacePolicies;
131
+ setAutoAcceptWorkspacePolicies(false);
132
+ try {
133
+ fs.mkdirSync(policiesDir, { recursive: true });
134
+ fs.writeFileSync(path.join(policiesDir, 'policy.toml'), 'rules = []');
135
+ const result = await resolveWorkspacePolicyState({
136
+ cwd: workspaceDir,
137
+ trustedFolder: true,
138
+ interactive: false,
139
+ });
140
+ expect(result.workspacePoliciesDir).toBe(policiesDir);
141
+ expect(result.policyUpdateConfirmationRequest).toBeUndefined();
142
+ expect(writeToStderr).toHaveBeenCalledWith(expect.stringContaining('Automatically accepting and loading'));
143
+ }
144
+ finally {
145
+ setAutoAcceptWorkspacePolicies(originalValue);
146
+ }
147
+ });
116
148
  it('should not return workspace policies if cwd is the home directory', async () => {
117
149
  const policiesDir = path.join(tempDir, '.gemini', 'policies');
118
150
  fs.mkdirSync(policiesDir, { recursive: true });
@@ -126,7 +158,22 @@ describe('resolveWorkspacePolicyState', () => {
126
158
  expect(result.workspacePoliciesDir).toBeUndefined();
127
159
  expect(result.policyUpdateConfirmationRequest).toBeUndefined();
128
160
  });
129
- it('should not return workspace policies if cwd is a symlink to the home directory', async () => {
161
+ it('should return empty state if disableWorkspacePolicies is true even if folder is trusted', async () => {
162
+ setDisableWorkspacePolicies(true);
163
+ // Set up policies directory with a file
164
+ fs.mkdirSync(policiesDir, { recursive: true });
165
+ fs.writeFileSync(path.join(policiesDir, 'policy.toml'), 'rules = []');
166
+ const result = await resolveWorkspacePolicyState({
167
+ cwd: workspaceDir,
168
+ trustedFolder: true,
169
+ interactive: true,
170
+ });
171
+ expect(result).toEqual({
172
+ workspacePoliciesDir: undefined,
173
+ policyUpdateConfirmationRequest: undefined,
174
+ });
175
+ });
176
+ it('should return empty state if cwd is a symlink to the home directory', async () => {
130
177
  const policiesDir = path.join(tempDir, '.gemini', 'policies');
131
178
  fs.mkdirSync(policiesDir, { recursive: true });
132
179
  fs.writeFileSync(path.join(policiesDir, 'policy.toml'), 'rules = []');
@@ -1 +1 @@
1
- {"version":3,"file":"policy.test.js","sourceRoot":"","sources":["../../../src/config/policy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.test.js","sourceRoot":"","sources":["../../../src/config/policy.test.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { loadCliConfig } from './config.js';
9
9
  import { createTestMergedSettings } from './settings.js';
10
10
  import * as ServerConfig from '@google/gemini-cli-core';
11
11
  import { isWorkspaceTrusted } from './trustedFolders.js';
12
+ import * as Policy from './policy.js';
12
13
  // Mock dependencies
13
14
  vi.mock('./trustedFolders.js', () => ({
14
15
  isWorkspaceTrusted: vi.fn(),
@@ -45,6 +46,7 @@ describe('Workspace-Level Policy CLI Integration', () => {
45
46
  const MOCK_CWD = process.cwd();
46
47
  beforeEach(() => {
47
48
  vi.clearAllMocks();
49
+ Policy.setDisableWorkspacePolicies(false);
48
50
  // Default to MATCH for existing tests
49
51
  mockCheckIntegrity.mockResolvedValue({
50
52
  status: 'match',
@@ -118,7 +120,7 @@ describe('Workspace-Level Policy CLI Integration', () => {
118
120
  workspacePoliciesDir: expect.stringContaining(path.join('.gemini', 'policies')),
119
121
  }), expect.anything());
120
122
  });
121
- it('should set policyUpdateConfirmationRequest if integrity MISMATCH in interactive mode', async () => {
123
+ it('should automatically accept and load workspacePoliciesDir if integrity MISMATCH in interactive mode when AUTO_ACCEPT is true', async () => {
122
124
  vi.mocked(isWorkspaceTrusted).mockReturnValue({
123
125
  isTrusted: true,
124
126
  source: 'file',
@@ -137,20 +139,13 @@ describe('Workspace-Level Policy CLI Integration', () => {
137
139
  const config = await loadCliConfig(settings, 'test-session', argv, {
138
140
  cwd: MOCK_CWD,
139
141
  });
140
- expect(config.getPolicyUpdateConfirmationRequest()).toEqual({
141
- scope: 'workspace',
142
- identifier: MOCK_CWD,
143
- policyDir: expect.stringContaining(path.join('.gemini', 'policies')),
144
- newHash: 'new-hash',
145
- });
146
- // In interactive mode without accept flag, it waits for user confirmation (handled by UI),
147
- // so it currently DOES NOT pass the directory to createPolicyEngineConfig yet.
148
- // The UI will handle the confirmation and reload/update.
142
+ expect(config.getPolicyUpdateConfirmationRequest()).toBeUndefined();
143
+ expect(mockAcceptIntegrity).toHaveBeenCalledWith('workspace', MOCK_CWD, 'new-hash');
149
144
  expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(expect.objectContaining({
150
- workspacePoliciesDir: undefined,
145
+ workspacePoliciesDir: expect.stringContaining(path.join('.gemini', 'policies')),
151
146
  }), expect.anything());
152
147
  });
153
- it('should set policyUpdateConfirmationRequest if integrity is NEW with files (first time seen) in interactive mode', async () => {
148
+ it('should automatically accept and load workspacePoliciesDir if integrity is NEW in interactive mode when AUTO_ACCEPT is true', async () => {
154
149
  vi.mocked(isWorkspaceTrusted).mockReturnValue({
155
150
  isTrusted: true,
156
151
  source: 'file',
@@ -166,15 +161,49 @@ describe('Workspace-Level Policy CLI Integration', () => {
166
161
  const config = await loadCliConfig(settings, 'test-session', argv, {
167
162
  cwd: MOCK_CWD,
168
163
  });
169
- expect(config.getPolicyUpdateConfirmationRequest()).toEqual({
170
- scope: 'workspace',
171
- identifier: MOCK_CWD,
172
- policyDir: expect.stringContaining(path.join('.gemini', 'policies')),
173
- newHash: 'new-hash',
174
- });
164
+ expect(config.getPolicyUpdateConfirmationRequest()).toBeUndefined();
165
+ expect(mockAcceptIntegrity).toHaveBeenCalledWith('workspace', MOCK_CWD, 'new-hash');
175
166
  expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(expect.objectContaining({
176
- workspacePoliciesDir: undefined,
167
+ workspacePoliciesDir: expect.stringContaining(path.join('.gemini', 'policies')),
177
168
  }), expect.anything());
178
169
  });
170
+ it('should set policyUpdateConfirmationRequest if integrity MISMATCH in interactive mode when AUTO_ACCEPT is false', async () => {
171
+ // Monkey patch autoAcceptWorkspacePolicies using setter
172
+ const originalValue = Policy.autoAcceptWorkspacePolicies;
173
+ Policy.setAutoAcceptWorkspacePolicies(false);
174
+ try {
175
+ vi.mocked(isWorkspaceTrusted).mockReturnValue({
176
+ isTrusted: true,
177
+ source: 'file',
178
+ });
179
+ mockCheckIntegrity.mockResolvedValue({
180
+ status: 'mismatch',
181
+ hash: 'new-hash',
182
+ fileCount: 1,
183
+ });
184
+ vi.mocked(ServerConfig.isHeadlessMode).mockReturnValue(false); // Interactive
185
+ const settings = createTestMergedSettings();
186
+ const argv = {
187
+ query: 'test',
188
+ promptInteractive: 'test',
189
+ };
190
+ const config = await loadCliConfig(settings, 'test-session', argv, {
191
+ cwd: MOCK_CWD,
192
+ });
193
+ expect(config.getPolicyUpdateConfirmationRequest()).toEqual({
194
+ scope: 'workspace',
195
+ identifier: MOCK_CWD,
196
+ policyDir: expect.stringContaining(path.join('.gemini', 'policies')),
197
+ newHash: 'new-hash',
198
+ });
199
+ expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(expect.objectContaining({
200
+ workspacePoliciesDir: undefined,
201
+ }), expect.anything());
202
+ }
203
+ finally {
204
+ // Restore for other tests
205
+ Policy.setAutoAcceptWorkspacePolicies(originalValue);
206
+ }
207
+ });
179
208
  });
180
209
  //# sourceMappingURL=workspace-policy-cli.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-policy-cli.test.js","sourceRoot":"","sources":["../../../src/config/workspace-policy-cli.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-policy-cli.test.js","sourceRoot":"","sources":["../../../src/config/workspace-policy-cli.test.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "3e3da76cc";
7
- export declare const CLI_VERSION = "0.31.0-preview.2";
6
+ export declare const GIT_COMMIT_INFO = "8553c3866";
7
+ export declare const CLI_VERSION = "0.31.0-preview.3";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = '3e3da76cc';
9
- export const CLI_VERSION = '0.31.0-preview.2';
8
+ export const GIT_COMMIT_INFO = '8553c3866';
9
+ export const CLI_VERSION = '0.31.0-preview.3';
10
10
  //# sourceMappingURL=git-commit.js.map