@google/gemini-cli 0.27.0-preview.3 → 0.28.0-nightly.20260130.d43d772e6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/google-gemini-cli-0.28.0-nightly.20260128.adc8e11bb.tgz +0 -0
- package/dist/package.json +2 -2
- package/dist/src/commands/extensions/examples/themes-example/README.md +28 -0
- package/dist/src/commands/extensions/examples/themes-example/gemini-extension.json +29 -0
- package/dist/src/commands/extensions/update.js +9 -3
- package/dist/src/commands/extensions/update.js.map +1 -1
- package/dist/src/commands/extensions/update.test.js +26 -0
- package/dist/src/commands/extensions/update.test.js.map +1 -1
- package/dist/src/commands/mcp/add.js +4 -0
- package/dist/src/commands/mcp/add.js.map +1 -1
- package/dist/src/config/config.js +2 -2
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +1 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager-themes.spec.js +196 -0
- package/dist/src/config/extension-manager-themes.spec.js.map +1 -0
- package/dist/src/config/extension-manager.d.ts +2 -0
- package/dist/src/config/extension-manager.js +14 -0
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension.d.ts +6 -1
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +2 -1
- package/dist/src/config/keyBindings.js +13 -2
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/settings.js +13 -5
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +37 -17
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +10 -11
- package/dist/src/config/settingsSchema.js +13 -9
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/gemini.js +6 -3
- 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/generated/git-commit.js.map +1 -1
- package/dist/src/nonInteractiveCli.js +4 -0
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCli.test.js +40 -0
- package/dist/src/nonInteractiveCli.test.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +4 -2
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
- package/dist/src/test-utils/createExtension.d.ts +3 -3
- package/dist/src/test-utils/createExtension.js +9 -2
- package/dist/src/test-utils/createExtension.js.map +1 -1
- package/dist/src/ui/AppContainer.js +48 -2
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +158 -3
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +2 -0
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.test.js +5 -0
- package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +4 -0
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.test.js +3 -0
- package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/hooksCommand.js +50 -66
- package/dist/src/ui/commands/hooksCommand.js.map +1 -1
- package/dist/src/ui/commands/hooksCommand.test.js +61 -63
- package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
- package/dist/src/ui/commands/statsCommand.js +17 -0
- package/dist/src/ui/commands/statsCommand.js.map +1 -1
- package/dist/src/ui/commands/statsCommand.test.js +18 -0
- package/dist/src/ui/commands/statsCommand.test.js.map +1 -1
- package/dist/src/ui/components/AboutBox.js +10 -5
- package/dist/src/ui/components/AboutBox.js.map +1 -1
- package/dist/src/ui/components/AboutBox.test.js +5 -5
- package/dist/src/ui/components/AboutBox.test.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +0 -3
- package/dist/src/ui/components/AsciiArt.js +0 -36
- package/dist/src/ui/components/AsciiArt.js.map +1 -1
- package/dist/src/ui/components/Checklist.d.ts +14 -0
- package/dist/src/ui/components/Checklist.js +31 -0
- package/dist/src/ui/components/Checklist.js.map +1 -0
- package/dist/src/ui/components/Checklist.test.d.ts +6 -0
- package/dist/src/ui/components/Checklist.test.js +46 -0
- package/dist/src/ui/components/Checklist.test.js.map +1 -0
- package/dist/src/ui/components/ChecklistItem.d.ts +17 -0
- package/dist/src/ui/components/ChecklistItem.js +36 -0
- package/dist/src/ui/components/ChecklistItem.js.map +1 -0
- package/dist/src/ui/components/ChecklistItem.test.d.ts +6 -0
- package/dist/src/ui/components/ChecklistItem.test.js +38 -0
- package/dist/src/ui/components/ChecklistItem.test.js.map +1 -0
- package/dist/src/ui/components/Header.js +4 -6
- package/dist/src/ui/components/Header.js.map +1 -1
- package/dist/src/ui/components/Header.test.js +5 -26
- package/dist/src/ui/components/Header.test.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.d.ts +7 -1
- package/dist/src/ui/components/ModelStatsDisplay.js +24 -18
- package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.js +75 -0
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +4 -2
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.d.ts +3 -0
- package/dist/src/ui/components/StatsDisplay.js +9 -2
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.test.js +46 -5
- package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.js +17 -25
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.js +6 -6
- package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.test.js +42 -0
- package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
- package/dist/src/ui/components/messages/Todo.js +11 -62
- package/dist/src/ui/components/messages/Todo.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.js +5 -5
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +116 -47
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
- package/dist/src/ui/components/triage/TriageDuplicates.js +4 -4
- package/dist/src/ui/components/triage/TriageDuplicates.js.map +1 -1
- package/dist/src/ui/constants/tips.js +2 -2
- package/dist/src/ui/constants/tips.js.map +1 -1
- package/dist/src/ui/constants.d.ts +1 -1
- package/dist/src/ui/constants.js +1 -1
- package/dist/src/ui/contexts/AskUserActionsContext.d.ts +1 -0
- package/dist/src/ui/contexts/AskUserActionsContext.js +1 -1
- package/dist/src/ui/contexts/AskUserActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.js +2 -0
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +2 -1
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +20 -0
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +8 -1
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useHistoryManager.d.ts +2 -1
- package/dist/src/ui/hooks/useHistoryManager.js +2 -2
- package/dist/src/ui/hooks/useHistoryManager.js.map +1 -1
- package/dist/src/ui/hooks/useHistoryManager.test.js +32 -0
- package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -1
- package/dist/src/ui/hooks/useHookDisplayState.test.js +39 -19
- package/dist/src/ui/hooks/useHookDisplayState.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionResume.js +8 -0
- package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
- package/dist/src/ui/hooks/useSessionResume.test.js +64 -0
- package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +15 -4
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.d.ts +23 -2
- package/dist/src/ui/themes/theme-manager.js +108 -17
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.test.js +40 -0
- package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +2 -47
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/theme.test.js +1 -4
- package/dist/src/ui/themes/theme.test.js.map +1 -1
- package/dist/src/ui/types.d.ts +6 -0
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.js +13 -6
- package/dist/src/ui/utils/TableRenderer.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.test.d.ts +1 -0
- package/dist/src/ui/utils/TableRenderer.test.js +48 -0
- package/dist/src/ui/utils/TableRenderer.test.js.map +1 -0
- package/dist/src/utils/activityLogger.d.ts +5 -1
- package/dist/src/utils/activityLogger.js +8 -3
- package/dist/src/utils/activityLogger.js.map +1 -1
- package/dist/src/utils/gitUtils.js +22 -5
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/gitUtils.test.js +59 -0
- package/dist/src/utils/gitUtils.test.js.map +1 -1
- package/dist/src/utils/hookSettings.d.ts +30 -0
- package/dist/src/utils/hookSettings.js +114 -0
- package/dist/src/utils/hookSettings.js.map +1 -0
- package/dist/src/utils/hookSettings.test.d.ts +6 -0
- package/dist/src/utils/hookSettings.test.js +117 -0
- package/dist/src/utils/hookSettings.test.js.map +1 -0
- package/dist/src/utils/hookUtils.d.ts +12 -0
- package/dist/src/utils/hookUtils.js +51 -0
- package/dist/src/utils/hookUtils.js.map +1 -0
- package/dist/src/utils/hookUtils.test.d.ts +6 -0
- package/dist/src/utils/hookUtils.test.js +113 -0
- package/dist/src/utils/hookUtils.test.js.map +1 -0
- package/dist/src/utils/installationInfo.js +1 -1
- package/dist/src/utils/installationInfo.js.map +1 -1
- package/dist/src/utils/installationInfo.test.js +1 -1
- package/dist/src/utils/installationInfo.test.js.map +1 -1
- package/dist/src/utils/sessionCleanup.d.ts +14 -0
- package/dist/src/utils/sessionCleanup.js +106 -1
- package/dist/src/utils/sessionCleanup.js.map +1 -1
- package/dist/src/utils/sessionCleanup.test.js +12 -1
- package/dist/src/utils/sessionCleanup.test.js.map +1 -1
- package/dist/src/utils/toolOutputCleanup.test.d.ts +6 -0
- package/dist/src/utils/toolOutputCleanup.test.js +229 -0
- package/dist/src/utils/toolOutputCleanup.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/google-gemini-cli-0.27.0-preview.2.tgz +0 -0
- package/dist/src/config/skills-backward-compatibility.test.js +0 -99
- package/dist/src/config/skills-backward-compatibility.test.js.map +0 -1
- /package/dist/src/config/{skills-backward-compatibility.test.d.ts → extension-manager-themes.spec.d.ts} +0 -0
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
import { CommandKind } from './types.js';
|
|
7
7
|
import { MessageType } from '../types.js';
|
|
8
8
|
import { getErrorMessage } from '@google/gemini-cli-core';
|
|
9
|
-
import { SettingScope } from '../../config/settings.js';
|
|
9
|
+
import { SettingScope, isLoadableSettingScope } from '../../config/settings.js';
|
|
10
|
+
import { enableHook, disableHook } from '../../utils/hookSettings.js';
|
|
11
|
+
import { renderHookActionFeedback } from '../../utils/hookUtils.js';
|
|
10
12
|
/**
|
|
11
13
|
* Display a formatted list of hooks with their status
|
|
12
14
|
*/
|
|
@@ -55,34 +57,17 @@ async function enableAction(context, args) {
|
|
|
55
57
|
content: 'Usage: /hooks enable <hook-name>',
|
|
56
58
|
};
|
|
57
59
|
}
|
|
58
|
-
// Get current disabled hooks from settings
|
|
59
60
|
const settings = context.services.settings;
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
const newDisabledHooks = disabledHooks.filter((name) => name !== hookName);
|
|
63
|
-
// Update settings (setValue automatically saves)
|
|
64
|
-
try {
|
|
65
|
-
const scope = settings.workspace
|
|
66
|
-
? SettingScope.Workspace
|
|
67
|
-
: SettingScope.User;
|
|
68
|
-
settings.setValue(scope, 'hooksConfig.disabled', newDisabledHooks);
|
|
69
|
-
// Update core config so re-initialization (e.g. extension reload) respects the change
|
|
70
|
-
config.updateDisabledHooks(settings.merged.hooksConfig.disabled);
|
|
71
|
-
// Enable in hook system
|
|
61
|
+
const result = enableHook(settings, hookName);
|
|
62
|
+
if (result.status === 'success') {
|
|
72
63
|
hookSystem.setHookEnabled(hookName, true);
|
|
73
|
-
return {
|
|
74
|
-
type: 'message',
|
|
75
|
-
messageType: 'info',
|
|
76
|
-
content: `Hook "${hookName}" enabled successfully.`,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
return {
|
|
81
|
-
type: 'message',
|
|
82
|
-
messageType: 'error',
|
|
83
|
-
content: `Failed to enable hook: ${getErrorMessage(error)}`,
|
|
84
|
-
};
|
|
85
64
|
}
|
|
65
|
+
const feedback = renderHookActionFeedback(result, (label, path) => `${label} (${path})`);
|
|
66
|
+
return {
|
|
67
|
+
type: 'message',
|
|
68
|
+
messageType: result.status === 'error' ? 'error' : 'info',
|
|
69
|
+
content: feedback,
|
|
70
|
+
};
|
|
86
71
|
}
|
|
87
72
|
/**
|
|
88
73
|
* Disable a hook by name
|
|
@@ -112,40 +97,23 @@ async function disableAction(context, args) {
|
|
|
112
97
|
content: 'Usage: /hooks disable <hook-name>',
|
|
113
98
|
};
|
|
114
99
|
}
|
|
115
|
-
// Get current disabled hooks from settings
|
|
116
100
|
const settings = context.services.settings;
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (!disabledHooks.includes(hookName)) {
|
|
121
|
-
const newDisabledHooks = [...disabledHooks, hookName];
|
|
122
|
-
const scope = settings.workspace
|
|
123
|
-
? SettingScope.Workspace
|
|
124
|
-
: SettingScope.User;
|
|
125
|
-
settings.setValue(scope, 'hooksConfig.disabled', newDisabledHooks);
|
|
126
|
-
}
|
|
127
|
-
// Update core config so re-initialization (e.g. extension reload) respects the change
|
|
128
|
-
config.updateDisabledHooks(settings.merged.hooksConfig.disabled);
|
|
129
|
-
// Always disable in hook system to ensure in-memory state matches settings
|
|
101
|
+
const scope = settings.workspace ? SettingScope.Workspace : SettingScope.User;
|
|
102
|
+
const result = disableHook(settings, hookName, scope);
|
|
103
|
+
if (result.status === 'success') {
|
|
130
104
|
hookSystem.setHookEnabled(hookName, false);
|
|
131
|
-
return {
|
|
132
|
-
type: 'message',
|
|
133
|
-
messageType: 'info',
|
|
134
|
-
content: `Hook "${hookName}" disabled successfully.`,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
catch (error) {
|
|
138
|
-
return {
|
|
139
|
-
type: 'message',
|
|
140
|
-
messageType: 'error',
|
|
141
|
-
content: `Failed to disable hook: ${getErrorMessage(error)}`,
|
|
142
|
-
};
|
|
143
105
|
}
|
|
106
|
+
const feedback = renderHookActionFeedback(result, (label, path) => `${label} (${path})`);
|
|
107
|
+
return {
|
|
108
|
+
type: 'message',
|
|
109
|
+
messageType: result.status === 'error' ? 'error' : 'info',
|
|
110
|
+
content: feedback,
|
|
111
|
+
};
|
|
144
112
|
}
|
|
145
113
|
/**
|
|
146
|
-
* Completion function for hook names
|
|
114
|
+
* Completion function for enabled hook names (to be disabled)
|
|
147
115
|
*/
|
|
148
|
-
function
|
|
116
|
+
function completeEnabledHookNames(context, partialArg) {
|
|
149
117
|
const { config } = context.services;
|
|
150
118
|
if (!config)
|
|
151
119
|
return [];
|
|
@@ -153,8 +121,26 @@ function completeHookNames(context, partialArg) {
|
|
|
153
121
|
if (!hookSystem)
|
|
154
122
|
return [];
|
|
155
123
|
const allHooks = hookSystem.getAllHooks();
|
|
156
|
-
|
|
157
|
-
|
|
124
|
+
return allHooks
|
|
125
|
+
.filter((hook) => hook.enabled)
|
|
126
|
+
.map((hook) => getHookDisplayName(hook))
|
|
127
|
+
.filter((name) => name.startsWith(partialArg));
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Completion function for disabled hook names (to be enabled)
|
|
131
|
+
*/
|
|
132
|
+
function completeDisabledHookNames(context, partialArg) {
|
|
133
|
+
const { config } = context.services;
|
|
134
|
+
if (!config)
|
|
135
|
+
return [];
|
|
136
|
+
const hookSystem = config.getHookSystem();
|
|
137
|
+
if (!hookSystem)
|
|
138
|
+
return [];
|
|
139
|
+
const allHooks = hookSystem.getAllHooks();
|
|
140
|
+
return allHooks
|
|
141
|
+
.filter((hook) => !hook.enabled)
|
|
142
|
+
.map((hook) => getHookDisplayName(hook))
|
|
143
|
+
.filter((name) => name.startsWith(partialArg));
|
|
158
144
|
}
|
|
159
145
|
/**
|
|
160
146
|
* Get a display name for a hook
|
|
@@ -200,12 +186,12 @@ async function enableAllAction(context) {
|
|
|
200
186
|
};
|
|
201
187
|
}
|
|
202
188
|
try {
|
|
203
|
-
const
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
189
|
+
const scopes = [SettingScope.Workspace, SettingScope.User];
|
|
190
|
+
for (const scope of scopes) {
|
|
191
|
+
if (isLoadableSettingScope(scope)) {
|
|
192
|
+
settings.setValue(scope, 'hooksConfig.disabled', []);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
209
195
|
for (const hook of disabledHooks) {
|
|
210
196
|
const hookName = getHookDisplayName(hook);
|
|
211
197
|
hookSystem.setHookEnabled(hookName, true);
|
|
@@ -267,8 +253,6 @@ async function disableAllAction(context) {
|
|
|
267
253
|
? SettingScope.Workspace
|
|
268
254
|
: SettingScope.User;
|
|
269
255
|
settings.setValue(scope, 'hooksConfig.disabled', allHookNames);
|
|
270
|
-
// Update core config so re-initialization (e.g. extension reload) respects the change
|
|
271
|
-
config.updateDisabledHooks(settings.merged.hooksConfig.disabled);
|
|
272
256
|
for (const hook of enabledHooks) {
|
|
273
257
|
const hookName = getHookDisplayName(hook);
|
|
274
258
|
hookSystem.setHookEnabled(hookName, false);
|
|
@@ -300,7 +284,7 @@ const enableCommand = {
|
|
|
300
284
|
kind: CommandKind.BUILT_IN,
|
|
301
285
|
autoExecute: true,
|
|
302
286
|
action: enableAction,
|
|
303
|
-
completion:
|
|
287
|
+
completion: completeDisabledHookNames,
|
|
304
288
|
};
|
|
305
289
|
const disableCommand = {
|
|
306
290
|
name: 'disable',
|
|
@@ -308,7 +292,7 @@ const disableCommand = {
|
|
|
308
292
|
kind: CommandKind.BUILT_IN,
|
|
309
293
|
autoExecute: true,
|
|
310
294
|
action: disableAction,
|
|
311
|
-
completion:
|
|
295
|
+
completion: completeEnabledHookNames,
|
|
312
296
|
};
|
|
313
297
|
const enableAllCommand = {
|
|
314
298
|
name: 'enable-all',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooksCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/hooksCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAA6B,MAAM,aAAa,CAAC;AAKrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"hooksCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/hooksCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { hooksCommand } from './hooksCommand.js';
|
|
|
8
8
|
import { createMockCommandContext } from '../../test-utils/mockCommandContext.js';
|
|
9
9
|
import { MessageType } from '../types.js';
|
|
10
10
|
import { HookType, HookEventName, ConfigSource } from '@google/gemini-cli-core';
|
|
11
|
+
import { SettingScope } from '../../config/settings.js';
|
|
11
12
|
describe('hooksCommand', () => {
|
|
12
13
|
let mockContext;
|
|
13
14
|
let mockHookSystem;
|
|
@@ -30,6 +31,16 @@ describe('hooksCommand', () => {
|
|
|
30
31
|
updateDisabledHooks: vi.fn(),
|
|
31
32
|
};
|
|
32
33
|
// Create mock settings
|
|
34
|
+
const mockUser = {
|
|
35
|
+
path: '/mock/user.json',
|
|
36
|
+
settings: { hooksConfig: { disabled: [] } },
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
+
};
|
|
39
|
+
const mockWorkspace = {
|
|
40
|
+
path: '/mock/workspace.json',
|
|
41
|
+
settings: { hooksConfig: { disabled: [] } },
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
+
};
|
|
33
44
|
mockSettings = {
|
|
34
45
|
merged: {
|
|
35
46
|
hooksConfig: {
|
|
@@ -37,6 +48,16 @@ describe('hooksCommand', () => {
|
|
|
37
48
|
},
|
|
38
49
|
},
|
|
39
50
|
setValue: vi.fn(),
|
|
51
|
+
workspace: mockWorkspace,
|
|
52
|
+
user: mockUser,
|
|
53
|
+
forScope: vi.fn((scope) => {
|
|
54
|
+
if (scope === SettingScope.User)
|
|
55
|
+
return mockUser;
|
|
56
|
+
if (scope === SettingScope.Workspace)
|
|
57
|
+
return mockWorkspace;
|
|
58
|
+
return mockUser;
|
|
59
|
+
}),
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
61
|
};
|
|
41
62
|
// Create mock context with config and settings
|
|
42
63
|
mockContext = createMockCommandContext({
|
|
@@ -182,42 +203,28 @@ describe('hooksCommand', () => {
|
|
|
182
203
|
});
|
|
183
204
|
});
|
|
184
205
|
it('should enable a hook and update settings', async () => {
|
|
185
|
-
// Update the
|
|
186
|
-
|
|
206
|
+
// Update the user settings with disabled hooks
|
|
207
|
+
mockSettings.user.settings.hooksConfig.disabled = [
|
|
187
208
|
'test-hook',
|
|
188
209
|
'other-hook',
|
|
189
210
|
];
|
|
211
|
+
mockSettings.workspace.settings.hooksConfig.disabled = [];
|
|
190
212
|
const enableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'enable');
|
|
191
213
|
if (!enableCmd?.action) {
|
|
192
214
|
throw new Error('enable command must have an action');
|
|
193
215
|
}
|
|
194
216
|
const result = await enableCmd.action(mockContext, 'test-hook');
|
|
195
|
-
expect(mockContext.services.settings.setValue).toHaveBeenCalledWith(
|
|
217
|
+
expect(mockContext.services.settings.setValue).toHaveBeenCalledWith(SettingScope.User, 'hooksConfig.disabled', ['other-hook']);
|
|
196
218
|
expect(mockHookSystem.setHookEnabled).toHaveBeenCalledWith('test-hook', true);
|
|
197
219
|
expect(result).toEqual({
|
|
198
220
|
type: 'message',
|
|
199
221
|
messageType: 'info',
|
|
200
|
-
content: 'Hook "test-hook" enabled
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
it('should handle error when enabling hook fails', async () => {
|
|
204
|
-
mockSettings.setValue.mockImplementationOnce(() => {
|
|
205
|
-
throw new Error('Failed to save settings');
|
|
206
|
-
});
|
|
207
|
-
const enableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'enable');
|
|
208
|
-
if (!enableCmd?.action) {
|
|
209
|
-
throw new Error('enable command must have an action');
|
|
210
|
-
}
|
|
211
|
-
const result = await enableCmd.action(mockContext, 'test-hook');
|
|
212
|
-
expect(result).toEqual({
|
|
213
|
-
type: 'message',
|
|
214
|
-
messageType: 'error',
|
|
215
|
-
content: 'Failed to enable hook: Failed to save settings',
|
|
222
|
+
content: 'Hook "test-hook" enabled by removing it from the disabled list in user (/mock/user.json) and workspace (/mock/workspace.json) settings.',
|
|
216
223
|
});
|
|
217
224
|
});
|
|
218
225
|
it('should complete hook names using friendly names', () => {
|
|
219
226
|
const enableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'enable');
|
|
220
|
-
const hookEntry = createMockHook('./hooks/test.sh', HookEventName.BeforeTool,
|
|
227
|
+
const hookEntry = createMockHook('./hooks/test.sh', HookEventName.BeforeTool, false);
|
|
221
228
|
hookEntry.config.name = 'friendly-name';
|
|
222
229
|
mockHookSystem.getAllHooks.mockReturnValue([hookEntry]);
|
|
223
230
|
const completions = enableCmd.completion(mockContext, 'frie');
|
|
@@ -268,52 +275,45 @@ describe('hooksCommand', () => {
|
|
|
268
275
|
});
|
|
269
276
|
});
|
|
270
277
|
it('should disable a hook and update settings', async () => {
|
|
271
|
-
|
|
278
|
+
// Ensure not disabled anywhere
|
|
279
|
+
mockSettings.workspace.settings.hooksConfig.disabled = [];
|
|
280
|
+
mockSettings.user.settings.hooksConfig.disabled = [];
|
|
272
281
|
const disableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'disable');
|
|
273
282
|
if (!disableCmd?.action) {
|
|
274
283
|
throw new Error('disable command must have an action');
|
|
275
284
|
}
|
|
276
285
|
const result = await disableCmd.action(mockContext, 'test-hook');
|
|
277
|
-
|
|
286
|
+
// Should default to workspace if present
|
|
287
|
+
expect(mockContext.services.settings.setValue).toHaveBeenCalledWith(SettingScope.Workspace, 'hooksConfig.disabled', ['test-hook']);
|
|
278
288
|
expect(mockHookSystem.setHookEnabled).toHaveBeenCalledWith('test-hook', false);
|
|
279
289
|
expect(result).toEqual({
|
|
280
290
|
type: 'message',
|
|
281
291
|
messageType: 'info',
|
|
282
|
-
content: 'Hook "test-hook" disabled
|
|
292
|
+
content: 'Hook "test-hook" disabled by adding it to the disabled list in workspace (/mock/workspace.json) settings.',
|
|
283
293
|
});
|
|
284
294
|
});
|
|
285
|
-
it('should
|
|
286
|
-
// Update the context's settings with the hook already disabled
|
|
287
|
-
|
|
295
|
+
it('should return info when hook is already disabled', async () => {
|
|
296
|
+
// Update the context's settings with the hook already disabled in Workspace
|
|
297
|
+
mockSettings.workspace.settings.hooksConfig.disabled = ['test-hook'];
|
|
288
298
|
const disableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'disable');
|
|
289
299
|
if (!disableCmd?.action) {
|
|
290
300
|
throw new Error('disable command must have an action');
|
|
291
301
|
}
|
|
292
302
|
const result = await disableCmd.action(mockContext, 'test-hook');
|
|
293
303
|
expect(mockContext.services.settings.setValue).not.toHaveBeenCalled();
|
|
294
|
-
expect(mockHookSystem.setHookEnabled).toHaveBeenCalledWith('test-hook', false);
|
|
295
|
-
expect(mockConfig.updateDisabledHooks).toHaveBeenCalled();
|
|
296
304
|
expect(result).toEqual({
|
|
297
305
|
type: 'message',
|
|
298
306
|
messageType: 'info',
|
|
299
|
-
content: 'Hook "test-hook" disabled
|
|
307
|
+
content: 'Hook "test-hook" is already disabled.',
|
|
300
308
|
});
|
|
301
309
|
});
|
|
302
|
-
it('should
|
|
303
|
-
mockContext.services.settings.merged.hooksConfig.disabled = [];
|
|
304
|
-
mockSettings.setValue.mockImplementationOnce(() => {
|
|
305
|
-
throw new Error('Failed to save settings');
|
|
306
|
-
});
|
|
310
|
+
it('should complete hook names using friendly names', () => {
|
|
307
311
|
const disableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'disable');
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
const
|
|
312
|
-
expect(
|
|
313
|
-
type: 'message',
|
|
314
|
-
messageType: 'error',
|
|
315
|
-
content: 'Failed to disable hook: Failed to save settings',
|
|
316
|
-
});
|
|
312
|
+
const hookEntry = createMockHook('./hooks/test.sh', HookEventName.BeforeTool, true);
|
|
313
|
+
hookEntry.config.name = 'friendly-name';
|
|
314
|
+
mockHookSystem.getAllHooks.mockReturnValue([hookEntry]);
|
|
315
|
+
const completions = disableCmd.completion(mockContext, 'frie');
|
|
316
|
+
expect(completions).toContain('friendly-name');
|
|
317
317
|
});
|
|
318
318
|
});
|
|
319
319
|
describe('completion', () => {
|
|
@@ -339,38 +339,35 @@ describe('hooksCommand', () => {
|
|
|
339
339
|
const result = enableCmd.completion(mockContext, 'test');
|
|
340
340
|
expect(result).toEqual([]);
|
|
341
341
|
});
|
|
342
|
-
it('should return matching hook names', () => {
|
|
342
|
+
it('should return matching hook names based on status', () => {
|
|
343
343
|
const mockHooks = [
|
|
344
|
-
createMockHook('test-hook-
|
|
345
|
-
createMockHook('test-hook-
|
|
346
|
-
createMockHook('other-hook', HookEventName.AfterAgent, false),
|
|
344
|
+
createMockHook('test-hook-enabled', HookEventName.BeforeTool, true),
|
|
345
|
+
createMockHook('test-hook-disabled', HookEventName.AfterTool, false),
|
|
347
346
|
];
|
|
348
347
|
mockHookSystem.getAllHooks.mockReturnValue(mockHooks);
|
|
349
348
|
const enableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'enable');
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
const
|
|
354
|
-
expect(
|
|
349
|
+
const disableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'disable');
|
|
350
|
+
const enableResult = enableCmd.completion(mockContext, 'test');
|
|
351
|
+
expect(enableResult).toEqual(['test-hook-disabled']);
|
|
352
|
+
const disableResult = disableCmd.completion(mockContext, 'test');
|
|
353
|
+
expect(disableResult).toEqual(['test-hook-enabled']);
|
|
355
354
|
});
|
|
356
|
-
it('should return all hook names when partial is empty', () => {
|
|
355
|
+
it('should return all relevant hook names when partial is empty', () => {
|
|
357
356
|
const mockHooks = [
|
|
358
|
-
createMockHook('hook-
|
|
359
|
-
createMockHook('hook-
|
|
357
|
+
createMockHook('hook-enabled', HookEventName.BeforeTool, true),
|
|
358
|
+
createMockHook('hook-disabled', HookEventName.AfterTool, false),
|
|
360
359
|
];
|
|
361
360
|
mockHookSystem.getAllHooks.mockReturnValue(mockHooks);
|
|
362
361
|
const enableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'enable');
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
const result = enableCmd.completion(mockContext, '');
|
|
367
|
-
expect(result).toEqual(['hook-1', 'hook-2']);
|
|
362
|
+
const disableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'disable');
|
|
363
|
+
expect(enableCmd.completion(mockContext, '')).toEqual(['hook-disabled']);
|
|
364
|
+
expect(disableCmd.completion(mockContext, '')).toEqual(['hook-enabled']);
|
|
368
365
|
});
|
|
369
366
|
it('should handle hooks without command name gracefully', () => {
|
|
370
367
|
const mockHooks = [
|
|
371
|
-
createMockHook('test-hook', HookEventName.BeforeTool,
|
|
368
|
+
createMockHook('test-hook', HookEventName.BeforeTool, false),
|
|
372
369
|
{
|
|
373
|
-
...createMockHook('', HookEventName.AfterTool,
|
|
370
|
+
...createMockHook('', HookEventName.AfterTool, false),
|
|
374
371
|
config: { command: '', type: HookType.Command, timeout: 30 },
|
|
375
372
|
},
|
|
376
373
|
];
|
|
@@ -426,7 +423,8 @@ describe('hooksCommand', () => {
|
|
|
426
423
|
throw new Error('enable-all command must have an action');
|
|
427
424
|
}
|
|
428
425
|
const result = await enableAllCmd.action(mockContext, '');
|
|
429
|
-
expect(mockContext.services.settings.setValue).toHaveBeenCalledWith(expect.any(String), '
|
|
426
|
+
expect(mockContext.services.settings.setValue).toHaveBeenCalledWith(expect.any(String), // enableAll uses legacy logic so it might return 'Workspace' or 'User' depending on ternary
|
|
427
|
+
'hooksConfig.disabled', []);
|
|
430
428
|
expect(mockHookSystem.setHookEnabled).toHaveBeenCalledWith('hook-1', true);
|
|
431
429
|
expect(mockHookSystem.setHookEnabled).toHaveBeenCalledWith('hook-2', true);
|
|
432
430
|
expect(result).toEqual({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooksCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/hooksCommand.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooksCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/hooksCommand.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,16 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { MessageType } from '../types.js';
|
|
7
7
|
import { formatDuration } from '../utils/formatters.js';
|
|
8
|
+
import { UserAccountManager } from '@google/gemini-cli-core';
|
|
8
9
|
import { CommandKind, } from './types.js';
|
|
10
|
+
function getUserIdentity(context) {
|
|
11
|
+
const selectedAuthType = context.services.settings.merged.security.auth.selectedType || '';
|
|
12
|
+
const userAccountManager = new UserAccountManager();
|
|
13
|
+
const cachedAccount = userAccountManager.getCachedGoogleAccount();
|
|
14
|
+
const userEmail = cachedAccount ?? undefined;
|
|
15
|
+
const tier = context.services.config?.getUserTierName();
|
|
16
|
+
return { selectedAuthType, userEmail, tier };
|
|
17
|
+
}
|
|
9
18
|
async function defaultSessionView(context) {
|
|
10
19
|
const now = new Date();
|
|
11
20
|
const { sessionStartTime } = context.session.stats;
|
|
@@ -17,9 +26,13 @@ async function defaultSessionView(context) {
|
|
|
17
26
|
return;
|
|
18
27
|
}
|
|
19
28
|
const wallDuration = now.getTime() - sessionStartTime.getTime();
|
|
29
|
+
const { selectedAuthType, userEmail, tier } = getUserIdentity(context);
|
|
20
30
|
const statsItem = {
|
|
21
31
|
type: MessageType.STATS,
|
|
22
32
|
duration: formatDuration(wallDuration),
|
|
33
|
+
selectedAuthType,
|
|
34
|
+
userEmail,
|
|
35
|
+
tier,
|
|
23
36
|
};
|
|
24
37
|
if (context.services.config) {
|
|
25
38
|
const quota = await context.services.config.refreshUserQuota();
|
|
@@ -54,8 +67,12 @@ export const statsCommand = {
|
|
|
54
67
|
kind: CommandKind.BUILT_IN,
|
|
55
68
|
autoExecute: true,
|
|
56
69
|
action: (context) => {
|
|
70
|
+
const { selectedAuthType, userEmail, tier } = getUserIdentity(context);
|
|
57
71
|
context.ui.addItem({
|
|
58
72
|
type: MessageType.MODEL_STATS,
|
|
73
|
+
selectedAuthType,
|
|
74
|
+
userEmail,
|
|
75
|
+
tier,
|
|
59
76
|
});
|
|
60
77
|
},
|
|
61
78
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/statsCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"statsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/statsCommand.ts"],"names":[],"mappings":"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"}
|