@google/gemini-cli-core 0.1.0-development.1 → 0.1.2

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 (184) hide show
  1. package/dist/google-gemini-cli-core-0.1.0.tgz +0 -0
  2. package/dist/google-gemini-cli-core-0.1.1.tgz +0 -0
  3. package/dist/google-gemini-cli-core-0.1.2.tgz +0 -0
  4. package/dist/src/code_assist/codeAssist.d.ts +1 -1
  5. package/dist/src/code_assist/codeAssist.js +5 -5
  6. package/dist/src/code_assist/codeAssist.js.map +1 -1
  7. package/dist/src/code_assist/converter.d.ts +1 -2
  8. package/dist/src/code_assist/converter.js +3 -4
  9. package/dist/src/code_assist/converter.js.map +1 -1
  10. package/dist/src/code_assist/converter.test.js +0 -24
  11. package/dist/src/code_assist/converter.test.js.map +1 -1
  12. package/dist/src/code_assist/oauth2.d.ts +1 -9
  13. package/dist/src/code_assist/oauth2.js +5 -115
  14. package/dist/src/code_assist/oauth2.js.map +1 -1
  15. package/dist/src/code_assist/oauth2.test.js +10 -102
  16. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  17. package/dist/src/code_assist/server.d.ts +8 -13
  18. package/dist/src/code_assist/server.js +17 -41
  19. package/dist/src/code_assist/server.js.map +1 -1
  20. package/dist/src/code_assist/server.test.js +21 -21
  21. package/dist/src/code_assist/server.test.js.map +1 -1
  22. package/dist/src/code_assist/setup.d.ts +1 -4
  23. package/dist/src/code_assist/setup.js +20 -39
  24. package/dist/src/code_assist/setup.js.map +1 -1
  25. package/dist/src/code_assist/types.d.ts +1 -9
  26. package/dist/src/code_assist/types.js +1 -1
  27. package/dist/src/config/config.d.ts +2 -10
  28. package/dist/src/config/config.js +58 -72
  29. package/dist/src/config/config.js.map +1 -1
  30. package/dist/src/config/config.test.js +0 -25
  31. package/dist/src/config/config.test.js.map +1 -1
  32. package/dist/src/core/client.d.ts +3 -3
  33. package/dist/src/core/client.js +62 -56
  34. package/dist/src/core/client.js.map +1 -1
  35. package/dist/src/core/client.test.js +5 -304
  36. package/dist/src/core/client.test.js.map +1 -1
  37. package/dist/src/core/contentGenerator.d.ts +7 -5
  38. package/dist/src/core/contentGenerator.js +16 -11
  39. package/dist/src/core/contentGenerator.js.map +1 -1
  40. package/dist/src/core/contentGenerator.test.js +1 -1
  41. package/dist/src/core/contentGenerator.test.js.map +1 -1
  42. package/dist/src/core/coreToolScheduler.d.ts +2 -9
  43. package/dist/src/core/coreToolScheduler.js +2 -28
  44. package/dist/src/core/coreToolScheduler.js.map +1 -1
  45. package/dist/src/core/coreToolScheduler.test.js +2 -79
  46. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  47. package/dist/src/core/geminiChat.d.ts +2 -1
  48. package/dist/src/core/geminiChat.js +19 -24
  49. package/dist/src/core/geminiChat.js.map +1 -1
  50. package/dist/src/core/geminiChat.test.js +16 -18
  51. package/dist/src/core/geminiChat.test.js.map +1 -1
  52. package/dist/src/core/logger.d.ts +4 -3
  53. package/dist/src/core/logger.js +12 -8
  54. package/dist/src/core/logger.js.map +1 -1
  55. package/dist/src/core/logger.test.js +15 -6
  56. package/dist/src/core/logger.test.js.map +1 -1
  57. package/dist/src/core/prompts.d.ts +0 -6
  58. package/dist/src/core/prompts.js +9 -73
  59. package/dist/src/core/prompts.js.map +1 -1
  60. package/dist/src/core/turn.d.ts +11 -2
  61. package/dist/src/core/turn.js +19 -1
  62. package/dist/src/core/turn.js.map +1 -1
  63. package/dist/src/core/turn.test.js +45 -0
  64. package/dist/src/core/turn.test.js.map +1 -1
  65. package/dist/src/index.d.ts +0 -2
  66. package/dist/src/index.js +0 -2
  67. package/dist/src/index.js.map +1 -1
  68. package/dist/src/services/fileDiscoveryService.d.ts +0 -4
  69. package/dist/src/services/fileDiscoveryService.js +0 -13
  70. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  71. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +16 -45
  72. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  73. package/dist/src/telemetry/index.d.ts +0 -1
  74. package/dist/src/telemetry/index.js +0 -1
  75. package/dist/src/telemetry/index.js.map +1 -1
  76. package/dist/src/telemetry/loggers.js +0 -19
  77. package/dist/src/telemetry/loggers.js.map +1 -1
  78. package/dist/src/telemetry/loggers.test.js +0 -41
  79. package/dist/src/telemetry/loggers.test.js.map +1 -1
  80. package/dist/src/telemetry/types.d.ts +0 -1
  81. package/dist/src/telemetry/types.js +0 -2
  82. package/dist/src/telemetry/types.js.map +1 -1
  83. package/dist/src/tools/edit.d.ts +2 -5
  84. package/dist/src/tools/edit.js +10 -17
  85. package/dist/src/tools/edit.js.map +1 -1
  86. package/dist/src/tools/edit.test.js +12 -48
  87. package/dist/src/tools/edit.test.js.map +1 -1
  88. package/dist/src/tools/glob.d.ts +1 -5
  89. package/dist/src/tools/glob.js +1 -5
  90. package/dist/src/tools/glob.js.map +1 -1
  91. package/dist/src/tools/grep.js +2 -4
  92. package/dist/src/tools/grep.js.map +1 -1
  93. package/dist/src/tools/grep.test.js +10 -10
  94. package/dist/src/tools/grep.test.js.map +1 -1
  95. package/dist/src/tools/mcp-client.d.ts +2 -0
  96. package/dist/src/tools/mcp-client.js +25 -38
  97. package/dist/src/tools/mcp-client.js.map +1 -1
  98. package/dist/src/tools/mcp-client.test.js +14 -170
  99. package/dist/src/tools/mcp-client.test.js.map +1 -1
  100. package/dist/src/tools/modifiable-tool.js +4 -5
  101. package/dist/src/tools/modifiable-tool.js.map +1 -1
  102. package/dist/src/tools/modifiable-tool.test.js +3 -16
  103. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  104. package/dist/src/tools/read-file.js +2 -1
  105. package/dist/src/tools/read-file.js.map +1 -1
  106. package/dist/src/tools/read-many-files.js +1 -1
  107. package/dist/src/tools/read-many-files.test.js +2 -27
  108. package/dist/src/tools/read-many-files.test.js.map +1 -1
  109. package/dist/src/tools/shell.d.ts +0 -20
  110. package/dist/src/tools/shell.js +22 -128
  111. package/dist/src/tools/shell.js.map +1 -1
  112. package/dist/src/tools/shell.json +18 -0
  113. package/dist/src/tools/shell.md +16 -0
  114. package/dist/src/tools/tool-registry.d.ts +2 -16
  115. package/dist/src/tools/tool-registry.js +19 -150
  116. package/dist/src/tools/tool-registry.js.map +1 -1
  117. package/dist/src/tools/tool-registry.test.js +73 -184
  118. package/dist/src/tools/tool-registry.test.js.map +1 -1
  119. package/dist/src/tools/tools.d.ts +1 -4
  120. package/dist/src/tools/tools.js.map +1 -1
  121. package/dist/src/tools/web-fetch.js.map +1 -1
  122. package/dist/src/tools/web-search.d.ts +1 -6
  123. package/dist/src/tools/web-search.js +2 -7
  124. package/dist/src/tools/web-search.js.map +1 -1
  125. package/dist/src/tools/write-file.d.ts +1 -11
  126. package/dist/src/tools/write-file.js +10 -23
  127. package/dist/src/tools/write-file.js.map +1 -1
  128. package/dist/src/tools/write-file.test.js +4 -39
  129. package/dist/src/tools/write-file.test.js.map +1 -1
  130. package/dist/src/utils/editCorrector.d.ts +1 -1
  131. package/dist/src/utils/editCorrector.js +2 -106
  132. package/dist/src/utils/editCorrector.js.map +1 -1
  133. package/dist/src/utils/editCorrector.test.js +19 -65
  134. package/dist/src/utils/editCorrector.test.js.map +1 -1
  135. package/dist/src/utils/editor.d.ts +2 -2
  136. package/dist/src/utils/editor.js +7 -20
  137. package/dist/src/utils/editor.js.map +1 -1
  138. package/dist/src/utils/editor.test.js +27 -60
  139. package/dist/src/utils/editor.test.js.map +1 -1
  140. package/dist/src/utils/fileUtils.d.ts +2 -2
  141. package/dist/src/utils/fileUtils.js +8 -47
  142. package/dist/src/utils/fileUtils.js.map +1 -1
  143. package/dist/src/utils/fileUtils.test.js +0 -39
  144. package/dist/src/utils/fileUtils.test.js.map +1 -1
  145. package/dist/src/utils/flashFallback.integration.test.js +9 -8
  146. package/dist/src/utils/flashFallback.integration.test.js.map +1 -1
  147. package/dist/src/utils/memoryDiscovery.js +2 -5
  148. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  149. package/dist/src/utils/messageInspectors.d.ts +0 -1
  150. package/dist/src/utils/messageInspectors.js +0 -5
  151. package/dist/src/utils/messageInspectors.js.map +1 -1
  152. package/dist/src/utils/nextSpeakerChecker.js +1 -1
  153. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  154. package/dist/src/utils/nextSpeakerChecker.test.js +1 -0
  155. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  156. package/dist/src/utils/retry.js +21 -21
  157. package/dist/src/utils/retry.js.map +1 -1
  158. package/dist/src/utils/retry.test.js +26 -2
  159. package/dist/src/utils/retry.test.js.map +1 -1
  160. package/dist/src/utils/user_id.d.ts +3 -9
  161. package/dist/src/utils/user_id.js +16 -37
  162. package/dist/src/utils/user_id.js.map +1 -1
  163. package/dist/tsconfig.tsbuildinfo +1 -1
  164. package/package.json +13 -12
  165. package/LICENSE +0 -202
  166. package/README.md +0 -156
  167. package/dist/src/telemetry/uiTelemetry.d.ts +0 -67
  168. package/dist/src/telemetry/uiTelemetry.js +0 -131
  169. package/dist/src/telemetry/uiTelemetry.js.map +0 -1
  170. package/dist/src/telemetry/uiTelemetry.test.d.ts +0 -6
  171. package/dist/src/telemetry/uiTelemetry.test.js +0 -411
  172. package/dist/src/telemetry/uiTelemetry.test.js.map +0 -1
  173. package/dist/src/tools/shell.test.d.ts +0 -6
  174. package/dist/src/tools/shell.test.js +0 -321
  175. package/dist/src/tools/shell.test.js.map +0 -1
  176. package/dist/src/utils/memoryImportProcessor.d.ts +0 -35
  177. package/dist/src/utils/memoryImportProcessor.js +0 -141
  178. package/dist/src/utils/memoryImportProcessor.js.map +0 -1
  179. package/dist/src/utils/memoryImportProcessor.test.d.ts +0 -6
  180. package/dist/src/utils/memoryImportProcessor.test.js +0 -170
  181. package/dist/src/utils/memoryImportProcessor.test.js.map +0 -1
  182. package/dist/src/utils/user_id.test.d.ts +0 -6
  183. package/dist/src/utils/user_id.test.js +0 -42
  184. package/dist/src/utils/user_id.test.js.map +0 -1
@@ -4,18 +4,13 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  /* eslint-disable @typescript-eslint/no-explicit-any */
7
- import { vi, describe, it, expect, beforeEach, } from 'vitest';
8
- import * as fs from 'fs';
9
- import { EditTool } from '../tools/edit.js';
7
+ import { vi, describe, it, expect, beforeEach } from 'vitest';
10
8
  // MOCKS
11
9
  let callCount = 0;
12
10
  const mockResponses = [];
13
11
  let mockGenerateJson;
14
12
  let mockStartChat;
15
13
  let mockSendMessageStream;
16
- vi.mock('fs', () => ({
17
- statSync: vi.fn(),
18
- }));
19
14
  vi.mock('../core/client.js', () => ({
20
15
  GeminiClient: vi.fn().mockImplementation(function (_config) {
21
16
  this.generateJson = (...params) => mockGenerateJson(...params); // Corrected: use mockGenerateJson
@@ -181,7 +176,6 @@ describe('editCorrector', () => {
181
176
  mockStartChat = vi.fn();
182
177
  mockSendMessageStream = vi.fn();
183
178
  mockGeminiClientInstance = new GeminiClient(mockConfigInstance);
184
- mockGeminiClientInstance.getHistory = vi.fn().mockResolvedValue([]);
185
179
  resetEditCorrectorCaches_TEST_ONLY();
186
180
  });
187
181
  describe('Scenario Group 1: originalParams.old_string matches currentContent directly', () => {
@@ -195,7 +189,7 @@ describe('editCorrector', () => {
195
189
  mockResponses.push({
196
190
  corrected_new_string_escaping: 'replace with "this"',
197
191
  });
198
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
192
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
199
193
  expect(mockGenerateJson).toHaveBeenCalledTimes(1);
200
194
  expect(result.params.new_string).toBe('replace with "this"');
201
195
  expect(result.params.old_string).toBe('find me');
@@ -208,7 +202,7 @@ describe('editCorrector', () => {
208
202
  old_string: 'find me',
209
203
  new_string: 'replace with this',
210
204
  };
211
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
205
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
212
206
  expect(mockGenerateJson).toHaveBeenCalledTimes(0);
213
207
  expect(result.params.new_string).toBe('replace with this');
214
208
  expect(result.params.old_string).toBe('find me');
@@ -224,7 +218,7 @@ describe('editCorrector', () => {
224
218
  mockResponses.push({
225
219
  corrected_new_string_escaping: 'replace with "this"',
226
220
  });
227
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
221
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
228
222
  expect(mockGenerateJson).toHaveBeenCalledTimes(1);
229
223
  expect(result.params.new_string).toBe('replace with "this"');
230
224
  expect(result.params.old_string).toBe('find\\me');
@@ -237,7 +231,7 @@ describe('editCorrector', () => {
237
231
  old_string: 'find\\me',
238
232
  new_string: 'replace with this',
239
233
  };
240
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
234
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
241
235
  expect(mockGenerateJson).toHaveBeenCalledTimes(0);
242
236
  expect(result.params.new_string).toBe('replace with this');
243
237
  expect(result.params.old_string).toBe('find\\me');
@@ -253,7 +247,7 @@ describe('editCorrector', () => {
253
247
  new_string: 'replace with \\"this\\"',
254
248
  };
255
249
  mockResponses.push({ corrected_new_string: 'replace with "this"' });
256
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
250
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
257
251
  expect(mockGenerateJson).toHaveBeenCalledTimes(1);
258
252
  expect(result.params.new_string).toBe('replace with "this"');
259
253
  expect(result.params.old_string).toBe('find "me"');
@@ -266,7 +260,7 @@ describe('editCorrector', () => {
266
260
  old_string: 'find \\"me\\"',
267
261
  new_string: 'replace with this',
268
262
  };
269
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
263
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
270
264
  expect(mockGenerateJson).toHaveBeenCalledTimes(0);
271
265
  expect(result.params.new_string).toBe('replace with this');
272
266
  expect(result.params.old_string).toBe('find "me"');
@@ -279,7 +273,7 @@ describe('editCorrector', () => {
279
273
  old_string: 'find \\\\me',
280
274
  new_string: 'replace with foobar',
281
275
  };
282
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
276
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
283
277
  expect(mockGenerateJson).toHaveBeenCalledTimes(0);
284
278
  expect(result.params.new_string).toBe('replace with foobar');
285
279
  expect(result.params.old_string).toBe('find \\me');
@@ -296,7 +290,7 @@ describe('editCorrector', () => {
296
290
  };
297
291
  const llmNewString = 'LLM says replace with "that"';
298
292
  mockResponses.push({ corrected_new_string_escaping: llmNewString });
299
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
293
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
300
294
  expect(mockGenerateJson).toHaveBeenCalledTimes(1);
301
295
  expect(result.params.new_string).toBe(llmNewString);
302
296
  expect(result.params.old_string).toBe('find me');
@@ -313,7 +307,7 @@ describe('editCorrector', () => {
313
307
  const llmNewString = 'LLM says replace with "that"';
314
308
  mockResponses.push({ corrected_target_snippet: llmCorrectedOldString });
315
309
  mockResponses.push({ corrected_new_string: llmNewString });
316
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
310
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
317
311
  expect(mockGenerateJson).toHaveBeenCalledTimes(2);
318
312
  expect(result.params.new_string).toBe(llmNewString);
319
313
  expect(result.params.old_string).toBe(llmCorrectedOldString);
@@ -328,7 +322,7 @@ describe('editCorrector', () => {
328
322
  };
329
323
  const llmCorrectedOldString = 'to be corrected';
330
324
  mockResponses.push({ corrected_target_snippet: llmCorrectedOldString });
331
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
325
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
332
326
  expect(mockGenerateJson).toHaveBeenCalledTimes(1);
333
327
  expect(result.params.new_string).toBe('replace with "this"');
334
328
  expect(result.params.old_string).toBe(llmCorrectedOldString);
@@ -345,7 +339,7 @@ describe('editCorrector', () => {
345
339
  mockResponses.push({
346
340
  corrected_new_string_escaping: newStringForLLMAndReturnedByLLM,
347
341
  });
348
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
342
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
349
343
  expect(mockGenerateJson).toHaveBeenCalledTimes(1);
350
344
  expect(result.params.new_string).toBe(newStringForLLMAndReturnedByLLM);
351
345
  expect(result.occurrences).toBe(1);
@@ -360,7 +354,7 @@ describe('editCorrector', () => {
360
354
  new_string: 'some new string',
361
355
  };
362
356
  mockResponses.push({ corrected_target_snippet: 'still nonexistent' });
363
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
357
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
364
358
  expect(mockGenerateJson).toHaveBeenCalledTimes(1);
365
359
  expect(result.params).toEqual(originalParams);
366
360
  expect(result.occurrences).toBe(0);
@@ -372,7 +366,7 @@ describe('editCorrector', () => {
372
366
  old_string: 'find "me"',
373
367
  new_string: 'some new string',
374
368
  };
375
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
369
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
376
370
  expect(mockGenerateJson).toHaveBeenCalledTimes(0);
377
371
  expect(result.params).toEqual(originalParams);
378
372
  expect(result.occurrences).toBe(2);
@@ -380,62 +374,22 @@ describe('editCorrector', () => {
380
374
  });
381
375
  describe('Scenario Group 5: Specific unescapeStringForGeminiBug checks (integrated into ensureCorrectEdit)', () => {
382
376
  it('Test 5.1: old_string needs LLM to become currentContent, new_string also needs correction', async () => {
383
- const currentContent = 'const x = "a\nbc\\"def\\"';
377
+ const currentContent = 'const x = "a\\nbc\\\\"def\\\\"';
384
378
  const originalParams = {
385
379
  file_path: '/test/file.txt',
386
- old_string: 'const x = \\"a\\nbc\\\\"def\\\\"',
387
- new_string: 'const y = \\"new\\nval\\\\"content\\\\"',
380
+ old_string: 'const x = \\\\"a\\\\nbc\\\\\\\\"def\\\\\\\\"',
381
+ new_string: 'const y = \\\\"new\\\\nval\\\\\\\\"content\\\\\\\\"',
388
382
  };
389
- const expectedFinalNewString = 'const y = "new\nval\\"content\\"';
383
+ const expectedFinalNewString = 'const y = "new\\nval\\\\"content\\\\"';
390
384
  mockResponses.push({ corrected_target_snippet: currentContent });
391
385
  mockResponses.push({ corrected_new_string: expectedFinalNewString });
392
- const result = await ensureCorrectEdit('/test/file.txt', currentContent, originalParams, mockGeminiClientInstance, abortSignal);
386
+ const result = await ensureCorrectEdit(currentContent, originalParams, mockGeminiClientInstance, abortSignal);
393
387
  expect(mockGenerateJson).toHaveBeenCalledTimes(2);
394
388
  expect(result.params.old_string).toBe(currentContent);
395
389
  expect(result.params.new_string).toBe(expectedFinalNewString);
396
390
  expect(result.occurrences).toBe(1);
397
391
  });
398
392
  });
399
- describe('Scenario Group 6: Concurrent Edits', () => {
400
- it('Test 6.1: should return early if file was modified by another process', async () => {
401
- const filePath = '/test/file.txt';
402
- const currentContent = 'This content has been modified by someone else.';
403
- const originalParams = {
404
- file_path: filePath,
405
- old_string: 'nonexistent string',
406
- new_string: 'some new string',
407
- };
408
- const now = Date.now();
409
- const lastEditTime = now - 5000; // 5 seconds ago
410
- // Mock the file's modification time to be recent
411
- vi.spyOn(fs, 'statSync').mockReturnValue({
412
- mtimeMs: now,
413
- });
414
- // Mock the last edit timestamp from our history to be in the past
415
- const history = [
416
- {
417
- role: 'model',
418
- parts: [
419
- {
420
- functionResponse: {
421
- name: EditTool.Name,
422
- id: `${EditTool.Name}-${lastEditTime}-123`,
423
- response: {
424
- output: {
425
- llmContent: `Successfully modified file: ${filePath}`,
426
- },
427
- },
428
- },
429
- },
430
- ],
431
- },
432
- ];
433
- mockGeminiClientInstance.getHistory.mockResolvedValue(history);
434
- const result = await ensureCorrectEdit(filePath, currentContent, originalParams, mockGeminiClientInstance, abortSignal);
435
- expect(result.occurrences).toBe(0);
436
- expect(result.params).toEqual(originalParams);
437
- });
438
- });
439
393
  });
440
394
  describe('ensureCorrectFileContent', () => {
441
395
  let mockGeminiClientInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"editCorrector.test.js","sourceRoot":"","sources":["../../../src/utils/editCorrector.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editCorrector.test.js","sourceRoot":"","sources":["../../../src/utils/editCorrector.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export type EditorType = 'vscode' | 'vscodium' | 'windsurf' | 'cursor' | 'vim' | 'neovim' | 'zed';
6
+ export type EditorType = 'vscode' | 'windsurf' | 'cursor' | 'vim' | 'zed';
7
7
  interface DiffCommand {
8
8
  command: string;
9
9
  args: string[];
@@ -22,7 +22,7 @@ export declare function getDiffCommand(oldPath: string, newPath: string, editor:
22
22
  /**
23
23
  * Opens a diff tool to compare two files.
24
24
  * Terminal-based editors by default blocks parent process until the editor exits.
25
- * GUI-based editors require args such as "--wait" to block parent process.
25
+ * GUI-based editors requires args such as "--wait" to block parent process.
26
26
  */
27
27
  export declare function openDiff(oldPath: string, newPath: string, editor: EditorType): Promise<void>;
28
28
  export {};
@@ -5,15 +5,7 @@
5
5
  */
6
6
  import { execSync, spawn } from 'child_process';
7
7
  function isValidEditorType(editor) {
8
- return [
9
- 'vscode',
10
- 'vscodium',
11
- 'windsurf',
12
- 'cursor',
13
- 'vim',
14
- 'neovim',
15
- 'zed',
16
- ].includes(editor);
8
+ return ['vscode', 'windsurf', 'cursor', 'vim', 'zed'].includes(editor);
17
9
  }
18
10
  function commandExists(cmd) {
19
11
  try {
@@ -26,11 +18,9 @@ function commandExists(cmd) {
26
18
  }
27
19
  const editorCommands = {
28
20
  vscode: { win32: 'code.cmd', default: 'code' },
29
- vscodium: { win32: 'codium.cmd', default: 'codium' },
30
21
  windsurf: { win32: 'windsurf', default: 'windsurf' },
31
22
  cursor: { win32: 'cursor', default: 'cursor' },
32
23
  vim: { win32: 'vim', default: 'vim' },
33
- neovim: { win32: 'nvim', default: 'nvim' },
34
24
  zed: { win32: 'zed', default: 'zed' },
35
25
  };
36
26
  export function checkHasEditorType(editor) {
@@ -40,7 +30,7 @@ export function checkHasEditorType(editor) {
40
30
  }
41
31
  export function allowEditorTypeInSandbox(editor) {
42
32
  const notUsingSandbox = !process.env.SANDBOX;
43
- if (['vscode', 'vscodium', 'windsurf', 'cursor', 'zed'].includes(editor)) {
33
+ if (['vscode', 'windsurf', 'cursor', 'zed'].includes(editor)) {
44
34
  return notUsingSandbox;
45
35
  }
46
36
  return true;
@@ -51,7 +41,8 @@ export function allowEditorTypeInSandbox(editor) {
51
41
  */
52
42
  export function isEditorAvailable(editor) {
53
43
  if (editor && isValidEditorType(editor)) {
54
- return checkHasEditorType(editor) && allowEditorTypeInSandbox(editor);
44
+ return (checkHasEditorType(editor) &&
45
+ allowEditorTypeInSandbox(editor));
55
46
  }
56
47
  return false;
57
48
  }
@@ -66,15 +57,13 @@ export function getDiffCommand(oldPath, newPath, editor) {
66
57
  const command = process.platform === 'win32' ? commandConfig.win32 : commandConfig.default;
67
58
  switch (editor) {
68
59
  case 'vscode':
69
- case 'vscodium':
70
60
  case 'windsurf':
71
61
  case 'cursor':
72
62
  case 'zed':
73
63
  return { command, args: ['--wait', '--diff', oldPath, newPath] };
74
64
  case 'vim':
75
- case 'neovim':
76
65
  return {
77
- command,
66
+ command: 'vim',
78
67
  args: [
79
68
  '-d',
80
69
  // skip viminfo file to avoid E138 errors
@@ -107,7 +96,7 @@ export function getDiffCommand(oldPath, newPath, editor) {
107
96
  /**
108
97
  * Opens a diff tool to compare two files.
109
98
  * Terminal-based editors by default blocks parent process until the editor exits.
110
- * GUI-based editors require args such as "--wait" to block parent process.
99
+ * GUI-based editors requires args such as "--wait" to block parent process.
111
100
  */
112
101
  export async function openDiff(oldPath, newPath, editor) {
113
102
  const diffCommand = getDiffCommand(oldPath, newPath, editor);
@@ -118,7 +107,6 @@ export async function openDiff(oldPath, newPath, editor) {
118
107
  try {
119
108
  switch (editor) {
120
109
  case 'vscode':
121
- case 'vscodium':
122
110
  case 'windsurf':
123
111
  case 'cursor':
124
112
  case 'zed':
@@ -140,8 +128,7 @@ export async function openDiff(oldPath, newPath, editor) {
140
128
  reject(error);
141
129
  });
142
130
  });
143
- case 'vim':
144
- case 'neovim': {
131
+ case 'vim': {
145
132
  // Use execSync for terminal-based editors
146
133
  const command = process.platform === 'win32'
147
134
  ? `${diffCommand.command} ${diffCommand.args.join(' ')}`
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../src/utils/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../src/utils/editor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAIhD,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AAOD,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,QAAQ,CACN,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,EAAE,EACvE,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAA2D;IAC7E,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE;IAC9C,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;IACpD,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC9C,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IACrC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;CACtC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAkB;IACnD,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;IAC7E,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAkB;IACzD,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA0B;IAC1D,IAAI,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,CACL,kBAAkB,CAAC,MAAoB,CAAC;YACxC,wBAAwB,CAAC,MAAoB,CAAC,CAC/C,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,OAAe,EACf,MAAkB;IAElB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;IAC7E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACnE,KAAK,KAAK;YACR,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE;oBACJ,IAAI;oBACJ,yCAAyC;oBACzC,IAAI;oBACJ,MAAM;oBACN,+DAA+D;oBAC/D,IAAI;oBACJ,oCAAoC;oBACpC,0BAA0B;oBAC1B,IAAI;oBACJ,gNAAgN;oBAChN,wBAAwB;oBACxB,IAAI;oBACJ,4GAA4G;oBAC5G,IAAI;oBACJ,2CAA2C;oBAC3C,IAAI;oBACJ,oHAAoH;oBACpH,4CAA4C;oBAC5C,IAAI;oBACJ,yBAAyB;oBACzB,OAAO;oBACP,OAAO;iBACR;aACF,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAe,EACf,OAAe,EACf,MAAkB;IAElB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,UAAU,CAAC;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK;gBACR,uEAAuE;gBACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACrC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE;wBAChE,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;oBAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;wBAChC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;4BACf,OAAO,EAAE,CAAC;wBACZ,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACjC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YAEL,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,0CAA0C;gBAC1C,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,OAAO;oBAC1B,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACxD,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtF,QAAQ,CAAC,OAAO,EAAE;oBAChB,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,MAAM;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -31,11 +31,9 @@ describe('editor utils', () => {
31
31
  describe('checkHasEditorType', () => {
32
32
  const testCases = [
33
33
  { editor: 'vscode', command: 'code', win32Command: 'code.cmd' },
34
- { editor: 'vscodium', command: 'codium', win32Command: 'codium.cmd' },
35
34
  { editor: 'windsurf', command: 'windsurf', win32Command: 'windsurf' },
36
35
  { editor: 'cursor', command: 'cursor', win32Command: 'cursor' },
37
36
  { editor: 'vim', command: 'vim', win32Command: 'vim' },
38
- { editor: 'neovim', command: 'nvim', win32Command: 'nvim' },
39
37
  { editor: 'zed', command: 'zed', win32Command: 'zed' },
40
38
  ];
41
39
  for (const { editor, command, win32Command } of testCases) {
@@ -76,7 +74,6 @@ describe('editor utils', () => {
76
74
  describe('getDiffCommand', () => {
77
75
  const guiEditors = [
78
76
  { editor: 'vscode', command: 'code', win32Command: 'code.cmd' },
79
- { editor: 'vscodium', command: 'codium', win32Command: 'codium.cmd' },
80
77
  { editor: 'windsurf', command: 'windsurf', win32Command: 'windsurf' },
81
78
  { editor: 'cursor', command: 'cursor', win32Command: 'cursor' },
82
79
  { editor: 'zed', command: 'zed', win32Command: 'zed' },
@@ -99,37 +96,31 @@ describe('editor utils', () => {
99
96
  });
100
97
  });
101
98
  }
102
- const terminalEditors = [
103
- { editor: 'vim', command: 'vim' },
104
- { editor: 'neovim', command: 'nvim' },
105
- ];
106
- for (const { editor, command } of terminalEditors) {
107
- it(`should return the correct command for ${editor}`, () => {
108
- const diffCommand = getDiffCommand('old.txt', 'new.txt', editor);
109
- expect(diffCommand).toEqual({
110
- command,
111
- args: [
112
- '-d',
113
- '-i',
114
- 'NONE',
115
- '-c',
116
- 'wincmd h | set readonly | wincmd l',
117
- '-c',
118
- 'highlight DiffAdd cterm=bold ctermbg=22 guibg=#005f00 | highlight DiffChange cterm=bold ctermbg=24 guibg=#005f87 | highlight DiffText ctermbg=21 guibg=#0000af | highlight DiffDelete ctermbg=52 guibg=#5f0000',
119
- '-c',
120
- 'set showtabline=2 | set tabline=[Instructions]\\ :wqa(save\\ &\\ quit)\\ \\|\\ i/esc(toggle\\ edit\\ mode)',
121
- '-c',
122
- 'wincmd h | setlocal statusline=OLD\\ FILE',
123
- '-c',
124
- 'wincmd l | setlocal statusline=%#StatusBold#NEW\\ FILE\\ :wqa(save\\ &\\ quit)\\ \\|\\ i/esc(toggle\\ edit\\ mode)',
125
- '-c',
126
- 'autocmd WinClosed * wqa',
127
- 'old.txt',
128
- 'new.txt',
129
- ],
130
- });
99
+ it('should return the correct command for vim', () => {
100
+ const command = getDiffCommand('old.txt', 'new.txt', 'vim');
101
+ expect(command).toEqual({
102
+ command: 'vim',
103
+ args: [
104
+ '-d',
105
+ '-i',
106
+ 'NONE',
107
+ '-c',
108
+ 'wincmd h | set readonly | wincmd l',
109
+ '-c',
110
+ 'highlight DiffAdd cterm=bold ctermbg=22 guibg=#005f00 | highlight DiffChange cterm=bold ctermbg=24 guibg=#005f87 | highlight DiffText ctermbg=21 guibg=#0000af | highlight DiffDelete ctermbg=52 guibg=#5f0000',
111
+ '-c',
112
+ 'set showtabline=2 | set tabline=[Instructions]\\ :wqa(save\\ &\\ quit)\\ \\|\\ i/esc(toggle\\ edit\\ mode)',
113
+ '-c',
114
+ 'wincmd h | setlocal statusline=OLD\\ FILE',
115
+ '-c',
116
+ 'wincmd l | setlocal statusline=%#StatusBold#NEW\\ FILE\\ :wqa(save\\ &\\ quit)\\ \\|\\ i/esc(toggle\\ edit\\ mode)',
117
+ '-c',
118
+ 'autocmd WinClosed * wqa',
119
+ 'old.txt',
120
+ 'new.txt',
121
+ ],
131
122
  });
132
- }
123
+ });
133
124
  it('should return null for an unsupported editor', () => {
134
125
  // @ts-expect-error Testing unsupported editor
135
126
  const command = getDiffCommand('old.txt', 'new.txt', 'foobar');
@@ -137,13 +128,7 @@ describe('editor utils', () => {
137
128
  });
138
129
  });
139
130
  describe('openDiff', () => {
140
- const spawnEditors = [
141
- 'vscode',
142
- 'vscodium',
143
- 'windsurf',
144
- 'cursor',
145
- 'zed',
146
- ];
131
+ const spawnEditors = ['vscode', 'windsurf', 'cursor', 'zed'];
147
132
  for (const editor of spawnEditors) {
148
133
  it(`should call spawn for ${editor}`, async () => {
149
134
  const mockSpawn = {
@@ -187,7 +172,7 @@ describe('editor utils', () => {
187
172
  await expect(openDiff('old.txt', 'new.txt', editor)).rejects.toThrow(`${editor} exited with code 1`);
188
173
  });
189
174
  }
190
- const execSyncEditors = ['vim', 'neovim'];
175
+ const execSyncEditors = ['vim'];
191
176
  for (const editor of execSyncEditors) {
192
177
  it(`should call execSync for ${editor} on non-windows`, async () => {
193
178
  Object.defineProperty(process, 'platform', { value: 'linux' });
@@ -229,20 +214,7 @@ describe('editor utils', () => {
229
214
  it('should allow vim when not in sandbox mode', () => {
230
215
  expect(allowEditorTypeInSandbox('vim')).toBe(true);
231
216
  });
232
- it('should allow neovim in sandbox mode', () => {
233
- process.env.SANDBOX = 'sandbox';
234
- expect(allowEditorTypeInSandbox('neovim')).toBe(true);
235
- });
236
- it('should allow neovim when not in sandbox mode', () => {
237
- expect(allowEditorTypeInSandbox('neovim')).toBe(true);
238
- });
239
- const guiEditors = [
240
- 'vscode',
241
- 'vscodium',
242
- 'windsurf',
243
- 'cursor',
244
- 'zed',
245
- ];
217
+ const guiEditors = ['vscode', 'windsurf', 'cursor', 'zed'];
246
218
  for (const editor of guiEditors) {
247
219
  it(`should not allow ${editor} in sandbox mode`, () => {
248
220
  process.env.SANDBOX = 'sandbox';
@@ -283,11 +255,6 @@ describe('editor utils', () => {
283
255
  process.env.SANDBOX = 'sandbox';
284
256
  expect(isEditorAvailable('vim')).toBe(true);
285
257
  });
286
- it('should return true for neovim when installed and in sandbox mode', () => {
287
- execSync.mockReturnValue(Buffer.from('/usr/bin/nvim'));
288
- process.env.SANDBOX = 'sandbox';
289
- expect(isEditorAvailable('neovim')).toBe(true);
290
- });
291
258
  });
292
259
  });
293
260
  //# sourceMappingURL=editor.test.js.map