@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.
- package/README.md +11 -9
- package/dist/package.json +3 -3
- package/dist/src/config/config.js +6 -1
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +70 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager.js +1 -0
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension.d.ts +9 -0
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/sandboxConfig.js +3 -1
- package/dist/src/config/sandboxConfig.js.map +1 -1
- package/dist/src/config/settings.d.ts +0 -2
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +9 -13
- package/dist/src/config/settingsSchema.js +5 -13
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/gemini.js +1 -1
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/test-utils/render.js +5 -1
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/ui/AppContainer.js +1 -18
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +3 -1
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.test.js +45 -0
- package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/hooksCommand.js +12 -8
- package/dist/src/ui/commands/hooksCommand.js.map +1 -1
- package/dist/src/ui/commands/hooksCommand.test.js +15 -23
- package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
- package/dist/src/ui/commands/planCommand.js +33 -3
- package/dist/src/ui/commands/planCommand.js.map +1 -1
- package/dist/src/ui/commands/planCommand.test.js +29 -1
- package/dist/src/ui/commands/planCommand.test.js.map +1 -1
- package/dist/src/ui/components/AgentConfigDialog.js +17 -33
- package/dist/src/ui/components/AgentConfigDialog.js.map +1 -1
- package/dist/src/ui/components/AppHeader.d.ts +1 -1
- package/dist/src/ui/components/AppHeader.js +15 -8
- package/dist/src/ui/components/AppHeader.js.map +1 -1
- package/dist/src/ui/components/AppHeader.test.js +7 -0
- package/dist/src/ui/components/AppHeader.test.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.js +15 -3
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.test.js +25 -19
- package/dist/src/ui/components/ContextUsageDisplay.test.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js +1 -6
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js +2 -2
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +3 -19
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/ExitPlanModeDialog.js +2 -1
- package/dist/src/ui/components/ExitPlanModeDialog.js.map +1 -1
- package/dist/src/ui/components/ExitPlanModeDialog.test.js +2 -13
- package/dist/src/ui/components/ExitPlanModeDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.js +3 -1
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/Footer.test.js +41 -6
- package/dist/src/ui/components/Footer.test.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js +2 -3
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HooksDialog.d.ts +36 -0
- package/dist/src/ui/components/HooksDialog.js +81 -0
- package/dist/src/ui/components/HooksDialog.js.map +1 -0
- package/dist/src/ui/components/HooksDialog.test.js +187 -0
- package/dist/src/ui/components/HooksDialog.test.js.map +1 -0
- package/dist/src/ui/components/MainContent.js +2 -1
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +1 -5
- package/dist/src/ui/components/SettingsDialog.js +90 -254
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +127 -105
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/StatusDisplay.test.js +5 -4
- package/dist/src/ui/components/StatusDisplay.test.js.map +1 -1
- package/dist/src/ui/components/Tips.d.ts +1 -1
- package/dist/src/ui/components/Tips.js +1 -1
- package/dist/src/ui/components/Tips.js.map +1 -1
- package/dist/src/ui/components/Tips.test.d.ts +1 -1
- package/dist/src/ui/components/Tips.test.js +6 -7
- package/dist/src/ui/components/Tips.test.js.map +1 -1
- package/dist/src/ui/components/UserIdentity.d.ts +1 -1
- package/dist/src/ui/components/UserIdentity.js +10 -12
- package/dist/src/ui/components/UserIdentity.js.map +1 -1
- package/dist/src/ui/components/UserIdentity.test.js +23 -10
- package/dist/src/ui/components/UserIdentity.test.js.map +1 -1
- package/dist/src/ui/components/messages/InfoMessage.d.ts +1 -0
- package/dist/src/ui/components/messages/InfoMessage.js +2 -2
- package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
- package/dist/src/ui/components/messages/SubagentProgressDisplay.d.ts +11 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.js +73 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.js.map +1 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js +158 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.js +1 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplay.js +5 -0
- package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.d.ts +5 -2
- package/dist/src/ui/components/shared/BaseSettingsDialog.js +3 -2
- package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +24 -0
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionRegistryView.d.ts +1 -2
- package/dist/src/ui/constants/tips.js +1 -1
- package/dist/src/ui/constants/tips.js.map +1 -1
- package/dist/src/ui/constants.d.ts +4 -0
- package/dist/src/ui/constants.js +4 -0
- package/dist/src/ui/constants.js.map +1 -1
- package/dist/src/ui/contexts/SettingsContext.js +2 -1
- package/dist/src/ui/contexts/SettingsContext.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +0 -2
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/contexts/VimModeContext.d.ts +1 -3
- package/dist/src/ui/contexts/VimModeContext.js +7 -16
- package/dist/src/ui/contexts/VimModeContext.js.map +1 -1
- package/dist/src/ui/hooks/toolMapping.js +1 -0
- package/dist/src/ui/hooks/toolMapping.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +16 -13
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +31 -2
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.js +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useTerminalTheme.js +6 -3
- package/dist/src/ui/hooks/useTerminalTheme.js.map +1 -1
- package/dist/src/ui/hooks/useTerminalTheme.test.js +19 -0
- package/dist/src/ui/hooks/useTerminalTheme.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.js +26 -12
- package/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +101 -8
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.d.ts +26 -4
- package/dist/src/ui/themes/theme-manager.js +40 -7
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.test.js +2 -1
- package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
- package/dist/src/ui/types.d.ts +3 -17
- package/dist/src/ui/types.js +0 -1
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.d.ts +6 -2
- package/dist/src/ui/utils/commandUtils.js +12 -5
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.test.js +21 -7
- package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
- package/dist/src/utils/agentSettings.d.ts +3 -11
- package/dist/src/utils/agentSettings.js +23 -81
- package/dist/src/utils/agentSettings.js.map +1 -1
- package/dist/src/{ui/components/SessionRetentionWarningDialog.test.d.ts → utils/agentSettings.test.d.ts} +0 -2
- package/dist/src/utils/agentSettings.test.js +111 -0
- package/dist/src/utils/agentSettings.test.js.map +1 -0
- package/dist/src/utils/dialogScopeUtils.d.ts +6 -2
- package/dist/src/utils/dialogScopeUtils.js +3 -3
- package/dist/src/utils/dialogScopeUtils.js.map +1 -1
- package/dist/src/utils/dialogScopeUtils.test.js +5 -5
- package/dist/src/utils/dialogScopeUtils.test.js.map +1 -1
- package/dist/src/utils/featureToggleUtils.d.ts +55 -0
- package/dist/src/utils/featureToggleUtils.js +95 -0
- package/dist/src/utils/featureToggleUtils.js.map +1 -0
- package/dist/src/utils/featureToggleUtils.test.d.ts +6 -0
- package/dist/src/utils/featureToggleUtils.test.js +126 -0
- package/dist/src/utils/featureToggleUtils.test.js.map +1 -0
- package/dist/src/utils/handleAutoUpdate.d.ts +7 -0
- package/dist/src/utils/handleAutoUpdate.js +41 -0
- package/dist/src/utils/handleAutoUpdate.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.test.js +52 -1
- package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
- package/dist/src/utils/processUtils.js +2 -0
- package/dist/src/utils/processUtils.js.map +1 -1
- package/dist/src/utils/processUtils.test.js +7 -1
- package/dist/src/utils/processUtils.test.js.map +1 -1
- package/dist/src/utils/sessionCleanup.js +8 -0
- package/dist/src/utils/sessionCleanup.js.map +1 -1
- package/dist/src/utils/sessionCleanup.test.js +19 -0
- package/dist/src/utils/sessionCleanup.test.js.map +1 -1
- package/dist/src/utils/settingsUtils.d.ts +18 -91
- package/dist/src/utils/settingsUtils.js +127 -207
- package/dist/src/utils/settingsUtils.js.map +1 -1
- package/dist/src/utils/settingsUtils.test.js +78 -264
- package/dist/src/utils/settingsUtils.test.js.map +1 -1
- package/dist/src/utils/skillSettings.d.ts +4 -14
- package/dist/src/utils/skillSettings.js +32 -81
- package/dist/src/utils/skillSettings.js.map +1 -1
- package/dist/src/utils/skillSettings.test.d.ts +6 -0
- package/dist/src/utils/skillSettings.test.js +142 -0
- package/dist/src/utils/skillSettings.test.js.map +1 -0
- package/dist/src/zed-integration/acpResume.test.js +8 -0
- package/dist/src/zed-integration/acpResume.test.js.map +1 -1
- package/dist/src/zed-integration/commandHandler.d.ts +26 -0
- package/dist/src/zed-integration/commandHandler.js +102 -0
- package/dist/src/zed-integration/commandHandler.js.map +1 -0
- package/dist/src/zed-integration/commandHandler.test.d.ts +6 -0
- package/dist/src/zed-integration/commandHandler.test.js +25 -0
- package/dist/src/zed-integration/commandHandler.test.js.map +1 -0
- package/dist/src/zed-integration/commands/commandRegistry.d.ts +12 -0
- package/dist/src/zed-integration/commands/commandRegistry.js +26 -0
- package/dist/src/zed-integration/commands/commandRegistry.js.map +1 -0
- package/dist/src/zed-integration/commands/extensions.d.ts +57 -0
- package/dist/src/zed-integration/commands/extensions.js +320 -0
- package/dist/src/zed-integration/commands/extensions.js.map +1 -0
- package/dist/src/zed-integration/commands/init.d.ts +12 -0
- package/dist/src/zed-integration/commands/init.js +47 -0
- package/dist/src/zed-integration/commands/init.js.map +1 -0
- package/dist/src/zed-integration/commands/memory.d.ts +34 -0
- package/dist/src/zed-integration/commands/memory.js +83 -0
- package/dist/src/zed-integration/commands/memory.js.map +1 -0
- package/dist/src/zed-integration/commands/restore.d.ts +18 -0
- package/dist/src/zed-integration/commands/restore.js +140 -0
- package/dist/src/zed-integration/commands/restore.js.map +1 -0
- package/dist/src/zed-integration/commands/types.d.ts +31 -0
- package/dist/src/zed-integration/commands/types.js +7 -0
- package/dist/src/zed-integration/commands/types.js.map +1 -0
- package/dist/src/zed-integration/zedIntegration.d.ts +9 -2
- package/dist/src/zed-integration/zedIntegration.js +170 -8
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.test.js +329 -2
- package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/dist/src/ui/components/SessionRetentionWarningDialog.d.ts +0 -12
- package/dist/src/ui/components/SessionRetentionWarningDialog.js +0 -27
- package/dist/src/ui/components/SessionRetentionWarningDialog.js.map +0 -1
- package/dist/src/ui/components/SessionRetentionWarningDialog.test.js +0 -72
- package/dist/src/ui/components/SessionRetentionWarningDialog.test.js.map +0 -1
- package/dist/src/ui/components/views/HooksList.d.ts +0 -24
- package/dist/src/ui/components/views/HooksList.js +0 -28
- package/dist/src/ui/components/views/HooksList.js.map +0 -1
- package/dist/src/ui/hooks/useSessionRetentionCheck.d.ts +0 -12
- package/dist/src/ui/hooks/useSessionRetentionCheck.js +0 -57
- package/dist/src/ui/hooks/useSessionRetentionCheck.js.map +0 -1
- package/dist/src/ui/hooks/useSessionRetentionCheck.test.js +0 -169
- package/dist/src/ui/hooks/useSessionRetentionCheck.test.js.map +0 -1
- /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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
const
|
|
408
|
-
|
|
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('
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
559
|
+
ui: { requiresRestart: true },
|
|
690
560
|
});
|
|
691
|
-
const
|
|
692
|
-
|
|
693
|
-
expect(result).toBe('false*');
|
|
561
|
+
const result = getDisplayValue('ui.requiresRestart', settings, mergedSettings);
|
|
562
|
+
expect(result).toBe('true*');
|
|
694
563
|
});
|
|
695
|
-
it('should show
|
|
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
|
|
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
|
|
705
|
-
const settings = makeMockSettings({
|
|
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
|
|
728
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
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
|
-
|
|
608
|
+
model: { compressionThreshold: 0.8 },
|
|
779
609
|
});
|
|
780
|
-
const
|
|
781
|
-
|
|
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
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
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
|
|
810
|
-
|
|
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,
|
|
7
|
-
|
|
8
|
-
|
|
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).
|