@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.
- package/dist/package.json +2 -3
- package/dist/src/commands/extensions/disable.js.map +1 -1
- package/dist/src/commands/extensions/disable.test.js.map +1 -1
- package/dist/src/commands/extensions/enable.js.map +1 -1
- package/dist/src/commands/extensions/enable.test.js.map +1 -1
- package/dist/src/commands/extensions/examples/mcp-server/example.test.js +1 -1
- package/dist/src/commands/extensions/examples/mcp-server/example.test.js.map +1 -1
- package/dist/src/commands/extensions/examples/mcp-server/example.test.ts +12 -4
- package/dist/src/commands/extensions/link.test.js.map +1 -1
- package/dist/src/commands/extensions/list.test.js +1 -0
- package/dist/src/commands/extensions/list.test.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
- package/dist/src/commands/extensions/update.test.js.map +1 -1
- package/dist/src/config/config.js +3 -2
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager.js +9 -8
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension.test.js +4 -4
- package/dist/src/config/extension.test.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.js +1 -1
- package/dist/src/config/extensions/extensionSettings.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.test.js +0 -27
- package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
- package/dist/src/config/extensions/github_fetch.js.map +1 -1
- package/dist/src/config/settings.js +2 -23
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +0 -23
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +0 -9
- package/dist/src/config/settingsSchema.js +0 -9
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/gemini.js +3 -2
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +5 -3
- package/dist/src/gemini.test.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/nonInteractiveCli.js +4 -4
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCli.test.js +2 -0
- package/dist/src/nonInteractiveCli.test.js.map +1 -1
- package/dist/src/services/FileCommandLoader.test.js.map +1 -1
- package/dist/src/ui/AppContainer.js +0 -6
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/auth/ApiAuthDialog.js +3 -36
- package/dist/src/ui/auth/ApiAuthDialog.js.map +1 -1
- package/dist/src/ui/auth/ApiAuthDialog.test.js +2 -26
- package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.js +2 -1
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.test.js +2 -11
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/useAuth.js +4 -7
- package/dist/src/ui/auth/useAuth.js.map +1 -1
- package/dist/src/ui/auth/useAuth.test.js +2 -2
- package/dist/src/ui/auth/useAuth.test.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.js +3 -2
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.test.js +6 -3
- package/dist/src/ui/commands/aboutCommand.test.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +3 -2
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.test.js +3 -3
- package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.test.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.test.js.map +1 -1
- package/dist/src/ui/commands/initCommand.js +50 -10
- package/dist/src/ui/commands/initCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +2 -1
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/restoreCommand.js +3 -1
- package/dist/src/ui/commands/restoreCommand.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +1 -1
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.js +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.js +0 -7
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/QuittingDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +0 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.d.ts +1 -1
- package/dist/src/ui/components/StatsDisplay.js +15 -11
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.test.js +0 -41
- package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/Todo.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +0 -20
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/shared/VirtualizedList.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.js +3 -5
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.test.js +0 -25
- package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
- package/dist/src/ui/constants/tips.js +1 -0
- package/dist/src/ui/constants/tips.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.d.ts +0 -1
- package/dist/src/ui/contexts/SessionContext.js +1 -2
- package/dist/src/ui/contexts/SessionContext.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.test.js +0 -3
- package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.d.ts +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +14 -25
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +33 -42
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +1 -2
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +4 -14
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.d.ts +0 -20
- package/dist/src/ui/utils/clipboardUtils.js +4 -82
- package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.test.js +1 -123
- package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
- package/dist/src/ui/utils/computeStats.js +0 -2
- package/dist/src/ui/utils/computeStats.js.map +1 -1
- package/dist/src/ui/utils/computeStats.test.js +0 -9
- package/dist/src/ui/utils/computeStats.test.js.map +1 -1
- package/dist/src/utils/deepMerge.js +2 -7
- package/dist/src/utils/deepMerge.js.map +1 -1
- package/dist/src/utils/deepMerge.test.js +0 -21
- package/dist/src/utils/deepMerge.test.js.map +1 -1
- package/dist/src/utils/envVarResolver.js.map +1 -1
- package/dist/src/utils/envVarResolver.test.js.map +1 -1
- package/dist/src/utils/errors.test.js +1 -9
- package/dist/src/utils/errors.test.js.map +1 -1
- package/dist/src/{config/settings_repro.test.d.ts → utils/version.d.ts} +1 -1
- package/dist/src/utils/version.js +15 -0
- package/dist/src/utils/version.js.map +1 -0
- package/dist/src/utils/version.test.js +39 -0
- package/dist/src/utils/version.test.js.map +1 -0
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/src/zed-integration/acp.test.js +16 -8
- package/dist/src/zed-integration/acp.test.js.map +1 -1
- package/dist/src/zed-integration/connection.js.map +1 -1
- package/dist/src/zed-integration/fileSystemService.d.ts +1 -0
- package/dist/src/zed-integration/fileSystemService.js +3 -0
- package/dist/src/zed-integration/fileSystemService.js.map +1 -1
- package/dist/src/zed-integration/fileSystemService.test.js +8 -0
- package/dist/src/zed-integration/fileSystemService.test.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.js +2 -3
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -4
- package/dist/src/config/settings-validation.d.ts +0 -23
- package/dist/src/config/settings-validation.js +0 -249
- package/dist/src/config/settings-validation.js.map +0 -1
- package/dist/src/config/settings-validation.test.js +0 -322
- package/dist/src/config/settings-validation.test.js.map +0 -1
- package/dist/src/config/settings_repro.test.js +0 -162
- package/dist/src/config/settings_repro.test.js.map +0 -1
- /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:
|
|
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,
|
|
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 {
|
|
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
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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
|