@google/gemini-cli 0.1.13 → 0.1.15

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 (215) hide show
  1. package/README.md +22 -1
  2. package/dist/google-gemini-cli-0.1.13.tgz +0 -0
  3. package/dist/package.json +6 -3
  4. package/dist/src/config/config.d.ts +3 -2
  5. package/dist/src/config/config.js +19 -29
  6. package/dist/src/config/config.js.map +1 -1
  7. package/dist/src/config/settings.d.ts +7 -2
  8. package/dist/src/config/settings.js +25 -10
  9. package/dist/src/config/settings.js.map +1 -1
  10. package/dist/src/gemini.d.ts +1 -0
  11. package/dist/src/gemini.js +28 -35
  12. package/dist/src/gemini.js.map +1 -1
  13. package/dist/src/generated/git-commit.d.ts +1 -1
  14. package/dist/src/generated/git-commit.js +1 -1
  15. package/dist/src/patches/is-in-ci.d.ts +7 -0
  16. package/dist/src/patches/is-in-ci.js +15 -0
  17. package/dist/src/patches/is-in-ci.js.map +1 -0
  18. package/dist/src/services/BuiltinCommandLoader.d.ts +24 -0
  19. package/dist/src/services/BuiltinCommandLoader.js +72 -0
  20. package/dist/src/services/BuiltinCommandLoader.js.map +1 -0
  21. package/dist/src/services/CommandService.d.ts +43 -7
  22. package/dist/src/services/CommandService.js +61 -56
  23. package/dist/src/services/CommandService.js.map +1 -1
  24. package/dist/src/services/FileCommandLoader.d.ts +37 -0
  25. package/dist/src/services/FileCommandLoader.js +179 -0
  26. package/dist/src/services/FileCommandLoader.js.map +1 -0
  27. package/dist/src/services/McpPromptLoader.d.ts +25 -0
  28. package/dist/src/services/McpPromptLoader.js +192 -0
  29. package/dist/src/services/McpPromptLoader.js.map +1 -0
  30. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +21 -0
  31. package/dist/src/services/prompt-processors/argumentProcessor.js +28 -0
  32. package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -0
  33. package/dist/src/services/prompt-processors/shellProcessor.d.ts +32 -0
  34. package/dist/src/services/prompt-processors/shellProcessor.js +77 -0
  35. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -0
  36. package/dist/src/services/prompt-processors/types.d.ts +38 -0
  37. package/dist/src/services/prompt-processors/types.js +14 -0
  38. package/dist/src/services/prompt-processors/types.js.map +1 -0
  39. package/dist/src/services/types.d.ts +22 -0
  40. package/dist/src/services/types.js +7 -0
  41. package/dist/src/services/types.js.map +1 -0
  42. package/dist/src/ui/App.js +84 -59
  43. package/dist/src/ui/App.js.map +1 -1
  44. package/dist/src/ui/colors.js +6 -0
  45. package/dist/src/ui/colors.js.map +1 -1
  46. package/dist/src/ui/commands/aboutCommand.js +2 -0
  47. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  48. package/dist/src/ui/commands/authCommand.js +2 -0
  49. package/dist/src/ui/commands/authCommand.js.map +1 -1
  50. package/dist/src/ui/commands/bugCommand.js +2 -0
  51. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  52. package/dist/src/ui/commands/chatCommand.js +12 -2
  53. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  54. package/dist/src/ui/commands/clearCommand.js +2 -0
  55. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  56. package/dist/src/ui/commands/compressCommand.js +3 -1
  57. package/dist/src/ui/commands/compressCommand.js.map +1 -1
  58. package/dist/src/ui/commands/copyCommand.d.ts +7 -0
  59. package/dist/src/ui/commands/copyCommand.js +59 -0
  60. package/dist/src/ui/commands/copyCommand.js.map +1 -0
  61. package/dist/src/ui/commands/corgiCommand.js +2 -0
  62. package/dist/src/ui/commands/corgiCommand.js.map +1 -1
  63. package/dist/src/ui/commands/docsCommand.js +2 -0
  64. package/dist/src/ui/commands/docsCommand.js.map +1 -1
  65. package/dist/src/ui/commands/editorCommand.js +2 -0
  66. package/dist/src/ui/commands/editorCommand.js.map +1 -1
  67. package/dist/src/ui/commands/extensionsCommand.js +2 -0
  68. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  69. package/dist/src/ui/commands/helpCommand.js +3 -1
  70. package/dist/src/ui/commands/helpCommand.js.map +1 -1
  71. package/dist/src/ui/commands/ideCommand.js +20 -22
  72. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  73. package/dist/src/ui/commands/mcpCommand.js +229 -8
  74. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  75. package/dist/src/ui/commands/memoryCommand.js +11 -4
  76. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  77. package/dist/src/ui/commands/privacyCommand.js +2 -0
  78. package/dist/src/ui/commands/privacyCommand.js.map +1 -1
  79. package/dist/src/ui/commands/quitCommand.js +3 -1
  80. package/dist/src/ui/commands/quitCommand.js.map +1 -1
  81. package/dist/src/ui/commands/restoreCommand.js +2 -0
  82. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  83. package/dist/src/ui/commands/statsCommand.js +5 -1
  84. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  85. package/dist/src/ui/commands/themeCommand.js +2 -0
  86. package/dist/src/ui/commands/themeCommand.js.map +1 -1
  87. package/dist/src/ui/commands/toolsCommand.js +2 -0
  88. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  89. package/dist/src/ui/commands/types.d.ts +41 -3
  90. package/dist/src/ui/commands/types.js +6 -1
  91. package/dist/src/ui/commands/types.js.map +1 -1
  92. package/dist/src/ui/commands/vimCommand.d.ts +7 -0
  93. package/dist/src/ui/commands/vimCommand.js +23 -0
  94. package/dist/src/ui/commands/vimCommand.js.map +1 -0
  95. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +2 -2
  96. package/dist/src/ui/components/ContextSummaryDisplay.js +12 -12
  97. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  98. package/dist/src/ui/components/Footer.d.ts +1 -0
  99. package/dist/src/ui/components/Footer.js +2 -2
  100. package/dist/src/ui/components/Footer.js.map +1 -1
  101. package/dist/src/ui/components/Header.js +1 -1
  102. package/dist/src/ui/components/Header.js.map +1 -1
  103. package/dist/src/ui/components/Help.d.ts +1 -1
  104. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +11 -0
  105. package/dist/src/ui/components/IDEContextDetailDisplay.js +19 -0
  106. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +1 -0
  107. package/dist/src/ui/components/InputPrompt.d.ts +3 -1
  108. package/dist/src/ui/components/InputPrompt.js +14 -100
  109. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  110. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +15 -0
  111. package/dist/src/ui/components/ShellConfirmationDialog.js +44 -0
  112. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -0
  113. package/dist/src/ui/components/ThemeDialog.js +42 -17
  114. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  115. package/dist/src/ui/components/Tips.js +1 -1
  116. package/dist/src/ui/components/Tips.js.map +1 -1
  117. package/dist/src/ui/components/messages/DiffRenderer.d.ts +1 -0
  118. package/dist/src/ui/components/messages/DiffRenderer.js +12 -11
  119. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  120. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +5 -4
  121. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  122. package/dist/src/ui/components/shared/text-buffer.d.ts +273 -3
  123. package/dist/src/ui/components/shared/text-buffer.js +425 -79
  124. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  125. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +72 -0
  126. package/dist/src/ui/components/shared/vim-buffer-actions.js +565 -0
  127. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -0
  128. package/dist/src/ui/contexts/VimModeContext.d.ts +19 -0
  129. package/dist/src/ui/contexts/VimModeContext.js +48 -0
  130. package/dist/src/ui/contexts/VimModeContext.js.map +1 -0
  131. package/dist/src/ui/hooks/atCommandProcessor.js +54 -15
  132. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  133. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +1 -0
  134. package/dist/src/ui/hooks/shellCommandProcessor.js +139 -186
  135. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  136. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +8 -4
  137. package/dist/src/ui/hooks/slashCommandProcessor.js +199 -108
  138. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  139. package/dist/src/ui/hooks/useAuthCommand.js +2 -2
  140. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  141. package/dist/src/ui/hooks/useCompletion.d.ts +3 -1
  142. package/dist/src/ui/hooks/useCompletion.js +118 -24
  143. package/dist/src/ui/hooks/useCompletion.js.map +1 -1
  144. package/dist/src/ui/hooks/useConsoleMessages.js +53 -37
  145. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  146. package/dist/src/ui/hooks/useGeminiStream.js +57 -11
  147. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  148. package/dist/src/ui/hooks/useInputHistory.d.ts +1 -1
  149. package/dist/src/ui/hooks/useKeypress.js +5 -2
  150. package/dist/src/ui/hooks/useKeypress.js.map +1 -1
  151. package/dist/src/ui/hooks/useShellHistory.d.ts +3 -2
  152. package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
  153. package/dist/src/ui/hooks/useThemeCommand.js +24 -23
  154. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  155. package/dist/src/ui/hooks/vim.d.ts +28 -0
  156. package/dist/src/ui/hooks/vim.js +630 -0
  157. package/dist/src/ui/hooks/vim.js.map +1 -0
  158. package/dist/src/ui/themes/ansi-light.js +2 -0
  159. package/dist/src/ui/themes/ansi-light.js.map +1 -1
  160. package/dist/src/ui/themes/ansi.js +2 -0
  161. package/dist/src/ui/themes/ansi.js.map +1 -1
  162. package/dist/src/ui/themes/atom-one-dark.js +2 -0
  163. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  164. package/dist/src/ui/themes/ayu-light.js +3 -1
  165. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  166. package/dist/src/ui/themes/ayu.js +3 -1
  167. package/dist/src/ui/themes/ayu.js.map +1 -1
  168. package/dist/src/ui/themes/color-utils.d.ts +21 -0
  169. package/dist/src/ui/themes/color-utils.js +221 -0
  170. package/dist/src/ui/themes/color-utils.js.map +1 -0
  171. package/dist/src/ui/themes/dracula.js +2 -0
  172. package/dist/src/ui/themes/dracula.js.map +1 -1
  173. package/dist/src/ui/themes/github-dark.js +2 -0
  174. package/dist/src/ui/themes/github-dark.js.map +1 -1
  175. package/dist/src/ui/themes/github-light.js +2 -0
  176. package/dist/src/ui/themes/github-light.js.map +1 -1
  177. package/dist/src/ui/themes/googlecode.js +2 -0
  178. package/dist/src/ui/themes/googlecode.js.map +1 -1
  179. package/dist/src/ui/themes/no-color.js +3 -1
  180. package/dist/src/ui/themes/no-color.js.map +1 -1
  181. package/dist/src/ui/themes/shades-of-purple.d.ts +1 -1
  182. package/dist/src/ui/themes/shades-of-purple.js +3 -1
  183. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  184. package/dist/src/ui/themes/theme-manager.d.ts +31 -6
  185. package/dist/src/ui/themes/theme-manager.js +113 -34
  186. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  187. package/dist/src/ui/themes/theme.d.ts +23 -3
  188. package/dist/src/ui/themes/theme.js +244 -182
  189. package/dist/src/ui/themes/theme.js.map +1 -1
  190. package/dist/src/ui/themes/xcode.js +2 -0
  191. package/dist/src/ui/themes/xcode.js.map +1 -1
  192. package/dist/src/ui/types.d.ts +9 -1
  193. package/dist/src/ui/utils/CodeColorizer.d.ts +3 -1
  194. package/dist/src/ui/utils/CodeColorizer.js +23 -11
  195. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  196. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  197. package/dist/src/ui/utils/commandUtils.js +47 -0
  198. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  199. package/dist/src/ui/utils/markdownUtilities.js +1 -1
  200. package/dist/src/ui/utils/textUtils.d.ts +0 -8
  201. package/dist/src/ui/utils/textUtils.js +0 -22
  202. package/dist/src/ui/utils/textUtils.js.map +1 -1
  203. package/dist/src/utils/events.d.ts +11 -0
  204. package/dist/src/utils/events.js +13 -0
  205. package/dist/src/utils/events.js.map +1 -0
  206. package/dist/src/utils/sandbox.js +7 -3
  207. package/dist/src/utils/sandbox.js.map +1 -1
  208. package/dist/src/utils/userStartupWarnings.js +22 -1
  209. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  210. package/dist/src/validateNonInterActiveAuth.d.ts +7 -0
  211. package/dist/src/validateNonInterActiveAuth.js +35 -0
  212. package/dist/src/validateNonInterActiveAuth.js.map +1 -0
  213. package/dist/tsconfig.tsbuildinfo +1 -1
  214. package/package.json +7 -4
  215. package/dist/google-gemini-cli-0.1.12.tgz +0 -0
@@ -6,16 +6,21 @@
6
6
  import { useCallback, useMemo, useEffect, useState } from 'react';
7
7
  import process from 'node:process';
8
8
  import { useStateAndRef } from './useStateAndRef.js';
9
- import { GitService, Logger } from '@google/gemini-cli-core';
9
+ import { GitService, Logger, ToolConfirmationOutcome, } from '@google/gemini-cli-core';
10
10
  import { useSessionStats } from '../contexts/SessionContext.js';
11
11
  import { MessageType, } from '../types.js';
12
12
  import { CommandService } from '../../services/CommandService.js';
13
+ import { BuiltinCommandLoader } from '../../services/BuiltinCommandLoader.js';
14
+ import { FileCommandLoader } from '../../services/FileCommandLoader.js';
15
+ import { McpPromptLoader } from '../../services/McpPromptLoader.js';
13
16
  /**
14
17
  * Hook to define and process slash commands (e.g., /help, /clear).
15
18
  */
16
- export const useSlashCommandProcessor = (config, settings, addItem, clearItems, loadHistory, refreshStatic, setShowHelp, onDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice) => {
19
+ export const useSlashCommandProcessor = (config, settings, addItem, clearItems, loadHistory, refreshStatic, setShowHelp, onDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, toggleVimEnabled, setIsProcessing) => {
17
20
  const session = useSessionStats();
18
21
  const [commands, setCommands] = useState([]);
22
+ const [shellConfirmationRequest, setShellConfirmationRequest] = useState(null);
23
+ const [sessionShellAllowlist, setSessionShellAllowlist] = useState(new Set());
19
24
  const gitService = useMemo(() => {
20
25
  if (!config?.getProjectRoot()) {
21
26
  return;
@@ -105,9 +110,11 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
105
110
  pendingItem: pendingCompressionItemRef.current,
106
111
  setPendingItem: setPendingCompressionItem,
107
112
  toggleCorgiMode,
113
+ toggleVimEnabled,
108
114
  },
109
115
  session: {
110
116
  stats: session.stats,
117
+ sessionShellAllowlist,
111
118
  },
112
119
  }), [
113
120
  config,
@@ -123,132 +130,212 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
123
130
  pendingCompressionItemRef,
124
131
  setPendingCompressionItem,
125
132
  toggleCorgiMode,
133
+ toggleVimEnabled,
134
+ sessionShellAllowlist,
126
135
  ]);
127
- const commandService = useMemo(() => new CommandService(config), [config]);
128
136
  useEffect(() => {
137
+ const controller = new AbortController();
129
138
  const load = async () => {
130
- await commandService.loadCommands();
139
+ const loaders = [
140
+ new McpPromptLoader(config),
141
+ new BuiltinCommandLoader(config),
142
+ new FileCommandLoader(config),
143
+ ];
144
+ const commandService = await CommandService.create(loaders, controller.signal);
131
145
  setCommands(commandService.getCommands());
132
146
  };
133
147
  load();
134
- }, [commandService]);
135
- const handleSlashCommand = useCallback(async (rawQuery) => {
136
- if (typeof rawQuery !== 'string') {
137
- return false;
138
- }
139
- const trimmed = rawQuery.trim();
140
- if (!trimmed.startsWith('/') && !trimmed.startsWith('?')) {
141
- return false;
142
- }
143
- const userMessageTimestamp = Date.now();
144
- if (trimmed !== '/quit' && trimmed !== '/exit') {
148
+ return () => {
149
+ controller.abort();
150
+ };
151
+ }, [config]);
152
+ const handleSlashCommand = useCallback(async (rawQuery, oneTimeShellAllowlist) => {
153
+ setIsProcessing(true);
154
+ try {
155
+ if (typeof rawQuery !== 'string') {
156
+ return false;
157
+ }
158
+ const trimmed = rawQuery.trim();
159
+ if (!trimmed.startsWith('/') && !trimmed.startsWith('?')) {
160
+ return false;
161
+ }
162
+ const userMessageTimestamp = Date.now();
145
163
  addItem({ type: MessageType.USER, text: trimmed }, userMessageTimestamp);
146
- }
147
- const parts = trimmed.substring(1).trim().split(/\s+/);
148
- const commandPath = parts.filter((p) => p); // The parts of the command, e.g., ['memory', 'add']
149
- let currentCommands = commands;
150
- let commandToExecute;
151
- let pathIndex = 0;
152
- for (const part of commandPath) {
153
- const foundCommand = currentCommands.find((cmd) => cmd.name === part || cmd.altName === part);
154
- if (foundCommand) {
155
- commandToExecute = foundCommand;
156
- pathIndex++;
157
- if (foundCommand.subCommands) {
158
- currentCommands = foundCommand.subCommands;
164
+ const parts = trimmed.substring(1).trim().split(/\s+/);
165
+ const commandPath = parts.filter((p) => p); // The parts of the command, e.g., ['memory', 'add']
166
+ let currentCommands = commands;
167
+ let commandToExecute;
168
+ let pathIndex = 0;
169
+ for (const part of commandPath) {
170
+ // TODO: For better performance and architectural clarity, this two-pass
171
+ // search could be replaced. A more optimal approach would be to
172
+ // pre-compute a single lookup map in `CommandService.ts` that resolves
173
+ // all name and alias conflicts during the initial loading phase. The
174
+ // processor would then perform a single, fast lookup on that map.
175
+ // First pass: check for an exact match on the primary command name.
176
+ let foundCommand = currentCommands.find((cmd) => cmd.name === part);
177
+ // Second pass: if no primary name matches, check for an alias.
178
+ if (!foundCommand) {
179
+ foundCommand = currentCommands.find((cmd) => cmd.altNames?.includes(part));
180
+ }
181
+ if (foundCommand) {
182
+ commandToExecute = foundCommand;
183
+ pathIndex++;
184
+ if (foundCommand.subCommands) {
185
+ currentCommands = foundCommand.subCommands;
186
+ }
187
+ else {
188
+ break;
189
+ }
159
190
  }
160
191
  else {
161
192
  break;
162
193
  }
163
194
  }
164
- else {
165
- break;
166
- }
167
- }
168
- if (commandToExecute) {
169
- const args = parts.slice(pathIndex).join(' ');
170
- if (commandToExecute.action) {
171
- const result = await commandToExecute.action(commandContext, args);
172
- if (result) {
173
- switch (result.type) {
174
- case 'tool':
175
- return {
176
- type: 'schedule_tool',
177
- toolName: result.toolName,
178
- toolArgs: result.toolArgs,
179
- };
180
- case 'message':
181
- addItem({
182
- type: result.messageType === 'error'
183
- ? MessageType.ERROR
184
- : MessageType.INFO,
185
- text: result.content,
186
- }, Date.now());
187
- return { type: 'handled' };
188
- case 'dialog':
189
- switch (result.dialog) {
190
- case 'help':
191
- setShowHelp(true);
192
- return { type: 'handled' };
193
- case 'auth':
194
- openAuthDialog();
195
- return { type: 'handled' };
196
- case 'theme':
197
- openThemeDialog();
198
- return { type: 'handled' };
199
- case 'editor':
200
- openEditorDialog();
201
- return { type: 'handled' };
202
- case 'privacy':
203
- openPrivacyNotice();
195
+ if (commandToExecute) {
196
+ const args = parts.slice(pathIndex).join(' ');
197
+ if (commandToExecute.action) {
198
+ const fullCommandContext = {
199
+ ...commandContext,
200
+ invocation: {
201
+ raw: trimmed,
202
+ name: commandToExecute.name,
203
+ args,
204
+ },
205
+ };
206
+ // If a one-time list is provided for a "Proceed" action, temporarily
207
+ // augment the session allowlist for this single execution.
208
+ if (oneTimeShellAllowlist && oneTimeShellAllowlist.size > 0) {
209
+ fullCommandContext.session = {
210
+ ...fullCommandContext.session,
211
+ sessionShellAllowlist: new Set([
212
+ ...fullCommandContext.session.sessionShellAllowlist,
213
+ ...oneTimeShellAllowlist,
214
+ ]),
215
+ };
216
+ }
217
+ const result = await commandToExecute.action(fullCommandContext, args);
218
+ if (result) {
219
+ switch (result.type) {
220
+ case 'tool':
221
+ return {
222
+ type: 'schedule_tool',
223
+ toolName: result.toolName,
224
+ toolArgs: result.toolArgs,
225
+ };
226
+ case 'message':
227
+ addItem({
228
+ type: result.messageType === 'error'
229
+ ? MessageType.ERROR
230
+ : MessageType.INFO,
231
+ text: result.content,
232
+ }, Date.now());
233
+ return { type: 'handled' };
234
+ case 'dialog':
235
+ switch (result.dialog) {
236
+ case 'help':
237
+ setShowHelp(true);
238
+ return { type: 'handled' };
239
+ case 'auth':
240
+ openAuthDialog();
241
+ return { type: 'handled' };
242
+ case 'theme':
243
+ openThemeDialog();
244
+ return { type: 'handled' };
245
+ case 'editor':
246
+ openEditorDialog();
247
+ return { type: 'handled' };
248
+ case 'privacy':
249
+ openPrivacyNotice();
250
+ return { type: 'handled' };
251
+ default: {
252
+ const unhandled = result.dialog;
253
+ throw new Error(`Unhandled slash command result: ${unhandled}`);
254
+ }
255
+ }
256
+ case 'load_history': {
257
+ await config
258
+ ?.getGeminiClient()
259
+ ?.setHistory(result.clientHistory);
260
+ fullCommandContext.ui.clear();
261
+ result.history.forEach((item, index) => {
262
+ fullCommandContext.ui.addItem(item, index);
263
+ });
264
+ return { type: 'handled' };
265
+ }
266
+ case 'quit':
267
+ setQuittingMessages(result.messages);
268
+ setTimeout(() => {
269
+ process.exit(0);
270
+ }, 100);
271
+ return { type: 'handled' };
272
+ case 'submit_prompt':
273
+ return {
274
+ type: 'submit_prompt',
275
+ content: result.content,
276
+ };
277
+ case 'confirm_shell_commands': {
278
+ const { outcome, approvedCommands } = await new Promise((resolve) => {
279
+ setShellConfirmationRequest({
280
+ commands: result.commandsToConfirm,
281
+ onConfirm: (resolvedOutcome, resolvedApprovedCommands) => {
282
+ setShellConfirmationRequest(null); // Close the dialog
283
+ resolve({
284
+ outcome: resolvedOutcome,
285
+ approvedCommands: resolvedApprovedCommands,
286
+ });
287
+ },
288
+ });
289
+ });
290
+ if (outcome === ToolConfirmationOutcome.Cancel ||
291
+ !approvedCommands ||
292
+ approvedCommands.length === 0) {
204
293
  return { type: 'handled' };
205
- default: {
206
- const unhandled = result.dialog;
207
- throw new Error(`Unhandled slash command result: ${unhandled}`);
208
294
  }
295
+ if (outcome === ToolConfirmationOutcome.ProceedAlways) {
296
+ setSessionShellAllowlist((prev) => new Set([...prev, ...approvedCommands]));
297
+ }
298
+ return await handleSlashCommand(result.originalInvocation.raw,
299
+ // Pass the approved commands as a one-time grant for this execution.
300
+ new Set(approvedCommands));
301
+ }
302
+ default: {
303
+ const unhandled = result;
304
+ throw new Error(`Unhandled slash command result: ${unhandled}`);
209
305
  }
210
- case 'load_history': {
211
- await config
212
- ?.getGeminiClient()
213
- ?.setHistory(result.clientHistory);
214
- commandContext.ui.clear();
215
- result.history.forEach((item, index) => {
216
- commandContext.ui.addItem(item, index);
217
- });
218
- return { type: 'handled' };
219
- }
220
- case 'quit':
221
- setQuittingMessages(result.messages);
222
- setTimeout(() => {
223
- process.exit(0);
224
- }, 100);
225
- return { type: 'handled' };
226
- default: {
227
- const unhandled = result;
228
- throw new Error(`Unhandled slash command result: ${unhandled}`);
229
306
  }
230
307
  }
308
+ return { type: 'handled' };
309
+ }
310
+ else if (commandToExecute.subCommands) {
311
+ const helpText = `Command '/${commandToExecute.name}' requires a subcommand. Available:\n${commandToExecute.subCommands
312
+ .map((sc) => ` - ${sc.name}: ${sc.description || ''}`)
313
+ .join('\n')}`;
314
+ addMessage({
315
+ type: MessageType.INFO,
316
+ content: helpText,
317
+ timestamp: new Date(),
318
+ });
319
+ return { type: 'handled' };
231
320
  }
232
- return { type: 'handled' };
233
- }
234
- else if (commandToExecute.subCommands) {
235
- const helpText = `Command '/${commandToExecute.name}' requires a subcommand. Available:\n${commandToExecute.subCommands
236
- .map((sc) => ` - ${sc.name}: ${sc.description || ''}`)
237
- .join('\n')}`;
238
- addMessage({
239
- type: MessageType.INFO,
240
- content: helpText,
241
- timestamp: new Date(),
242
- });
243
- return { type: 'handled' };
244
321
  }
322
+ addMessage({
323
+ type: MessageType.ERROR,
324
+ content: `Unknown command: ${trimmed}`,
325
+ timestamp: new Date(),
326
+ });
327
+ return { type: 'handled' };
328
+ }
329
+ catch (e) {
330
+ addItem({
331
+ type: MessageType.ERROR,
332
+ text: e instanceof Error ? e.message : String(e),
333
+ }, Date.now());
334
+ return { type: 'handled' };
335
+ }
336
+ finally {
337
+ setIsProcessing(false);
245
338
  }
246
- addMessage({
247
- type: MessageType.ERROR,
248
- content: `Unknown command: ${trimmed}`,
249
- timestamp: new Date(),
250
- });
251
- return { type: 'handled' };
252
339
  }, [
253
340
  config,
254
341
  addItem,
@@ -261,12 +348,16 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
261
348
  openPrivacyNotice,
262
349
  openEditorDialog,
263
350
  setQuittingMessages,
351
+ setShellConfirmationRequest,
352
+ setSessionShellAllowlist,
353
+ setIsProcessing,
264
354
  ]);
265
355
  return {
266
356
  handleSlashCommand,
267
357
  slashCommands: commands,
268
358
  pendingHistoryItems,
269
359
  commandContext,
360
+ shellConfirmationRequest,
270
361
  };
271
362
  };
272
363
  //# sourceMappingURL=slashCommandProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { useState, useCallback, useEffect } from 'react';
7
- import { AuthType, clearCachedCredentialFile, getErrorMessage, shouldAttemptBrowserLaunch, } from '@google/gemini-cli-core';
7
+ import { AuthType, clearCachedCredentialFile, getErrorMessage, } from '@google/gemini-cli-core';
8
8
  import { runExitCleanup } from '../../utils/cleanup.js';
9
9
  export const useAuthCommand = (settings, setAuthError, config) => {
10
10
  const [isAuthDialogOpen, setIsAuthDialogOpen] = useState(settings.merged.selectedAuthType === undefined);
@@ -38,7 +38,7 @@ export const useAuthCommand = (settings, setAuthError, config) => {
38
38
  await clearCachedCredentialFile();
39
39
  settings.setValue(scope, 'selectedAuthType', authType);
40
40
  if (authType === AuthType.LOGIN_WITH_GOOGLE &&
41
- (config.getNoBrowser() || !shouldAttemptBrowserLaunch())) {
41
+ config.isBrowserLaunchSuppressed()) {
42
42
  runExitCleanup();
43
43
  console.log(`
44
44
  ----------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"useAuthCommand.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useAuthCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EACL,QAAQ,EAER,yBAAyB,EACzB,eAAe,EACf,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAAwB,EACxB,YAA4C,EAC5C,MAAc,EACd,EAAE;IACF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,QAAQ,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAC/C,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAClD,IAAI,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,6BAA6B,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChE,cAAc,EAAE,CAAC;YACnB,CAAC;oBAAS,CAAC;gBACT,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,QAAQ,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvE,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,EAAE,QAA8B,EAAE,KAAmB,EAAE,EAAE;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,yBAAyB,EAAE,CAAC;YAClC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACvD,IACE,QAAQ,KAAK,QAAQ,CAAC,iBAAiB;gBACvC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,0BAA0B,EAAE,CAAC,EACxD,CAAC;gBACD,cAAc,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT;;;;aAIC,CACF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CACjC,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,gBAAgB;QAChB,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useAuthCommand.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useAuthCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EACL,QAAQ,EAER,yBAAyB,EACzB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAAwB,EACxB,YAA4C,EAC5C,MAAc,EACd,EAAE;IACF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,QAAQ,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAC/C,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAClD,IAAI,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,6BAA6B,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChE,cAAc,EAAE,CAAC;YACnB,CAAC;oBAAS,CAAC;gBACT,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,QAAQ,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAEvE,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,EAAE,QAA8B,EAAE,KAAmB,EAAE,EAAE;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,yBAAyB,EAAE,CAAC;YAElC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACvD,IACE,QAAQ,KAAK,QAAQ,CAAC,iBAAiB;gBACvC,MAAM,CAAC,yBAAyB,EAAE,EAClC,CAAC;gBACD,cAAc,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT;;;;aAIC,CACF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CACjC,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,gBAAgB;QAChB,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC"}
@@ -6,6 +6,7 @@
6
6
  import { Config } from '@google/gemini-cli-core';
7
7
  import { Suggestion } from '../components/SuggestionsDisplay.js';
8
8
  import { CommandContext, SlashCommand } from '../commands/types.js';
9
+ import { TextBuffer } from '../components/shared/text-buffer.js';
9
10
  export interface UseCompletionReturn {
10
11
  suggestions: Suggestion[];
11
12
  activeSuggestionIndex: number;
@@ -18,5 +19,6 @@ export interface UseCompletionReturn {
18
19
  resetCompletionState: () => void;
19
20
  navigateUp: () => void;
20
21
  navigateDown: () => void;
22
+ handleAutocomplete: (indexToUse: number) => void;
21
23
  }
22
- export declare function useCompletion(query: string, cwd: string, isActive: boolean, slashCommands: SlashCommand[], commandContext: CommandContext, config?: Config): UseCompletionReturn;
24
+ export declare function useCompletion(buffer: TextBuffer, cwd: string, slashCommands: readonly SlashCommand[], commandContext: CommandContext, config?: Config): UseCompletionReturn;