@google/gemini-cli 0.22.0 → 0.22.1

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 (165) hide show
  1. package/dist/package.json +2 -3
  2. package/dist/src/commands/extensions/disable.js.map +1 -1
  3. package/dist/src/commands/extensions/disable.test.js.map +1 -1
  4. package/dist/src/commands/extensions/enable.js.map +1 -1
  5. package/dist/src/commands/extensions/enable.test.js.map +1 -1
  6. package/dist/src/commands/extensions/examples/mcp-server/example.test.js +1 -1
  7. package/dist/src/commands/extensions/examples/mcp-server/example.test.js.map +1 -1
  8. package/dist/src/commands/extensions/examples/mcp-server/example.test.ts +12 -4
  9. package/dist/src/commands/extensions/link.test.js.map +1 -1
  10. package/dist/src/commands/extensions/list.test.js +1 -0
  11. package/dist/src/commands/extensions/list.test.js.map +1 -1
  12. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  13. package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
  14. package/dist/src/commands/extensions/update.test.js.map +1 -1
  15. package/dist/src/config/config.js +3 -2
  16. package/dist/src/config/config.js.map +1 -1
  17. package/dist/src/config/config.test.js.map +1 -1
  18. package/dist/src/config/extension-manager.js +9 -8
  19. package/dist/src/config/extension-manager.js.map +1 -1
  20. package/dist/src/config/extension.test.js +4 -4
  21. package/dist/src/config/extension.test.js.map +1 -1
  22. package/dist/src/config/extensions/extensionSettings.js +1 -1
  23. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  24. package/dist/src/config/extensions/extensionSettings.test.js +0 -27
  25. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  26. package/dist/src/config/extensions/github_fetch.js.map +1 -1
  27. package/dist/src/config/settings.js +2 -23
  28. package/dist/src/config/settings.js.map +1 -1
  29. package/dist/src/config/settings.test.js +0 -23
  30. package/dist/src/config/settings.test.js.map +1 -1
  31. package/dist/src/config/settingsSchema.d.ts +0 -9
  32. package/dist/src/config/settingsSchema.js +0 -9
  33. package/dist/src/config/settingsSchema.js.map +1 -1
  34. package/dist/src/config/settingsSchema.test.js.map +1 -1
  35. package/dist/src/gemini.js +3 -2
  36. package/dist/src/gemini.js.map +1 -1
  37. package/dist/src/gemini.test.js +5 -3
  38. package/dist/src/gemini.test.js.map +1 -1
  39. package/dist/src/generated/git-commit.d.ts +2 -2
  40. package/dist/src/generated/git-commit.js +2 -2
  41. package/dist/src/nonInteractiveCli.js +4 -4
  42. package/dist/src/nonInteractiveCli.js.map +1 -1
  43. package/dist/src/nonInteractiveCli.test.js +2 -0
  44. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  45. package/dist/src/services/FileCommandLoader.test.js.map +1 -1
  46. package/dist/src/ui/AppContainer.js +0 -6
  47. package/dist/src/ui/AppContainer.js.map +1 -1
  48. package/dist/src/ui/auth/ApiAuthDialog.js +3 -36
  49. package/dist/src/ui/auth/ApiAuthDialog.js.map +1 -1
  50. package/dist/src/ui/auth/ApiAuthDialog.test.js +2 -26
  51. package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
  52. package/dist/src/ui/auth/AuthDialog.js +2 -1
  53. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  54. package/dist/src/ui/auth/AuthDialog.test.js +2 -11
  55. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  56. package/dist/src/ui/auth/useAuth.js +4 -7
  57. package/dist/src/ui/auth/useAuth.js.map +1 -1
  58. package/dist/src/ui/auth/useAuth.test.js +2 -2
  59. package/dist/src/ui/auth/useAuth.test.js.map +1 -1
  60. package/dist/src/ui/commands/aboutCommand.js +3 -2
  61. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  62. package/dist/src/ui/commands/aboutCommand.test.js +6 -3
  63. package/dist/src/ui/commands/aboutCommand.test.js.map +1 -1
  64. package/dist/src/ui/commands/bugCommand.js +3 -2
  65. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  66. package/dist/src/ui/commands/bugCommand.test.js +3 -3
  67. package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
  68. package/dist/src/ui/commands/chatCommand.test.js.map +1 -1
  69. package/dist/src/ui/commands/ideCommand.test.js.map +1 -1
  70. package/dist/src/ui/commands/initCommand.js +50 -10
  71. package/dist/src/ui/commands/initCommand.js.map +1 -1
  72. package/dist/src/ui/commands/mcpCommand.js +2 -1
  73. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  74. package/dist/src/ui/commands/restoreCommand.js +3 -1
  75. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  76. package/dist/src/ui/components/DialogManager.js +1 -1
  77. package/dist/src/ui/components/DialogManager.js.map +1 -1
  78. package/dist/src/ui/components/ModelStatsDisplay.js +1 -1
  79. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  80. package/dist/src/ui/components/ModelStatsDisplay.test.js +0 -7
  81. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
  82. package/dist/src/ui/components/QuittingDisplay.test.js.map +1 -1
  83. package/dist/src/ui/components/SessionSummaryDisplay.test.js +0 -1
  84. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
  85. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  86. package/dist/src/ui/components/StatsDisplay.d.ts +1 -1
  87. package/dist/src/ui/components/StatsDisplay.js +15 -11
  88. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  89. package/dist/src/ui/components/StatsDisplay.test.js +0 -41
  90. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  91. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -1
  92. package/dist/src/ui/components/messages/Todo.js.map +1 -1
  93. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +0 -20
  94. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  95. package/dist/src/ui/components/shared/VirtualizedList.js.map +1 -1
  96. package/dist/src/ui/components/shared/text-buffer.js +3 -5
  97. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  98. package/dist/src/ui/components/shared/text-buffer.test.js +0 -25
  99. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  100. package/dist/src/ui/constants/tips.js +1 -0
  101. package/dist/src/ui/constants/tips.js.map +1 -1
  102. package/dist/src/ui/contexts/SessionContext.d.ts +0 -1
  103. package/dist/src/ui/contexts/SessionContext.js +1 -2
  104. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  105. package/dist/src/ui/contexts/SessionContext.test.js +0 -3
  106. package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
  107. package/dist/src/ui/hooks/atCommandProcessor.d.ts +1 -1
  108. package/dist/src/ui/hooks/atCommandProcessor.js +14 -25
  109. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  110. package/dist/src/ui/hooks/atCommandProcessor.test.js +33 -42
  111. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  112. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +1 -1
  113. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  114. package/dist/src/ui/hooks/useGeminiStream.js +1 -2
  115. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  116. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  117. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
  118. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  119. package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
  120. package/dist/src/ui/hooks/useToolScheduler.test.js +4 -14
  121. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  122. package/dist/src/ui/utils/clipboardUtils.d.ts +0 -20
  123. package/dist/src/ui/utils/clipboardUtils.js +4 -82
  124. package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
  125. package/dist/src/ui/utils/clipboardUtils.test.js +1 -123
  126. package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -1
  127. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  128. package/dist/src/ui/utils/computeStats.js +0 -2
  129. package/dist/src/ui/utils/computeStats.js.map +1 -1
  130. package/dist/src/ui/utils/computeStats.test.js +0 -9
  131. package/dist/src/ui/utils/computeStats.test.js.map +1 -1
  132. package/dist/src/utils/deepMerge.js +2 -7
  133. package/dist/src/utils/deepMerge.js.map +1 -1
  134. package/dist/src/utils/deepMerge.test.js +0 -21
  135. package/dist/src/utils/deepMerge.test.js.map +1 -1
  136. package/dist/src/utils/envVarResolver.js.map +1 -1
  137. package/dist/src/utils/envVarResolver.test.js.map +1 -1
  138. package/dist/src/utils/errors.test.js +1 -9
  139. package/dist/src/utils/errors.test.js.map +1 -1
  140. package/dist/src/{config/settings_repro.test.d.ts → utils/version.d.ts} +1 -1
  141. package/dist/src/utils/version.js +15 -0
  142. package/dist/src/utils/version.js.map +1 -0
  143. package/dist/src/utils/version.test.js +39 -0
  144. package/dist/src/utils/version.test.js.map +1 -0
  145. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  146. package/dist/src/zed-integration/acp.test.js +16 -8
  147. package/dist/src/zed-integration/acp.test.js.map +1 -1
  148. package/dist/src/zed-integration/connection.js.map +1 -1
  149. package/dist/src/zed-integration/fileSystemService.d.ts +1 -0
  150. package/dist/src/zed-integration/fileSystemService.js +3 -0
  151. package/dist/src/zed-integration/fileSystemService.js.map +1 -1
  152. package/dist/src/zed-integration/fileSystemService.test.js +8 -0
  153. package/dist/src/zed-integration/fileSystemService.test.js.map +1 -1
  154. package/dist/src/zed-integration/zedIntegration.js +2 -3
  155. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  156. package/dist/tsconfig.tsbuildinfo +1 -1
  157. package/package.json +3 -4
  158. package/dist/src/config/settings-validation.d.ts +0 -23
  159. package/dist/src/config/settings-validation.js +0 -249
  160. package/dist/src/config/settings-validation.js.map +0 -1
  161. package/dist/src/config/settings-validation.test.js +0 -322
  162. package/dist/src/config/settings-validation.test.js.map +0 -1
  163. package/dist/src/config/settings_repro.test.js +0 -162
  164. package/dist/src/config/settings_repro.test.js.map +0 -1
  165. /package/dist/src/{config/settings-validation.test.d.ts → utils/version.test.d.ts} +0 -0
@@ -91,7 +91,7 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
91
91
  const commandParts = parseAllAtCommands(query);
92
92
  const atPathCommandParts = commandParts.filter((part) => part.type === 'atPath');
93
93
  if (atPathCommandParts.length === 0) {
94
- return { processedQuery: [{ text: query }] };
94
+ return { processedQuery: [{ text: query }], shouldProceed: true };
95
95
  }
96
96
  // Get centralized file discovery service
97
97
  const fileDiscovery = config.getFileService();
@@ -111,10 +111,7 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
111
111
  const globTool = toolRegistry.getTool('glob');
112
112
  if (!readManyFilesTool) {
113
113
  addItem({ type: 'error', text: 'Error: read_many_files tool not found.' }, userMessageTimestamp);
114
- return {
115
- processedQuery: null,
116
- error: 'Error: read_many_files tool not found.',
117
- };
114
+ return { processedQuery: null, shouldProceed: false };
118
115
  }
119
116
  for (const atPathPart of atPathCommandParts) {
120
117
  const originalAtPath = atPathPart.content; // e.g., "@file.txt" or "@"
@@ -126,14 +123,13 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
126
123
  if (!pathName) {
127
124
  // This case should ideally not be hit if parseAllAtCommands ensures content after @
128
125
  // but as a safeguard:
129
- const errMsg = `Error: Invalid @ command '${originalAtPath}'. No path specified.`;
130
126
  addItem({
131
127
  type: 'error',
132
- text: errMsg,
128
+ text: `Error: Invalid @ command '${originalAtPath}'. No path specified.`,
133
129
  }, userMessageTimestamp);
134
130
  // Decide if this is a fatal error for the whole command or just skip this @ part
135
131
  // For now, let's be strict and fail the command if one @path is malformed.
136
- return { processedQuery: null, error: errMsg };
132
+ return { processedQuery: null, shouldProceed: false };
137
133
  }
138
134
  // Check if this is an MCP resource reference (serverName:uri format)
139
135
  const resourceMatch = resourceRegistry.findResourceByUri(pathName);
@@ -306,14 +302,17 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
306
302
  onDebugMessage('No valid file paths found in @ commands to read.');
307
303
  if (initialQueryText === '@' && query.trim() === '@') {
308
304
  // If the only thing was a lone @, pass original query (which might have spaces)
309
- return { processedQuery: [{ text: query }] };
305
+ return { processedQuery: [{ text: query }], shouldProceed: true };
310
306
  }
311
307
  else if (!initialQueryText && query) {
312
308
  // If all @-commands were invalid and no surrounding text, pass original query
313
- return { processedQuery: [{ text: query }] };
309
+ return { processedQuery: [{ text: query }], shouldProceed: true };
314
310
  }
315
311
  // Otherwise, proceed with the (potentially modified) query text that doesn't involve file reading
316
- return { processedQuery: [{ text: initialQueryText || query }] };
312
+ return {
313
+ processedQuery: [{ text: initialQueryText || query }],
314
+ shouldProceed: true,
315
+ };
317
316
  }
318
317
  const processedQueryParts = [{ text: initialQueryText }];
319
318
  const resourcePromises = resourceAttachments.map(async (resource) => {
@@ -370,20 +369,13 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
370
369
  }
371
370
  if (resourceErrorOccurred) {
372
371
  addItem({ type: 'tool_group', tools: resourceReadDisplays }, userMessageTimestamp);
373
- // Find the first error to report
374
- const firstError = resourceReadDisplays.find((d) => d.status === ToolCallStatus.Error);
375
- const errorMessages = resourceReadDisplays
376
- .filter((d) => d.status === ToolCallStatus.Error)
377
- .map((d) => d.resultDisplay);
378
- console.error(errorMessages);
379
- const errorMsg = `Exiting due to an error processing the @ command: ${firstError.resultDisplay}`;
380
- return { processedQuery: null, error: errorMsg };
372
+ return { processedQuery: null, shouldProceed: false };
381
373
  }
382
374
  if (pathSpecsToRead.length === 0) {
383
375
  if (resourceReadDisplays.length > 0) {
384
376
  addItem({ type: 'tool_group', tools: resourceReadDisplays }, userMessageTimestamp);
385
377
  }
386
- return { processedQuery: processedQueryParts };
378
+ return { processedQuery: processedQueryParts, shouldProceed: true };
387
379
  }
388
380
  const toolArgs = {
389
381
  include: pathSpecsToRead,
@@ -456,7 +448,7 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
456
448
  ],
457
449
  }, userMessageTimestamp);
458
450
  }
459
- return { processedQuery: processedQueryParts };
451
+ return { processedQuery: processedQueryParts, shouldProceed: true };
460
452
  }
461
453
  catch (error) {
462
454
  readManyFilesDisplay = {
@@ -472,10 +464,7 @@ export async function handleAtCommand({ query, config, addItem, onDebugMessage,
472
464
  type: 'tool_group',
473
465
  tools: [...resourceReadDisplays, readManyFilesDisplay],
474
466
  }, userMessageTimestamp);
475
- return {
476
- processedQuery: null,
477
- error: `Exiting due to an error processing the @ command: ${readManyFilesDisplay.resultDisplay}`,
478
- };
467
+ return { processedQuery: null, shouldProceed: false };
479
468
  }
480
469
  }
481
470
  function convertResourceContentsToParts(response) {
@@ -1 +1 @@
1
- {"version":3,"file":"atCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/atCommandProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/atCommandProcessor.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ import { handleAtCommand } from './atCommandProcessor.js';
8
8
  import { FileDiscoveryService, GlobTool, ReadManyFilesTool, StandardFileSystemService, ToolRegistry, COMMON_IGNORE_PATTERNS,
9
9
  // DEFAULT_FILE_EXCLUDES,
10
10
  } from '@google/gemini-cli-core';
11
- import * as core from '@google/gemini-cli-core';
12
11
  import * as os from 'node:os';
13
12
  import { ToolCallStatus } from '../types.js';
14
13
  import * as fsPromises from 'node:fs/promises';
@@ -94,6 +93,7 @@ describe('handleAtCommand', () => {
94
93
  });
95
94
  expect(result).toEqual({
96
95
  processedQuery: [{ text: query }],
96
+ shouldProceed: true,
97
97
  });
98
98
  });
99
99
  it('should pass through original query if only a lone @ symbol is present', async () => {
@@ -108,6 +108,7 @@ describe('handleAtCommand', () => {
108
108
  });
109
109
  expect(result).toEqual({
110
110
  processedQuery: [{ text: queryWithSpaces }],
111
+ shouldProceed: true,
111
112
  });
112
113
  expect(mockOnDebugMessage).toHaveBeenCalledWith('Lone @ detected, will be treated as text in the modified query.');
113
114
  });
@@ -132,6 +133,7 @@ describe('handleAtCommand', () => {
132
133
  { text: fileContent },
133
134
  { text: '\n--- End of content ---' },
134
135
  ],
136
+ shouldProceed: true,
135
137
  });
136
138
  expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
137
139
  type: 'tool_group',
@@ -162,6 +164,7 @@ describe('handleAtCommand', () => {
162
164
  { text: fileContent },
163
165
  { text: '\n--- End of content ---' },
164
166
  ],
167
+ shouldProceed: true,
165
168
  });
166
169
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${dirPath} resolved to directory, using glob: ${resolvedGlob}`);
167
170
  });
@@ -188,6 +191,7 @@ describe('handleAtCommand', () => {
188
191
  { text: fileContent },
189
192
  { text: '\n--- End of content ---' },
190
193
  ],
194
+ shouldProceed: true,
191
195
  });
192
196
  });
193
197
  it('should correctly unescape paths with escaped spaces', async () => {
@@ -211,6 +215,7 @@ describe('handleAtCommand', () => {
211
215
  { text: fileContent },
212
216
  { text: '\n--- End of content ---' },
213
217
  ],
218
+ shouldProceed: true,
214
219
  });
215
220
  expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
216
221
  type: 'tool_group',
@@ -243,6 +248,7 @@ describe('handleAtCommand', () => {
243
248
  { text: content2 },
244
249
  { text: '\n--- End of content ---' },
245
250
  ],
251
+ shouldProceed: true,
246
252
  });
247
253
  });
248
254
  it('should handle multiple @file references with interleaved text', async () => {
@@ -274,6 +280,7 @@ describe('handleAtCommand', () => {
274
280
  { text: content2 },
275
281
  { text: '\n--- End of content ---' },
276
282
  ],
283
+ shouldProceed: true,
277
284
  });
278
285
  });
279
286
  it('should handle a mix of valid, invalid, and lone @ references', async () => {
@@ -303,6 +310,7 @@ describe('handleAtCommand', () => {
303
310
  { text: content1 },
304
311
  { text: '\n--- End of content ---' },
305
312
  ],
313
+ shouldProceed: true,
306
314
  });
307
315
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${invalidFile} not found directly, attempting glob search.`);
308
316
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob search for '**/*${invalidFile}*' found no files or an error. Path ${invalidFile} will be skipped.`);
@@ -320,6 +328,7 @@ describe('handleAtCommand', () => {
320
328
  });
321
329
  expect(result).toEqual({
322
330
  processedQuery: [{ text: 'Check @nonexistent.txt and @ also' }],
331
+ shouldProceed: true,
323
332
  });
324
333
  });
325
334
  describe('git-aware filtering', () => {
@@ -342,6 +351,7 @@ describe('handleAtCommand', () => {
342
351
  });
343
352
  expect(result).toEqual({
344
353
  processedQuery: [{ text: query }],
354
+ shouldProceed: true,
345
355
  });
346
356
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
347
357
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
@@ -366,6 +376,7 @@ describe('handleAtCommand', () => {
366
376
  { text: 'console.log("Hello world");' },
367
377
  { text: '\n--- End of content ---' },
368
378
  ],
379
+ shouldProceed: true,
369
380
  });
370
381
  });
371
382
  it('should handle mixed git-ignored and valid files', async () => {
@@ -389,6 +400,7 @@ describe('handleAtCommand', () => {
389
400
  { text: '# Project README' },
390
401
  { text: '\n--- End of content ---' },
391
402
  ],
403
+ shouldProceed: true,
392
404
  });
393
405
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
394
406
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
@@ -406,6 +418,7 @@ describe('handleAtCommand', () => {
406
418
  });
407
419
  expect(result).toEqual({
408
420
  processedQuery: [{ text: query }],
421
+ shouldProceed: true,
409
422
  });
410
423
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitFile} is git-ignored and will be skipped.`);
411
424
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitFile}`);
@@ -428,8 +441,7 @@ describe('handleAtCommand', () => {
428
441
  });
429
442
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob tool not found. Path ${invalidFile} will be skipped.`);
430
443
  expect(result.processedQuery).toEqual([{ text: query }]);
431
- expect(result.processedQuery).not.toBeNull();
432
- expect(result.error).toBeUndefined();
444
+ expect(result.shouldProceed).toBe(true);
433
445
  });
434
446
  });
435
447
  describe('gemini-ignore filtering', () => {
@@ -447,6 +459,7 @@ describe('handleAtCommand', () => {
447
459
  });
448
460
  expect(result).toEqual({
449
461
  processedQuery: [{ text: query }],
462
+ shouldProceed: true,
450
463
  });
451
464
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
452
465
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
@@ -472,6 +485,7 @@ describe('handleAtCommand', () => {
472
485
  { text: 'console.log("Hello world");' },
473
486
  { text: '\n--- End of content ---' },
474
487
  ],
488
+ shouldProceed: true,
475
489
  });
476
490
  });
477
491
  it('should handle mixed gemini-ignored and valid files', async () => {
@@ -495,6 +509,7 @@ describe('handleAtCommand', () => {
495
509
  { text: '// Main application entry' },
496
510
  { text: '\n--- End of content ---' },
497
511
  ],
512
+ shouldProceed: true,
498
513
  });
499
514
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
500
515
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
@@ -598,6 +613,7 @@ describe('handleAtCommand', () => {
598
613
  { text: fileContent },
599
614
  { text: '\n--- End of content ---' },
600
615
  ],
616
+ shouldProceed: true,
601
617
  });
602
618
  });
603
619
  it('should handle multiple @paths terminated by different punctuation', async () => {
@@ -626,6 +642,7 @@ describe('handleAtCommand', () => {
626
642
  { text: content2 },
627
643
  { text: '\n--- End of content ---' },
628
644
  ],
645
+ shouldProceed: true,
629
646
  });
630
647
  });
631
648
  it('should still handle escaped spaces in paths before punctuation', async () => {
@@ -649,6 +666,7 @@ describe('handleAtCommand', () => {
649
666
  { text: fileContent },
650
667
  { text: '\n--- End of content ---' },
651
668
  ],
669
+ shouldProceed: true,
652
670
  });
653
671
  });
654
672
  it('should not break file paths with periods in extensions', async () => {
@@ -673,6 +691,7 @@ describe('handleAtCommand', () => {
673
691
  { text: fileContent },
674
692
  { text: '\n--- End of content ---' },
675
693
  ],
694
+ shouldProceed: true,
676
695
  });
677
696
  });
678
697
  it('should handle file paths ending with period followed by space', async () => {
@@ -697,6 +716,7 @@ describe('handleAtCommand', () => {
697
716
  { text: fileContent },
698
717
  { text: '\n--- End of content ---' },
699
718
  ],
719
+ shouldProceed: true,
700
720
  });
701
721
  });
702
722
  it('should handle comma termination with complex file paths', async () => {
@@ -721,9 +741,10 @@ describe('handleAtCommand', () => {
721
741
  { text: fileContent },
722
742
  { text: '\n--- End of content ---' },
723
743
  ],
744
+ shouldProceed: true,
724
745
  });
725
746
  });
726
- it('should correctly handle file paths with multiple periods', async () => {
747
+ it('should not terminate at period within file name', async () => {
727
748
  const fileContent = 'Version info';
728
749
  const filePath = await createTestFile(path.join(testRootDir, 'version.1.2.3.txt'), fileContent);
729
750
  const query = `Check @${getRelativePath(filePath)} contains version information.`;
@@ -745,6 +766,7 @@ describe('handleAtCommand', () => {
745
766
  { text: fileContent },
746
767
  { text: '\n--- End of content ---' },
747
768
  ],
769
+ shouldProceed: true,
748
770
  });
749
771
  });
750
772
  it('should handle end of string termination for period and comma', async () => {
@@ -767,6 +789,7 @@ describe('handleAtCommand', () => {
767
789
  { text: fileContent },
768
790
  { text: '\n--- End of content ---' },
769
791
  ],
792
+ shouldProceed: true,
770
793
  });
771
794
  });
772
795
  it('should handle files with special characters in names', async () => {
@@ -789,6 +812,7 @@ describe('handleAtCommand', () => {
789
812
  { text: fileContent },
790
813
  { text: '\n--- End of content ---' },
791
814
  ],
815
+ shouldProceed: true,
792
816
  });
793
817
  });
794
818
  it('should handle basic file names without special characters', async () => {
@@ -811,6 +835,7 @@ describe('handleAtCommand', () => {
811
835
  { text: fileContent },
812
836
  { text: '\n--- End of content ---' },
813
837
  ],
838
+ shouldProceed: true,
814
839
  });
815
840
  });
816
841
  });
@@ -836,6 +861,7 @@ describe('handleAtCommand', () => {
836
861
  { text: fileContent },
837
862
  { text: '\n--- End of content ---' },
838
863
  ],
864
+ shouldProceed: true,
839
865
  });
840
866
  expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining(`using relative path: ${relativePath}`));
841
867
  });
@@ -854,8 +880,7 @@ describe('handleAtCommand', () => {
854
880
  messageId: 501,
855
881
  signal: abortController.signal,
856
882
  });
857
- expect(result.processedQuery).not.toBeNull();
858
- expect(result.error).toBeUndefined();
883
+ expect(result.shouldProceed).toBe(true);
859
884
  expect(result.processedQuery).toEqual(expect.arrayContaining([
860
885
  { text: `Check @${path.join(subDirPath, '**')} please.` },
861
886
  expect.objectContaining({
@@ -886,6 +911,7 @@ describe('handleAtCommand', () => {
886
911
  });
887
912
  expect(result).toEqual({
888
913
  processedQuery: [{ text: `Check @${outsidePath} please.` }],
914
+ shouldProceed: true,
889
915
  });
890
916
  expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${outsidePath} is not in the workspace and will be skipped.`);
891
917
  });
@@ -976,8 +1002,7 @@ describe('handleAtCommand', () => {
976
1002
  messageId: 42,
977
1003
  signal: abortController.signal,
978
1004
  });
979
- expect(result.processedQuery).toBeNull();
980
- expect(result.error).toBeDefined();
1005
+ expect(result.shouldProceed).toBe(false);
981
1006
  expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
982
1007
  type: 'tool_group',
983
1008
  tools: expect.arrayContaining([
@@ -988,39 +1013,5 @@ describe('handleAtCommand', () => {
988
1013
  }), expect.any(Number));
989
1014
  });
990
1015
  });
991
- it('should return error if the read_many_files tool is cancelled by user', async () => {
992
- const fileContent = 'Some content';
993
- const filePath = await createTestFile(path.join(testRootDir, 'file.txt'), fileContent);
994
- const query = `@${filePath}`;
995
- // Simulate user cancellation
996
- const mockToolInstance = {
997
- buildAndExecute: vi
998
- .fn()
999
- .mockRejectedValue(new Error('User cancelled operation')),
1000
- displayName: 'Read Many Files',
1001
- build: vi.fn(() => ({
1002
- execute: mockToolInstance.buildAndExecute,
1003
- getDescription: vi.fn(() => 'Mocked tool description'),
1004
- })),
1005
- };
1006
- const viSpy = vi.spyOn(core, 'ReadManyFilesTool');
1007
- viSpy.mockImplementation(() => mockToolInstance);
1008
- const result = await handleAtCommand({
1009
- query,
1010
- config: mockConfig,
1011
- addItem: mockAddItem,
1012
- onDebugMessage: mockOnDebugMessage,
1013
- messageId: 134,
1014
- signal: abortController.signal,
1015
- });
1016
- expect(result).toEqual({
1017
- processedQuery: null,
1018
- error: `Exiting due to an error processing the @ command: Error reading files (file.txt): User cancelled operation`,
1019
- });
1020
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
1021
- type: 'tool_group',
1022
- tools: [expect.objectContaining({ status: ToolCallStatus.Error })],
1023
- }), 134);
1024
- });
1025
1016
  });
1026
1017
  //# sourceMappingURL=atCommandProcessor.test.js.map