@google/gemini-cli 0.32.0-preview.0 → 0.33.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 (239) hide show
  1. package/README.md +11 -9
  2. package/dist/package.json +3 -3
  3. package/dist/src/config/config.js +6 -1
  4. package/dist/src/config/config.js.map +1 -1
  5. package/dist/src/config/config.test.js +70 -1
  6. package/dist/src/config/config.test.js.map +1 -1
  7. package/dist/src/config/extension-manager.js +1 -0
  8. package/dist/src/config/extension-manager.js.map +1 -1
  9. package/dist/src/config/extension.d.ts +9 -0
  10. package/dist/src/config/extension.js.map +1 -1
  11. package/dist/src/config/sandboxConfig.js +3 -1
  12. package/dist/src/config/sandboxConfig.js.map +1 -1
  13. package/dist/src/config/settings.d.ts +0 -2
  14. package/dist/src/config/settings.js.map +1 -1
  15. package/dist/src/config/settingsSchema.d.ts +9 -13
  16. package/dist/src/config/settingsSchema.js +5 -13
  17. package/dist/src/config/settingsSchema.js.map +1 -1
  18. package/dist/src/gemini.js +1 -1
  19. package/dist/src/gemini.js.map +1 -1
  20. package/dist/src/generated/git-commit.d.ts +2 -2
  21. package/dist/src/generated/git-commit.js +2 -2
  22. package/dist/src/test-utils/render.js +5 -1
  23. package/dist/src/test-utils/render.js.map +1 -1
  24. package/dist/src/ui/AppContainer.js +1 -18
  25. package/dist/src/ui/AppContainer.js.map +1 -1
  26. package/dist/src/ui/commands/extensionsCommand.js +3 -1
  27. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  28. package/dist/src/ui/commands/extensionsCommand.test.js +45 -0
  29. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  30. package/dist/src/ui/commands/hooksCommand.js +12 -8
  31. package/dist/src/ui/commands/hooksCommand.js.map +1 -1
  32. package/dist/src/ui/commands/hooksCommand.test.js +15 -23
  33. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
  34. package/dist/src/ui/commands/planCommand.js +33 -3
  35. package/dist/src/ui/commands/planCommand.js.map +1 -1
  36. package/dist/src/ui/commands/planCommand.test.js +29 -1
  37. package/dist/src/ui/commands/planCommand.test.js.map +1 -1
  38. package/dist/src/ui/components/AgentConfigDialog.js +17 -33
  39. package/dist/src/ui/components/AgentConfigDialog.js.map +1 -1
  40. package/dist/src/ui/components/AppHeader.d.ts +1 -1
  41. package/dist/src/ui/components/AppHeader.js +15 -8
  42. package/dist/src/ui/components/AppHeader.js.map +1 -1
  43. package/dist/src/ui/components/AppHeader.test.js +7 -0
  44. package/dist/src/ui/components/AppHeader.test.js.map +1 -1
  45. package/dist/src/ui/components/ContextUsageDisplay.d.ts +1 -1
  46. package/dist/src/ui/components/ContextUsageDisplay.js +15 -3
  47. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
  48. package/dist/src/ui/components/ContextUsageDisplay.test.js +25 -19
  49. package/dist/src/ui/components/ContextUsageDisplay.test.js.map +1 -1
  50. package/dist/src/ui/components/DetailedMessagesDisplay.js +1 -6
  51. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
  52. package/dist/src/ui/components/DetailedMessagesDisplay.test.js +2 -2
  53. package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
  54. package/dist/src/ui/components/DialogManager.js +3 -19
  55. package/dist/src/ui/components/DialogManager.js.map +1 -1
  56. package/dist/src/ui/components/ExitPlanModeDialog.js +2 -1
  57. package/dist/src/ui/components/ExitPlanModeDialog.js.map +1 -1
  58. package/dist/src/ui/components/ExitPlanModeDialog.test.js +2 -13
  59. package/dist/src/ui/components/ExitPlanModeDialog.test.js.map +1 -1
  60. package/dist/src/ui/components/Footer.js +3 -1
  61. package/dist/src/ui/components/Footer.js.map +1 -1
  62. package/dist/src/ui/components/Footer.test.js +41 -6
  63. package/dist/src/ui/components/Footer.test.js.map +1 -1
  64. package/dist/src/ui/components/HistoryItemDisplay.js +2 -3
  65. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  66. package/dist/src/ui/components/HooksDialog.d.ts +36 -0
  67. package/dist/src/ui/components/HooksDialog.js +81 -0
  68. package/dist/src/ui/components/HooksDialog.js.map +1 -0
  69. package/dist/src/ui/components/HooksDialog.test.js +187 -0
  70. package/dist/src/ui/components/HooksDialog.test.js.map +1 -0
  71. package/dist/src/ui/components/MainContent.js +2 -1
  72. package/dist/src/ui/components/MainContent.js.map +1 -1
  73. package/dist/src/ui/components/SettingsDialog.d.ts +1 -5
  74. package/dist/src/ui/components/SettingsDialog.js +90 -254
  75. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  76. package/dist/src/ui/components/SettingsDialog.test.js +127 -105
  77. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  78. package/dist/src/ui/components/StatusDisplay.test.js +5 -4
  79. package/dist/src/ui/components/StatusDisplay.test.js.map +1 -1
  80. package/dist/src/ui/components/Tips.d.ts +1 -1
  81. package/dist/src/ui/components/Tips.js +1 -1
  82. package/dist/src/ui/components/Tips.js.map +1 -1
  83. package/dist/src/ui/components/Tips.test.d.ts +1 -1
  84. package/dist/src/ui/components/Tips.test.js +6 -7
  85. package/dist/src/ui/components/Tips.test.js.map +1 -1
  86. package/dist/src/ui/components/UserIdentity.d.ts +1 -1
  87. package/dist/src/ui/components/UserIdentity.js +10 -12
  88. package/dist/src/ui/components/UserIdentity.js.map +1 -1
  89. package/dist/src/ui/components/UserIdentity.test.js +23 -10
  90. package/dist/src/ui/components/UserIdentity.test.js.map +1 -1
  91. package/dist/src/ui/components/messages/InfoMessage.d.ts +1 -0
  92. package/dist/src/ui/components/messages/InfoMessage.js +2 -2
  93. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
  94. package/dist/src/ui/components/messages/SubagentProgressDisplay.d.ts +11 -0
  95. package/dist/src/ui/components/messages/SubagentProgressDisplay.js +73 -0
  96. package/dist/src/ui/components/messages/SubagentProgressDisplay.js.map +1 -0
  97. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.d.ts +6 -0
  98. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js +158 -0
  99. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js.map +1 -0
  100. package/dist/src/ui/components/messages/ToolGroupMessage.js +1 -0
  101. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  102. package/dist/src/ui/components/messages/ToolResultDisplay.js +5 -0
  103. package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
  104. package/dist/src/ui/components/shared/BaseSettingsDialog.d.ts +5 -2
  105. package/dist/src/ui/components/shared/BaseSettingsDialog.js +3 -2
  106. package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
  107. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +24 -0
  108. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -1
  109. package/dist/src/ui/components/views/ExtensionRegistryView.d.ts +1 -2
  110. package/dist/src/ui/constants/tips.js +1 -1
  111. package/dist/src/ui/constants/tips.js.map +1 -1
  112. package/dist/src/ui/constants.d.ts +4 -0
  113. package/dist/src/ui/constants.js +4 -0
  114. package/dist/src/ui/constants.js.map +1 -1
  115. package/dist/src/ui/contexts/SettingsContext.js +2 -1
  116. package/dist/src/ui/contexts/SettingsContext.js.map +1 -1
  117. package/dist/src/ui/contexts/UIStateContext.d.ts +0 -2
  118. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  119. package/dist/src/ui/contexts/VimModeContext.d.ts +1 -3
  120. package/dist/src/ui/contexts/VimModeContext.js +7 -16
  121. package/dist/src/ui/contexts/VimModeContext.js.map +1 -1
  122. package/dist/src/ui/hooks/toolMapping.js +1 -0
  123. package/dist/src/ui/hooks/toolMapping.js.map +1 -1
  124. package/dist/src/ui/hooks/useGeminiStream.js +16 -13
  125. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  126. package/dist/src/ui/hooks/useGeminiStream.test.js +31 -2
  127. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  128. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
  129. package/dist/src/ui/hooks/useLoadingIndicator.js +1 -1
  130. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  131. package/dist/src/ui/hooks/useTerminalTheme.js +6 -3
  132. package/dist/src/ui/hooks/useTerminalTheme.js.map +1 -1
  133. package/dist/src/ui/hooks/useTerminalTheme.test.js +19 -0
  134. package/dist/src/ui/hooks/useTerminalTheme.test.js.map +1 -1
  135. package/dist/src/ui/hooks/useToolScheduler.js +26 -12
  136. package/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
  137. package/dist/src/ui/hooks/useToolScheduler.test.js +101 -8
  138. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  139. package/dist/src/ui/themes/theme-manager.d.ts +26 -4
  140. package/dist/src/ui/themes/theme-manager.js +40 -7
  141. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  142. package/dist/src/ui/themes/theme-manager.test.js +2 -1
  143. package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
  144. package/dist/src/ui/types.d.ts +3 -17
  145. package/dist/src/ui/types.js +0 -1
  146. package/dist/src/ui/types.js.map +1 -1
  147. package/dist/src/ui/utils/commandUtils.d.ts +6 -2
  148. package/dist/src/ui/utils/commandUtils.js +12 -5
  149. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  150. package/dist/src/ui/utils/commandUtils.test.js +21 -7
  151. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  152. package/dist/src/utils/agentSettings.d.ts +3 -11
  153. package/dist/src/utils/agentSettings.js +23 -81
  154. package/dist/src/utils/agentSettings.js.map +1 -1
  155. package/dist/src/{ui/components/SessionRetentionWarningDialog.test.d.ts → utils/agentSettings.test.d.ts} +0 -2
  156. package/dist/src/utils/agentSettings.test.js +111 -0
  157. package/dist/src/utils/agentSettings.test.js.map +1 -0
  158. package/dist/src/utils/dialogScopeUtils.d.ts +6 -2
  159. package/dist/src/utils/dialogScopeUtils.js +3 -3
  160. package/dist/src/utils/dialogScopeUtils.js.map +1 -1
  161. package/dist/src/utils/dialogScopeUtils.test.js +5 -5
  162. package/dist/src/utils/dialogScopeUtils.test.js.map +1 -1
  163. package/dist/src/utils/featureToggleUtils.d.ts +55 -0
  164. package/dist/src/utils/featureToggleUtils.js +95 -0
  165. package/dist/src/utils/featureToggleUtils.js.map +1 -0
  166. package/dist/src/utils/featureToggleUtils.test.d.ts +6 -0
  167. package/dist/src/utils/featureToggleUtils.test.js +126 -0
  168. package/dist/src/utils/featureToggleUtils.test.js.map +1 -0
  169. package/dist/src/utils/handleAutoUpdate.d.ts +7 -0
  170. package/dist/src/utils/handleAutoUpdate.js +41 -0
  171. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  172. package/dist/src/utils/handleAutoUpdate.test.js +52 -1
  173. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  174. package/dist/src/utils/processUtils.js +2 -0
  175. package/dist/src/utils/processUtils.js.map +1 -1
  176. package/dist/src/utils/processUtils.test.js +7 -1
  177. package/dist/src/utils/processUtils.test.js.map +1 -1
  178. package/dist/src/utils/sessionCleanup.js +8 -0
  179. package/dist/src/utils/sessionCleanup.js.map +1 -1
  180. package/dist/src/utils/sessionCleanup.test.js +19 -0
  181. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  182. package/dist/src/utils/settingsUtils.d.ts +18 -91
  183. package/dist/src/utils/settingsUtils.js +127 -207
  184. package/dist/src/utils/settingsUtils.js.map +1 -1
  185. package/dist/src/utils/settingsUtils.test.js +78 -264
  186. package/dist/src/utils/settingsUtils.test.js.map +1 -1
  187. package/dist/src/utils/skillSettings.d.ts +4 -14
  188. package/dist/src/utils/skillSettings.js +32 -81
  189. package/dist/src/utils/skillSettings.js.map +1 -1
  190. package/dist/src/utils/skillSettings.test.d.ts +6 -0
  191. package/dist/src/utils/skillSettings.test.js +142 -0
  192. package/dist/src/utils/skillSettings.test.js.map +1 -0
  193. package/dist/src/zed-integration/acpResume.test.js +8 -0
  194. package/dist/src/zed-integration/acpResume.test.js.map +1 -1
  195. package/dist/src/zed-integration/commandHandler.d.ts +26 -0
  196. package/dist/src/zed-integration/commandHandler.js +102 -0
  197. package/dist/src/zed-integration/commandHandler.js.map +1 -0
  198. package/dist/src/zed-integration/commandHandler.test.d.ts +6 -0
  199. package/dist/src/zed-integration/commandHandler.test.js +25 -0
  200. package/dist/src/zed-integration/commandHandler.test.js.map +1 -0
  201. package/dist/src/zed-integration/commands/commandRegistry.d.ts +12 -0
  202. package/dist/src/zed-integration/commands/commandRegistry.js +26 -0
  203. package/dist/src/zed-integration/commands/commandRegistry.js.map +1 -0
  204. package/dist/src/zed-integration/commands/extensions.d.ts +57 -0
  205. package/dist/src/zed-integration/commands/extensions.js +320 -0
  206. package/dist/src/zed-integration/commands/extensions.js.map +1 -0
  207. package/dist/src/zed-integration/commands/init.d.ts +12 -0
  208. package/dist/src/zed-integration/commands/init.js +47 -0
  209. package/dist/src/zed-integration/commands/init.js.map +1 -0
  210. package/dist/src/zed-integration/commands/memory.d.ts +34 -0
  211. package/dist/src/zed-integration/commands/memory.js +83 -0
  212. package/dist/src/zed-integration/commands/memory.js.map +1 -0
  213. package/dist/src/zed-integration/commands/restore.d.ts +18 -0
  214. package/dist/src/zed-integration/commands/restore.js +140 -0
  215. package/dist/src/zed-integration/commands/restore.js.map +1 -0
  216. package/dist/src/zed-integration/commands/types.d.ts +31 -0
  217. package/dist/src/zed-integration/commands/types.js +7 -0
  218. package/dist/src/zed-integration/commands/types.js.map +1 -0
  219. package/dist/src/zed-integration/zedIntegration.d.ts +9 -2
  220. package/dist/src/zed-integration/zedIntegration.js +170 -8
  221. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  222. package/dist/src/zed-integration/zedIntegration.test.js +329 -2
  223. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
  224. package/dist/tsconfig.tsbuildinfo +1 -1
  225. package/package.json +4 -4
  226. package/dist/src/ui/components/SessionRetentionWarningDialog.d.ts +0 -12
  227. package/dist/src/ui/components/SessionRetentionWarningDialog.js +0 -27
  228. package/dist/src/ui/components/SessionRetentionWarningDialog.js.map +0 -1
  229. package/dist/src/ui/components/SessionRetentionWarningDialog.test.js +0 -72
  230. package/dist/src/ui/components/SessionRetentionWarningDialog.test.js.map +0 -1
  231. package/dist/src/ui/components/views/HooksList.d.ts +0 -24
  232. package/dist/src/ui/components/views/HooksList.js +0 -28
  233. package/dist/src/ui/components/views/HooksList.js.map +0 -1
  234. package/dist/src/ui/hooks/useSessionRetentionCheck.d.ts +0 -12
  235. package/dist/src/ui/hooks/useSessionRetentionCheck.js +0 -57
  236. package/dist/src/ui/hooks/useSessionRetentionCheck.js.map +0 -1
  237. package/dist/src/ui/hooks/useSessionRetentionCheck.test.js +0 -169
  238. package/dist/src/ui/hooks/useSessionRetentionCheck.test.js.map +0 -1
  239. /package/dist/src/ui/{hooks/useSessionRetentionCheck.test.d.ts → components/HooksDialog.test.d.ts} +0 -0
@@ -3,12 +3,12 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { describe, it, expect } from 'vitest';
6
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
7
  import {
8
8
  // Schema utilities
9
9
  getSettingsByCategory, getSettingDefinition, requiresRestart, getDefaultValue, getRestartRequiredSettings, getEffectiveValue, getAllSettingKeys, getSettingsByType, getSettingsRequiringRestart, isValidSettingKey, getSettingCategory, shouldShowInDialog, getDialogSettingsByCategory, getDialogSettingsByType, getDialogSettingKeys,
10
- // Business logic utilities
11
- getSettingValue, isSettingModified, TEST_ONLY, settingExistsInScope, setPendingSettingValue, hasRestartRequiredSettings, getRestartRequiredFromModified, getDisplayValue, isDefaultValue, isValueInherited, getEffectiveDisplayValue, } from './settingsUtils.js';
10
+ // Business logic utilities,
11
+ TEST_ONLY, isInSettingsScope, getDisplayValue, } from './settingsUtils.js';
12
12
  import { getSettingsSchema, } from '../config/settingsSchema.js';
13
13
  vi.mock('../config/settingsSchema.js', async (importOriginal) => {
14
14
  const original = await importOriginal();
@@ -204,40 +204,24 @@ describe('SettingsUtils', () => {
204
204
  describe('getEffectiveValue', () => {
205
205
  it('should return value from settings when set', () => {
206
206
  const settings = makeMockSettings({ ui: { requiresRestart: true } });
207
- const mergedSettings = makeMockSettings({
208
- ui: { requiresRestart: false },
209
- });
210
- const value = getEffectiveValue('ui.requiresRestart', settings, mergedSettings);
211
- expect(value).toBe(true);
212
- });
213
- it('should return value from merged settings when not set in current scope', () => {
214
- const settings = makeMockSettings({});
215
- const mergedSettings = makeMockSettings({
216
- ui: { requiresRestart: true },
217
- });
218
- const value = getEffectiveValue('ui.requiresRestart', settings, mergedSettings);
207
+ const value = getEffectiveValue('ui.requiresRestart', settings);
219
208
  expect(value).toBe(true);
220
209
  });
221
210
  it('should return default value when not set anywhere', () => {
222
211
  const settings = makeMockSettings({});
223
- const mergedSettings = makeMockSettings({});
224
- const value = getEffectiveValue('ui.requiresRestart', settings, mergedSettings);
212
+ const value = getEffectiveValue('ui.requiresRestart', settings);
225
213
  expect(value).toBe(false); // default value
226
214
  });
227
215
  it('should handle nested settings correctly', () => {
228
216
  const settings = makeMockSettings({
229
217
  ui: { accessibility: { enableLoadingPhrases: false } },
230
218
  });
231
- const mergedSettings = makeMockSettings({
232
- ui: { accessibility: { enableLoadingPhrases: true } },
233
- });
234
- const value = getEffectiveValue('ui.accessibility.enableLoadingPhrases', settings, mergedSettings);
219
+ const value = getEffectiveValue('ui.accessibility.enableLoadingPhrases', settings);
235
220
  expect(value).toBe(false);
236
221
  });
237
222
  it('should return undefined for invalid settings', () => {
238
223
  const settings = makeMockSettings({});
239
- const mergedSettings = makeMockSettings({});
240
- const value = getEffectiveValue('invalidSetting', settings, mergedSettings);
224
+ const value = getEffectiveValue('invalidSetting', settings);
241
225
  expect(value).toBeUndefined();
242
226
  });
243
227
  });
@@ -367,7 +351,8 @@ describe('SettingsUtils', () => {
367
351
  expect(dialogKeys.length).toBeLessThan(allKeys.length);
368
352
  expect(dialogKeys.length).toBeGreaterThan(0);
369
353
  });
370
- it('should handle nested settings display correctly', () => {
354
+ const nestedDialogKey = 'context.fileFiltering.respectGitIgnore';
355
+ function mockNestedDialogSchema() {
371
356
  vi.mocked(getSettingsSchema).mockReturnValue({
372
357
  context: {
373
358
  type: 'object',
@@ -401,145 +386,37 @@ describe('SettingsUtils', () => {
401
386
  },
402
387
  },
403
388
  });
404
- // Test the specific issue with fileFiltering.respectGitIgnore
405
- const key = 'context.fileFiltering.respectGitIgnore';
406
- const initialSettings = makeMockSettings({});
407
- const pendingSettings = makeMockSettings({});
408
- // Set the nested setting to true
409
- const updatedPendingSettings = setPendingSettingValue(key, true, pendingSettings);
410
- // Check if the setting exists in pending settings
411
- const existsInPending = settingExistsInScope(key, updatedPendingSettings);
412
- expect(existsInPending).toBe(true);
413
- // Get the value from pending settings
414
- const valueFromPending = getSettingValue(key, updatedPendingSettings, {});
415
- expect(valueFromPending).toBe(true);
416
- // Test getDisplayValue should show the pending change
417
- const displayValue = getDisplayValue(key, initialSettings, {}, new Set(), updatedPendingSettings);
418
- expect(displayValue).toBe('true'); // Should show true (no * since value matches default)
419
- // Test that modified settings also show the * indicator
420
- const modifiedSettings = new Set([key]);
421
- const displayValueWithModified = getDisplayValue(key, initialSettings, {}, modifiedSettings, {});
422
- expect(displayValueWithModified).toBe('true*'); // Should show true* because it's in modified settings and default is true
389
+ }
390
+ it('should include nested file filtering setting in dialog keys', () => {
391
+ mockNestedDialogSchema();
392
+ const dialogKeys = getDialogSettingKeys();
393
+ expect(dialogKeys).toContain(nestedDialogKey);
423
394
  });
424
395
  });
425
396
  });
426
397
  describe('Business Logic Utilities', () => {
427
- describe('getSettingValue', () => {
428
- it('should return value from settings when set', () => {
429
- const settings = makeMockSettings({ ui: { requiresRestart: true } });
430
- const mergedSettings = makeMockSettings({
431
- ui: { requiresRestart: false },
432
- });
433
- const value = getSettingValue('ui.requiresRestart', settings, mergedSettings);
434
- expect(value).toBe(true);
435
- });
436
- it('should return value from merged settings when not set in current scope', () => {
437
- const settings = makeMockSettings({});
438
- const mergedSettings = makeMockSettings({
439
- ui: { requiresRestart: true },
440
- });
441
- const value = getSettingValue('ui.requiresRestart', settings, mergedSettings);
442
- expect(value).toBe(true);
443
- });
444
- it('should return default value for invalid setting', () => {
445
- const settings = makeMockSettings({});
446
- const mergedSettings = makeMockSettings({});
447
- const value = getSettingValue('invalidSetting', settings, mergedSettings);
448
- expect(value).toBe(false); // Default fallback
449
- });
450
- });
451
- describe('isSettingModified', () => {
452
- it('should return true when value differs from default', () => {
453
- expect(isSettingModified('ui.requiresRestart', true)).toBe(true);
454
- expect(isSettingModified('ui.accessibility.enableLoadingPhrases', false)).toBe(true);
455
- });
456
- it('should return false when value matches default', () => {
457
- expect(isSettingModified('ui.requiresRestart', false)).toBe(false);
458
- expect(isSettingModified('ui.accessibility.enableLoadingPhrases', true)).toBe(false);
459
- });
460
- });
461
- describe('settingExistsInScope', () => {
398
+ describe('isInSettingsScope', () => {
462
399
  it('should return true for top-level settings that exist', () => {
463
400
  const settings = makeMockSettings({ ui: { requiresRestart: true } });
464
- expect(settingExistsInScope('ui.requiresRestart', settings)).toBe(true);
401
+ expect(isInSettingsScope('ui.requiresRestart', settings)).toBe(true);
465
402
  });
466
403
  it('should return false for top-level settings that do not exist', () => {
467
404
  const settings = makeMockSettings({});
468
- expect(settingExistsInScope('ui.requiresRestart', settings)).toBe(false);
405
+ expect(isInSettingsScope('ui.requiresRestart', settings)).toBe(false);
469
406
  });
470
407
  it('should return true for nested settings that exist', () => {
471
408
  const settings = makeMockSettings({
472
409
  ui: { accessibility: { enableLoadingPhrases: true } },
473
410
  });
474
- expect(settingExistsInScope('ui.accessibility.enableLoadingPhrases', settings)).toBe(true);
411
+ expect(isInSettingsScope('ui.accessibility.enableLoadingPhrases', settings)).toBe(true);
475
412
  });
476
413
  it('should return false for nested settings that do not exist', () => {
477
414
  const settings = makeMockSettings({});
478
- expect(settingExistsInScope('ui.accessibility.enableLoadingPhrases', settings)).toBe(false);
415
+ expect(isInSettingsScope('ui.accessibility.enableLoadingPhrases', settings)).toBe(false);
479
416
  });
480
417
  it('should return false when parent exists but child does not', () => {
481
418
  const settings = makeMockSettings({ ui: { accessibility: {} } });
482
- expect(settingExistsInScope('ui.accessibility.enableLoadingPhrases', settings)).toBe(false);
483
- });
484
- });
485
- describe('setPendingSettingValue', () => {
486
- it('should set top-level setting value', () => {
487
- const pendingSettings = makeMockSettings({});
488
- const result = setPendingSettingValue('ui.hideWindowTitle', true, pendingSettings);
489
- expect(result.ui?.hideWindowTitle).toBe(true);
490
- });
491
- it('should set nested setting value', () => {
492
- const pendingSettings = makeMockSettings({});
493
- const result = setPendingSettingValue('ui.accessibility.enableLoadingPhrases', true, pendingSettings);
494
- expect(result.ui?.accessibility?.enableLoadingPhrases).toBe(true);
495
- });
496
- it('should preserve existing nested settings', () => {
497
- const pendingSettings = makeMockSettings({
498
- ui: { accessibility: { enableLoadingPhrases: false } },
499
- });
500
- const result = setPendingSettingValue('ui.accessibility.enableLoadingPhrases', true, pendingSettings);
501
- expect(result.ui?.accessibility?.enableLoadingPhrases).toBe(true);
502
- });
503
- it('should not mutate original settings', () => {
504
- const pendingSettings = makeMockSettings({});
505
- setPendingSettingValue('ui.requiresRestart', true, pendingSettings);
506
- expect(pendingSettings).toEqual({});
507
- });
508
- });
509
- describe('hasRestartRequiredSettings', () => {
510
- it('should return true when modified settings require restart', () => {
511
- const modifiedSettings = new Set([
512
- 'advanced.autoConfigureMemory',
513
- 'ui.requiresRestart',
514
- ]);
515
- expect(hasRestartRequiredSettings(modifiedSettings)).toBe(true);
516
- });
517
- it('should return false when no modified settings require restart', () => {
518
- const modifiedSettings = new Set(['test']);
519
- expect(hasRestartRequiredSettings(modifiedSettings)).toBe(false);
520
- });
521
- it('should return false for empty set', () => {
522
- const modifiedSettings = new Set();
523
- expect(hasRestartRequiredSettings(modifiedSettings)).toBe(false);
524
- });
525
- });
526
- describe('getRestartRequiredFromModified', () => {
527
- it('should return only settings that require restart', () => {
528
- const modifiedSettings = new Set([
529
- 'ui.requiresRestart',
530
- 'test',
531
- ]);
532
- const result = getRestartRequiredFromModified(modifiedSettings);
533
- expect(result).toContain('ui.requiresRestart');
534
- expect(result).not.toContain('test');
535
- });
536
- it('should return empty array when no settings require restart', () => {
537
- const modifiedSettings = new Set([
538
- 'requiresRestart',
539
- 'hideTips',
540
- ]);
541
- const result = getRestartRequiredFromModified(modifiedSettings);
542
- expect(result).toEqual([]);
419
+ expect(isInSettingsScope('ui.accessibility.enableLoadingPhrases', settings)).toBe(false);
543
420
  });
544
421
  });
545
422
  describe('getDisplayValue', () => {
@@ -609,8 +486,7 @@ describe('SettingsUtils', () => {
609
486
  const mergedSettings = makeMockSettings({
610
487
  ui: { theme: NumberEnum.THREE },
611
488
  });
612
- const modifiedSettings = new Set();
613
- const result = getDisplayValue('ui.theme', settings, mergedSettings, modifiedSettings);
489
+ const result = getDisplayValue('ui.theme', settings, mergedSettings);
614
490
  expect(result).toBe('Three*');
615
491
  });
616
492
  it('handles default values for number-based enums', () => {
@@ -638,8 +514,7 @@ describe('SettingsUtils', () => {
638
514
  },
639
515
  },
640
516
  });
641
- const modifiedSettings = new Set();
642
- const result = getDisplayValue('ui.theme', makeMockSettings({}), makeMockSettings({}), modifiedSettings);
517
+ const result = getDisplayValue('ui.theme', makeMockSettings({}), makeMockSettings({}));
643
518
  expect(result).toBe('Three');
644
519
  });
645
520
  it('shows the enum display value', () => {
@@ -650,8 +525,7 @@ describe('SettingsUtils', () => {
650
525
  const mergedSettings = makeMockSettings({
651
526
  ui: { theme: StringEnum.BAR },
652
527
  });
653
- const modifiedSettings = new Set();
654
- const result = getDisplayValue('ui.theme', settings, mergedSettings, modifiedSettings);
528
+ const result = getDisplayValue('ui.theme', settings, mergedSettings);
655
529
  expect(result).toBe('Bar*');
656
530
  });
657
531
  it('passes through unknown values verbatim', () => {
@@ -664,8 +538,7 @@ describe('SettingsUtils', () => {
664
538
  });
665
539
  const settings = makeMockSettings({ ui: { theme: 'xyz' } });
666
540
  const mergedSettings = makeMockSettings({ ui: { theme: 'xyz' } });
667
- const modifiedSettings = new Set();
668
- const result = getDisplayValue('ui.theme', settings, mergedSettings, modifiedSettings);
541
+ const result = getDisplayValue('ui.theme', settings, mergedSettings);
669
542
  expect(result).toBe('xyz*');
670
543
  });
671
544
  it('shows the default value for string enums', () => {
@@ -676,144 +549,85 @@ describe('SettingsUtils', () => {
676
549
  },
677
550
  },
678
551
  });
679
- const modifiedSettings = new Set();
680
- const result = getDisplayValue('ui.theme', makeMockSettings({}), makeMockSettings({}), modifiedSettings);
552
+ const result = getDisplayValue('ui.theme', makeMockSettings({}), makeMockSettings({}));
681
553
  expect(result).toBe('Bar');
682
554
  });
683
555
  });
684
- it('should show value without * when setting matches default', () => {
685
- const settings = makeMockSettings({
686
- ui: { requiresRestart: false },
687
- }); // false matches default, so no *
556
+ it('should show value with * when setting exists in scope', () => {
557
+ const settings = makeMockSettings({ ui: { requiresRestart: true } });
688
558
  const mergedSettings = makeMockSettings({
689
- ui: { requiresRestart: false },
559
+ ui: { requiresRestart: true },
690
560
  });
691
- const modifiedSettings = new Set();
692
- const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings, modifiedSettings);
693
- expect(result).toBe('false*');
561
+ const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings);
562
+ expect(result).toBe('true*');
694
563
  });
695
- it('should show default value when setting is not in scope', () => {
564
+ it('should not show * when key is not in scope', () => {
696
565
  const settings = makeMockSettings({}); // no setting in scope
697
566
  const mergedSettings = makeMockSettings({
698
567
  ui: { requiresRestart: false },
699
568
  });
700
- const modifiedSettings = new Set();
701
- const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings, modifiedSettings);
569
+ const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings);
702
570
  expect(result).toBe('false'); // shows default value
703
571
  });
704
- it('should show value with * when changed from default', () => {
705
- const settings = makeMockSettings({ ui: { requiresRestart: true } }); // true is different from default (false)
706
- const mergedSettings = makeMockSettings({
707
- ui: { requiresRestart: true },
708
- });
709
- const modifiedSettings = new Set();
710
- const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings, modifiedSettings);
711
- expect(result).toBe('true*');
712
- });
713
- it('should show default value without * when setting does not exist in scope', () => {
714
- const settings = makeMockSettings({}); // setting doesn't exist in scope, show default
715
- const mergedSettings = makeMockSettings({
572
+ it('should show value with * when setting exists in scope, even when it matches default', () => {
573
+ const settings = makeMockSettings({
716
574
  ui: { requiresRestart: false },
717
- });
718
- const modifiedSettings = new Set();
719
- const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings, modifiedSettings);
720
- expect(result).toBe('false'); // default value (false) without *
721
- });
722
- it('should show value with * when user changes from default', () => {
723
- const settings = makeMockSettings({}); // setting doesn't exist in scope originally
575
+ }); // false matches default, but key is explicitly set in scope
724
576
  const mergedSettings = makeMockSettings({
725
577
  ui: { requiresRestart: false },
726
578
  });
727
- const modifiedSettings = new Set(['ui.requiresRestart']);
728
- const pendingSettings = makeMockSettings({
729
- ui: { requiresRestart: true },
730
- }); // user changed to true
731
- const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings, modifiedSettings, pendingSettings);
732
- expect(result).toBe('true*'); // changed from default (false) to true
733
- });
734
- });
735
- describe('isDefaultValue', () => {
736
- it('should return true when setting does not exist in scope', () => {
737
- const settings = makeMockSettings({}); // setting doesn't exist
738
- const result = isDefaultValue('ui.requiresRestart', settings);
739
- expect(result).toBe(true);
740
- });
741
- it('should return false when setting exists in scope', () => {
742
- const settings = makeMockSettings({ ui: { requiresRestart: true } }); // setting exists
743
- const result = isDefaultValue('ui.requiresRestart', settings);
744
- expect(result).toBe(false);
745
- });
746
- it('should return true when nested setting does not exist in scope', () => {
747
- const settings = makeMockSettings({}); // nested setting doesn't exist
748
- const result = isDefaultValue('ui.accessibility.enableLoadingPhrases', settings);
749
- expect(result).toBe(true);
750
- });
751
- it('should return false when nested setting exists in scope', () => {
752
- const settings = makeMockSettings({
753
- ui: { accessibility: { enableLoadingPhrases: true } },
754
- }); // nested setting exists
755
- const result = isDefaultValue('ui.accessibility.enableLoadingPhrases', settings);
756
- expect(result).toBe(false);
579
+ const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings);
580
+ expect(result).toBe('false*');
757
581
  });
758
- });
759
- describe('isValueInherited', () => {
760
- it('should return false for top-level settings that exist in scope', () => {
761
- const settings = makeMockSettings({ ui: { requiresRestart: true } });
582
+ it('should show schema default (not inherited merged value) when key is not in scope', () => {
583
+ const settings = makeMockSettings({}); // no setting in current scope
762
584
  const mergedSettings = makeMockSettings({
763
585
  ui: { requiresRestart: true },
764
- });
765
- const result = isValueInherited('ui.requiresRestart', settings, mergedSettings);
766
- expect(result).toBe(false);
586
+ }); // inherited merged value differs from schema default (false)
587
+ const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings);
588
+ expect(result).toBe('false');
767
589
  });
768
- it('should return true for top-level settings that do not exist in scope', () => {
769
- const settings = makeMockSettings({});
770
- const mergedSettings = makeMockSettings({
771
- ui: { requiresRestart: true },
590
+ });
591
+ describe('getDisplayValue with units', () => {
592
+ it('should format percentage correctly when unit is %', () => {
593
+ vi.mocked(getSettingsSchema).mockReturnValue({
594
+ model: {
595
+ properties: {
596
+ compressionThreshold: {
597
+ type: 'number',
598
+ label: 'Context Compression Threshold',
599
+ category: 'Model',
600
+ requiresRestart: true,
601
+ default: 0.5,
602
+ unit: '%',
603
+ },
604
+ },
605
+ },
772
606
  });
773
- const result = isValueInherited('ui.requiresRestart', settings, mergedSettings);
774
- expect(result).toBe(true);
775
- });
776
- it('should return false for nested settings that exist in scope', () => {
777
607
  const settings = makeMockSettings({
778
- ui: { accessibility: { enableLoadingPhrases: true } },
608
+ model: { compressionThreshold: 0.8 },
779
609
  });
780
- const mergedSettings = makeMockSettings({
781
- ui: { accessibility: { enableLoadingPhrases: true } },
782
- });
783
- const result = isValueInherited('ui.accessibility.enableLoadingPhrases', settings, mergedSettings);
784
- expect(result).toBe(false);
785
- });
786
- it('should return true for nested settings that do not exist in scope', () => {
787
- const settings = makeMockSettings({});
788
- const mergedSettings = makeMockSettings({
789
- ui: { accessibility: { enableLoadingPhrases: true } },
790
- });
791
- const result = isValueInherited('ui.accessibility.enableLoadingPhrases', settings, mergedSettings);
792
- expect(result).toBe(true);
793
- });
794
- });
795
- describe('getEffectiveDisplayValue', () => {
796
- it('should return value from settings when available', () => {
797
- const settings = makeMockSettings({ ui: { requiresRestart: true } });
798
- const mergedSettings = makeMockSettings({
799
- ui: { requiresRestart: false },
800
- });
801
- const result = getEffectiveDisplayValue('ui.requiresRestart', settings, mergedSettings);
802
- expect(result).toBe(true);
610
+ const result = getDisplayValue('model.compressionThreshold', settings, makeMockSettings({}));
611
+ expect(result).toBe('0.8 (80%)*');
803
612
  });
804
- it('should return value from merged settings when not in scope', () => {
805
- const settings = makeMockSettings({});
806
- const mergedSettings = makeMockSettings({
807
- ui: { requiresRestart: true },
613
+ it('should append unit for non-% units', () => {
614
+ vi.mocked(getSettingsSchema).mockReturnValue({
615
+ ui: {
616
+ properties: {
617
+ pollingInterval: {
618
+ type: 'number',
619
+ label: 'Polling Interval',
620
+ category: 'UI',
621
+ requiresRestart: false,
622
+ default: 60,
623
+ unit: 's',
624
+ },
625
+ },
626
+ },
808
627
  });
809
- const result = getEffectiveDisplayValue('ui.requiresRestart', settings, mergedSettings);
810
- expect(result).toBe(true);
811
- });
812
- it('should return default value for undefined values', () => {
813
- const settings = makeMockSettings({});
814
- const mergedSettings = makeMockSettings({});
815
- const result = getEffectiveDisplayValue('ui.requiresRestart', settings, mergedSettings);
816
- expect(result).toBe(false); // Default value
628
+ const settings = makeMockSettings({ ui: { pollingInterval: 30 } });
629
+ const result = getDisplayValue('ui.pollingInterval', settings, makeMockSettings({}));
630
+ expect(result).toBe('30s*');
817
631
  });
818
632
  });
819
633
  });
@@ -1 +1 @@
1
- {"version":3,"file":"settingsUtils.test.js","sourceRoot":"","sources":["../../../src/utils/settingsUtils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settingsUtils.test.js","sourceRoot":"","sources":["../../../src/utils/settingsUtils.test.ts"],"names":[],"mappings":"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"}
@@ -3,25 +3,15 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { SettingScope, type LoadedSettings } from '../config/settings.js';
7
- export interface ModifiedScope {
8
- scope: SettingScope;
9
- path: string;
10
- }
6
+ import type { SettingScope, LoadedSettings } from '../config/settings.js';
7
+ import { type FeatureActionResult } from './featureToggleUtils.js';
8
+ export type { ModifiedScope } from './featureToggleUtils.js';
11
9
  export type SkillActionStatus = 'success' | 'no-op' | 'error';
12
10
  /**
13
11
  * Metadata representing the result of a skill settings operation.
14
12
  */
15
- export interface SkillActionResult {
16
- status: SkillActionStatus;
13
+ export interface SkillActionResult extends Omit<FeatureActionResult, 'featureName'> {
17
14
  skillName: string;
18
- action: 'enable' | 'disable';
19
- /** Scopes where the skill's state was actually changed. */
20
- modifiedScopes: ModifiedScope[];
21
- /** Scopes where the skill was already in the desired state. */
22
- alreadyInStateScopes: ModifiedScope[];
23
- /** Error message if status is 'error'. */
24
- error?: string;
25
15
  }
26
16
  /**
27
17
  * Enables a skill by removing it from all writable disabled lists (User and Workspace).