@google/gemini-cli 0.24.0-nightly.20251231.05049b5ab → 0.24.0-preview.0

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 (218) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/commands/extensions/settings.js +4 -0
  3. package/dist/src/commands/extensions/settings.js.map +1 -1
  4. package/dist/src/commands/extensions/settings.test.d.ts +6 -0
  5. package/dist/src/commands/extensions/settings.test.js +170 -0
  6. package/dist/src/commands/extensions/settings.test.js.map +1 -0
  7. package/dist/src/commands/hooks/migrate.js +1 -1
  8. package/dist/src/commands/hooks/migrate.js.map +1 -1
  9. package/dist/src/commands/hooks/migrate.test.js +1 -1
  10. package/dist/src/commands/hooks/migrate.test.js.map +1 -1
  11. package/dist/src/commands/skills/disable.d.ts +14 -0
  12. package/dist/src/commands/skills/disable.js +47 -0
  13. package/dist/src/commands/skills/disable.js.map +1 -0
  14. package/dist/src/commands/skills/disable.test.d.ts +6 -0
  15. package/dist/src/commands/skills/disable.test.js +80 -0
  16. package/dist/src/commands/skills/disable.test.js.map +1 -0
  17. package/dist/src/commands/skills/enable.d.ts +14 -0
  18. package/dist/src/commands/skills/enable.js +47 -0
  19. package/dist/src/commands/skills/enable.js.map +1 -0
  20. package/dist/src/commands/skills/enable.test.d.ts +6 -0
  21. package/dist/src/commands/skills/enable.test.js +80 -0
  22. package/dist/src/commands/skills/enable.test.js.map +1 -0
  23. package/dist/src/commands/skills/list.d.ts +8 -0
  24. package/dist/src/commands/skills/list.js +46 -0
  25. package/dist/src/commands/skills/list.js.map +1 -0
  26. package/dist/src/commands/skills/list.test.d.ts +6 -0
  27. package/dist/src/commands/skills/list.test.js +102 -0
  28. package/dist/src/commands/skills/list.test.js.map +1 -0
  29. package/dist/src/commands/skills.d.ts +7 -0
  30. package/dist/src/commands/skills.js +26 -0
  31. package/dist/src/commands/skills.js.map +1 -0
  32. package/dist/src/commands/skills.test.d.ts +6 -0
  33. package/dist/src/commands/skills.test.js +49 -0
  34. package/dist/src/commands/skills.test.js.map +1 -0
  35. package/dist/src/config/config.d.ts +0 -1
  36. package/dist/src/config/config.js +57 -22
  37. package/dist/src/config/config.js.map +1 -1
  38. package/dist/src/config/config.test.js +187 -1
  39. package/dist/src/config/config.test.js.map +1 -1
  40. package/dist/src/config/extension-manager-skills.test.d.ts +6 -0
  41. package/dist/src/config/extension-manager-skills.test.js +98 -0
  42. package/dist/src/config/extension-manager-skills.test.js.map +1 -0
  43. package/dist/src/config/extension-manager.js +27 -17
  44. package/dist/src/config/extension-manager.js.map +1 -1
  45. package/dist/src/config/extension.test.js +16 -10
  46. package/dist/src/config/extension.test.js.map +1 -1
  47. package/dist/src/config/extensions/consent.d.ts +5 -3
  48. package/dist/src/config/extensions/consent.js +30 -7
  49. package/dist/src/config/extensions/consent.js.map +1 -1
  50. package/dist/src/config/extensions/consent.test.js +97 -3
  51. package/dist/src/config/extensions/consent.test.js.map +1 -1
  52. package/dist/src/config/extensions/extensionSettings.d.ts +1 -0
  53. package/dist/src/config/extensions/extensionSettings.js +14 -0
  54. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  55. package/dist/src/config/extensions/extensionUpdates.test.d.ts +6 -0
  56. package/dist/src/config/extensions/extensionUpdates.test.js +243 -0
  57. package/dist/src/config/extensions/extensionUpdates.test.js.map +1 -0
  58. package/dist/src/config/settings.d.ts +2 -1
  59. package/dist/src/config/settings.js +25 -6
  60. package/dist/src/config/settings.js.map +1 -1
  61. package/dist/src/config/settings.test.js +86 -28
  62. package/dist/src/config/settings.test.js.map +1 -1
  63. package/dist/src/config/settingsSchema.d.ts +99 -14
  64. package/dist/src/config/settingsSchema.js +101 -14
  65. package/dist/src/config/settingsSchema.js.map +1 -1
  66. package/dist/src/config/settingsSchema.test.js +8 -0
  67. package/dist/src/config/settingsSchema.test.js.map +1 -1
  68. package/dist/src/gemini.js +22 -9
  69. package/dist/src/gemini.js.map +1 -1
  70. package/dist/src/gemini.test.js +0 -1
  71. package/dist/src/gemini.test.js.map +1 -1
  72. package/dist/src/generated/git-commit.d.ts +3 -3
  73. package/dist/src/generated/git-commit.js +3 -3
  74. package/dist/src/generated/git-commit.js.map +1 -1
  75. package/dist/src/nonInteractiveCli.js +24 -0
  76. package/dist/src/nonInteractiveCli.js.map +1 -1
  77. package/dist/src/nonInteractiveCli.test.js +44 -0
  78. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  79. package/dist/src/services/BuiltinCommandLoader.d.ts +1 -1
  80. package/dist/src/services/BuiltinCommandLoader.js +17 -1
  81. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  82. package/dist/src/services/BuiltinCommandLoader.test.js +3 -0
  83. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  84. package/dist/src/ui/AppContainer.js +41 -8
  85. package/dist/src/ui/AppContainer.js.map +1 -1
  86. package/dist/src/ui/AppContainer.test.js +16 -0
  87. package/dist/src/ui/AppContainer.test.js.map +1 -1
  88. package/dist/src/ui/commands/clearCommand.js +9 -1
  89. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  90. package/dist/src/ui/commands/directoryCommand.js +18 -1
  91. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  92. package/dist/src/ui/commands/directoryCommand.test.js +38 -2
  93. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
  94. package/dist/src/ui/commands/hooksCommand.js +1 -1
  95. package/dist/src/ui/commands/hooksCommand.js.map +1 -1
  96. package/dist/src/ui/commands/hooksCommand.test.js +1 -1
  97. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
  98. package/dist/src/ui/commands/mcpCommand.test.js +10 -2
  99. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
  100. package/dist/src/ui/commands/skillsCommand.d.ts +1 -1
  101. package/dist/src/ui/commands/skillsCommand.js +79 -5
  102. package/dist/src/ui/commands/skillsCommand.js.map +1 -1
  103. package/dist/src/ui/commands/skillsCommand.test.d.ts +1 -1
  104. package/dist/src/ui/commands/skillsCommand.test.js +146 -6
  105. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  106. package/dist/src/ui/commands/types.d.ts +5 -0
  107. package/dist/src/ui/components/Composer.js +4 -6
  108. package/dist/src/ui/components/Composer.js.map +1 -1
  109. package/dist/src/ui/components/Composer.test.js +22 -4
  110. package/dist/src/ui/components/Composer.test.js.map +1 -1
  111. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +1 -0
  112. package/dist/src/ui/components/ContextSummaryDisplay.js +12 -5
  113. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  114. package/dist/src/ui/components/ContextSummaryDisplay.test.js +56 -25
  115. package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
  116. package/dist/src/ui/components/FolderTrustDialog.js +19 -14
  117. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  118. package/dist/src/ui/components/FolderTrustDialog.test.js +12 -2
  119. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  120. package/dist/src/ui/components/Footer.js +4 -4
  121. package/dist/src/ui/components/Footer.js.map +1 -1
  122. package/dist/src/ui/components/HookStatusDisplay.d.ts +12 -0
  123. package/dist/src/ui/components/HookStatusDisplay.js +20 -0
  124. package/dist/src/ui/components/HookStatusDisplay.js.map +1 -0
  125. package/dist/src/ui/components/HookStatusDisplay.test.d.ts +6 -0
  126. package/dist/src/ui/components/HookStatusDisplay.test.js +51 -0
  127. package/dist/src/ui/components/HookStatusDisplay.test.js.map +1 -0
  128. package/dist/src/ui/components/InputPrompt.js +14 -6
  129. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  130. package/dist/src/ui/components/InputPrompt.test.js +21 -2
  131. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  132. package/dist/src/ui/components/ModelDialog.js +7 -3
  133. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  134. package/dist/src/ui/components/ModelDialog.test.js +16 -3
  135. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  136. package/dist/src/ui/components/SettingsDialog.js +33 -13
  137. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  138. package/dist/src/ui/components/SettingsDialog.test.js +16 -0
  139. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  140. package/dist/src/ui/components/StatusDisplay.d.ts +11 -0
  141. package/dist/src/ui/components/StatusDisplay.js +40 -0
  142. package/dist/src/ui/components/StatusDisplay.js.map +1 -0
  143. package/dist/src/ui/components/StatusDisplay.test.d.ts +6 -0
  144. package/dist/src/ui/components/StatusDisplay.test.js +143 -0
  145. package/dist/src/ui/components/StatusDisplay.test.js.map +1 -0
  146. package/dist/src/ui/components/views/SkillsList.test.js +22 -4
  147. package/dist/src/ui/components/views/SkillsList.test.js.map +1 -1
  148. package/dist/src/ui/constants/tips.js +0 -1
  149. package/dist/src/ui/constants/tips.js.map +1 -1
  150. package/dist/src/ui/constants.d.ts +2 -0
  151. package/dist/src/ui/constants.js +2 -0
  152. package/dist/src/ui/constants.js.map +1 -1
  153. package/dist/src/ui/contexts/KeypressContext.d.ts +1 -0
  154. package/dist/src/ui/contexts/KeypressContext.js +79 -6
  155. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  156. package/dist/src/ui/contexts/KeypressContext.test.js +71 -0
  157. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  158. package/dist/src/ui/contexts/UIStateContext.d.ts +3 -1
  159. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  160. package/dist/src/ui/hooks/atCommandProcessor.js +1 -1
  161. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  162. package/dist/src/ui/hooks/atCommandProcessor.test.js +9 -3
  163. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  164. package/dist/src/ui/hooks/useFolderTrust.js +14 -19
  165. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  166. package/dist/src/ui/hooks/useFolderTrust.test.js +30 -22
  167. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  168. package/dist/src/ui/hooks/useGeminiStream.js +29 -0
  169. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  170. package/dist/src/ui/hooks/useGeminiStream.test.js +39 -1
  171. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  172. package/dist/src/ui/hooks/useHookDisplayState.d.ts +7 -0
  173. package/dist/src/ui/hooks/useHookDisplayState.js +83 -0
  174. package/dist/src/ui/hooks/useHookDisplayState.js.map +1 -0
  175. package/dist/src/ui/hooks/useHookDisplayState.test.d.ts +6 -0
  176. package/dist/src/ui/hooks/useHookDisplayState.test.js +180 -0
  177. package/dist/src/ui/hooks/useHookDisplayState.test.js.map +1 -0
  178. package/dist/src/ui/hooks/useQuotaAndFallback.js +1 -1
  179. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
  180. package/dist/src/ui/hooks/useSlashCompletion.js +4 -1
  181. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  182. package/dist/src/ui/hooks/useToolScheduler.test.js +2 -2
  183. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  184. package/dist/src/ui/types.d.ts +8 -7
  185. package/dist/src/ui/types.js.map +1 -1
  186. package/dist/src/ui/utils/commandUtils.js +12 -7
  187. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  188. package/dist/src/ui/utils/commandUtils.test.js +24 -0
  189. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  190. package/dist/src/ui/utils/directoryUtils.d.ts +8 -0
  191. package/dist/src/ui/utils/directoryUtils.js +92 -0
  192. package/dist/src/ui/utils/directoryUtils.js.map +1 -1
  193. package/dist/src/ui/utils/directoryUtils.test.js +189 -2
  194. package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
  195. package/dist/src/ui/utils/terminalCapabilityManager.d.ts +7 -4
  196. package/dist/src/ui/utils/terminalCapabilityManager.js +61 -66
  197. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
  198. package/dist/src/ui/utils/terminalCapabilityManager.test.js +35 -0
  199. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
  200. package/dist/src/ui/utils/ui-sizing.js +1 -1
  201. package/dist/src/ui/utils/ui-sizing.js.map +1 -1
  202. package/dist/src/ui/utils/ui-sizing.test.js +2 -2
  203. package/dist/src/ui/utils/ui-sizing.test.js.map +1 -1
  204. package/dist/src/utils/settingsUtils.js +0 -5
  205. package/dist/src/utils/settingsUtils.js.map +1 -1
  206. package/dist/src/zed-integration/zedIntegration.js +1 -1
  207. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  208. package/dist/src/zed-integration/zedIntegration.test.js +12 -0
  209. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
  210. package/dist/tsconfig.tsbuildinfo +1 -1
  211. package/package.json +3 -3
  212. package/dist/google-gemini-cli-0.24.0-nightly.20251227.37be16243.tgz +0 -0
  213. package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
  214. package/dist/src/ui/hooks/useBracketedPaste.js +0 -31
  215. package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
  216. package/dist/src/ui/utils/bracketedPaste.d.ts +0 -7
  217. package/dist/src/ui/utils/bracketedPaste.js +0 -15
  218. package/dist/src/ui/utils/bracketedPaste.js.map +0 -1
@@ -4,7 +4,11 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
7
- import { requestConsentNonInteractive, requestConsentInteractive, maybeRequestConsentOrFail, INSTALL_WARNING_MESSAGE, } from './consent.js';
7
+ import chalk from 'chalk';
8
+ import * as fs from 'node:fs/promises';
9
+ import * as path from 'node:path';
10
+ import * as os from 'node:os';
11
+ import { requestConsentNonInteractive, requestConsentInteractive, maybeRequestConsentOrFail, INSTALL_WARNING_MESSAGE, SKILLS_WARNING_MESSAGE, } from './consent.js';
8
12
  import { debugLogger } from '@google/gemini-cli-core';
9
13
  const mockReadline = vi.hoisted(() => ({
10
14
  createInterface: vi.fn().mockReturnValue({
@@ -12,11 +16,23 @@ const mockReadline = vi.hoisted(() => ({
12
16
  close: vi.fn(),
13
17
  }),
14
18
  }));
19
+ const mockReaddir = vi.hoisted(() => vi.fn());
20
+ const originalReaddir = vi.hoisted(() => ({
21
+ current: null,
22
+ }));
15
23
  // Mocking readline for non-interactive prompts
16
24
  vi.mock('node:readline', () => ({
17
25
  default: mockReadline,
18
26
  createInterface: mockReadline.createInterface,
19
27
  }));
28
+ vi.mock('node:fs/promises', async (importOriginal) => {
29
+ const actual = await importOriginal();
30
+ originalReaddir.current = actual.readdir;
31
+ return {
32
+ ...actual,
33
+ readdir: mockReaddir,
34
+ };
35
+ });
20
36
  vi.mock('@google/gemini-cli-core', async (importOriginal) => {
21
37
  const actual = await importOriginal();
22
38
  return {
@@ -27,11 +43,20 @@ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
27
43
  };
28
44
  });
29
45
  describe('consent', () => {
30
- beforeEach(() => {
46
+ let tempDir;
47
+ beforeEach(async () => {
31
48
  vi.clearAllMocks();
49
+ if (originalReaddir.current) {
50
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
+ mockReaddir.mockImplementation(originalReaddir.current);
52
+ }
53
+ tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'consent-test-'));
32
54
  });
33
- afterEach(() => {
55
+ afterEach(async () => {
34
56
  vi.restoreAllMocks();
57
+ if (tempDir) {
58
+ await fs.rm(tempDir, { recursive: true, force: true });
59
+ }
35
60
  });
36
61
  describe('requestConsentNonInteractive', () => {
37
62
  it.each([
@@ -156,6 +181,75 @@ describe('consent', () => {
156
181
  await maybeRequestConsentOrFail(baseConfig, requestConsent, true, baseConfig, false);
157
182
  expect(requestConsent).toHaveBeenCalledTimes(1);
158
183
  });
184
+ it('should request consent if skills change', async () => {
185
+ const skill1Dir = path.join(tempDir, 'skill1');
186
+ const skill2Dir = path.join(tempDir, 'skill2');
187
+ await fs.mkdir(skill1Dir, { recursive: true });
188
+ await fs.mkdir(skill2Dir, { recursive: true });
189
+ await fs.writeFile(path.join(skill1Dir, 'SKILL.md'), 'body1');
190
+ await fs.writeFile(path.join(skill1Dir, 'extra.txt'), 'extra');
191
+ await fs.writeFile(path.join(skill2Dir, 'SKILL.md'), 'body2');
192
+ const skill1 = {
193
+ name: 'skill1',
194
+ description: 'desc1',
195
+ location: path.join(skill1Dir, 'SKILL.md'),
196
+ body: 'body1',
197
+ };
198
+ const skill2 = {
199
+ name: 'skill2',
200
+ description: 'desc2',
201
+ location: path.join(skill2Dir, 'SKILL.md'),
202
+ body: 'body2',
203
+ };
204
+ const config = {
205
+ ...baseConfig,
206
+ mcpServers: {
207
+ server1: { command: 'npm', args: ['start'] },
208
+ server2: { httpUrl: 'https://remote.com' },
209
+ },
210
+ contextFileName: 'my-context.md',
211
+ excludeTools: ['tool1', 'tool2'],
212
+ };
213
+ const requestConsent = vi.fn().mockResolvedValue(true);
214
+ await maybeRequestConsentOrFail(config, requestConsent, false, undefined, false, [skill1, skill2]);
215
+ const expectedConsentString = [
216
+ 'Installing extension "test-ext".',
217
+ INSTALL_WARNING_MESSAGE,
218
+ 'This extension will run the following MCP servers:',
219
+ ' * server1 (local): npm start',
220
+ ' * server2 (remote): https://remote.com',
221
+ 'This extension will append info to your gemini.md context using my-context.md',
222
+ 'This extension will exclude the following core tools: tool1,tool2',
223
+ '',
224
+ chalk.bold('Agent Skills:'),
225
+ SKILLS_WARNING_MESSAGE,
226
+ 'This extension will install the following agent skills:',
227
+ ` * ${chalk.bold('skill1')}: desc1`,
228
+ ` (Location: ${skill1.location}) (2 items in directory)`,
229
+ ` * ${chalk.bold('skill2')}: desc2`,
230
+ ` (Location: ${skill2.location}) (1 items in directory)`,
231
+ '',
232
+ ].join('\n');
233
+ expect(requestConsent).toHaveBeenCalledWith(expectedConsentString);
234
+ });
235
+ it('should show a warning if the skill directory cannot be read', async () => {
236
+ const lockedDir = path.join(tempDir, 'locked');
237
+ await fs.mkdir(lockedDir, { recursive: true });
238
+ const skill = {
239
+ name: 'locked-skill',
240
+ description: 'A skill in a locked dir',
241
+ location: path.join(lockedDir, 'SKILL.md'),
242
+ body: 'body',
243
+ };
244
+ // Mock readdir to simulate a permission error.
245
+ // We do this instead of using fs.mkdir(..., { mode: 0o000 }) because
246
+ // directory permissions work differently on Windows and 0o000 doesn't
247
+ // effectively block access there, leading to test failures in Windows CI.
248
+ mockReaddir.mockRejectedValueOnce(new Error('EACCES: permission denied, scandir'));
249
+ const requestConsent = vi.fn().mockResolvedValue(true);
250
+ await maybeRequestConsentOrFail(baseConfig, requestConsent, false, undefined, false, [skill]);
251
+ expect(requestConsent).toHaveBeenCalledWith(expect.stringContaining(` (Location: ${skill.location}) ${chalk.red('⚠️ (Could not count items in directory)')}`));
252
+ });
159
253
  });
160
254
  });
161
255
  });
@@ -1 +1 @@
1
- {"version":3,"file":"consent.test.js","sourceRoot":"","sources":["../../../../src/config/extensions/consent.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consent.test.js","sourceRoot":"","sources":["../../../../src/config/extensions/consent.test.ts"],"names":[],"mappings":"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"}
@@ -19,3 +19,4 @@ export declare function promptForSetting(setting: ExtensionSetting): Promise<str
19
19
  export declare function getScopedEnvContents(extensionConfig: ExtensionConfig, extensionId: string, scope: ExtensionSettingScope): Promise<Record<string, string>>;
20
20
  export declare function getEnvContents(extensionConfig: ExtensionConfig, extensionId: string): Promise<Record<string, string>>;
21
21
  export declare function updateSetting(extensionConfig: ExtensionConfig, extensionId: string, settingKey: string, requestSetting: (setting: ExtensionSetting) => Promise<string>, scope: ExtensionSettingScope): Promise<void>;
22
+ export declare function getMissingSettings(extensionConfig: ExtensionConfig, extensionId: string): Promise<ExtensionSetting[]>;
@@ -181,4 +181,18 @@ async function clearSettings(envFilePath, keychain) {
181
181
  }
182
182
  return;
183
183
  }
184
+ export async function getMissingSettings(extensionConfig, extensionId) {
185
+ const { settings } = extensionConfig;
186
+ if (!settings || settings.length === 0) {
187
+ return [];
188
+ }
189
+ const existingSettings = await getEnvContents(extensionConfig, extensionId);
190
+ const missingSettings = [];
191
+ for (const setting of settings) {
192
+ if (existingSettings[setting.envVar] === undefined) {
193
+ missingSettings.push(setting);
194
+ }
195
+ }
196
+ return missingSettings;
197
+ }
184
198
  //# sourceMappingURL=extensionSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extensionSettings.js","sourceRoot":"","sources":["../../../../src/config/extensions/extensionSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extensionSettings.js","sourceRoot":"","sources":["../../../../src/config/extensions/extensionSettings.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,243 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
7
+ import * as path from 'node:path';
8
+ import * as os from 'node:os';
9
+ import * as fs from 'node:fs';
10
+ import { getMissingSettings } from './extensionSettings.js';
11
+ import { ExtensionStorage } from './storage.js';
12
+ import { KeychainTokenStorage, debugLogger, coreEvents, } from '@google/gemini-cli-core';
13
+ import { EXTENSION_SETTINGS_FILENAME } from './variables.js';
14
+ import { ExtensionManager } from '../extension-manager.js';
15
+ vi.mock('node:fs', async (importOriginal) => {
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ const actual = await importOriginal();
18
+ return {
19
+ ...actual,
20
+ default: {
21
+ ...actual.default,
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ existsSync: vi.fn((...args) => actual.existsSync(...args)),
24
+ },
25
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
+ existsSync: vi.fn((...args) => actual.existsSync(...args)),
27
+ };
28
+ });
29
+ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
30
+ const actual = await importOriginal();
31
+ return {
32
+ ...actual,
33
+ KeychainTokenStorage: vi.fn(),
34
+ debugLogger: {
35
+ warn: vi.fn(),
36
+ error: vi.fn(),
37
+ log: vi.fn(),
38
+ },
39
+ coreEvents: {
40
+ emitFeedback: vi.fn(), // Mock emitFeedback
41
+ on: vi.fn(),
42
+ off: vi.fn(),
43
+ },
44
+ };
45
+ });
46
+ // Mock os.homedir because ExtensionStorage uses it
47
+ vi.mock('os', async (importOriginal) => {
48
+ const mockedOs = await importOriginal();
49
+ return {
50
+ ...mockedOs,
51
+ homedir: vi.fn(),
52
+ };
53
+ });
54
+ describe('extensionUpdates', () => {
55
+ let tempHomeDir;
56
+ let tempWorkspaceDir;
57
+ let extensionDir;
58
+ let mockKeychainData;
59
+ beforeEach(() => {
60
+ vi.clearAllMocks();
61
+ mockKeychainData = {};
62
+ // Mock Keychain
63
+ vi.mocked(KeychainTokenStorage).mockImplementation((serviceName) => {
64
+ if (!mockKeychainData[serviceName]) {
65
+ mockKeychainData[serviceName] = {};
66
+ }
67
+ const keychainData = mockKeychainData[serviceName];
68
+ return {
69
+ getSecret: vi
70
+ .fn()
71
+ .mockImplementation(async (key) => keychainData[key] || null),
72
+ setSecret: vi
73
+ .fn()
74
+ .mockImplementation(async (key, value) => {
75
+ keychainData[key] = value;
76
+ }),
77
+ deleteSecret: vi.fn().mockImplementation(async (key) => {
78
+ delete keychainData[key];
79
+ }),
80
+ listSecrets: vi
81
+ .fn()
82
+ .mockImplementation(async () => Object.keys(keychainData)),
83
+ isAvailable: vi.fn().mockResolvedValue(true),
84
+ };
85
+ });
86
+ // Setup Temp Dirs
87
+ tempHomeDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gemini-cli-test-home-'));
88
+ tempWorkspaceDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gemini-cli-test-workspace-'));
89
+ extensionDir = path.join(tempHomeDir, '.gemini', 'extensions', 'test-ext');
90
+ // Mock ExtensionStorage to rely on our temp extension dir
91
+ vi.spyOn(ExtensionStorage.prototype, 'getExtensionDir').mockReturnValue(extensionDir);
92
+ // Mock getEnvFilePath is checking extensionDir/variables.env? No, it used ExtensionStorage logic.
93
+ // getEnvFilePath in extensionSettings.ts:
94
+ // if workspace, process.cwd()/.env (we need to mock process.cwd or move tempWorkspaceDir there)
95
+ // if user, ExtensionStorage(name).getEnvFilePath() -> joins extensionDir + '.env'
96
+ fs.mkdirSync(extensionDir, { recursive: true });
97
+ vi.mocked(os.homedir).mockReturnValue(tempHomeDir);
98
+ vi.spyOn(process, 'cwd').mockReturnValue(tempWorkspaceDir);
99
+ });
100
+ afterEach(() => {
101
+ fs.rmSync(tempHomeDir, { recursive: true, force: true });
102
+ fs.rmSync(tempWorkspaceDir, { recursive: true, force: true });
103
+ vi.restoreAllMocks();
104
+ });
105
+ describe('getMissingSettings', () => {
106
+ it('should return empty list if all settings are present', async () => {
107
+ const config = {
108
+ name: 'test-ext',
109
+ version: '1.0.0',
110
+ settings: [
111
+ { name: 's1', description: 'd1', envVar: 'VAR1' },
112
+ { name: 's2', description: 'd2', envVar: 'VAR2', sensitive: true },
113
+ ],
114
+ };
115
+ const extensionId = '12345';
116
+ // Setup User Env
117
+ const userEnvPath = path.join(extensionDir, EXTENSION_SETTINGS_FILENAME);
118
+ fs.writeFileSync(userEnvPath, 'VAR1=val1');
119
+ // Setup Keychain
120
+ const userKeychain = new KeychainTokenStorage(`Gemini CLI Extensions test-ext ${extensionId}`);
121
+ await userKeychain.setSecret('VAR2', 'val2');
122
+ const missing = await getMissingSettings(config, extensionId);
123
+ expect(missing).toEqual([]);
124
+ });
125
+ it('should identify missing non-sensitive settings', async () => {
126
+ const config = {
127
+ name: 'test-ext',
128
+ version: '1.0.0',
129
+ settings: [{ name: 's1', description: 'd1', envVar: 'VAR1' }],
130
+ };
131
+ const extensionId = '12345';
132
+ const missing = await getMissingSettings(config, extensionId);
133
+ expect(missing).toHaveLength(1);
134
+ expect(missing[0].name).toBe('s1');
135
+ });
136
+ it('should identify missing sensitive settings', async () => {
137
+ const config = {
138
+ name: 'test-ext',
139
+ version: '1.0.0',
140
+ settings: [
141
+ { name: 's2', description: 'd2', envVar: 'VAR2', sensitive: true },
142
+ ],
143
+ };
144
+ const extensionId = '12345';
145
+ const missing = await getMissingSettings(config, extensionId);
146
+ expect(missing).toHaveLength(1);
147
+ expect(missing[0].name).toBe('s2');
148
+ });
149
+ it('should respect settings present in workspace', async () => {
150
+ const config = {
151
+ name: 'test-ext',
152
+ version: '1.0.0',
153
+ settings: [{ name: 's1', description: 'd1', envVar: 'VAR1' }],
154
+ };
155
+ const extensionId = '12345';
156
+ // Setup Workspace Env
157
+ const workspaceEnvPath = path.join(tempWorkspaceDir, EXTENSION_SETTINGS_FILENAME);
158
+ fs.writeFileSync(workspaceEnvPath, 'VAR1=val1');
159
+ const missing = await getMissingSettings(config, extensionId);
160
+ expect(missing).toEqual([]);
161
+ });
162
+ });
163
+ describe('ExtensionManager integration', () => {
164
+ it('should warn about missing settings after update', async () => {
165
+ // Mock ExtensionManager methods to avoid FS/Network usage
166
+ const newConfig = {
167
+ name: 'test-ext',
168
+ version: '1.1.0',
169
+ settings: [{ name: 's1', description: 'd1', envVar: 'VAR1' }],
170
+ };
171
+ const previousConfig = {
172
+ name: 'test-ext',
173
+ version: '1.0.0',
174
+ settings: [],
175
+ };
176
+ const installMetadata = {
177
+ source: extensionDir,
178
+ type: 'local',
179
+ autoUpdate: true,
180
+ };
181
+ const manager = new ExtensionManager({
182
+ workspaceDir: tempWorkspaceDir,
183
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
184
+ settings: { telemetry: {} },
185
+ requestConsent: vi.fn().mockResolvedValue(true),
186
+ requestSetting: null, // Simulate non-interactive
187
+ });
188
+ // Mock methods called by installOrUpdateExtension
189
+ vi.spyOn(manager, 'loadExtensionConfig').mockResolvedValue(newConfig);
190
+ vi.spyOn(manager, 'getExtensions').mockReturnValue([
191
+ {
192
+ name: 'test-ext',
193
+ version: '1.0.0',
194
+ installMetadata,
195
+ path: extensionDir,
196
+ // Mocks for other required props
197
+ contextFiles: [],
198
+ mcpServers: {},
199
+ hooks: undefined,
200
+ isActive: true,
201
+ id: 'test-id',
202
+ settings: [],
203
+ resolvedSettings: [],
204
+ skills: [],
205
+ },
206
+ ]);
207
+ vi.spyOn(manager, 'uninstallExtension').mockResolvedValue(undefined);
208
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
209
+ vi.spyOn(manager, 'loadExtension').mockResolvedValue({});
210
+ vi.spyOn(manager, 'enableExtension').mockResolvedValue(undefined);
211
+ // Mock fs.promises for the operations inside installOrUpdateExtension
212
+ vi.spyOn(fs.promises, 'mkdir').mockResolvedValue(undefined);
213
+ vi.spyOn(fs.promises, 'writeFile').mockResolvedValue(undefined);
214
+ vi.spyOn(fs.promises, 'rm').mockResolvedValue(undefined);
215
+ vi.mocked(fs.existsSync).mockReturnValue(false); // No hooks
216
+ // Mock copyExtension? It's imported.
217
+ // We can rely on ignoring the failure if we mock enough.
218
+ // Actually copyExtension is called. We need to mock it if it does real IO.
219
+ // But we can just let it fail or mock fs.cp if it uses it.
220
+ // Let's assume the other mocks cover the critical path to the warning.
221
+ // Warning happens BEFORE copyExtension?
222
+ // No, warning is after copyExtension usually.
223
+ // But in my code:
224
+ // const missingSettings = await getMissingSettings(...)
225
+ // if (missingSettings.length > 0) debugLogger.warn(...)
226
+ // ...
227
+ // copyExtension(...)
228
+ // Wait, let's check extension-manager.ts order.
229
+ // Line 303: getMissingSettings
230
+ // Line 317: if (installMetadata.type === 'local' ...) copyExtension
231
+ // So getMissingSettings is called BEFORE copyExtension.
232
+ try {
233
+ await manager.installOrUpdateExtension(installMetadata, previousConfig);
234
+ }
235
+ catch (_) {
236
+ // Ignore errors from copyExtension or others, we just want to verify the warning
237
+ }
238
+ expect(debugLogger.warn).toHaveBeenCalledWith(expect.stringContaining('Extension "test-ext" has missing settings: s1'));
239
+ expect(coreEvents.emitFeedback).toHaveBeenCalledWith('warning', expect.stringContaining('Please run "gemini extensions settings test-ext <setting-name>"'));
240
+ });
241
+ });
242
+ });
243
+ //# sourceMappingURL=extensionUpdates.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionUpdates.test.js","sourceRoot":"","sources":["../../../../src/config/extensions/extensionUpdates.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { type Settings, type MemoryImportFormat } from './settingsSchema.js';
6
+ import { type Settings, type MemoryImportFormat, type SettingsSchema } from './settingsSchema.js';
7
7
  import type { ExtensionManager } from './extension-manager.js';
8
8
  export type { Settings, MemoryImportFormat };
9
9
  export declare const USER_SETTINGS_PATH: string;
@@ -61,6 +61,7 @@ export interface SettingsFile {
61
61
  }
62
62
  export declare function needsMigration(settings: Record<string, unknown>): boolean;
63
63
  export declare function migrateSettingsToV1(v2Settings: Record<string, unknown>): Record<string, unknown>;
64
+ export declare function getDefaultsFromSchema(schema?: SettingsSchema): Settings;
64
65
  export declare class LoadedSettings {
65
66
  constructor(system: SettingsFile, systemDefaults: SettingsFile, user: SettingsFile, workspace: SettingsFile, isTrusted: boolean, migratedInMemoryScopes: Set<SettingScope>, errors?: SettingsError[]);
66
67
  readonly system: SettingsFile;
@@ -64,6 +64,7 @@ const MIGRATION_MAP = {
64
64
  excludeTools: 'tools.exclude',
65
65
  excludeMCPServers: 'mcp.excluded',
66
66
  excludedProjectEnvVars: 'advanced.excludedEnvVars',
67
+ experimentalSkills: 'experimental.skills',
67
68
  extensionManagement: 'experimental.extensionManagement',
68
69
  extensions: 'extensions',
69
70
  fileFiltering: 'context.fileFiltering',
@@ -289,16 +290,33 @@ export function migrateSettingsToV1(v2Settings) {
289
290
  }
290
291
  return v1Settings;
291
292
  }
293
+ export function getDefaultsFromSchema(schema = getSettingsSchema()) {
294
+ const defaults = {};
295
+ for (const key in schema) {
296
+ const definition = schema[key];
297
+ if (definition.properties) {
298
+ const childDefaults = getDefaultsFromSchema(definition.properties);
299
+ if (Object.keys(childDefaults).length > 0) {
300
+ defaults[key] = childDefaults;
301
+ }
302
+ }
303
+ else if (definition.default !== undefined) {
304
+ defaults[key] = definition.default;
305
+ }
306
+ }
307
+ return defaults;
308
+ }
292
309
  function mergeSettings(system, systemDefaults, user, workspace, isTrusted) {
293
310
  const safeWorkspace = isTrusted ? workspace : {};
311
+ const schemaDefaults = getDefaultsFromSchema();
294
312
  // Settings are merged with the following precedence (last one wins for
295
313
  // single values):
296
- // 1. System Defaults
297
- // 2. User Settings
298
- // 3. Workspace Settings
299
- // 4. System Settings (as overrides)
300
- return customDeepMerge(getMergeStrategyForPath, {}, // Start with an empty object
301
- systemDefaults, user, safeWorkspace, system);
314
+ // 1. Schema Defaults (Built-in)
315
+ // 2. System Defaults
316
+ // 3. User Settings
317
+ // 4. Workspace Settings
318
+ // 5. System Settings (as overrides)
319
+ return customDeepMerge(getMergeStrategyForPath, schemaDefaults, systemDefaults, user, safeWorkspace, system);
302
320
  }
303
321
  export class LoadedSettings {
304
322
  constructor(system, systemDefaults, user, workspace, isTrusted, migratedInMemoryScopes, errors = []) {
@@ -345,6 +363,7 @@ export class LoadedSettings {
345
363
  setNestedProperty(settingsFile.originalSettings, key, value);
346
364
  this._merged = this.computeMergedSettings();
347
365
  saveSettings(settingsFile);
366
+ coreEvents.emitSettingsChanged();
348
367
  }
349
368
  }
350
369
  function findEnvFile(startDir) {