@google/gemini-cli-core 0.25.0-preview.0 → 0.26.0-nightly.20260119.20580d754

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 (214) hide show
  1. package/dist/docs/CONTRIBUTING.md +12 -4
  2. package/dist/docs/architecture.md +3 -3
  3. package/dist/docs/changelogs/index.md +25 -0
  4. package/dist/docs/changelogs/latest.md +150 -138
  5. package/dist/docs/changelogs/preview.md +211 -118
  6. package/dist/docs/changelogs/releases.md +408 -27
  7. package/dist/docs/cli/commands.md +24 -0
  8. package/dist/docs/cli/custom-commands.md +9 -9
  9. package/dist/docs/cli/index.md +4 -2
  10. package/dist/docs/cli/keyboard-shortcuts.md +40 -52
  11. package/dist/docs/cli/model-routing.md +1 -1
  12. package/dist/docs/cli/sandbox.md +1 -1
  13. package/dist/docs/cli/settings.md +26 -25
  14. package/dist/docs/cli/skills.md +8 -8
  15. package/dist/docs/cli/telemetry.md +3 -3
  16. package/dist/docs/extensions/getting-started-extensions.md +39 -2
  17. package/dist/docs/extensions/index.md +38 -4
  18. package/dist/docs/get-started/configuration.md +28 -13
  19. package/dist/docs/index.md +2 -0
  20. package/dist/docs/local-development.md +1 -1
  21. package/dist/docs/sidebar.json +4 -0
  22. package/dist/docs/tools/index.md +3 -0
  23. package/dist/docs/tools/mcp-server.md +2 -1
  24. package/dist/docs/troubleshooting.md +14 -2
  25. package/dist/google-gemini-cli-core-0.26.0-nightly.20260115.6cb3ae4e0.tgz +0 -0
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.js +1 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/src/agents/a2a-client-manager.d.ts +0 -5
  30. package/dist/src/agents/a2a-client-manager.js +1 -123
  31. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  32. package/dist/src/agents/a2a-client-manager.test.js +1 -62
  33. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  34. package/dist/src/agents/generalist-agent.d.ts +21 -0
  35. package/dist/src/agents/generalist-agent.js +62 -0
  36. package/dist/src/agents/generalist-agent.js.map +1 -0
  37. package/dist/src/agents/generalist-agent.test.d.ts +6 -0
  38. package/dist/src/agents/generalist-agent.test.js +31 -0
  39. package/dist/src/agents/generalist-agent.test.js.map +1 -0
  40. package/dist/src/agents/local-executor.d.ts +1 -0
  41. package/dist/src/agents/local-executor.js +4 -1
  42. package/dist/src/agents/local-executor.js.map +1 -1
  43. package/dist/src/agents/registry.d.ts +1 -0
  44. package/dist/src/agents/registry.js +51 -14
  45. package/dist/src/agents/registry.js.map +1 -1
  46. package/dist/src/agents/registry.test.js +101 -21
  47. package/dist/src/agents/registry.test.js.map +1 -1
  48. package/dist/src/agents/types.d.ts +1 -0
  49. package/dist/src/code_assist/admin/admin_controls.d.ts +23 -0
  50. package/dist/src/code_assist/admin/admin_controls.js +88 -0
  51. package/dist/src/code_assist/admin/admin_controls.js.map +1 -0
  52. package/dist/src/code_assist/admin/admin_controls.test.d.ts +6 -0
  53. package/dist/src/code_assist/admin/admin_controls.test.js +200 -0
  54. package/dist/src/code_assist/admin/admin_controls.test.js.map +1 -0
  55. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
  56. package/dist/src/code_assist/experiments/flagNames.js +1 -0
  57. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  58. package/dist/src/code_assist/server.d.ts +2 -1
  59. package/dist/src/code_assist/server.js +3 -0
  60. package/dist/src/code_assist/server.js.map +1 -1
  61. package/dist/src/code_assist/types.d.ts +56 -17
  62. package/dist/src/code_assist/types.js +16 -0
  63. package/dist/src/code_assist/types.js.map +1 -1
  64. package/dist/src/config/config.d.ts +27 -10
  65. package/dist/src/config/config.js +60 -12
  66. package/dist/src/config/config.js.map +1 -1
  67. package/dist/src/config/config.test.js +74 -25
  68. package/dist/src/config/config.test.js.map +1 -1
  69. package/dist/src/config/constants.d.ts +2 -0
  70. package/dist/src/config/constants.js +4 -0
  71. package/dist/src/config/constants.js.map +1 -1
  72. package/dist/src/confirmation-bus/types.d.ts +52 -2
  73. package/dist/src/confirmation-bus/types.js +1 -0
  74. package/dist/src/confirmation-bus/types.js.map +1 -1
  75. package/dist/src/core/client.js +3 -1
  76. package/dist/src/core/client.js.map +1 -1
  77. package/dist/src/core/client.test.js +15 -0
  78. package/dist/src/core/client.test.js.map +1 -1
  79. package/dist/src/core/contentGenerator.js +2 -1
  80. package/dist/src/core/contentGenerator.js.map +1 -1
  81. package/dist/src/core/coreToolScheduler.d.ts +1 -0
  82. package/dist/src/core/coreToolScheduler.js +9 -3
  83. package/dist/src/core/coreToolScheduler.js.map +1 -1
  84. package/dist/src/core/coreToolScheduler.test.js +49 -6
  85. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  86. package/dist/src/core/prompts.d.ts +1 -1
  87. package/dist/src/core/prompts.js +3 -2
  88. package/dist/src/core/prompts.js.map +1 -1
  89. package/dist/src/core/prompts.test.js +1 -0
  90. package/dist/src/core/prompts.test.js.map +1 -1
  91. package/dist/src/generated/git-commit.d.ts +2 -2
  92. package/dist/src/generated/git-commit.js +2 -2
  93. package/dist/src/generated/git-commit.js.map +1 -1
  94. package/dist/src/hooks/hookRegistry.js +5 -2
  95. package/dist/src/hooks/hookRegistry.js.map +1 -1
  96. package/dist/src/hooks/hookRegistry.test.js +30 -1
  97. package/dist/src/hooks/hookRegistry.test.js.map +1 -1
  98. package/dist/src/hooks/types.d.ts +4 -0
  99. package/dist/src/hooks/types.js +4 -0
  100. package/dist/src/hooks/types.js.map +1 -1
  101. package/dist/src/index.d.ts +1 -0
  102. package/dist/src/index.js +1 -0
  103. package/dist/src/index.js.map +1 -1
  104. package/dist/src/mcp/oauth-provider.d.ts +9 -1
  105. package/dist/src/mcp/oauth-provider.js +37 -6
  106. package/dist/src/mcp/oauth-provider.js.map +1 -1
  107. package/dist/src/mcp/oauth-provider.test.js +107 -1
  108. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  109. package/dist/src/policy/config.js +9 -0
  110. package/dist/src/policy/config.js.map +1 -1
  111. package/dist/src/policy/policies/plan.toml +70 -0
  112. package/dist/src/policy/policies/read-only.toml +0 -5
  113. package/dist/src/policy/toml-loader.js +1 -0
  114. package/dist/src/policy/toml-loader.js.map +1 -1
  115. package/dist/src/policy/toml-loader.test.js +2 -0
  116. package/dist/src/policy/toml-loader.test.js.map +1 -1
  117. package/dist/src/policy/types.d.ts +7 -1
  118. package/dist/src/policy/types.js +1 -0
  119. package/dist/src/policy/types.js.map +1 -1
  120. package/dist/src/scheduler/confirmation.d.ts +24 -0
  121. package/dist/src/scheduler/confirmation.js +50 -0
  122. package/dist/src/scheduler/confirmation.js.map +1 -0
  123. package/dist/src/scheduler/confirmation.test.d.ts +6 -0
  124. package/dist/src/scheduler/confirmation.test.js +143 -0
  125. package/dist/src/scheduler/confirmation.test.js.map +1 -0
  126. package/dist/src/scheduler/state-manager.d.ts +67 -0
  127. package/dist/src/scheduler/state-manager.js +335 -0
  128. package/dist/src/scheduler/state-manager.js.map +1 -0
  129. package/dist/src/scheduler/state-manager.test.d.ts +6 -0
  130. package/dist/src/scheduler/state-manager.test.js +386 -0
  131. package/dist/src/scheduler/state-manager.test.js.map +1 -0
  132. package/dist/src/scheduler/tool-executor.js +5 -5
  133. package/dist/src/scheduler/tool-executor.js.map +1 -1
  134. package/dist/src/scheduler/tool-executor.test.js +10 -9
  135. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  136. package/dist/src/scheduler/types.d.ts +10 -1
  137. package/dist/src/services/shellExecutionService.js +14 -3
  138. package/dist/src/services/shellExecutionService.js.map +1 -1
  139. package/dist/src/services/shellExecutionService.test.js +30 -1
  140. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  141. package/dist/src/skills/builtin/skill-creator/SKILL.md +382 -0
  142. package/dist/src/skills/builtin/skill-creator/scripts/init_skill.cjs +235 -0
  143. package/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +87 -0
  144. package/dist/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +127 -0
  145. package/dist/src/skills/skillLoader.js +65 -9
  146. package/dist/src/skills/skillLoader.js.map +1 -1
  147. package/dist/src/skills/skillLoader.test.js +110 -0
  148. package/dist/src/skills/skillLoader.test.js.map +1 -1
  149. package/dist/src/skills/skillManager.d.ts +2 -2
  150. package/dist/src/skills/skillManager.js +17 -6
  151. package/dist/src/skills/skillManager.js.map +1 -1
  152. package/dist/src/skills/skillManager.test.js +91 -4
  153. package/dist/src/skills/skillManager.test.js.map +1 -1
  154. package/dist/src/telemetry/sdk.test.js +2 -1
  155. package/dist/src/telemetry/sdk.test.js.map +1 -1
  156. package/dist/src/telemetry/semantic.js +88 -0
  157. package/dist/src/telemetry/semantic.js.map +1 -1
  158. package/dist/src/telemetry/semantic.truncation.test.d.ts +1 -0
  159. package/dist/src/telemetry/semantic.truncation.test.js +92 -0
  160. package/dist/src/telemetry/semantic.truncation.test.js.map +1 -0
  161. package/dist/src/test-utils/mock-tool.d.ts +1 -0
  162. package/dist/src/test-utils/mock-tool.js +1 -0
  163. package/dist/src/test-utils/mock-tool.js.map +1 -1
  164. package/dist/src/tools/mcp-client-manager.d.ts +1 -0
  165. package/dist/src/tools/mcp-client-manager.js +3 -0
  166. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  167. package/dist/src/tools/mcp-client-manager.test.js +12 -1
  168. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  169. package/dist/src/tools/shell.js +1 -0
  170. package/dist/src/tools/shell.js.map +1 -1
  171. package/dist/src/tools/tools.d.ts +2 -0
  172. package/dist/src/tools/tools.js.map +1 -1
  173. package/dist/src/utils/editCorrector.js +3 -3
  174. package/dist/src/utils/editCorrector.js.map +1 -1
  175. package/dist/src/utils/events.d.ts +6 -0
  176. package/dist/src/utils/events.js +7 -0
  177. package/dist/src/utils/events.js.map +1 -1
  178. package/dist/src/utils/fileUtils.d.ts +11 -3
  179. package/dist/src/utils/fileUtils.js +49 -49
  180. package/dist/src/utils/fileUtils.js.map +1 -1
  181. package/dist/src/utils/fileUtils.test.js +52 -106
  182. package/dist/src/utils/fileUtils.test.js.map +1 -1
  183. package/dist/src/utils/filesearch/crawler.d.ts +1 -0
  184. package/dist/src/utils/filesearch/crawler.js +18 -1
  185. package/dist/src/utils/filesearch/crawler.js.map +1 -1
  186. package/dist/src/utils/filesearch/crawler.test.js +29 -2
  187. package/dist/src/utils/filesearch/crawler.test.js.map +1 -1
  188. package/dist/src/utils/filesearch/fileSearch.d.ts +2 -1
  189. package/dist/src/utils/filesearch/fileSearch.js +3 -2
  190. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  191. package/dist/src/utils/filesearch/fileSearch.test.js +49 -28
  192. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  193. package/dist/src/utils/llm-edit-fixer.js +2 -2
  194. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  195. package/dist/src/utils/shell-utils.d.ts +1 -0
  196. package/dist/src/utils/shell-utils.js +46 -2
  197. package/dist/src/utils/shell-utils.js.map +1 -1
  198. package/dist/src/utils/shell-utils.test.js +90 -1
  199. package/dist/src/utils/shell-utils.test.js.map +1 -1
  200. package/dist/src/utils/textUtils.d.ts +8 -0
  201. package/dist/src/utils/textUtils.js +13 -0
  202. package/dist/src/utils/textUtils.js.map +1 -1
  203. package/dist/src/utils/textUtils.test.js +18 -1
  204. package/dist/src/utils/textUtils.test.js.map +1 -1
  205. package/dist/src/utils/tokenCalculation.d.ts +1 -1
  206. package/dist/src/utils/tokenCalculation.js +25 -9
  207. package/dist/src/utils/tokenCalculation.js.map +1 -1
  208. package/dist/src/utils/tokenCalculation.test.js +20 -0
  209. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  210. package/dist/tsconfig.tsbuildinfo +1 -1
  211. package/package.json +2 -2
  212. package/dist/src/utils/LruCache.d.ts +0 -13
  213. package/dist/src/utils/LruCache.js +0 -38
  214. package/dist/src/utils/LruCache.js.map +0 -1
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { debugLogger } from '../../utils/debugLogger.js';
7
+ import { isDeepStrictEqual } from 'node:util';
8
+ import { FetchAdminControlsResponseSchema, } from '../types.js';
9
+ let pollingInterval;
10
+ let currentSettings;
11
+ export function sanitizeAdminSettings(settings) {
12
+ const result = FetchAdminControlsResponseSchema.safeParse(settings);
13
+ if (!result.success) {
14
+ return {};
15
+ }
16
+ return result.data;
17
+ }
18
+ /**
19
+ * Fetches the admin controls from the server if enabled by experiment flag.
20
+ * Safely handles polling start/stop based on the flag and server availability.
21
+ *
22
+ * @param server The CodeAssistServer instance.
23
+ * @param cachedSettings The cached settings to use if available.
24
+ * @param adminControlsEnabled Whether admin controls are enabled.
25
+ * @param onSettingsChanged Callback to invoke when settings change during polling.
26
+ * @returns The fetched settings if enabled and successful, otherwise undefined.
27
+ */
28
+ export async function fetchAdminControls(server, cachedSettings, adminControlsEnabled, onSettingsChanged) {
29
+ if (!server || !server.projectId || !adminControlsEnabled) {
30
+ stopAdminControlsPolling();
31
+ currentSettings = undefined;
32
+ return {};
33
+ }
34
+ // If we already have settings (e.g. from IPC during relaunch), use them
35
+ // to avoid blocking startup with another fetch. We'll still start polling.
36
+ if (cachedSettings) {
37
+ currentSettings = cachedSettings;
38
+ startAdminControlsPolling(server, server.projectId, onSettingsChanged);
39
+ return cachedSettings;
40
+ }
41
+ try {
42
+ const rawSettings = await server.fetchAdminControls({
43
+ project: server.projectId,
44
+ });
45
+ const sanitizedSettings = sanitizeAdminSettings(rawSettings);
46
+ currentSettings = sanitizedSettings;
47
+ startAdminControlsPolling(server, server.projectId, onSettingsChanged);
48
+ return sanitizedSettings;
49
+ }
50
+ catch (e) {
51
+ debugLogger.error('Failed to fetch admin controls: ', e);
52
+ // If initial fetch fails, start polling to retry.
53
+ currentSettings = {};
54
+ startAdminControlsPolling(server, server.projectId, onSettingsChanged);
55
+ return {};
56
+ }
57
+ }
58
+ /**
59
+ * Starts polling for admin controls.
60
+ */
61
+ function startAdminControlsPolling(server, project, onSettingsChanged) {
62
+ stopAdminControlsPolling();
63
+ pollingInterval = setInterval(async () => {
64
+ try {
65
+ const rawSettings = await server.fetchAdminControls({
66
+ project,
67
+ });
68
+ const newSettings = sanitizeAdminSettings(rawSettings);
69
+ if (!isDeepStrictEqual(newSettings, currentSettings)) {
70
+ currentSettings = newSettings;
71
+ onSettingsChanged(newSettings);
72
+ }
73
+ }
74
+ catch (e) {
75
+ debugLogger.error('Failed to poll admin controls: ', e);
76
+ }
77
+ }, 5 * 60 * 1000); // 5 minutes
78
+ }
79
+ /**
80
+ * Stops polling for admin controls.
81
+ */
82
+ export function stopAdminControlsPolling() {
83
+ if (pollingInterval) {
84
+ clearInterval(pollingInterval);
85
+ pollingInterval = undefined;
86
+ }
87
+ }
88
+ //# sourceMappingURL=admin_controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin_controls.js","sourceRoot":"","sources":["../../../../src/code_assist/admin/admin_controls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,200 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach, afterEach, } from 'vitest';
7
+ import { fetchAdminControls, sanitizeAdminSettings, stopAdminControlsPolling, } from './admin_controls.js';
8
+ describe('Admin Controls', () => {
9
+ let mockServer;
10
+ let mockOnSettingsChanged;
11
+ beforeEach(() => {
12
+ vi.resetAllMocks();
13
+ vi.useFakeTimers();
14
+ mockServer = {
15
+ projectId: 'test-project',
16
+ fetchAdminControls: vi.fn(),
17
+ };
18
+ mockOnSettingsChanged = vi.fn();
19
+ });
20
+ afterEach(() => {
21
+ stopAdminControlsPolling();
22
+ vi.useRealTimers();
23
+ });
24
+ describe('sanitizeAdminSettings', () => {
25
+ it('should strip unknown fields', () => {
26
+ const input = {
27
+ secureModeEnabled: true,
28
+ extraField: 'should be removed',
29
+ mcpSetting: {
30
+ mcpEnabled: false,
31
+ unknownMcpField: 'remove me',
32
+ },
33
+ };
34
+ const result = sanitizeAdminSettings(input);
35
+ expect(result).toEqual({
36
+ secureModeEnabled: true,
37
+ mcpSetting: {
38
+ mcpEnabled: false,
39
+ },
40
+ });
41
+ // Explicitly check that unknown fields are gone
42
+ expect(result['extraField']).toBeUndefined();
43
+ });
44
+ it('should preserve valid nested fields', () => {
45
+ const input = {
46
+ cliFeatureSetting: {
47
+ extensionsSetting: {
48
+ extensionsEnabled: true,
49
+ },
50
+ },
51
+ };
52
+ expect(sanitizeAdminSettings(input)).toEqual(input);
53
+ });
54
+ });
55
+ describe('fetchAdminControls', () => {
56
+ it('should return empty object and not poll if server is missing', async () => {
57
+ const result = await fetchAdminControls(undefined, undefined, true, mockOnSettingsChanged);
58
+ expect(result).toEqual({});
59
+ expect(mockServer.fetchAdminControls).not.toHaveBeenCalled();
60
+ });
61
+ it('should return empty object if project ID is missing', async () => {
62
+ mockServer = {
63
+ fetchAdminControls: vi.fn(),
64
+ };
65
+ const result = await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
66
+ expect(result).toEqual({});
67
+ expect(mockServer.fetchAdminControls).not.toHaveBeenCalled();
68
+ });
69
+ it('should use cachedSettings and start polling if provided', async () => {
70
+ const cachedSettings = { secureModeEnabled: true };
71
+ const result = await fetchAdminControls(mockServer, cachedSettings, true, mockOnSettingsChanged);
72
+ expect(result).toEqual(cachedSettings);
73
+ expect(mockServer.fetchAdminControls).not.toHaveBeenCalled();
74
+ // Should still start polling
75
+ mockServer.fetchAdminControls.mockResolvedValue({
76
+ secureModeEnabled: false,
77
+ });
78
+ await vi.advanceTimersByTimeAsync(5 * 60 * 1000);
79
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(1);
80
+ });
81
+ it('should return empty object if admin controls are disabled', async () => {
82
+ const result = await fetchAdminControls(mockServer, undefined, false, mockOnSettingsChanged);
83
+ expect(result).toEqual({});
84
+ expect(mockServer.fetchAdminControls).not.toHaveBeenCalled();
85
+ });
86
+ it('should fetch from server if no cachedSettings provided', async () => {
87
+ const serverResponse = { secureModeEnabled: true };
88
+ mockServer.fetchAdminControls.mockResolvedValue(serverResponse);
89
+ const result = await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
90
+ expect(result).toEqual(serverResponse);
91
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(1);
92
+ });
93
+ it('should return empty object on fetch error and still start polling', async () => {
94
+ mockServer.fetchAdminControls.mockRejectedValue(new Error('Network error'));
95
+ const result = await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
96
+ expect(result).toEqual({});
97
+ // Polling should have been started and should retry
98
+ mockServer.fetchAdminControls.mockResolvedValue({
99
+ secureModeEnabled: true,
100
+ });
101
+ await vi.advanceTimersByTimeAsync(5 * 60 * 1000);
102
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(2); // Initial + poll
103
+ });
104
+ it('should sanitize server response', async () => {
105
+ mockServer.fetchAdminControls.mockResolvedValue({
106
+ secureModeEnabled: true,
107
+ unknownField: 'bad',
108
+ });
109
+ const result = await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
110
+ expect(result).toEqual({ secureModeEnabled: true });
111
+ expect(result['unknownField']).toBeUndefined();
112
+ });
113
+ it('should reset polling interval if called again', async () => {
114
+ mockServer.fetchAdminControls.mockResolvedValue({});
115
+ // First call
116
+ await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
117
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(1);
118
+ // Advance time, but not enough to trigger the poll
119
+ await vi.advanceTimersByTimeAsync(2 * 60 * 1000);
120
+ // Second call, should reset the timer
121
+ await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
122
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(2);
123
+ // Advance time by 3 mins. If timer wasn't reset, it would have fired (2+3=5)
124
+ await vi.advanceTimersByTimeAsync(3 * 60 * 1000);
125
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(2); // No new poll
126
+ // Advance time by another 2 mins. Now it should fire.
127
+ await vi.advanceTimersByTimeAsync(2 * 60 * 1000);
128
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(3); // Poll fires
129
+ });
130
+ });
131
+ describe('polling', () => {
132
+ it('should poll and emit changes', async () => {
133
+ // Initial fetch
134
+ mockServer.fetchAdminControls.mockResolvedValue({
135
+ secureModeEnabled: false,
136
+ });
137
+ await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
138
+ // Update for next poll
139
+ mockServer.fetchAdminControls.mockResolvedValue({
140
+ secureModeEnabled: true,
141
+ });
142
+ // Fast forward
143
+ await vi.advanceTimersByTimeAsync(5 * 60 * 1000);
144
+ expect(mockOnSettingsChanged).toHaveBeenCalledWith({
145
+ secureModeEnabled: true,
146
+ });
147
+ });
148
+ it('should NOT emit if settings are deeply equal but not the same instance', async () => {
149
+ const settings = { secureModeEnabled: true };
150
+ mockServer.fetchAdminControls.mockResolvedValue(settings);
151
+ await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
152
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(1);
153
+ mockOnSettingsChanged.mockClear();
154
+ // Next poll returns a different object with the same values
155
+ mockServer.fetchAdminControls.mockResolvedValue({
156
+ secureModeEnabled: true,
157
+ });
158
+ await vi.advanceTimersByTimeAsync(5 * 60 * 1000);
159
+ expect(mockOnSettingsChanged).not.toHaveBeenCalled();
160
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(2);
161
+ });
162
+ it('should continue polling after a fetch error', async () => {
163
+ // Initial fetch is successful
164
+ mockServer.fetchAdminControls.mockResolvedValue({
165
+ secureModeEnabled: false,
166
+ });
167
+ await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
168
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(1);
169
+ // Next poll fails
170
+ mockServer.fetchAdminControls.mockRejectedValue(new Error('Poll failed'));
171
+ await vi.advanceTimersByTimeAsync(5 * 60 * 1000);
172
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(2);
173
+ expect(mockOnSettingsChanged).not.toHaveBeenCalled(); // No changes on error
174
+ // Subsequent poll succeeds with new data
175
+ mockServer.fetchAdminControls.mockResolvedValue({
176
+ secureModeEnabled: true,
177
+ });
178
+ await vi.advanceTimersByTimeAsync(5 * 60 * 1000);
179
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(3);
180
+ expect(mockOnSettingsChanged).toHaveBeenCalledWith({
181
+ secureModeEnabled: true,
182
+ });
183
+ });
184
+ });
185
+ describe('stopAdminControlsPolling', () => {
186
+ it('should stop polling after it has started', async () => {
187
+ mockServer.fetchAdminControls.mockResolvedValue({});
188
+ // Start polling
189
+ await fetchAdminControls(mockServer, undefined, true, mockOnSettingsChanged);
190
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(1);
191
+ // Stop polling
192
+ stopAdminControlsPolling();
193
+ // Advance timer well beyond the polling interval
194
+ await vi.advanceTimersByTimeAsync(10 * 60 * 1000);
195
+ // The poll should not have fired again
196
+ expect(mockServer.fetchAdminControls).toHaveBeenCalledTimes(1);
197
+ });
198
+ });
199
+ });
200
+ //# sourceMappingURL=admin_controls.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin_controls.test.js","sourceRoot":"","sources":["../../../../src/code_assist/admin/admin_controls.test.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,6 @@ export declare const ExperimentFlags: {
9
9
  readonly BANNER_TEXT_NO_CAPACITY_ISSUES: 45740199;
10
10
  readonly BANNER_TEXT_CAPACITY_ISSUES: 45740200;
11
11
  readonly ENABLE_PREVIEW: 45740196;
12
+ readonly ENABLE_ADMIN_CONTROLS: 45752213;
12
13
  };
13
14
  export type ExperimentFlagName = (typeof ExperimentFlags)[keyof typeof ExperimentFlags];
@@ -9,5 +9,6 @@ export const ExperimentFlags = {
9
9
  BANNER_TEXT_NO_CAPACITY_ISSUES: 45740199,
10
10
  BANNER_TEXT_CAPACITY_ISSUES: 45740200,
11
11
  ENABLE_PREVIEW: 45740196,
12
+ ENABLE_ADMIN_CONTROLS: 45752213,
12
13
  };
13
14
  //# sourceMappingURL=flagNames.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flagNames.js","sourceRoot":"","sources":["../../../../src/code_assist/experiments/flagNames.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,6BAA6B,EAAE,QAAQ;IACvC,YAAY,EAAE,QAAQ;IACtB,8BAA8B,EAAE,QAAQ;IACxC,2BAA2B,EAAE,QAAQ;IACrC,cAAc,EAAE,QAAQ;CAChB,CAAC"}
1
+ {"version":3,"file":"flagNames.js","sourceRoot":"","sources":["../../../../src/code_assist/experiments/flagNames.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,6BAA6B,EAAE,QAAQ;IACvC,YAAY,EAAE,QAAQ;IACtB,8BAA8B,EAAE,QAAQ;IACxC,2BAA2B,EAAE,QAAQ;IACrC,cAAc,EAAE,QAAQ;IACxB,qBAAqB,EAAE,QAAQ;CACvB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { AuthClient } from 'google-auth-library';
7
- import type { CodeAssistGlobalUserSettingResponse, LoadCodeAssistRequest, LoadCodeAssistResponse, LongRunningOperationResponse, OnboardUserRequest, SetCodeAssistGlobalUserSettingRequest, ClientMetadata, RetrieveUserQuotaRequest, RetrieveUserQuotaResponse, ConversationOffered, ConversationInteraction, RecordCodeAssistMetricsRequest } from './types.js';
7
+ import type { CodeAssistGlobalUserSettingResponse, LoadCodeAssistRequest, LoadCodeAssistResponse, LongRunningOperationResponse, OnboardUserRequest, SetCodeAssistGlobalUserSettingRequest, ClientMetadata, RetrieveUserQuotaRequest, RetrieveUserQuotaResponse, FetchAdminControlsRequest, FetchAdminControlsResponse, ConversationOffered, ConversationInteraction, RecordCodeAssistMetricsRequest } from './types.js';
8
8
  import type { ListExperimentsResponse } from './experiments/types.js';
9
9
  import type { CountTokensParameters, CountTokensResponse, EmbedContentParameters, EmbedContentResponse, GenerateContentParameters, GenerateContentResponse } from '@google/genai';
10
10
  import type { ContentGenerator } from '../core/contentGenerator.js';
@@ -28,6 +28,7 @@ export declare class CodeAssistServer implements ContentGenerator {
28
28
  onboardUser(req: OnboardUserRequest): Promise<LongRunningOperationResponse>;
29
29
  getOperation(name: string): Promise<LongRunningOperationResponse>;
30
30
  loadCodeAssist(req: LoadCodeAssistRequest): Promise<LoadCodeAssistResponse>;
31
+ fetchAdminControls(req: FetchAdminControlsRequest): Promise<FetchAdminControlsResponse>;
31
32
  getCodeAssistGlobalUserSetting(): Promise<CodeAssistGlobalUserSettingResponse>;
32
33
  setCodeAssistGlobalUserSetting(req: SetCodeAssistGlobalUserSettingRequest): Promise<CodeAssistGlobalUserSettingResponse>;
33
34
  countTokens(req: CountTokensParameters): Promise<CountTokensResponse>;
@@ -74,6 +74,9 @@ export class CodeAssistServer {
74
74
  }
75
75
  }
76
76
  }
77
+ async fetchAdminControls(req) {
78
+ return this.requestPost('fetchAdminControls', req);
79
+ }
77
80
  async getCodeAssistGlobalUserSetting() {
78
81
  return this.requestGet('getCodeAssistGlobalUserSetting');
79
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/code_assist/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/code_assist/server.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { z } from 'zod';
6
7
  export interface ClientMetadata {
7
8
  ideType?: ClientMetadataIdeType;
8
9
  ideVersion?: string;
@@ -232,22 +233,60 @@ export interface ConversationInteraction {
232
233
  language?: string;
233
234
  isAgentic?: boolean;
234
235
  }
235
- export interface GeminiCodeAssistSetting {
236
- secureModeEnabled?: boolean;
237
- mcpSetting?: McpSetting;
238
- cliFeatureSetting?: CliFeatureSetting;
239
- }
240
- export interface McpSetting {
241
- mcpEnabled?: boolean;
242
- allowedMcpConfigs?: McpConfig[];
243
- }
244
- export interface McpConfig {
245
- mcpServer?: string;
246
- }
247
- export interface CliFeatureSetting {
248
- extensionsSetting?: ExtensionsSetting;
249
- }
250
- export interface ExtensionsSetting {
251
- extensionsEnabled?: boolean;
236
+ export interface FetchAdminControlsRequest {
237
+ project: string;
252
238
  }
239
+ export type FetchAdminControlsResponse = z.infer<typeof FetchAdminControlsResponseSchema>;
240
+ export declare const FetchAdminControlsResponseSchema: z.ZodObject<{
241
+ secureModeEnabled: z.ZodOptional<z.ZodBoolean>;
242
+ mcpSetting: z.ZodOptional<z.ZodObject<{
243
+ mcpEnabled: z.ZodOptional<z.ZodBoolean>;
244
+ overrideMcpConfigJson: z.ZodOptional<z.ZodString>;
245
+ }, "strip", z.ZodTypeAny, {
246
+ mcpEnabled?: boolean | undefined;
247
+ overrideMcpConfigJson?: string | undefined;
248
+ }, {
249
+ mcpEnabled?: boolean | undefined;
250
+ overrideMcpConfigJson?: string | undefined;
251
+ }>>;
252
+ cliFeatureSetting: z.ZodOptional<z.ZodObject<{
253
+ extensionsSetting: z.ZodOptional<z.ZodObject<{
254
+ extensionsEnabled: z.ZodOptional<z.ZodBoolean>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ extensionsEnabled?: boolean | undefined;
257
+ }, {
258
+ extensionsEnabled?: boolean | undefined;
259
+ }>>;
260
+ }, "strip", z.ZodTypeAny, {
261
+ extensionsSetting?: {
262
+ extensionsEnabled?: boolean | undefined;
263
+ } | undefined;
264
+ }, {
265
+ extensionsSetting?: {
266
+ extensionsEnabled?: boolean | undefined;
267
+ } | undefined;
268
+ }>>;
269
+ }, "strip", z.ZodTypeAny, {
270
+ secureModeEnabled?: boolean | undefined;
271
+ mcpSetting?: {
272
+ mcpEnabled?: boolean | undefined;
273
+ overrideMcpConfigJson?: string | undefined;
274
+ } | undefined;
275
+ cliFeatureSetting?: {
276
+ extensionsSetting?: {
277
+ extensionsEnabled?: boolean | undefined;
278
+ } | undefined;
279
+ } | undefined;
280
+ }, {
281
+ secureModeEnabled?: boolean | undefined;
282
+ mcpSetting?: {
283
+ mcpEnabled?: boolean | undefined;
284
+ overrideMcpConfigJson?: string | undefined;
285
+ } | undefined;
286
+ cliFeatureSetting?: {
287
+ extensionsSetting?: {
288
+ extensionsEnabled?: boolean | undefined;
289
+ } | undefined;
290
+ } | undefined;
291
+ }>;
253
292
  export {};
@@ -3,6 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { z } from 'zod';
6
7
  /**
7
8
  * List of predefined reason codes when a tier is blocked from a specific tier.
8
9
  * https://source.corp.google.com/piper///depot/google3/google/internal/cloud/code/v1internal/cloudcode.proto;l=378
@@ -71,4 +72,19 @@ export var InitiationMethod;
71
72
  InitiationMethod[InitiationMethod["COMMAND"] = 2] = "COMMAND";
72
73
  InitiationMethod[InitiationMethod["AGENT"] = 3] = "AGENT";
73
74
  })(InitiationMethod || (InitiationMethod = {}));
75
+ const ExtensionsSettingSchema = z.object({
76
+ extensionsEnabled: z.boolean().optional(),
77
+ });
78
+ const CliFeatureSettingSchema = z.object({
79
+ extensionsSetting: ExtensionsSettingSchema.optional(),
80
+ });
81
+ const McpSettingSchema = z.object({
82
+ mcpEnabled: z.boolean().optional(),
83
+ overrideMcpConfigJson: z.string().optional(),
84
+ });
85
+ export const FetchAdminControlsResponseSchema = z.object({
86
+ secureModeEnabled: z.boolean().optional(),
87
+ mcpSetting: McpSettingSchema.optional(),
88
+ cliFeatureSetting: CliFeatureSettingSchema.optional(),
89
+ });
74
90
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code_assist/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgFH;;;GAGG;AACH,MAAM,CAAN,IAAY,wBAWX;AAXD,WAAY,wBAAwB;IAClC,uBAAuB;IACvB,uDAA2B,CAAA;IAC3B,qEAAyC,CAAA;IACzC,iEAAqC,CAAA;IACrC,6DAAiC,CAAA;IACjC,qEAAyC,CAAA;IACzC,+CAAmB,CAAA;IACnB,iEAAqC,CAAA;IACrC,yEAA6C,CAAA;IAC7C,qBAAqB;AACvB,CAAC,EAXW,wBAAwB,KAAxB,wBAAwB,QAWnC;AACD;;;;GAIG;AACH,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,gCAAkB,CAAA;IAClB,oCAAsB,CAAA;IACtB,wCAA0B,CAAA;AAC5B,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AA0CD;;;;GAIG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;IACjB,4CAAmB,CAAA;IACnB,wCAAe,CAAA;AACjB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AA2ED,MAAM,CAAN,IAAY,kCAWX;AAXD,WAAY,kCAAkC;IAC5C,iGAAW,CAAA;IACX,mGAAY,CAAA;IACZ,uGAAc,CAAA;IACd,2FAAQ,CAAA;IACR,+FAAU,CAAA;IACV,qHAAqB,CAAA;IACrB,uGAAc,CAAA;IACd,yGAAe,CAAA;IACf,2FAAQ,CAAA;IACR,2GAAgB,CAAA;AAClB,CAAC,EAXW,kCAAkC,KAAlC,kCAAkC,QAW7C;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,yFAA6B,CAAA;IAC7B,mFAA0B,CAAA;IAC1B,6FAA+B,CAAA;IAC/B,qFAA2B,CAAA;IAC3B,6EAAuB,CAAA;AACzB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,yGAAiC,CAAA;IACjC,qDAAO,CAAA;IACP,6DAAW,CAAA;IACX,yDAAS,CAAA;AACX,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code_assist/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgFxB;;;GAGG;AACH,MAAM,CAAN,IAAY,wBAWX;AAXD,WAAY,wBAAwB;IAClC,uBAAuB;IACvB,uDAA2B,CAAA;IAC3B,qEAAyC,CAAA;IACzC,iEAAqC,CAAA;IACrC,6DAAiC,CAAA;IACjC,qEAAyC,CAAA;IACzC,+CAAmB,CAAA;IACnB,iEAAqC,CAAA;IACrC,yEAA6C,CAAA;IAC7C,qBAAqB;AACvB,CAAC,EAXW,wBAAwB,KAAxB,wBAAwB,QAWnC;AACD;;;;GAIG;AACH,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,gCAAkB,CAAA;IAClB,oCAAsB,CAAA;IACtB,wCAA0B,CAAA;AAC5B,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AA0CD;;;;GAIG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;IACjB,4CAAmB,CAAA;IACnB,wCAAe,CAAA;AACjB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AA2ED,MAAM,CAAN,IAAY,kCAWX;AAXD,WAAY,kCAAkC;IAC5C,iGAAW,CAAA;IACX,mGAAY,CAAA;IACZ,uGAAc,CAAA;IACd,2FAAQ,CAAA;IACR,+FAAU,CAAA;IACV,qHAAqB,CAAA;IACrB,uGAAc,CAAA;IACd,yGAAe,CAAA;IACf,2FAAQ,CAAA;IACR,2GAAgB,CAAA;AAClB,CAAC,EAXW,kCAAkC,KAAlC,kCAAkC,QAW7C;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,yFAA6B,CAAA;IAC7B,mFAA0B,CAAA;IAC1B,6FAA+B,CAAA;IAC/B,qFAA2B,CAAA;IAC3B,6EAAuB,CAAA;AACzB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,yGAAiC,CAAA;IACjC,qDAAO,CAAA;IACP,6DAAW,CAAA;IACX,yDAAS,CAAA;AACX,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAkCD,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC"}