@vybestack/llxprt-code-core 0.1.18-nightly.250807.306d1939 → 0.1.18-nightly.250808.f9b79d74

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 (167) hide show
  1. package/README.md +1 -0
  2. package/dist/src/config/config.alwaysAllow.test.d.ts +6 -0
  3. package/dist/src/config/config.alwaysAllow.test.js +84 -0
  4. package/dist/src/config/config.alwaysAllow.test.js.map +1 -0
  5. package/dist/src/config/config.d.ts +10 -0
  6. package/dist/src/config/config.js +20 -0
  7. package/dist/src/config/config.js.map +1 -1
  8. package/dist/src/core/client.d.ts +0 -2
  9. package/dist/src/core/client.js +3 -81
  10. package/dist/src/core/client.js.map +1 -1
  11. package/dist/src/core/contentGenerator.js +1 -1
  12. package/dist/src/core/contentGenerator.js.map +1 -1
  13. package/dist/src/core/coreToolScheduler.d.ts +17 -7
  14. package/dist/src/core/coreToolScheduler.js +121 -18
  15. package/dist/src/core/coreToolScheduler.js.map +1 -1
  16. package/dist/src/core/coreToolScheduler.test.js +25 -37
  17. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  18. package/dist/src/core/geminiChat.d.ts +3 -0
  19. package/dist/src/core/geminiChat.js +17 -13
  20. package/dist/src/core/geminiChat.js.map +1 -1
  21. package/dist/src/core/nonInteractiveToolExecutor.js +4 -1
  22. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  23. package/dist/src/core/nonInteractiveToolExecutor.test.js +8 -31
  24. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  25. package/dist/src/core/subagent.d.ts +230 -0
  26. package/dist/src/core/subagent.js +453 -0
  27. package/dist/src/core/subagent.js.map +1 -0
  28. package/dist/src/core/subagent.test.d.ts +6 -0
  29. package/dist/src/core/subagent.test.js +519 -0
  30. package/dist/src/core/subagent.test.js.map +1 -0
  31. package/dist/src/hooks/tool-render-suppression-hook.d.ts +16 -0
  32. package/dist/src/hooks/tool-render-suppression-hook.js +26 -0
  33. package/dist/src/hooks/tool-render-suppression-hook.js.map +1 -0
  34. package/dist/src/hooks/tool-render-suppression-hook.test.d.ts +6 -0
  35. package/dist/src/hooks/tool-render-suppression-hook.test.js +59 -0
  36. package/dist/src/hooks/tool-render-suppression-hook.test.js.map +1 -0
  37. package/dist/src/ide/ide-client.d.ts +21 -0
  38. package/dist/src/ide/ide-client.js +107 -1
  39. package/dist/src/ide/ide-client.js.map +1 -1
  40. package/dist/src/ide/ideContext.d.ts +127 -32
  41. package/dist/src/ide/ideContext.js +45 -0
  42. package/dist/src/ide/ideContext.js.map +1 -1
  43. package/dist/src/index.d.ts +3 -0
  44. package/dist/src/index.js +3 -0
  45. package/dist/src/index.js.map +1 -1
  46. package/dist/src/integration-tests/todo-system.test.js +38 -602
  47. package/dist/src/integration-tests/todo-system.test.js.map +1 -1
  48. package/dist/src/providers/gemini/GeminiProvider.js +5 -5
  49. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  50. package/dist/src/providers/openai/OpenAIProvider.js +8 -1
  51. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  52. package/dist/src/providers/openai/OpenAIProvider.test.js +106 -0
  53. package/dist/src/providers/openai/OpenAIProvider.test.js.map +1 -1
  54. package/dist/src/providers/types/IProviderConfig.d.ts +5 -0
  55. package/dist/src/services/shellExecutionService.js +29 -5
  56. package/dist/src/services/shellExecutionService.js.map +1 -1
  57. package/dist/src/services/shellExecutionService.test.js +8 -0
  58. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  59. package/dist/src/services/todo-context-tracker.d.ts +31 -0
  60. package/dist/src/services/todo-context-tracker.js +45 -0
  61. package/dist/src/services/todo-context-tracker.js.map +1 -0
  62. package/dist/src/services/tool-call-tracker-service.d.ts +52 -0
  63. package/dist/src/services/tool-call-tracker-service.js +170 -0
  64. package/dist/src/services/tool-call-tracker-service.js.map +1 -0
  65. package/dist/src/services/tool-call-tracker-service.test.d.ts +6 -0
  66. package/dist/src/services/tool-call-tracker-service.test.js +99 -0
  67. package/dist/src/services/tool-call-tracker-service.test.js.map +1 -0
  68. package/dist/src/telemetry/loggers.test.circular.js +7 -2
  69. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  70. package/dist/src/telemetry/loggers.test.js +5 -1
  71. package/dist/src/telemetry/loggers.test.js.map +1 -1
  72. package/dist/src/telemetry/metrics.d.ts +1 -1
  73. package/dist/src/telemetry/metrics.js.map +1 -1
  74. package/dist/src/telemetry/types.d.ts +2 -1
  75. package/dist/src/telemetry/types.js +3 -1
  76. package/dist/src/telemetry/types.js.map +1 -1
  77. package/dist/src/telemetry/uiTelemetry.d.ts +2 -0
  78. package/dist/src/telemetry/uiTelemetry.js +2 -0
  79. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  80. package/dist/src/telemetry/uiTelemetry.test.js +11 -1
  81. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  82. package/dist/src/test-utils/tools.d.ts +23 -0
  83. package/dist/src/test-utils/tools.js +41 -0
  84. package/dist/src/test-utils/tools.js.map +1 -0
  85. package/dist/src/tools/edit.d.ts +2 -2
  86. package/dist/src/tools/edit.js +18 -0
  87. package/dist/src/tools/edit.js.map +1 -1
  88. package/dist/src/tools/edit.test.js +48 -0
  89. package/dist/src/tools/edit.test.js.map +1 -1
  90. package/dist/src/tools/mcp-client.d.ts +10 -0
  91. package/dist/src/tools/mcp-client.js +59 -0
  92. package/dist/src/tools/mcp-client.js.map +1 -1
  93. package/dist/src/tools/mcp-client.test.js +294 -1
  94. package/dist/src/tools/mcp-client.test.js.map +1 -1
  95. package/dist/src/tools/memoryTool.d.ts +2 -2
  96. package/dist/src/tools/memoryTool.js +1 -0
  97. package/dist/src/tools/memoryTool.js.map +1 -1
  98. package/dist/src/tools/modifiable-tool.d.ts +8 -5
  99. package/dist/src/tools/modifiable-tool.js +4 -1
  100. package/dist/src/tools/modifiable-tool.js.map +1 -1
  101. package/dist/src/tools/modifiable-tool.test.js +3 -3
  102. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  103. package/dist/src/tools/read-file.d.ts +4 -6
  104. package/dist/src/tools/read-file.js +59 -46
  105. package/dist/src/tools/read-file.js.map +1 -1
  106. package/dist/src/tools/read-file.test.js +201 -126
  107. package/dist/src/tools/read-file.test.js.map +1 -1
  108. package/dist/src/tools/read-many-files.js +8 -2
  109. package/dist/src/tools/read-many-files.js.map +1 -1
  110. package/dist/src/tools/read-many-files.test.js +16 -0
  111. package/dist/src/tools/read-many-files.test.js.map +1 -1
  112. package/dist/src/tools/todo-events.d.ts +22 -0
  113. package/dist/src/tools/todo-events.js +24 -0
  114. package/dist/src/tools/todo-events.js.map +1 -0
  115. package/dist/src/tools/todo-read.js.map +1 -1
  116. package/dist/src/tools/todo-schemas.d.ts +232 -4
  117. package/dist/src/tools/todo-schemas.js +13 -0
  118. package/dist/src/tools/todo-schemas.js.map +1 -1
  119. package/dist/src/tools/todo-schemas.test.js +190 -1
  120. package/dist/src/tools/todo-schemas.test.js.map +1 -1
  121. package/dist/src/tools/todo-store.d.ts +1 -4
  122. package/dist/src/tools/todo-store.js +41 -40
  123. package/dist/src/tools/todo-store.js.map +1 -1
  124. package/dist/src/tools/todo-store.test.js +34 -40
  125. package/dist/src/tools/todo-store.test.js.map +1 -1
  126. package/dist/src/tools/todo-write.d.ts +1 -1
  127. package/dist/src/tools/todo-write.js +84 -47
  128. package/dist/src/tools/todo-write.js.map +1 -1
  129. package/dist/src/tools/todo-write.test.js +23 -9
  130. package/dist/src/tools/todo-write.test.js.map +1 -1
  131. package/dist/src/tools/tool-context.d.ts +2 -0
  132. package/dist/src/tools/tool-registry.d.ts +12 -6
  133. package/dist/src/tools/tool-registry.js +16 -1
  134. package/dist/src/tools/tool-registry.js.map +1 -1
  135. package/dist/src/tools/tool-registry.test.js +1 -18
  136. package/dist/src/tools/tool-registry.test.js.map +1 -1
  137. package/dist/src/tools/tools.d.ts +116 -39
  138. package/dist/src/tools/tools.js +100 -10
  139. package/dist/src/tools/tools.js.map +1 -1
  140. package/dist/src/tools/write-file.d.ts +2 -2
  141. package/dist/src/tools/write-file.js +16 -0
  142. package/dist/src/tools/write-file.js.map +1 -1
  143. package/dist/src/tools/write-file.test.js +20 -3
  144. package/dist/src/tools/write-file.test.js.map +1 -1
  145. package/dist/src/types/modelParams.d.ts +2 -0
  146. package/dist/src/utils/environmentContext.d.ts +21 -0
  147. package/dist/src/utils/environmentContext.js +90 -0
  148. package/dist/src/utils/environmentContext.js.map +1 -0
  149. package/dist/src/utils/environmentContext.test.d.ts +6 -0
  150. package/dist/src/utils/environmentContext.test.js +139 -0
  151. package/dist/src/utils/environmentContext.test.js.map +1 -0
  152. package/dist/src/utils/fileUtils.js +2 -10
  153. package/dist/src/utils/fileUtils.js.map +1 -1
  154. package/dist/src/utils/fileUtils.test.js +1 -4
  155. package/dist/src/utils/fileUtils.test.js.map +1 -1
  156. package/dist/src/utils/filesearch/fileSearch.js +15 -1
  157. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  158. package/dist/src/utils/filesearch/fileSearch.test.js +21 -1
  159. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  160. package/dist/src/utils/memoryDiscovery.js +4 -1
  161. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  162. package/dist/src/utils/shell-utils.js +14 -2
  163. package/dist/src/utils/shell-utils.js.map +1 -1
  164. package/dist/src/utils/shell-utils.shellReplacement.test.d.ts +6 -0
  165. package/dist/src/utils/shell-utils.shellReplacement.test.js +149 -0
  166. package/dist/src/utils/shell-utils.shellReplacement.test.js.map +1 -0
  167. package/package.json +2 -1
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Part } from '@google/genai';
7
+ import { Config } from '../config/config.js';
8
+ /**
9
+ * Generates a string describing the current workspace directories and their structures.
10
+ * @param {Config} config - The runtime configuration and services.
11
+ * @returns {Promise<string>} A promise that resolves to the directory context string.
12
+ */
13
+ export declare function getDirectoryContextString(config: Config): Promise<string>;
14
+ /**
15
+ * Retrieves environment-related information to be included in the chat context.
16
+ * This includes the current working directory, date, operating system, and folder structure.
17
+ * Optionally, it can also include the full file context if enabled.
18
+ * @param {Config} config - The runtime configuration and services.
19
+ * @returns A promise that resolves to an array of `Part` objects containing environment information.
20
+ */
21
+ export declare function getEnvironmentContext(config: Config): Promise<Part[]>;
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { getFolderStructure } from './getFolderStructure.js';
7
+ /**
8
+ * Generates a string describing the current workspace directories and their structures.
9
+ * @param {Config} config - The runtime configuration and services.
10
+ * @returns {Promise<string>} A promise that resolves to the directory context string.
11
+ */
12
+ export async function getDirectoryContextString(config) {
13
+ const workspaceContext = config.getWorkspaceContext();
14
+ const workspaceDirectories = workspaceContext.getDirectories();
15
+ const folderStructures = await Promise.all(workspaceDirectories.map((dir) => getFolderStructure(dir, {
16
+ fileService: config.getFileService(),
17
+ })));
18
+ const folderStructure = folderStructures.join('\n');
19
+ let workingDirPreamble;
20
+ if (workspaceDirectories.length === 1) {
21
+ workingDirPreamble = `I'm currently working in the directory: ${workspaceDirectories[0]}`;
22
+ }
23
+ else {
24
+ const dirList = workspaceDirectories.map((dir) => ` - ${dir}`).join('\n');
25
+ workingDirPreamble = `I'm currently working in the following directories:\n${dirList}`;
26
+ }
27
+ return `${workingDirPreamble}
28
+ Here is the folder structure of the current working directories:
29
+
30
+ ${folderStructure}`;
31
+ }
32
+ /**
33
+ * Retrieves environment-related information to be included in the chat context.
34
+ * This includes the current working directory, date, operating system, and folder structure.
35
+ * Optionally, it can also include the full file context if enabled.
36
+ * @param {Config} config - The runtime configuration and services.
37
+ * @returns A promise that resolves to an array of `Part` objects containing environment information.
38
+ */
39
+ export async function getEnvironmentContext(config) {
40
+ const today = new Date().toLocaleDateString(undefined, {
41
+ weekday: 'long',
42
+ year: 'numeric',
43
+ month: 'long',
44
+ day: 'numeric',
45
+ });
46
+ const platform = process.platform;
47
+ const directoryContext = await getDirectoryContextString(config);
48
+ const context = `
49
+ This is the Gemini CLI. We are setting up the context for our chat.
50
+ Today's date is ${today}.
51
+ My operating system is: ${platform}
52
+ ${directoryContext}
53
+ `.trim();
54
+ const initialParts = [{ text: context }];
55
+ const toolRegistry = await config.getToolRegistry();
56
+ // Add full file context if the flag is set
57
+ if (config.getFullContext()) {
58
+ try {
59
+ const readManyFilesTool = toolRegistry.getTool('read_many_files');
60
+ if (readManyFilesTool) {
61
+ const invocation = readManyFilesTool.build({
62
+ paths: ['**/*'], // Read everything recursively
63
+ useDefaultExcludes: true, // Use default excludes
64
+ });
65
+ // Read all files in the target directory
66
+ const result = await invocation.execute(AbortSignal.timeout(30000));
67
+ if (result.llmContent) {
68
+ initialParts.push({
69
+ text: `\n--- Full File Context ---\n${result.llmContent}`,
70
+ });
71
+ }
72
+ else {
73
+ console.warn('Full context requested, but read_many_files returned no content.');
74
+ }
75
+ }
76
+ else {
77
+ console.warn('Full context requested, but read_many_files tool not found.');
78
+ }
79
+ }
80
+ catch (error) {
81
+ // Not using reportError here as it's a startup/config phase, not a chat/generation phase error.
82
+ console.error('Error reading full file context:', error);
83
+ initialParts.push({
84
+ text: '\n--- Error reading full file context ---',
85
+ });
86
+ }
87
+ }
88
+ return initialParts;
89
+ }
90
+ //# sourceMappingURL=environmentContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environmentContext.js","sourceRoot":"","sources":["../../../src/utils/environmentContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -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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"}
@@ -243,15 +243,7 @@ export async function processSingleFileContent(filePath, rootDirectory, offset,
243
243
  });
244
244
  const contentRangeTruncated = startLine > 0 || endLine < originalLineCount;
245
245
  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');
246
+ const llmContent = formattedLines.join('\n');
255
247
  // By default, return nothing to streamline the common case of a successful read_file.
256
248
  let returnDisplay = '';
257
249
  if (contentRangeTruncated) {
@@ -264,7 +256,7 @@ export async function processSingleFileContent(filePath, rootDirectory, offset,
264
256
  returnDisplay = `Read all ${originalLineCount} lines from ${relativePathForDisplay} (some lines were shortened)`;
265
257
  }
266
258
  return {
267
- llmContent: llmTextContent,
259
+ llmContent,
268
260
  returnDisplay,
269
261
  isTruncated,
270
262
  originalLineCount,
@@ -1 +1 @@
1
- {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../src/utils/fileUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,qCAAqC;AACrC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAEvC,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAmB,OAAO,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,WAAmB,EACnB,aAAqB;IAErB,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5D,yFAAyF;IACzF,yDAAyD;IACzD,MAAM,iBAAiB,GACrB,uBAAuB,KAAK,IAAI,CAAC,GAAG;QACpC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QACxC,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC;IAEzC,OAAO,CACL,qBAAqB,KAAK,uBAAuB;QACjD,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CACpD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,IAAI,UAA8C,CAAC;IACnD,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEnD,oDAAoD;QACpD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,2DAA2D;YAC3D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAEnC,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAElC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,kCAAkC;YACpE,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;gBACxD,iBAAiB,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QACD,uDAAuD;QACvD,OAAO,iBAAiB,GAAG,SAAS,GAAG,GAAG,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8DAA8D;QAC9D,OAAO,CAAC,IAAI,CACV,sCAAsC,QAAQ,EAAE,EAChD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,0DAA0D;QAC1D,uFAAuF;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,6DAA6D;QAC7D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,+DAA+D;gBAC/D,OAAO,CAAC,IAAI,CACV,oCAAoC,QAAQ,EAAE,EAC9C,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CACtE,CAAC;gBACF,uDAAuD;YACzD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB;IAEhB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjD,4EAA4E;IAC5E,0EAA0E;IAC1E,4BAA4B;IAC5B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,sDAAsD;IACtG,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,IACE;QACE,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,KAAK;QACL,QAAQ;QACR,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;KACP,CAAC,QAAQ,CAAC,GAAG,CAAC,EACf,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gFAAgF;IAChF,yCAAyC;IACzC,IAAI,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,aAAqB,EACrB,MAAe,EACf,KAAc;IAEd,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,6CAA6C;YAC7C,OAAO;gBACL,UAAU,EAAE,EAAE;gBACd,aAAa,EAAE,iBAAiB;gBAChC,KAAK,EAAE,mBAAmB,QAAQ,EAAE;aACrC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO;gBACL,UAAU,EAAE,EAAE;gBACd,aAAa,EAAE,sBAAsB;gBACrC,KAAK,EAAE,oCAAoC,QAAQ,EAAE;aACtD,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC;QACnC,aAAa;QACb,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;QAErC,IAAI,eAAe,GAAG,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,qCAAqC,QAAQ,KAAK,CAChD,eAAe;gBACf,CAAC,IAAI,GAAG,IAAI,CAAC,CACd,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAClB,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,sBAAsB,GAAG,IAAI;aAChC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;aACjC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEvB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,OAAO;oBACL,UAAU,EAAE,0CAA0C,sBAAsB,EAAE;oBAC9E,aAAa,EAAE,wBAAwB,sBAAsB,EAAE;iBAChE,CAAC;YACJ,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;gBAC3C,IAAI,KAAK,CAAC,IAAI,GAAG,kBAAkB,EAAE,CAAC;oBACpC,OAAO;wBACL,UAAU,EAAE,uDAAuD,sBAAsB,EAAE;wBAC3F,aAAa,EAAE,kCAAkC,sBAAsB,EAAE;qBAC1E,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC7D,OAAO;oBACL,UAAU,EAAE,OAAO;oBACnB,aAAa,EAAE,qBAAqB,sBAAsB,EAAE;iBAC7D,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC;gBAEvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,CAAC;gBAC9B,MAAM,cAAc,GAClB,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5D,mDAAmD;gBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,cAAc,EAAE,iBAAiB,CAAC,CAAC;gBACxE,yFAAyF;gBACzF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;gBAC/D,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAE5D,IAAI,0BAA0B,GAAG,KAAK,CAAC;gBACvC,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;wBAC5C,0BAA0B,GAAG,IAAI,CAAC;wBAClC,OAAO,CACL,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,yBAAyB,CAAC,GAAG,iBAAiB,CACjE,CAAC;oBACJ,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBAEH,MAAM,qBAAqB,GACzB,SAAS,GAAG,CAAC,IAAI,OAAO,GAAG,iBAAiB,CAAC;gBAC/C,MAAM,WAAW,GAAG,qBAAqB,IAAI,0BAA0B,CAAC;gBAExE,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,MAAM,UAAU,GAAG,OAAO,CAAC;oBAC3B,cAAc,IAAI,0CAA0C,eAAe,GAAG,CAAC,IAAI,OAAO,OAAO,iBAAiB,yCAAyC,UAAU,YAAY,cAAc,MAAM,CAAC;gBACxM,CAAC;qBAAM,IAAI,0BAA0B,EAAE,CAAC;oBACtC,cAAc,IAAI,4EAA4E,yBAAyB,iBAAiB,CAAC;gBAC3I,CAAC;gBACD,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE5C,sFAAsF;gBACtF,IAAI,aAAa,GAAG,EAAE,CAAC;gBACvB,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,aAAa,GAAG,cACd,eAAe,GAAG,CACpB,IAAI,OAAO,OAAO,iBAAiB,SAAS,sBAAsB,EAAE,CAAC;oBACrE,IAAI,0BAA0B,EAAE,CAAC;wBAC/B,aAAa,IAAI,8BAA8B,CAAC;oBAClD,CAAC;gBACH,CAAC;qBAAM,IAAI,0BAA0B,EAAE,CAAC;oBACtC,aAAa,GAAG,YAAY,iBAAiB,eAAe,sBAAsB,8BAA8B,CAAC;gBACnH,CAAC;gBAED,OAAO;oBACL,UAAU,EAAE,cAAc;oBAC1B,aAAa;oBACb,WAAW;oBACX,iBAAiB;oBACjB,UAAU,EAAE,CAAC,eAAe,GAAG,CAAC,EAAE,OAAO,CAAC;iBAC3C,CAAC;YACJ,CAAC;YACD,KAAK,OAAO,CAAC;YACb,KAAK,KAAK,CAAC;YACX,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC;gBAErE,OAAO;oBACL,UAAU,EAAE;wBACV,UAAU,EAAE;4BACV,IAAI,EAAE,UAAU;4BAChB,QAAQ;yBACT;qBACF;oBACD,aAAa,EAAE,QAAQ,QAAQ,UAAU,sBAAsB,EAAE;iBAClE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,sDAAsD;gBACtD,MAAM,eAAe,GAAU,QAAQ,CAAC;gBACxC,OAAO;oBACL,UAAU,EAAE,wBAAwB,eAAe,EAAE;oBACrD,aAAa,EAAE,gCAAgC,sBAAsB,EAAE;oBACvE,KAAK,EAAE,2BAA2B,QAAQ,EAAE;iBAC7C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI;aACrB,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;aACjC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvB,OAAO;YACL,UAAU,EAAE,sBAAsB,WAAW,KAAK,YAAY,EAAE;YAChE,aAAa,EAAE,sBAAsB,WAAW,KAAK,YAAY,EAAE;YACnE,KAAK,EAAE,sBAAsB,QAAQ,KAAK,YAAY,EAAE;SACzD,CAAC;IACJ,CAAC;AACH,CAAC"}
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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"}
@@ -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 { Fzf } from 'fzf';
13
14
  export class AbortError extends Error {
14
15
  constructor(message = 'Search aborted') {
15
16
  super(message);
@@ -55,6 +56,17 @@ export async function filter(allPaths, pattern, signal) {
55
56
  });
56
57
  return results;
57
58
  }
59
+ /**
60
+ * Filters a list of paths based on a given pattern using fzf.
61
+ * @param allPaths The list of all paths to filter.
62
+ * @param pattern The fzf pattern to filter by.
63
+ * @returns The filtered and sorted list of paths.
64
+ */
65
+ function filterByFzf(allPaths, pattern) {
66
+ return new Fzf(allPaths)
67
+ .find(pattern)
68
+ .map((entry) => entry.item);
69
+ }
58
70
  /**
59
71
  * Provides a fast and efficient way to search for files within a project,
60
72
  * respecting .gitignore and .geminiignore rules, and utilizing caching
@@ -103,7 +115,9 @@ export class FileSearch {
103
115
  }
104
116
  else {
105
117
  // Apply the user's picomatch pattern filter
106
- filteredCandidates = await filter(candidates, pattern, options.signal);
118
+ filteredCandidates = pattern.includes('*')
119
+ ? await filter(candidates, pattern, options.signal)
120
+ : filterByFzf(this.allFiles, pattern);
107
121
  this.resultCache.set(pattern, filteredCandidates);
108
122
  }
109
123
  // Trade-off: We apply a two-stage filtering process.
@@ -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":"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"}
@@ -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'],