@vybestack/llxprt-code-core 0.1.18 → 0.1.19-beta

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 (270) hide show
  1. package/README.md +1 -0
  2. package/dist/src/code_assist/converter.d.ts +2 -1
  3. package/dist/src/code_assist/converter.js +1 -1
  4. package/dist/src/code_assist/converter.js.map +1 -1
  5. package/dist/src/code_assist/converter.test.js +48 -1
  6. package/dist/src/code_assist/converter.test.js.map +1 -1
  7. package/dist/src/code_assist/oauth2.js +2 -1
  8. package/dist/src/code_assist/oauth2.js.map +1 -1
  9. package/dist/src/code_assist/server.test.js +4 -1
  10. package/dist/src/code_assist/server.test.js.map +1 -1
  11. package/dist/src/config/config.alwaysAllow.test.d.ts +6 -0
  12. package/dist/src/config/config.alwaysAllow.test.js +84 -0
  13. package/dist/src/config/config.alwaysAllow.test.js.map +1 -0
  14. package/dist/src/config/config.d.ts +80 -1
  15. package/dist/src/config/config.ephemeral.test.d.ts +6 -0
  16. package/dist/src/config/config.ephemeral.test.js +152 -0
  17. package/dist/src/config/config.ephemeral.test.js.map +1 -0
  18. package/dist/src/config/config.js +135 -0
  19. package/dist/src/config/config.js.map +1 -1
  20. package/dist/src/config/config.test.js +8 -0
  21. package/dist/src/config/config.test.js.map +1 -1
  22. package/dist/src/core/client.d.ts +0 -2
  23. package/dist/src/core/client.js +10 -85
  24. package/dist/src/core/client.js.map +1 -1
  25. package/dist/src/core/client.test.js +7 -2
  26. package/dist/src/core/client.test.js.map +1 -1
  27. package/dist/src/core/contentGenerator.js +1 -1
  28. package/dist/src/core/contentGenerator.js.map +1 -1
  29. package/dist/src/core/coreToolScheduler.d.ts +17 -7
  30. package/dist/src/core/coreToolScheduler.js +121 -18
  31. package/dist/src/core/coreToolScheduler.js.map +1 -1
  32. package/dist/src/core/coreToolScheduler.test.js +25 -37
  33. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  34. package/dist/src/core/geminiChat.d.ts +3 -0
  35. package/dist/src/core/geminiChat.js +17 -13
  36. package/dist/src/core/geminiChat.js.map +1 -1
  37. package/dist/src/core/logger.d.ts +1 -0
  38. package/dist/src/core/logger.js +18 -0
  39. package/dist/src/core/logger.js.map +1 -1
  40. package/dist/src/core/logger.test.js +29 -0
  41. package/dist/src/core/logger.test.js.map +1 -1
  42. package/dist/src/core/loggingContentGenerator.d.ts +24 -0
  43. package/dist/src/core/loggingContentGenerator.js +89 -0
  44. package/dist/src/core/loggingContentGenerator.js.map +1 -0
  45. package/dist/src/core/nonInteractiveToolExecutor.js +21 -1
  46. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  47. package/dist/src/core/nonInteractiveToolExecutor.test.js +8 -31
  48. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  49. package/dist/src/core/subagent.d.ts +230 -0
  50. package/dist/src/core/subagent.js +453 -0
  51. package/dist/src/core/subagent.js.map +1 -0
  52. package/dist/src/core/subagent.test.d.ts +6 -0
  53. package/dist/src/core/subagent.test.js +519 -0
  54. package/dist/src/core/subagent.test.js.map +1 -0
  55. package/dist/src/hooks/tool-render-suppression-hook.d.ts +16 -0
  56. package/dist/src/hooks/tool-render-suppression-hook.js +26 -0
  57. package/dist/src/hooks/tool-render-suppression-hook.js.map +1 -0
  58. package/dist/src/hooks/tool-render-suppression-hook.test.d.ts +6 -0
  59. package/dist/src/hooks/tool-render-suppression-hook.test.js +59 -0
  60. package/dist/src/hooks/tool-render-suppression-hook.test.js.map +1 -0
  61. package/dist/src/ide/ide-client.d.ts +22 -1
  62. package/dist/src/ide/ide-client.js +161 -17
  63. package/dist/src/ide/ide-client.js.map +1 -1
  64. package/dist/src/ide/ideContext.d.ts +127 -32
  65. package/dist/src/ide/ideContext.js +45 -0
  66. package/dist/src/ide/ideContext.js.map +1 -1
  67. package/dist/src/index.d.ts +5 -0
  68. package/dist/src/index.js +6 -0
  69. package/dist/src/index.js.map +1 -1
  70. package/dist/src/integration-tests/todo-system.test.js +38 -602
  71. package/dist/src/integration-tests/todo-system.test.js.map +1 -1
  72. package/dist/src/providers/IProviderManager.d.ts +5 -0
  73. package/dist/src/providers/LoggingProviderWrapper.d.ts +53 -0
  74. package/dist/src/providers/LoggingProviderWrapper.js +347 -0
  75. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -0
  76. package/dist/src/providers/ProviderManager.d.ts +20 -0
  77. package/dist/src/providers/ProviderManager.js +214 -1
  78. package/dist/src/providers/ProviderManager.js.map +1 -1
  79. package/dist/src/providers/gemini/GeminiProvider.js +5 -5
  80. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  81. package/dist/src/providers/logging/ProviderContentExtractor.d.ts +27 -0
  82. package/dist/src/providers/logging/ProviderContentExtractor.js +198 -0
  83. package/dist/src/providers/logging/ProviderContentExtractor.js.map +1 -0
  84. package/dist/src/providers/logging/ProviderPerformanceTracker.d.ts +43 -0
  85. package/dist/src/providers/logging/ProviderPerformanceTracker.js +98 -0
  86. package/dist/src/providers/logging/ProviderPerformanceTracker.js.map +1 -0
  87. package/dist/src/providers/openai/OpenAIProvider.js +8 -1
  88. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  89. package/dist/src/providers/openai/OpenAIProvider.test.js +106 -0
  90. package/dist/src/providers/openai/OpenAIProvider.test.js.map +1 -1
  91. package/dist/src/providers/types/IProviderConfig.d.ts +5 -0
  92. package/dist/src/providers/types.d.ts +47 -0
  93. package/dist/src/services/git-stats-service.d.ts +32 -0
  94. package/dist/src/services/git-stats-service.js +22 -0
  95. package/dist/src/services/git-stats-service.js.map +1 -0
  96. package/dist/src/services/loopDetectionService.js +10 -6
  97. package/dist/src/services/loopDetectionService.js.map +1 -1
  98. package/dist/src/services/loopDetectionService.test.js +139 -0
  99. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  100. package/dist/src/services/shellExecutionService.js +69 -9
  101. package/dist/src/services/shellExecutionService.js.map +1 -1
  102. package/dist/src/services/shellExecutionService.test.js +8 -0
  103. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  104. package/dist/src/services/todo-context-tracker.d.ts +31 -0
  105. package/dist/src/services/todo-context-tracker.js +45 -0
  106. package/dist/src/services/todo-context-tracker.js.map +1 -0
  107. package/dist/src/services/tool-call-tracker-service.d.ts +52 -0
  108. package/dist/src/services/tool-call-tracker-service.js +170 -0
  109. package/dist/src/services/tool-call-tracker-service.js.map +1 -0
  110. package/dist/src/services/tool-call-tracker-service.test.d.ts +6 -0
  111. package/dist/src/services/tool-call-tracker-service.test.js +99 -0
  112. package/dist/src/services/tool-call-tracker-service.test.js.map +1 -0
  113. package/dist/src/storage/ConversationFileWriter.d.ts +16 -0
  114. package/dist/src/storage/ConversationFileWriter.js +69 -0
  115. package/dist/src/storage/ConversationFileWriter.js.map +1 -0
  116. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +8 -0
  117. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +56 -3
  118. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  119. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +6 -0
  120. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +187 -0
  121. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -0
  122. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +5 -1
  123. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +11 -0
  124. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  125. package/dist/src/telemetry/constants.d.ts +5 -0
  126. package/dist/src/telemetry/constants.js +5 -0
  127. package/dist/src/telemetry/constants.js.map +1 -1
  128. package/dist/src/telemetry/loggers.d.ts +5 -1
  129. package/dist/src/telemetry/loggers.js +87 -1
  130. package/dist/src/telemetry/loggers.js.map +1 -1
  131. package/dist/src/telemetry/loggers.test.circular.js +7 -2
  132. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  133. package/dist/src/telemetry/loggers.test.js +7 -2
  134. package/dist/src/telemetry/loggers.test.js.map +1 -1
  135. package/dist/src/telemetry/metrics.d.ts +3 -2
  136. package/dist/src/telemetry/metrics.js +7 -1
  137. package/dist/src/telemetry/metrics.js.map +1 -1
  138. package/dist/src/telemetry/metrics.test.js +50 -0
  139. package/dist/src/telemetry/metrics.test.js.map +1 -1
  140. package/dist/src/telemetry/tool-call-decision.d.ts +13 -0
  141. package/dist/src/telemetry/tool-call-decision.js +29 -0
  142. package/dist/src/telemetry/tool-call-decision.js.map +1 -0
  143. package/dist/src/telemetry/types.d.ts +58 -2
  144. package/dist/src/telemetry/types.js +126 -1
  145. package/dist/src/telemetry/types.js.map +1 -1
  146. package/dist/src/telemetry/uiTelemetry.d.ts +4 -1
  147. package/dist/src/telemetry/uiTelemetry.js +3 -1
  148. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  149. package/dist/src/telemetry/uiTelemetry.test.js +13 -2
  150. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  151. package/dist/src/test-utils/tools.d.ts +23 -0
  152. package/dist/src/test-utils/tools.js +41 -0
  153. package/dist/src/test-utils/tools.js.map +1 -0
  154. package/dist/src/tools/diffOptions.d.ts +2 -0
  155. package/dist/src/tools/diffOptions.js +28 -0
  156. package/dist/src/tools/diffOptions.js.map +1 -1
  157. package/dist/src/tools/diffOptions.test.d.ts +6 -0
  158. package/dist/src/tools/diffOptions.test.js +119 -0
  159. package/dist/src/tools/diffOptions.test.js.map +1 -0
  160. package/dist/src/tools/edit.d.ts +9 -33
  161. package/dist/src/tools/edit.js +167 -132
  162. package/dist/src/tools/edit.js.map +1 -1
  163. package/dist/src/tools/edit.test.js +124 -50
  164. package/dist/src/tools/edit.test.js.map +1 -1
  165. package/dist/src/tools/glob.d.ts +3 -10
  166. package/dist/src/tools/glob.js +97 -99
  167. package/dist/src/tools/glob.js.map +1 -1
  168. package/dist/src/tools/glob.test.js +37 -26
  169. package/dist/src/tools/glob.test.js.map +1 -1
  170. package/dist/src/tools/grep.d.ts +3 -35
  171. package/dist/src/tools/grep.js +117 -88
  172. package/dist/src/tools/grep.js.map +1 -1
  173. package/dist/src/tools/grep.test.js +36 -22
  174. package/dist/src/tools/grep.test.js.map +1 -1
  175. package/dist/src/tools/mcp-client.d.ts +14 -3
  176. package/dist/src/tools/mcp-client.js +82 -6
  177. package/dist/src/tools/mcp-client.js.map +1 -1
  178. package/dist/src/tools/mcp-client.test.js +337 -2
  179. package/dist/src/tools/mcp-client.test.js.map +1 -1
  180. package/dist/src/tools/memoryTool.d.ts +2 -2
  181. package/dist/src/tools/memoryTool.js +1 -0
  182. package/dist/src/tools/memoryTool.js.map +1 -1
  183. package/dist/src/tools/modifiable-tool.d.ts +8 -5
  184. package/dist/src/tools/modifiable-tool.js +4 -1
  185. package/dist/src/tools/modifiable-tool.js.map +1 -1
  186. package/dist/src/tools/modifiable-tool.test.js +3 -3
  187. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  188. package/dist/src/tools/read-file.d.ts +4 -6
  189. package/dist/src/tools/read-file.js +87 -46
  190. package/dist/src/tools/read-file.js.map +1 -1
  191. package/dist/src/tools/read-file.test.js +207 -126
  192. package/dist/src/tools/read-file.test.js.map +1 -1
  193. package/dist/src/tools/read-many-files.js +8 -2
  194. package/dist/src/tools/read-many-files.js.map +1 -1
  195. package/dist/src/tools/read-many-files.test.js +16 -0
  196. package/dist/src/tools/read-many-files.test.js.map +1 -1
  197. package/dist/src/tools/shell.test.js +17 -0
  198. package/dist/src/tools/shell.test.js.map +1 -1
  199. package/dist/src/tools/todo-events.d.ts +22 -0
  200. package/dist/src/tools/todo-events.js +24 -0
  201. package/dist/src/tools/todo-events.js.map +1 -0
  202. package/dist/src/tools/todo-pause.d.ts +22 -0
  203. package/dist/src/tools/todo-pause.js +93 -0
  204. package/dist/src/tools/todo-pause.js.map +1 -0
  205. package/dist/src/tools/todo-pause.spec.d.ts +6 -0
  206. package/dist/src/tools/todo-pause.spec.js +287 -0
  207. package/dist/src/tools/todo-pause.spec.js.map +1 -0
  208. package/dist/src/tools/todo-read.js.map +1 -1
  209. package/dist/src/tools/todo-schemas.d.ts +232 -4
  210. package/dist/src/tools/todo-schemas.js +13 -0
  211. package/dist/src/tools/todo-schemas.js.map +1 -1
  212. package/dist/src/tools/todo-schemas.test.js +190 -1
  213. package/dist/src/tools/todo-schemas.test.js.map +1 -1
  214. package/dist/src/tools/todo-store.d.ts +1 -4
  215. package/dist/src/tools/todo-store.js +41 -40
  216. package/dist/src/tools/todo-store.js.map +1 -1
  217. package/dist/src/tools/todo-store.test.js +34 -40
  218. package/dist/src/tools/todo-store.test.js.map +1 -1
  219. package/dist/src/tools/todo-write.d.ts +1 -1
  220. package/dist/src/tools/todo-write.js +84 -47
  221. package/dist/src/tools/todo-write.js.map +1 -1
  222. package/dist/src/tools/todo-write.test.js +23 -9
  223. package/dist/src/tools/todo-write.test.js.map +1 -1
  224. package/dist/src/tools/tool-context.d.ts +2 -0
  225. package/dist/src/tools/tool-error.d.ts +4 -0
  226. package/dist/src/tools/tool-error.js +4 -0
  227. package/dist/src/tools/tool-error.js.map +1 -1
  228. package/dist/src/tools/tool-registry.d.ts +12 -6
  229. package/dist/src/tools/tool-registry.js +19 -4
  230. package/dist/src/tools/tool-registry.js.map +1 -1
  231. package/dist/src/tools/tool-registry.test.js +3 -20
  232. package/dist/src/tools/tool-registry.test.js.map +1 -1
  233. package/dist/src/tools/tools.d.ts +134 -39
  234. package/dist/src/tools/tools.js +115 -10
  235. package/dist/src/tools/tools.js.map +1 -1
  236. package/dist/src/tools/web-search.test.js +1 -0
  237. package/dist/src/tools/web-search.test.js.map +1 -1
  238. package/dist/src/tools/write-file.d.ts +6 -2
  239. package/dist/src/tools/write-file.js +106 -16
  240. package/dist/src/tools/write-file.js.map +1 -1
  241. package/dist/src/tools/write-file.test.js +25 -7
  242. package/dist/src/tools/write-file.test.js.map +1 -1
  243. package/dist/src/types/modelParams.d.ts +4 -0
  244. package/dist/src/utils/environmentContext.d.ts +21 -0
  245. package/dist/src/utils/environmentContext.js +90 -0
  246. package/dist/src/utils/environmentContext.js.map +1 -0
  247. package/dist/src/utils/environmentContext.test.d.ts +6 -0
  248. package/dist/src/utils/environmentContext.test.js +139 -0
  249. package/dist/src/utils/environmentContext.test.js.map +1 -0
  250. package/dist/src/utils/errors.d.ts +3 -0
  251. package/dist/src/utils/errors.js +6 -0
  252. package/dist/src/utils/errors.js.map +1 -1
  253. package/dist/src/utils/fileUtils.d.ts +7 -0
  254. package/dist/src/utils/fileUtils.js +11 -10
  255. package/dist/src/utils/fileUtils.js.map +1 -1
  256. package/dist/src/utils/fileUtils.test.js +1 -4
  257. package/dist/src/utils/fileUtils.test.js.map +1 -1
  258. package/dist/src/utils/filesearch/fileSearch.d.ts +1 -0
  259. package/dist/src/utils/filesearch/fileSearch.js +27 -5
  260. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  261. package/dist/src/utils/filesearch/fileSearch.test.js +21 -1
  262. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  263. package/dist/src/utils/memoryDiscovery.js +4 -1
  264. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  265. package/dist/src/utils/shell-utils.js +14 -2
  266. package/dist/src/utils/shell-utils.js.map +1 -1
  267. package/dist/src/utils/shell-utils.shellReplacement.test.d.ts +6 -0
  268. package/dist/src/utils/shell-utils.shellReplacement.test.js +149 -0
  269. package/dist/src/utils/shell-utils.shellReplacement.test.js.map +1 -0
  270. package/package.json +2 -1
@@ -0,0 +1,139 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach, afterEach, } from 'vitest';
7
+ import { getEnvironmentContext, getDirectoryContextString, } from './environmentContext.js';
8
+ import { getFolderStructure } from './getFolderStructure.js';
9
+ vi.mock('../config/config.js');
10
+ vi.mock('./getFolderStructure.js', () => ({
11
+ getFolderStructure: vi.fn(),
12
+ }));
13
+ vi.mock('../tools/read-many-files.js');
14
+ describe('getDirectoryContextString', () => {
15
+ let mockConfig;
16
+ beforeEach(() => {
17
+ mockConfig = {
18
+ getWorkspaceContext: vi.fn().mockReturnValue({
19
+ getDirectories: vi.fn().mockReturnValue(['/test/dir']),
20
+ }),
21
+ getFileService: vi.fn(),
22
+ };
23
+ vi.mocked(getFolderStructure).mockResolvedValue('Mock Folder Structure');
24
+ });
25
+ afterEach(() => {
26
+ vi.resetAllMocks();
27
+ });
28
+ it('should return context string for a single directory', async () => {
29
+ const contextString = await getDirectoryContextString(mockConfig);
30
+ expect(contextString).toContain("I'm currently working in the directory: /test/dir");
31
+ expect(contextString).toContain('Here is the folder structure of the current working directories:\n\nMock Folder Structure');
32
+ });
33
+ it('should return context string for multiple directories', async () => {
34
+ vi.mocked(mockConfig.getWorkspaceContext)().getDirectories.mockReturnValue(['/test/dir1', '/test/dir2']);
35
+ vi.mocked(getFolderStructure)
36
+ .mockResolvedValueOnce('Structure 1')
37
+ .mockResolvedValueOnce('Structure 2');
38
+ const contextString = await getDirectoryContextString(mockConfig);
39
+ expect(contextString).toContain("I'm currently working in the following directories:\n - /test/dir1\n - /test/dir2");
40
+ expect(contextString).toContain('Here is the folder structure of the current working directories:\n\nStructure 1\nStructure 2');
41
+ });
42
+ });
43
+ describe('getEnvironmentContext', () => {
44
+ let mockConfig;
45
+ let mockToolRegistry;
46
+ beforeEach(() => {
47
+ vi.useFakeTimers();
48
+ vi.setSystemTime(new Date('2025-08-05T12:00:00Z'));
49
+ mockToolRegistry = {
50
+ getTool: vi.fn(),
51
+ };
52
+ mockConfig = {
53
+ getWorkspaceContext: vi.fn().mockReturnValue({
54
+ getDirectories: vi.fn().mockReturnValue(['/test/dir']),
55
+ }),
56
+ getFileService: vi.fn(),
57
+ getFullContext: vi.fn().mockReturnValue(false),
58
+ getToolRegistry: vi.fn().mockResolvedValue(mockToolRegistry),
59
+ };
60
+ vi.mocked(getFolderStructure).mockResolvedValue('Mock Folder Structure');
61
+ });
62
+ afterEach(() => {
63
+ vi.useRealTimers();
64
+ vi.resetAllMocks();
65
+ });
66
+ it('should return basic environment context for a single directory', async () => {
67
+ const parts = await getEnvironmentContext(mockConfig);
68
+ expect(parts.length).toBe(1);
69
+ const context = parts[0].text;
70
+ expect(context).toContain("Today's date is Tuesday, August 5, 2025");
71
+ expect(context).toContain(`My operating system is: ${process.platform}`);
72
+ expect(context).toContain("I'm currently working in the directory: /test/dir");
73
+ expect(context).toContain('Here is the folder structure of the current working directories:\n\nMock Folder Structure');
74
+ expect(getFolderStructure).toHaveBeenCalledWith('/test/dir', {
75
+ fileService: undefined,
76
+ });
77
+ });
78
+ it('should return basic environment context for multiple directories', async () => {
79
+ vi.mocked(mockConfig.getWorkspaceContext)().getDirectories.mockReturnValue(['/test/dir1', '/test/dir2']);
80
+ vi.mocked(getFolderStructure)
81
+ .mockResolvedValueOnce('Structure 1')
82
+ .mockResolvedValueOnce('Structure 2');
83
+ const parts = await getEnvironmentContext(mockConfig);
84
+ expect(parts.length).toBe(1);
85
+ const context = parts[0].text;
86
+ expect(context).toContain("I'm currently working in the following directories:\n - /test/dir1\n - /test/dir2");
87
+ expect(context).toContain('Here is the folder structure of the current working directories:\n\nStructure 1\nStructure 2');
88
+ expect(getFolderStructure).toHaveBeenCalledTimes(2);
89
+ });
90
+ it('should include full file context when getFullContext is true', async () => {
91
+ mockConfig.getFullContext = vi.fn().mockReturnValue(true);
92
+ const mockReadManyFilesTool = {
93
+ build: vi.fn().mockReturnValue({
94
+ execute: vi
95
+ .fn()
96
+ .mockResolvedValue({ llmContent: 'Full file content here' }),
97
+ }),
98
+ };
99
+ mockToolRegistry.getTool.mockReturnValue(mockReadManyFilesTool);
100
+ const parts = await getEnvironmentContext(mockConfig);
101
+ expect(parts.length).toBe(2);
102
+ expect(parts[1].text).toBe('\n--- Full File Context ---\nFull file content here');
103
+ expect(mockToolRegistry.getTool).toHaveBeenCalledWith('read_many_files');
104
+ expect(mockReadManyFilesTool.build).toHaveBeenCalledWith({
105
+ paths: ['**/*'],
106
+ useDefaultExcludes: true,
107
+ });
108
+ });
109
+ it('should handle read_many_files returning no content', async () => {
110
+ mockConfig.getFullContext = vi.fn().mockReturnValue(true);
111
+ const mockReadManyFilesTool = {
112
+ build: vi.fn().mockReturnValue({
113
+ execute: vi.fn().mockResolvedValue({ llmContent: '' }),
114
+ }),
115
+ };
116
+ mockToolRegistry.getTool.mockReturnValue(mockReadManyFilesTool);
117
+ const parts = await getEnvironmentContext(mockConfig);
118
+ expect(parts.length).toBe(1); // No extra part added
119
+ });
120
+ it('should handle read_many_files tool not being found', async () => {
121
+ mockConfig.getFullContext = vi.fn().mockReturnValue(true);
122
+ mockToolRegistry.getTool.mockReturnValue(null);
123
+ const parts = await getEnvironmentContext(mockConfig);
124
+ expect(parts.length).toBe(1); // No extra part added
125
+ });
126
+ it('should handle errors when reading full file context', async () => {
127
+ mockConfig.getFullContext = vi.fn().mockReturnValue(true);
128
+ const mockReadManyFilesTool = {
129
+ build: vi.fn().mockReturnValue({
130
+ execute: vi.fn().mockRejectedValue(new Error('Read error')),
131
+ }),
132
+ };
133
+ mockToolRegistry.getTool.mockReturnValue(mockReadManyFilesTool);
134
+ const parts = await getEnvironmentContext(mockConfig);
135
+ expect(parts.length).toBe(2);
136
+ expect(parts[1].text).toBe('\n--- Error reading full file context ---');
137
+ });
138
+ });
139
+ //# sourceMappingURL=environmentContext.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environmentContext.test.js","sourceRoot":"","sources":["../../../src/utils/environmentContext.test.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,7 @@ export declare class UnauthorizedError extends Error {
11
11
  }
12
12
  export declare class BadRequestError extends Error {
13
13
  }
14
+ export declare class NotYetImplemented extends Error {
15
+ constructor(message?: string);
16
+ }
14
17
  export declare function toFriendlyError(error: unknown): unknown;
@@ -23,6 +23,12 @@ export class UnauthorizedError extends Error {
23
23
  }
24
24
  export class BadRequestError extends Error {
25
25
  }
26
+ export class NotYetImplemented extends Error {
27
+ constructor(message = 'This feature is not yet implemented') {
28
+ super(message);
29
+ this.name = 'NotYetImplemented';
30
+ }
31
+ }
26
32
  export function toFriendlyError(error) {
27
33
  if (error && typeof error === 'object' && 'response' in error) {
28
34
  const gaxiosError = error;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,6BAA6B,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAC5C,MAAM,OAAO,iBAAkB,SAAQ,KAAK;CAAG;AAC/C,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG;AAS7C,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,KAAoB,CAAC;QACzC,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACxD,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,GAAG;oBACN,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjD,KAAK,GAAG;oBACN,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnD,KAAK,GAAG;oBACN,sDAAsD;oBACtD,mDAAmD;oBACnD,2CAA2C;oBAC3C,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChD,QAAQ;YACV,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAkB;IAC3C,oEAAoE;IACpE,IAAI,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAiB,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAoB,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,6BAA6B,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAC5C,MAAM,OAAO,iBAAkB,SAAQ,KAAK;CAAG;AAC/C,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG;AAC7C,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAO,GAAG,qCAAqC;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AASD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,KAAoB,CAAC;QACzC,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACxD,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,GAAG;oBACN,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjD,KAAK,GAAG;oBACN,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnD,KAAK,GAAG;oBACN,sDAAsD;oBACtD,mDAAmD;oBACnD,2CAA2C;oBAC3C,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChD,QAAQ;YACV,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAkB;IAC3C,oEAAoE;IACpE,IAAI,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAiB,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAoB,CAAC;AAC9C,CAAC"}
@@ -30,10 +30,17 @@ export declare function isBinaryFile(filePath: string): Promise<boolean>;
30
30
  * @returns Promise that resolves to 'text', 'image', 'pdf', 'audio', 'video', 'binary' or 'svg'.
31
31
  */
32
32
  export declare function detectFileType(filePath: string): Promise<'text' | 'image' | 'pdf' | 'audio' | 'video' | 'binary' | 'svg'>;
33
+ export declare enum FileErrorType {
34
+ FILE_NOT_FOUND = "FILE_NOT_FOUND",
35
+ IS_DIRECTORY = "IS_DIRECTORY",
36
+ FILE_TOO_LARGE = "FILE_TOO_LARGE",
37
+ READ_ERROR = "READ_ERROR"
38
+ }
33
39
  export interface ProcessedFileReadResult {
34
40
  llmContent: PartUnion;
35
41
  returnDisplay: string;
36
42
  error?: string;
43
+ errorType?: FileErrorType;
37
44
  isTruncated?: boolean;
38
45
  originalLineCount?: number;
39
46
  linesShown?: [number, number];
@@ -164,6 +164,13 @@ export async function detectFileType(filePath) {
164
164
  }
165
165
  return 'text';
166
166
  }
167
+ export var FileErrorType;
168
+ (function (FileErrorType) {
169
+ FileErrorType["FILE_NOT_FOUND"] = "FILE_NOT_FOUND";
170
+ FileErrorType["IS_DIRECTORY"] = "IS_DIRECTORY";
171
+ FileErrorType["FILE_TOO_LARGE"] = "FILE_TOO_LARGE";
172
+ FileErrorType["READ_ERROR"] = "READ_ERROR";
173
+ })(FileErrorType || (FileErrorType = {}));
167
174
  /**
168
175
  * Reads and processes a single file, handling text, images, and PDFs.
169
176
  * @param filePath Absolute path to the file.
@@ -180,6 +187,7 @@ export async function processSingleFileContent(filePath, rootDirectory, offset,
180
187
  llmContent: '',
181
188
  returnDisplay: 'File not found.',
182
189
  error: `File not found: ${filePath}`,
190
+ errorType: FileErrorType.FILE_NOT_FOUND,
183
191
  };
184
192
  }
185
193
  const stats = await fs.promises.stat(filePath);
@@ -188,6 +196,7 @@ export async function processSingleFileContent(filePath, rootDirectory, offset,
188
196
  llmContent: '',
189
197
  returnDisplay: 'Path is a directory.',
190
198
  error: `Path is a directory, not a file: ${filePath}`,
199
+ errorType: FileErrorType.IS_DIRECTORY,
191
200
  };
192
201
  }
193
202
  const fileSizeInBytes = stats.size;
@@ -243,15 +252,7 @@ export async function processSingleFileContent(filePath, rootDirectory, offset,
243
252
  });
244
253
  const contentRangeTruncated = startLine > 0 || endLine < originalLineCount;
245
254
  const isTruncated = contentRangeTruncated || linesWereTruncatedInLength;
246
- let llmTextContent = '';
247
- if (contentRangeTruncated) {
248
- const nextOffset = endLine;
249
- llmTextContent += `[File content truncated. Showing lines ${actualStartLine + 1}-${endLine} of ${originalLineCount}. To read the next chunk, use offset: ${nextOffset}, limit: ${effectiveLimit}.]\n`;
250
- }
251
- else if (linesWereTruncatedInLength) {
252
- llmTextContent += `[File content partially truncated: some lines exceeded maximum length of ${MAX_LINE_LENGTH_TEXT_FILE} characters.]\n`;
253
- }
254
- llmTextContent += formattedLines.join('\n');
255
+ const llmContent = formattedLines.join('\n');
255
256
  // By default, return nothing to streamline the common case of a successful read_file.
256
257
  let returnDisplay = '';
257
258
  if (contentRangeTruncated) {
@@ -264,7 +265,7 @@ export async function processSingleFileContent(filePath, rootDirectory, offset,
264
265
  returnDisplay = `Read all ${originalLineCount} lines from ${relativePathForDisplay} (some lines were shortened)`;
265
266
  }
266
267
  return {
267
- llmContent: llmTextContent,
268
+ llmContent,
268
269
  returnDisplay,
269
270
  isTruncated,
270
271
  originalLineCount,
@@ -1 +1 @@
1
- {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.ts"],"names":[],"mappings":"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"}
@@ -282,8 +282,7 @@ describe('fileUtils', () => {
282
282
  actualNodeFs.writeFileSync(testTextFilePath, lines.join('\n'));
283
283
  const result = await processSingleFileContent(testTextFilePath, tempRootDir, 5, 5); // Read lines 6-10
284
284
  const expectedContent = lines.slice(5, 10).join('\n');
285
- expect(result.llmContent).toContain(expectedContent);
286
- expect(result.llmContent).toContain('[File content truncated. Showing lines 6-10 of 20. To read the next chunk, use offset: 10, limit: 5.]');
285
+ expect(result.llmContent).toBe(expectedContent);
287
286
  expect(result.returnDisplay).toBe('Read lines 6-10 of 20 from test.txt');
288
287
  expect(result.isTruncated).toBe(true);
289
288
  expect(result.originalLineCount).toBe(20);
@@ -296,7 +295,6 @@ describe('fileUtils', () => {
296
295
  const result = await processSingleFileContent(testTextFilePath, tempRootDir, 10, 10);
297
296
  const expectedContent = lines.slice(10, 20).join('\n');
298
297
  expect(result.llmContent).toContain(expectedContent);
299
- expect(result.llmContent).toContain('[File content truncated. Showing lines 11-20 of 20. To read the next chunk, use offset: 20, limit: 10.]');
300
298
  expect(result.returnDisplay).toBe('Read lines 11-20 of 20 from test.txt');
301
299
  expect(result.isTruncated).toBe(true); // This is the key check for the bug
302
300
  expect(result.originalLineCount).toBe(20);
@@ -320,7 +318,6 @@ describe('fileUtils', () => {
320
318
  expect(result.llmContent).toContain('Short line');
321
319
  expect(result.llmContent).toContain(longLine.substring(0, 2000) + '... [truncated]');
322
320
  expect(result.llmContent).toContain('Another short line');
323
- expect(result.llmContent).toContain('[File content partially truncated: some lines exceeded maximum length of 2000 characters.]');
324
321
  expect(result.returnDisplay).toBe('Read all 3 lines from test.txt (some lines were shortened)');
325
322
  expect(result.isTruncated).toBe(true);
326
323
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fileUtils.test.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileUtils.test.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.test.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export declare class FileSearch {
38
38
  private readonly ignore;
39
39
  private resultCache;
40
40
  private allFiles;
41
+ private fzf;
41
42
  /**
42
43
  * Constructs a new `FileSearch` instance.
43
44
  * @param options Configuration options for the file search.
@@ -10,6 +10,7 @@ import picomatch from 'picomatch';
10
10
  import { Ignore } from './ignore.js';
11
11
  import { ResultCache } from './result-cache.js';
12
12
  import * as cache from './crawlCache.js';
13
+ import { AsyncFzf } from 'fzf';
13
14
  export class AbortError extends Error {
14
15
  constructor(message = 'Search aborted') {
15
16
  super(message);
@@ -66,6 +67,7 @@ export class FileSearch {
66
67
  ignore = new Ignore();
67
68
  resultCache;
68
69
  allFiles = [];
70
+ fzf;
69
71
  /**
70
72
  * Constructs a new `FileSearch` instance.
71
73
  * @param options Configuration options for the file search.
@@ -92,19 +94,33 @@ export class FileSearch {
92
94
  * to the project root.
93
95
  */
94
96
  async search(pattern, options = {}) {
95
- if (!this.resultCache) {
97
+ if (!this.resultCache || !this.fzf) {
96
98
  throw new Error('Engine not initialized. Call initialize() first.');
97
99
  }
98
100
  pattern = pattern || '*';
99
- const { files: candidates, isExactMatch } = await this.resultCache.get(pattern);
100
101
  let filteredCandidates;
102
+ const { files: candidates, isExactMatch } = await this.resultCache.get(pattern);
101
103
  if (isExactMatch) {
104
+ // Use the cached result.
102
105
  filteredCandidates = candidates;
103
106
  }
104
107
  else {
105
- // Apply the user's picomatch pattern filter
106
- filteredCandidates = await filter(candidates, pattern, options.signal);
107
- this.resultCache.set(pattern, filteredCandidates);
108
+ let shouldCache = true;
109
+ if (pattern.includes('*')) {
110
+ filteredCandidates = await filter(candidates, pattern, options.signal);
111
+ }
112
+ else {
113
+ filteredCandidates = await this.fzf
114
+ .find(pattern)
115
+ .then((results) => results.map((entry) => entry.item))
116
+ .catch(() => {
117
+ shouldCache = false;
118
+ return [];
119
+ });
120
+ }
121
+ if (shouldCache) {
122
+ this.resultCache.set(pattern, filteredCandidates);
123
+ }
108
124
  }
109
125
  // Trade-off: We apply a two-stage filtering process.
110
126
  // 1. During the file system crawl (`performCrawl`), we only apply directory-level
@@ -214,6 +230,12 @@ export class FileSearch {
214
230
  */
215
231
  buildResultCache() {
216
232
  this.resultCache = new ResultCache(this.allFiles, this.absoluteDir);
233
+ // The v1 algorithm is much faster since it only looks at the first
234
+ // occurence of the pattern. We use it for search spaces that have >20k
235
+ // files, because the v2 algorithm is just too slow in those cases.
236
+ this.fzf = new AsyncFzf(this.allFiles, {
237
+ fuzzy: this.allFiles.length > 20000 ? 'v1' : 'v2',
238
+ });
217
239
  }
218
240
  }
219
241
  //# sourceMappingURL=fileSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileSearch.js","sourceRoot":"","sources":["../../../../src/utils/filesearch/fileSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileSearch.js","sourceRoot":"","sources":["../../../../src/utils/filesearch/fileSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAiB,MAAM,KAAK,CAAC;AAY9C,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAO,GAAG,gBAAgB;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,QAAkB,EAClB,OAAe,EACf,MAA+B;IAE/B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,EAAE;QACvC,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,oEAAoE;QACpE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,UAAU,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,MAAM,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,IAAI,MAAM;YAAE,OAAO,CAAC,CAAC;QAEhC,2EAA2E;QAC3E,iDAAiD;QACjD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAOD;;;;GAIG;AACH,MAAM,OAAO,UAAU;IAWQ;IAVZ,WAAW,CAAS;IACpB,MAAM,GAAW,IAAI,MAAM,EAAE,CAAC;IACvC,WAAW,CAA0B;IACrC,QAAQ,GAAa,EAAE,CAAC;IACxB,GAAG,CAAiC;IAE5C;;;OAGG;IACH,YAA6B,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,OAAe,EACf,UAAyB,EAAE;QAE3B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,GAAG,OAAO,IAAI,GAAG,CAAC;QAEzB,IAAI,kBAAkB,CAAC;QACvB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,GACvC,MAAM,IAAI,CAAC,WAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvC,IAAI,YAAY,EAAE,CAAC;YACjB,yBAAyB;YACzB,kBAAkB,GAAG,UAAU,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,kBAAkB,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,kBAAkB,GAAG,MAAM,IAAI,CAAC,GAAG;qBAChC,IAAI,CAAC,OAAO,CAAC;qBACb,IAAI,CAAC,CAAC,OAAqC,EAAE,EAAE,CAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,KAA4B,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1D;qBACA,KAAK,CAAC,GAAG,EAAE;oBACV,WAAW,GAAG,KAAK,CAAC;oBACpB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAY,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,kFAAkF;QAClF,6EAA6E;QAC7E,+EAA+E;QAC/E,0DAA0D;QAC1D,mEAAmE;QACnE,+EAA+E;QAC/E,+EAA+E;QAC/E,yEAAyE;QACzE,+EAA+E;QAC/E,8DAA8D;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,kEAAkE;YAClE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC5B,MAAM,IAAI,UAAU,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,EAAE,CAAC;gBACvD,MAAM;YACR,CAAC;YACD,0EAA0E;YAC1E,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAChE,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACtE,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACrB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,GAAG,CAAC;YACb,CAAC;YACD,OAAO,GAAG,GAAG,GAAG,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAChC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CACtB,CAAC;YACF,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC9B,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAChC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CACtB,CAAC;YACF,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,YAAY;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAEnD,kEAAkE;QAClE,qEAAqE;QACrE,0EAA0E;QAC1E,qEAAqE;QACrE,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE;aACnB,iBAAiB,EAAE;aACnB,QAAQ,EAAE;aACV,iBAAiB,CAAC,GAAG,CAAC,CAAC,8BAA8B;aACrD,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;YACtB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO,SAAS,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEL,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACxC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,mEAAmE;QACnE,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;SAClD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -8,7 +8,7 @@ import * as fs from 'fs/promises';
8
8
  import * as path from 'path';
9
9
  import * as cache from './crawlCache.js';
10
10
  import { FileSearch, AbortError, filter } from './fileSearch.js';
11
- import { createTmpDir, cleanupTmpDir } from '@google/gemini-cli-test-utils';
11
+ import { createTmpDir, cleanupTmpDir } from '@vybestack/llxprt-code-test-utils';
12
12
  describe('FileSearch', () => {
13
13
  let tmpDir;
14
14
  afterEach(async () => {
@@ -241,6 +241,26 @@ describe('FileSearch', () => {
241
241
  const results = await fileSearch.search('**/*.js', { maxResults: 2 });
242
242
  expect(results).toEqual(['src/file1.js', 'src/file2.js']); // Assuming alphabetical sort
243
243
  });
244
+ it('should use fzf for fuzzy matching when pattern does not contain wildcards', async () => {
245
+ tmpDir = await createTmpDir({
246
+ src: {
247
+ 'main.js': '',
248
+ 'util.ts': '',
249
+ 'style.css': '',
250
+ },
251
+ });
252
+ const fileSearch = new FileSearch({
253
+ projectRoot: tmpDir,
254
+ useGitignore: false,
255
+ useGeminiignore: false,
256
+ ignoreDirs: [],
257
+ cache: false,
258
+ cacheTtl: 0,
259
+ });
260
+ await fileSearch.initialize();
261
+ const results = await fileSearch.search('sst');
262
+ expect(results).toEqual(['src/style.css']);
263
+ });
244
264
  it('should return empty array when no matches are found', async () => {
245
265
  tmpDir = await createTmpDir({
246
266
  src: ['file1.js'],