@google/gemini-cli-core 0.15.0-nightly.20251107.cd27cae8 → 0.15.0-nightly.20251111.51f952e7

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 (110) hide show
  1. package/dist/google-gemini-cli-core-0.15.0-nightly.20251107.b8eeb553.tgz +0 -0
  2. package/dist/src/config/config.d.ts +7 -1
  3. package/dist/src/config/config.js +12 -9
  4. package/dist/src/config/config.js.map +1 -1
  5. package/dist/src/config/config.test.js +0 -12
  6. package/dist/src/config/config.test.js.map +1 -1
  7. package/dist/src/config/defaultModelConfigs.js +21 -4
  8. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  9. package/dist/src/core/baseLlmClient.d.ts +4 -8
  10. package/dist/src/core/baseLlmClient.js +3 -8
  11. package/dist/src/core/baseLlmClient.js.map +1 -1
  12. package/dist/src/core/baseLlmClient.test.js +13 -20
  13. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  14. package/dist/src/core/coreToolScheduler.js +7 -1
  15. package/dist/src/core/coreToolScheduler.js.map +1 -1
  16. package/dist/src/core/coreToolScheduler.test.js +136 -357
  17. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  18. package/dist/src/generated/git-commit.d.ts +2 -2
  19. package/dist/src/generated/git-commit.js +2 -2
  20. package/dist/src/hooks/hookRunner.d.ts +42 -0
  21. package/dist/src/hooks/hookRunner.js +272 -0
  22. package/dist/src/hooks/hookRunner.js.map +1 -0
  23. package/dist/src/hooks/hookRunner.test.d.ts +6 -0
  24. package/dist/src/hooks/hookRunner.test.js +468 -0
  25. package/dist/src/hooks/hookRunner.test.js.map +1 -0
  26. package/dist/src/ide/ide-client.js +3 -3
  27. package/dist/src/ide/types.d.ts +1 -1
  28. package/dist/src/ide/types.js +1 -1
  29. package/dist/src/policy/toml-loader.test.js +26 -0
  30. package/dist/src/policy/toml-loader.test.js.map +1 -1
  31. package/dist/src/routing/strategies/classifierStrategy.js +3 -11
  32. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  33. package/dist/src/routing/strategies/classifierStrategy.test.js +12 -10
  34. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  35. package/dist/src/services/loopDetectionService.js +1 -2
  36. package/dist/src/services/loopDetectionService.js.map +1 -1
  37. package/dist/src/services/loopDetectionService.test.js +7 -1
  38. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  39. package/dist/src/services/test-data/resolved-aliases.golden.json +28 -0
  40. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +7 -7
  41. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +11 -20
  42. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  43. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +1 -0
  44. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +28 -1
  45. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  46. package/dist/src/telemetry/index.d.ts +2 -2
  47. package/dist/src/telemetry/index.js +2 -2
  48. package/dist/src/telemetry/index.js.map +1 -1
  49. package/dist/src/telemetry/loggers.d.ts +6 -7
  50. package/dist/src/telemetry/loggers.js +10 -21
  51. package/dist/src/telemetry/loggers.js.map +1 -1
  52. package/dist/src/telemetry/loggers.test.js +18 -18
  53. package/dist/src/telemetry/loggers.test.js.map +1 -1
  54. package/dist/src/telemetry/types.d.ts +1 -10
  55. package/dist/src/telemetry/types.js +0 -25
  56. package/dist/src/telemetry/types.js.map +1 -1
  57. package/dist/src/tools/mcp-client.js +22 -12
  58. package/dist/src/tools/mcp-client.js.map +1 -1
  59. package/dist/src/tools/mcp-client.test.js +6 -0
  60. package/dist/src/tools/mcp-client.test.js.map +1 -1
  61. package/dist/src/tools/mcp-tool.d.ts +1 -0
  62. package/dist/src/tools/mcp-tool.js +4 -1
  63. package/dist/src/tools/mcp-tool.js.map +1 -1
  64. package/dist/src/tools/modifiable-tool.d.ts +5 -1
  65. package/dist/src/tools/modifiable-tool.js +34 -13
  66. package/dist/src/tools/modifiable-tool.js.map +1 -1
  67. package/dist/src/tools/modifiable-tool.test.js +56 -22
  68. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  69. package/dist/src/tools/ripGrep.js +22 -30
  70. package/dist/src/tools/ripGrep.js.map +1 -1
  71. package/dist/src/tools/ripGrep.test.js +216 -24
  72. package/dist/src/tools/ripGrep.test.js.map +1 -1
  73. package/dist/src/tools/shell.test.js +1 -1
  74. package/dist/src/tools/shell.test.js.map +1 -1
  75. package/dist/src/tools/tool-registry.d.ts +18 -3
  76. package/dist/src/tools/tool-registry.js +61 -17
  77. package/dist/src/tools/tool-registry.js.map +1 -1
  78. package/dist/src/tools/tool-registry.test.js +64 -0
  79. package/dist/src/tools/tool-registry.test.js.map +1 -1
  80. package/dist/src/utils/editCorrector.js +4 -15
  81. package/dist/src/utils/editCorrector.js.map +1 -1
  82. package/dist/src/utils/editCorrector.test.js +16 -0
  83. package/dist/src/utils/editCorrector.test.js.map +1 -1
  84. package/dist/src/utils/events.d.ts +14 -11
  85. package/dist/src/utils/events.js +1 -14
  86. package/dist/src/utils/events.js.map +1 -1
  87. package/dist/src/utils/extensionLoader.d.ts +8 -0
  88. package/dist/src/utils/extensionLoader.js +55 -13
  89. package/dist/src/utils/extensionLoader.js.map +1 -1
  90. package/dist/src/utils/extensionLoader.test.js +83 -19
  91. package/dist/src/utils/extensionLoader.test.js.map +1 -1
  92. package/dist/src/utils/llm-edit-fixer.js +1 -2
  93. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  94. package/dist/src/utils/llm-edit-fixer.test.js +8 -0
  95. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
  96. package/dist/src/utils/memoryDiscovery.d.ts +8 -0
  97. package/dist/src/utils/memoryDiscovery.js +24 -0
  98. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  99. package/dist/src/utils/memoryDiscovery.test.js +43 -1
  100. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  101. package/dist/src/utils/nextSpeakerChecker.js +1 -2
  102. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  103. package/dist/src/utils/nextSpeakerChecker.test.js +10 -4
  104. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  105. package/dist/src/utils/shell-utils.js +5 -3
  106. package/dist/src/utils/shell-utils.js.map +1 -1
  107. package/dist/src/utils/shell-utils.test.js +9 -9
  108. package/dist/src/utils/shell-utils.test.js.map +1 -1
  109. package/dist/tsconfig.tsbuildinfo +1 -1
  110. package/package.json +1 -1
@@ -57,10 +57,17 @@ describe('modifyWithEditor', () => {
57
57
  afterEach(async () => {
58
58
  vi.restoreAllMocks();
59
59
  await fsp.rm(testProjectDir, { recursive: true, force: true });
60
- const diffDir = path.join(os.tmpdir(), 'gemini-cli-tool-modify-diffs');
61
- await fsp.rm(diffDir, { recursive: true, force: true });
62
60
  });
63
61
  describe('successful modification', () => {
62
+ const assertMode = (mode, expected) => {
63
+ if (process.platform === 'win32') {
64
+ // Windows reports POSIX modes as 0o666 regardless of requested bits.
65
+ // At minimum confirm the owner read/write bits are present.
66
+ expect(mode & 0o600).toBe(0o600);
67
+ return;
68
+ }
69
+ expect(mode & 0o777).toBe(expected);
70
+ };
64
71
  it('should successfully modify content with VSCode editor', async () => {
65
72
  const result = await modifyWithEditor(mockParams, mockModifyContext, 'vscode', abortSignal, vi.fn());
66
73
  expect(mockModifyContext.getCurrentContent).toHaveBeenCalledWith(mockParams);
@@ -85,20 +92,19 @@ describe('modifyWithEditor', () => {
85
92
  updatedDiff: 'mock diff content',
86
93
  });
87
94
  });
88
- it('should create temp directory if it does not exist', async () => {
89
- const diffDir = path.join(os.tmpdir(), 'gemini-cli-tool-modify-diffs');
90
- await fsp.rm(diffDir, { recursive: true, force: true }).catch(() => { });
91
- await modifyWithEditor(mockParams, mockModifyContext, 'vscode', abortSignal, vi.fn());
92
- const stats = await fsp.stat(diffDir);
93
- expect(stats.isDirectory()).toBe(true);
94
- });
95
- it('should not create temp directory if it already exists', async () => {
96
- const diffDir = path.join(os.tmpdir(), 'gemini-cli-tool-modify-diffs');
97
- await fsp.mkdir(diffDir, { recursive: true });
98
- const mkdirSpy = vi.spyOn(fs, 'mkdirSync');
95
+ it('should create temp directory and files with restrictive permissions', async () => {
96
+ mockOpenDiff.mockImplementation(async (oldPath, newPath) => {
97
+ const diffDir = path.dirname(oldPath);
98
+ expect(diffDir).toBe(path.dirname(newPath));
99
+ const dirStats = await fsp.stat(diffDir);
100
+ const oldStats = await fsp.stat(oldPath);
101
+ const newStats = await fsp.stat(newPath);
102
+ assertMode(dirStats.mode, 0o700);
103
+ assertMode(oldStats.mode, 0o600);
104
+ assertMode(newStats.mode, 0o600);
105
+ await fsp.writeFile(newPath, modifiedContent, 'utf8');
106
+ });
99
107
  await modifyWithEditor(mockParams, mockModifyContext, 'vscode', abortSignal, vi.fn());
100
- expect(mkdirSpy).not.toHaveBeenCalled();
101
- mkdirSpy.mockRestore();
102
108
  });
103
109
  });
104
110
  it('should handle missing old temp file gracefully', async () => {
@@ -126,6 +132,30 @@ describe('modifyWithEditor', () => {
126
132
  expect(result.updatedParams).toBeDefined();
127
133
  expect(result.updatedDiff).toBe('mock diff content');
128
134
  });
135
+ it('should honor override content values when provided', async () => {
136
+ const overrideCurrent = 'override current content';
137
+ const overrideProposed = 'override proposed content';
138
+ mockModifyContext.getCurrentContent = vi.fn();
139
+ mockModifyContext.getProposedContent = vi.fn();
140
+ await modifyWithEditor(mockParams, mockModifyContext, 'vscode', abortSignal, vi.fn(), {
141
+ currentContent: overrideCurrent,
142
+ proposedContent: overrideProposed,
143
+ });
144
+ expect(mockModifyContext.getCurrentContent).not.toHaveBeenCalled();
145
+ expect(mockModifyContext.getProposedContent).not.toHaveBeenCalled();
146
+ expect(mockCreatePatch).toHaveBeenCalledWith(path.basename(mockParams.filePath), overrideCurrent, modifiedContent, 'Current', 'Proposed', expect.any(Object));
147
+ });
148
+ it('should treat null override as explicit empty content', async () => {
149
+ mockModifyContext.getCurrentContent = vi.fn();
150
+ mockModifyContext.getProposedContent = vi.fn();
151
+ await modifyWithEditor(mockParams, mockModifyContext, 'vscode', abortSignal, vi.fn(), {
152
+ currentContent: null,
153
+ proposedContent: 'override proposed content',
154
+ });
155
+ expect(mockModifyContext.getCurrentContent).not.toHaveBeenCalled();
156
+ expect(mockModifyContext.getProposedContent).not.toHaveBeenCalled();
157
+ expect(mockCreatePatch).toHaveBeenCalledWith(path.basename(mockParams.filePath), '', modifiedContent, 'Current', 'Proposed', expect.any(Object));
158
+ });
129
159
  it('should clean up temp files even if editor fails', async () => {
130
160
  const editorError = new Error('Editor failed to open');
131
161
  mockOpenDiff.mockRejectedValue(editorError);
@@ -145,9 +175,13 @@ describe('modifyWithEditor', () => {
145
175
  vi.spyOn(fs, 'unlinkSync').mockImplementation(() => {
146
176
  throw new Error('Failed to delete file');
147
177
  });
178
+ vi.spyOn(fs, 'rmdirSync').mockImplementation(() => {
179
+ throw new Error('Failed to delete directory');
180
+ });
148
181
  await modifyWithEditor(mockParams, mockModifyContext, 'vscode', abortSignal, vi.fn());
149
- expect(consoleErrorSpy).toHaveBeenCalledTimes(2);
182
+ expect(consoleErrorSpy).toHaveBeenCalledTimes(3);
150
183
  expect(consoleErrorSpy).toHaveBeenCalledWith(expect.stringContaining('Error deleting temp diff file:'));
184
+ expect(consoleErrorSpy).toHaveBeenCalledWith(expect.stringContaining('Error deleting temp diff directory:'));
151
185
  consoleErrorSpy.mockRestore();
152
186
  });
153
187
  it('should create temp files with correct naming with extension', async () => {
@@ -158,9 +192,9 @@ describe('modifyWithEditor', () => {
158
192
  const [oldFilePath, newFilePath] = mockOpenDiff.mock.calls[0];
159
193
  expect(oldFilePath).toMatch(/gemini-cli-modify-test-file-old-\d+\.txt$/);
160
194
  expect(newFilePath).toMatch(/gemini-cli-modify-test-file-new-\d+\.txt$/);
161
- const diffDir = path.join(os.tmpdir(), 'gemini-cli-tool-modify-diffs');
162
- expect(path.dirname(oldFilePath)).toBe(diffDir);
163
- expect(path.dirname(newFilePath)).toBe(diffDir);
195
+ const diffDirPrefix = path.join(os.tmpdir(), 'gemini-cli-tool-modify-');
196
+ expect(path.dirname(oldFilePath).startsWith(diffDirPrefix)).toBe(true);
197
+ expect(path.dirname(newFilePath).startsWith(diffDirPrefix)).toBe(true);
164
198
  });
165
199
  it('should create temp files with correct naming without extension', async () => {
166
200
  const testFilePath = path.join(testProjectDir, 'subfolder', 'test-file');
@@ -170,9 +204,9 @@ describe('modifyWithEditor', () => {
170
204
  const [oldFilePath, newFilePath] = mockOpenDiff.mock.calls[0];
171
205
  expect(oldFilePath).toMatch(/gemini-cli-modify-test-file-old-\d+$/);
172
206
  expect(newFilePath).toMatch(/gemini-cli-modify-test-file-new-\d+$/);
173
- const diffDir = path.join(os.tmpdir(), 'gemini-cli-tool-modify-diffs');
174
- expect(path.dirname(oldFilePath)).toBe(diffDir);
175
- expect(path.dirname(newFilePath)).toBe(diffDir);
207
+ const diffDirPrefix = path.join(os.tmpdir(), 'gemini-cli-tool-modify-');
208
+ expect(path.dirname(oldFilePath).startsWith(diffDirPrefix)).toBe(true);
209
+ expect(path.dirname(newFilePath).startsWith(diffDirPrefix)).toBe(true);
176
210
  });
177
211
  });
178
212
  describe('isModifiableTool', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"modifiable-tool.test.js","sourceRoot":"","sources":["../../../src/tools/modifiable-tool.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modifiable-tool.test.js","sourceRoot":"","sources":["../../../src/tools/modifiable-tool.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKzE,OAAO,EACL,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,oBAAoB;AACpB,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/C,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAElD,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,QAAQ,EAAE,YAAY;CACvB,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrB,WAAW,EAAE,eAAe;CAC7B,CAAC,CAAC,CAAC;AAQJ,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,cAAsB,CAAC;IAC3B,IAAI,iBAA4C,CAAC;IACjD,IAAI,UAAsB,CAAC;IAC3B,IAAI,cAAsB,CAAC;IAC3B,IAAI,eAAuB,CAAC;IAC5B,IAAI,eAAuB,CAAC;IAC5B,IAAI,WAAwB,CAAC;IAE7B,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,cAAc,GAAG,MAAM,GAAG,CAAC,OAAO,CAChC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAChD,CAAC;QACF,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;QAE3C,cAAc,GAAG,kCAAkC,CAAC;QACpD,eAAe,GAAG,kCAAkC,CAAC;QACrD,eAAe,GAAG,iDAAiD,CAAC;QACpE,UAAU,GAAG;YACX,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;YAC/C,cAAc,EAAE,OAAO;SACxB,CAAC;QAEF,iBAAiB,GAAG;YAClB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC;YACzD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC;YAC5D,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YAC9D,mBAAmB,EAAE,EAAE;iBACpB,EAAE,EAAE;iBACJ,kBAAkB,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;gBACpE,GAAG,cAAc;gBACjB,eAAe;gBACf,UAAU;aACX,CAAC,CAAC;SACN,CAAC;QAEF,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;YAC1D,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAQ,EAAE;YAC1D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,qEAAqE;gBACrE,4DAA4D;gBAC5D,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,CACR,CAAC;YAEF,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAC9D,UAAU,CACX,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC/D,UAAU,CACX,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAEvE,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,EAAE,CAAC;YAC5C,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE9D,MAAM,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAChE,cAAc,EACd,eAAe,EACf,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAClC,cAAc,EACd,eAAe,EACf,SAAS,EACT,UAAU,EACV,MAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,CAAC;gBACV,gBAAgB,EAAE,IAAI;aACvB,CAAC,CACH,CAAC;YAEF,qCAAqC;YACrC,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACxD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAExD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,aAAa,EAAE;oBACb,GAAG,UAAU;oBACb,eAAe;oBACf,UAAU,EAAE,cAAc;iBAC3B;gBACD,WAAW,EAAE,mBAAmB;aACjC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE5C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEzC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEjC,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,CACpB,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YACzD,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,CACR,CAAC;QAEF,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAClC,EAAE,EACF,eAAe,EACf,SAAS,EACT,UAAU,EACV,MAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,CAAC;YACV,gBAAgB,EAAE,IAAI;SACvB,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;YAC1D,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,CACR,CAAC;QAEF,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAClC,cAAc,EACd,EAAE,EACF,SAAS,EACT,UAAU,EACV,MAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,CAAC;YACV,gBAAgB,EAAE,IAAI;SACvB,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,eAAe,GAAG,0BAA0B,CAAC;QACnD,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;QACrD,iBAAiB,CAAC,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,iBAAiB,CAAC,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAE/C,MAAM,gBAAgB,CACpB,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,EACP;YACE,cAAc,EAAE,eAAe;YAC/B,eAAe,EAAE,gBAAgB;SAClC,CACF,CAAC;QAEF,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnE,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpE,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAClC,eAAe,EACf,eAAe,EACf,SAAS,EACT,UAAU,EACV,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,iBAAiB,CAAC,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,iBAAiB,CAAC,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAE/C,MAAM,gBAAgB,CACpB,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,EACP;YACE,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,2BAA2B;SAC7C,CACF,CAAC;QAEF,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnE,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpE,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAClC,EAAE,EACF,eAAe,EACf,SAAS,EACT,UAAU,EACV,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvD,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAE/C,MAAM,MAAM,CACV,gBAAgB,CACd,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,CACR,CACF,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAE3C,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;QACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;QAExD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAExD,QAAQ,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,eAAe,GAAG,EAAE;aACvB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;aACvB,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAChC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,CACpB,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,CACR,CAAC;QAEF,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,MAAM,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,CAC1D,CAAC;QACF,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,MAAM,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,CAC/D,CAAC;QAEF,eAAe,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,cAAc,EACd,WAAW,EACX,eAAe,CAChB,CAAC;QACF,iBAAiB,CAAC,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEtE,MAAM,gBAAgB,CACpB,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,CACR,CAAC;QAEF,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC5C,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACzE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAEzE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACzE,iBAAiB,CAAC,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEtE,MAAM,gBAAgB,CACpB,UAAU,EACV,iBAAiB,EACjB,QAAsB,EACtB,WAAW,EACX,EAAE,CAAC,EAAE,EAAE,CACR,CAAC;QAEF,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC5C,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACpE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAEpE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,WAAW;YACjB,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;SAC0B,CAAC;QAEtD,MAAM,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,WAAW;SACkC,CAAC;QAEtD,MAAM,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -5,7 +5,6 @@
5
5
  */
6
6
  import fs from 'node:fs';
7
7
  import path from 'node:path';
8
- import { EOL } from 'node:os';
9
8
  import { spawn } from 'node:child_process';
10
9
  import { downloadRipGrep } from '@joshua.litt/get-ripgrep';
11
10
  import { BaseDeclarativeTool, BaseToolInvocation, Kind } from './tools.js';
@@ -201,46 +200,39 @@ class GrepToolInvocation extends BaseToolInvocation {
201
200
  };
202
201
  }
203
202
  }
204
- parseRipgrepOutput(output, basePath) {
203
+ parseRipgrepJsonOutput(output, basePath) {
205
204
  const results = [];
206
205
  if (!output)
207
206
  return results;
208
- const lines = output.split(EOL);
207
+ const lines = output.trim().split('\n');
209
208
  for (const line of lines) {
210
209
  if (!line.trim())
211
210
  continue;
212
- const firstColonIndex = line.indexOf(':');
213
- if (firstColonIndex === -1)
214
- continue;
215
- const secondColonIndex = line.indexOf(':', firstColonIndex + 1);
216
- if (secondColonIndex === -1)
217
- continue;
218
- const filePathRaw = line.substring(0, firstColonIndex);
219
- const lineNumberStr = line.substring(firstColonIndex + 1, secondColonIndex);
220
- const lineContent = line.substring(secondColonIndex + 1);
221
- const lineNumber = parseInt(lineNumberStr, 10);
222
- if (!isNaN(lineNumber)) {
223
- const absoluteFilePath = path.resolve(basePath, filePathRaw);
224
- const relativeFilePath = path.relative(basePath, absoluteFilePath);
225
- results.push({
226
- filePath: relativeFilePath || path.basename(absoluteFilePath),
227
- lineNumber,
228
- line: lineContent,
229
- });
211
+ try {
212
+ const json = JSON.parse(line);
213
+ if (json.type === 'match') {
214
+ const match = json.data;
215
+ // Defensive check: ensure text properties exist (skips binary/invalid encoding)
216
+ if (match.path?.text && match.lines?.text) {
217
+ const absoluteFilePath = path.resolve(basePath, match.path.text);
218
+ const relativeFilePath = path.relative(basePath, absoluteFilePath);
219
+ results.push({
220
+ filePath: relativeFilePath || path.basename(absoluteFilePath),
221
+ lineNumber: match.line_number,
222
+ line: match.lines.text.trimEnd(),
223
+ });
224
+ }
225
+ }
226
+ }
227
+ catch (error) {
228
+ debugLogger.warn(`Failed to parse ripgrep JSON line: ${line}`, error);
230
229
  }
231
230
  }
232
231
  return results;
233
232
  }
234
233
  async performRipgrepSearch(options) {
235
234
  const { pattern, path: absolutePath, include } = options;
236
- const rgArgs = [
237
- '--line-number',
238
- '--no-heading',
239
- '--with-filename',
240
- '--ignore-case',
241
- '--regexp',
242
- pattern,
243
- ];
235
+ const rgArgs = ['--json', '--ignore-case', '--regexp', pattern];
244
236
  if (include) {
245
237
  rgArgs.push('--glob', include);
246
238
  }
@@ -294,7 +286,7 @@ class GrepToolInvocation extends BaseToolInvocation {
294
286
  }
295
287
  });
296
288
  });
297
- return this.parseRipgrepOutput(output, absolutePath);
289
+ return this.parseRipgrepJsonOutput(output, absolutePath);
298
290
  }
299
291
  catch (error) {
300
292
  console.error(`GrepLogic: ripgrep failed: ${getErrorMessage(error)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"ripGrep.js","sourceRoot":"","sources":["../../../src/tools/ripGrep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ripGrep.js","sourceRoot":"","sources":["../../../src/tools/ripGrep.ts"],"names":[],"mappings":"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"}