@google/gemini-cli-core 0.1.16 → 0.1.17-nightly.250808.60362e03

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 (216) hide show
  1. package/README.md +11 -1
  2. package/dist/google-gemini-cli-core-0.1.17.tgz +0 -0
  3. package/dist/src/config/config.d.ts +24 -4
  4. package/dist/src/config/config.js +71 -12
  5. package/dist/src/config/config.js.map +1 -1
  6. package/dist/src/config/config.test.js +68 -2
  7. package/dist/src/config/config.test.js.map +1 -1
  8. package/dist/src/config/flashFallback.test.js +0 -4
  9. package/dist/src/config/flashFallback.test.js.map +1 -1
  10. package/dist/src/core/client.d.ts +0 -2
  11. package/dist/src/core/client.js +9 -84
  12. package/dist/src/core/client.js.map +1 -1
  13. package/dist/src/core/client.test.js +7 -2
  14. package/dist/src/core/client.test.js.map +1 -1
  15. package/dist/src/core/coreToolScheduler.d.ts +18 -7
  16. package/dist/src/core/coreToolScheduler.js +81 -17
  17. package/dist/src/core/coreToolScheduler.js.map +1 -1
  18. package/dist/src/core/coreToolScheduler.test.js +29 -37
  19. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  20. package/dist/src/core/geminiChat.d.ts +6 -0
  21. package/dist/src/core/geminiChat.js +42 -4
  22. package/dist/src/core/geminiChat.js.map +1 -1
  23. package/dist/src/core/nonInteractiveToolExecutor.js +3 -1
  24. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  25. package/dist/src/core/nonInteractiveToolExecutor.test.js +7 -31
  26. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  27. package/dist/src/core/subagent.d.ts +230 -0
  28. package/dist/src/core/subagent.js +447 -0
  29. package/dist/src/core/subagent.js.map +1 -0
  30. package/dist/src/core/subagent.test.d.ts +6 -0
  31. package/dist/src/core/subagent.test.js +515 -0
  32. package/dist/src/core/subagent.test.js.map +1 -0
  33. package/dist/src/core/turn.js +1 -0
  34. package/dist/src/core/turn.js.map +1 -1
  35. package/dist/src/core/turn.test.js +4 -0
  36. package/dist/src/core/turn.test.js.map +1 -1
  37. package/dist/src/ide/detect-ide.js +6 -3
  38. package/dist/src/ide/detect-ide.js.map +1 -1
  39. package/dist/src/ide/ide-client.d.ts +27 -11
  40. package/dist/src/ide/ide-client.js +163 -61
  41. package/dist/src/ide/ide-client.js.map +1 -1
  42. package/dist/src/ide/ide-installer.d.ts +0 -1
  43. package/dist/src/ide/ide-installer.js +5 -7
  44. package/dist/src/ide/ide-installer.js.map +1 -1
  45. package/dist/src/ide/ide-installer.test.js +1 -24
  46. package/dist/src/ide/ide-installer.test.js.map +1 -1
  47. package/dist/src/ide/ideContext.d.ts +127 -32
  48. package/dist/src/ide/ideContext.js +45 -0
  49. package/dist/src/ide/ideContext.js.map +1 -1
  50. package/dist/src/index.d.ts +1 -0
  51. package/dist/src/index.js +1 -0
  52. package/dist/src/index.js.map +1 -1
  53. package/dist/src/mcp/oauth-provider.d.ts +1 -0
  54. package/dist/src/mcp/oauth-provider.js +14 -1
  55. package/dist/src/mcp/oauth-provider.js.map +1 -1
  56. package/dist/src/mcp/oauth-provider.test.js +87 -6
  57. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  58. package/dist/src/prompts/prompt-registry.d.ts +8 -0
  59. package/dist/src/prompts/prompt-registry.js +16 -0
  60. package/dist/src/prompts/prompt-registry.js.map +1 -1
  61. package/dist/src/services/shellExecutionService.js +29 -9
  62. package/dist/src/services/shellExecutionService.js.map +1 -1
  63. package/dist/src/services/shellExecutionService.test.js +8 -0
  64. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  65. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +2 -1
  66. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +32 -1
  67. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  68. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +2 -1
  69. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +5 -0
  70. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  71. package/dist/src/telemetry/constants.d.ts +1 -0
  72. package/dist/src/telemetry/constants.js +1 -0
  73. package/dist/src/telemetry/constants.js.map +1 -1
  74. package/dist/src/telemetry/loggers.d.ts +2 -1
  75. package/dist/src/telemetry/loggers.js +17 -1
  76. package/dist/src/telemetry/loggers.js.map +1 -1
  77. package/dist/src/telemetry/loggers.test.circular.js +7 -2
  78. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  79. package/dist/src/telemetry/loggers.test.js +5 -1
  80. package/dist/src/telemetry/loggers.test.js.map +1 -1
  81. package/dist/src/telemetry/metrics.d.ts +1 -1
  82. package/dist/src/telemetry/metrics.js.map +1 -1
  83. package/dist/src/telemetry/telemetry.test.js +0 -2
  84. package/dist/src/telemetry/telemetry.test.js.map +1 -1
  85. package/dist/src/telemetry/types.d.ts +13 -2
  86. package/dist/src/telemetry/types.js +18 -1
  87. package/dist/src/telemetry/types.js.map +1 -1
  88. package/dist/src/telemetry/uiTelemetry.d.ts +2 -0
  89. package/dist/src/telemetry/uiTelemetry.js +2 -0
  90. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  91. package/dist/src/telemetry/uiTelemetry.test.js +11 -1
  92. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  93. package/dist/src/test-utils/tools.d.ts +23 -0
  94. package/dist/src/test-utils/tools.js +41 -0
  95. package/dist/src/test-utils/tools.js.map +1 -0
  96. package/dist/src/tools/edit.d.ts +5 -33
  97. package/dist/src/tools/edit.js +129 -124
  98. package/dist/src/tools/edit.js.map +1 -1
  99. package/dist/src/tools/edit.test.js +117 -51
  100. package/dist/src/tools/edit.test.js.map +1 -1
  101. package/dist/src/tools/glob.d.ts +3 -10
  102. package/dist/src/tools/glob.js +85 -88
  103. package/dist/src/tools/glob.js.map +1 -1
  104. package/dist/src/tools/glob.test.js +22 -12
  105. package/dist/src/tools/glob.test.js.map +1 -1
  106. package/dist/src/tools/grep.d.ts +3 -35
  107. package/dist/src/tools/grep.js +111 -82
  108. package/dist/src/tools/grep.js.map +1 -1
  109. package/dist/src/tools/grep.test.js +40 -23
  110. package/dist/src/tools/grep.test.js.map +1 -1
  111. package/dist/src/tools/mcp-client.d.ts +11 -1
  112. package/dist/src/tools/mcp-client.js +91 -17
  113. package/dist/src/tools/mcp-client.js.map +1 -1
  114. package/dist/src/tools/mcp-client.test.js +329 -10
  115. package/dist/src/tools/mcp-client.test.js.map +1 -1
  116. package/dist/src/tools/mcp-tool.js +104 -45
  117. package/dist/src/tools/mcp-tool.js.map +1 -1
  118. package/dist/src/tools/mcp-tool.test.js +280 -2
  119. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  120. package/dist/src/tools/memoryTool.d.ts +2 -2
  121. package/dist/src/tools/memoryTool.js +1 -0
  122. package/dist/src/tools/memoryTool.js.map +1 -1
  123. package/dist/src/tools/modifiable-tool.d.ts +9 -6
  124. package/dist/src/tools/modifiable-tool.js +6 -3
  125. package/dist/src/tools/modifiable-tool.js.map +1 -1
  126. package/dist/src/tools/modifiable-tool.test.js +12 -12
  127. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  128. package/dist/src/tools/read-file.d.ts +4 -6
  129. package/dist/src/tools/read-file.js +55 -39
  130. package/dist/src/tools/read-file.js.map +1 -1
  131. package/dist/src/tools/read-file.test.js +132 -134
  132. package/dist/src/tools/read-file.test.js.map +1 -1
  133. package/dist/src/tools/read-many-files.js +84 -34
  134. package/dist/src/tools/read-many-files.js.map +1 -1
  135. package/dist/src/tools/read-many-files.test.js +107 -0
  136. package/dist/src/tools/read-many-files.test.js.map +1 -1
  137. package/dist/src/tools/tool-registry.d.ts +12 -5
  138. package/dist/src/tools/tool-registry.js +28 -11
  139. package/dist/src/tools/tool-registry.js.map +1 -1
  140. package/dist/src/tools/tool-registry.test.js +7 -22
  141. package/dist/src/tools/tool-registry.test.js.map +1 -1
  142. package/dist/src/tools/tools.d.ts +133 -39
  143. package/dist/src/tools/tools.js +180 -10
  144. package/dist/src/tools/tools.js.map +1 -1
  145. package/dist/src/tools/tools.test.d.ts +6 -0
  146. package/dist/src/tools/tools.test.js +117 -0
  147. package/dist/src/tools/tools.test.js.map +1 -0
  148. package/dist/src/tools/write-file.d.ts +2 -2
  149. package/dist/src/tools/write-file.js +17 -2
  150. package/dist/src/tools/write-file.js.map +1 -1
  151. package/dist/src/tools/write-file.test.js +40 -3
  152. package/dist/src/tools/write-file.test.js.map +1 -1
  153. package/dist/src/utils/bfsFileSearch.test.js +28 -56
  154. package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
  155. package/dist/src/utils/editor.d.ts +1 -1
  156. package/dist/src/utils/editor.js +13 -5
  157. package/dist/src/utils/editor.js.map +1 -1
  158. package/dist/src/utils/editor.test.js +38 -6
  159. package/dist/src/utils/editor.test.js.map +1 -1
  160. package/dist/src/utils/environmentContext.d.ts +21 -0
  161. package/dist/src/utils/environmentContext.js +90 -0
  162. package/dist/src/utils/environmentContext.js.map +1 -0
  163. package/dist/src/utils/environmentContext.test.d.ts +6 -0
  164. package/dist/src/utils/environmentContext.test.js +139 -0
  165. package/dist/src/utils/environmentContext.test.js.map +1 -0
  166. package/dist/src/utils/fileUtils.js +7 -13
  167. package/dist/src/utils/fileUtils.js.map +1 -1
  168. package/dist/src/utils/fileUtils.test.js +18 -4
  169. package/dist/src/utils/fileUtils.test.js.map +1 -1
  170. package/dist/src/utils/filesearch/crawlCache.d.ts +25 -0
  171. package/dist/src/utils/filesearch/crawlCache.js +57 -0
  172. package/dist/src/utils/filesearch/crawlCache.js.map +1 -0
  173. package/dist/src/utils/filesearch/crawlCache.test.d.ts +6 -0
  174. package/dist/src/utils/filesearch/crawlCache.test.js +103 -0
  175. package/dist/src/utils/filesearch/crawlCache.test.js.map +1 -0
  176. package/dist/src/utils/filesearch/fileSearch.d.ts +81 -0
  177. package/dist/src/utils/filesearch/fileSearch.js +241 -0
  178. package/dist/src/utils/filesearch/fileSearch.js.map +1 -0
  179. package/dist/src/utils/filesearch/fileSearch.test.d.ts +6 -0
  180. package/dist/src/utils/filesearch/fileSearch.test.js +654 -0
  181. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -0
  182. package/dist/src/utils/filesearch/ignore.d.ts +35 -0
  183. package/dist/src/utils/filesearch/ignore.js +81 -0
  184. package/dist/src/utils/filesearch/ignore.js.map +1 -0
  185. package/dist/src/utils/filesearch/ignore.test.d.ts +6 -0
  186. package/dist/src/utils/filesearch/ignore.test.js +57 -0
  187. package/dist/src/utils/filesearch/ignore.test.js.map +1 -0
  188. package/dist/src/utils/filesearch/result-cache.d.ts +34 -0
  189. package/dist/src/utils/filesearch/result-cache.js +61 -0
  190. package/dist/src/utils/filesearch/result-cache.js.map +1 -0
  191. package/dist/src/utils/filesearch/result-cache.test.d.ts +6 -0
  192. package/dist/src/utils/filesearch/result-cache.test.js +47 -0
  193. package/dist/src/utils/filesearch/result-cache.test.js.map +1 -0
  194. package/dist/src/utils/flashFallback.integration.test.js +0 -2
  195. package/dist/src/utils/flashFallback.integration.test.js.map +1 -1
  196. package/dist/src/utils/memoryDiscovery.d.ts +1 -1
  197. package/dist/src/utils/memoryDiscovery.js +22 -7
  198. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  199. package/dist/src/utils/memoryDiscovery.test.js +30 -71
  200. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  201. package/dist/src/utils/nextSpeakerChecker.js +2 -2
  202. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  203. package/dist/src/utils/nextSpeakerChecker.test.js +2 -2
  204. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  205. package/dist/src/utils/paths.d.ts +11 -2
  206. package/dist/src/utils/paths.js +24 -7
  207. package/dist/src/utils/paths.js.map +1 -1
  208. package/dist/src/utils/paths.test.d.ts +6 -0
  209. package/dist/src/utils/paths.test.js +153 -0
  210. package/dist/src/utils/paths.test.js.map +1 -0
  211. package/dist/src/utils/workspaceContext.d.ts +4 -0
  212. package/dist/src/utils/workspaceContext.js +33 -0
  213. package/dist/src/utils/workspaceContext.js.map +1 -1
  214. package/dist/tsconfig.tsbuildinfo +1 -1
  215. package/package.json +6 -1
  216. package/dist/google-gemini-cli-core-0.1.15.tgz +0 -0
@@ -9,41 +9,18 @@ import path from 'path';
9
9
  import { EOL } from 'os';
10
10
  import { spawn } from 'child_process';
11
11
  import { globStream } from 'glob';
12
- import { BaseTool, Icon } from './tools.js';
12
+ import { BaseDeclarativeTool, BaseToolInvocation, Icon, } from './tools.js';
13
13
  import { Type } from '@google/genai';
14
14
  import { SchemaValidator } from '../utils/schemaValidator.js';
15
15
  import { makeRelative, shortenPath } from '../utils/paths.js';
16
16
  import { getErrorMessage, isNodeError } from '../utils/errors.js';
17
17
  import { isGitRepository } from '../utils/gitUtils.js';
18
- // --- GrepLogic Class ---
19
- /**
20
- * Implementation of the Grep tool logic (moved from CLI)
21
- */
22
- export class GrepTool extends BaseTool {
18
+ class GrepToolInvocation extends BaseToolInvocation {
23
19
  config;
24
- static Name = 'search_file_content'; // Keep static name
25
- constructor(config) {
26
- super(GrepTool.Name, 'SearchText', 'Searches for a regular expression pattern within the content of files in a specified directory (or current working directory). Can filter files by a glob pattern. Returns the lines containing matches, along with their file paths and line numbers.', Icon.Regex, {
27
- properties: {
28
- pattern: {
29
- description: "The regular expression (regex) pattern to search for within file contents (e.g., 'function\\s+myFunction', 'import\\s+\\{.*\\}\\s+from\\s+.*').",
30
- type: Type.STRING,
31
- },
32
- path: {
33
- description: 'Optional: The absolute path to the directory to search within. If omitted, searches the current working directory.',
34
- type: Type.STRING,
35
- },
36
- include: {
37
- description: "Optional: A glob pattern to filter which files are searched (e.g., '*.js', '*.{ts,tsx}', 'src/**'). If omitted, searches all files (respecting potential global ignores).",
38
- type: Type.STRING,
39
- },
40
- },
41
- required: ['pattern'],
42
- type: Type.OBJECT,
43
- });
20
+ constructor(config, params) {
21
+ super(params);
44
22
  this.config = config;
45
23
  }
46
- // --- Validation Methods ---
47
24
  /**
48
25
  * Checks if a path is within the root directory and resolves it.
49
26
  * @param relativePath Path relative to the root directory (or undefined for root).
@@ -77,51 +54,11 @@ export class GrepTool extends BaseTool {
77
54
  }
78
55
  return targetPath;
79
56
  }
80
- /**
81
- * Validates the parameters for the tool
82
- * @param params Parameters to validate
83
- * @returns An error message string if invalid, null otherwise
84
- */
85
- validateToolParams(params) {
86
- const errors = SchemaValidator.validate(this.schema.parameters, params);
87
- if (errors) {
88
- return errors;
89
- }
90
- try {
91
- new RegExp(params.pattern);
92
- }
93
- catch (error) {
94
- return `Invalid regular expression pattern provided: ${params.pattern}. Error: ${getErrorMessage(error)}`;
95
- }
96
- // Only validate path if one is provided
97
- if (params.path) {
98
- try {
99
- this.resolveAndValidatePath(params.path);
100
- }
101
- catch (error) {
102
- return getErrorMessage(error);
103
- }
104
- }
105
- return null; // Parameters are valid
106
- }
107
- // --- Core Execution ---
108
- /**
109
- * Executes the grep search with the given parameters
110
- * @param params Parameters for the grep search
111
- * @returns Result of the grep search
112
- */
113
- async execute(params, signal) {
114
- const validationError = this.validateToolParams(params);
115
- if (validationError) {
116
- return {
117
- llmContent: `Error: Invalid parameters provided. Reason: ${validationError}`,
118
- returnDisplay: `Model provided invalid parameters. Error: ${validationError}`,
119
- };
120
- }
57
+ async execute(signal) {
121
58
  try {
122
59
  const workspaceContext = this.config.getWorkspaceContext();
123
- const searchDirAbs = this.resolveAndValidatePath(params.path);
124
- const searchDirDisplay = params.path || '.';
60
+ const searchDirAbs = this.resolveAndValidatePath(this.params.path);
61
+ const searchDirDisplay = this.params.path || '.';
125
62
  // Determine which directories to search
126
63
  let searchDirectories;
127
64
  if (searchDirAbs === null) {
@@ -136,9 +73,9 @@ export class GrepTool extends BaseTool {
136
73
  let allMatches = [];
137
74
  for (const searchDir of searchDirectories) {
138
75
  const matches = await this.performGrepSearch({
139
- pattern: params.pattern,
76
+ pattern: this.params.pattern,
140
77
  path: searchDir,
141
- include: params.include,
78
+ include: this.params.include,
142
79
  signal,
143
80
  });
144
81
  // Add directory prefix if searching multiple directories
@@ -162,7 +99,7 @@ export class GrepTool extends BaseTool {
162
99
  searchLocationDescription = `in path "${searchDirDisplay}"`;
163
100
  }
164
101
  if (allMatches.length === 0) {
165
- const noMatchMsg = `No matches found for pattern "${params.pattern}" ${searchLocationDescription}${params.include ? ` (filter: "${params.include}")` : ''}.`;
102
+ const noMatchMsg = `No matches found for pattern "${this.params.pattern}" ${searchLocationDescription}${this.params.include ? ` (filter: "${this.params.include}")` : ''}.`;
166
103
  return { llmContent: noMatchMsg, returnDisplay: `No matches found` };
167
104
  }
168
105
  // Group matches by file
@@ -177,7 +114,7 @@ export class GrepTool extends BaseTool {
177
114
  }, {});
178
115
  const matchCount = allMatches.length;
179
116
  const matchTerm = matchCount === 1 ? 'match' : 'matches';
180
- let llmContent = `Found ${matchCount} ${matchTerm} for pattern "${params.pattern}" ${searchLocationDescription}${params.include ? ` (filter: "${params.include}")` : ''}:
117
+ let llmContent = `Found ${matchCount} ${matchTerm} for pattern "${this.params.pattern}" ${searchLocationDescription}${this.params.include ? ` (filter: "${this.params.include}")` : ''}:
181
118
  ---
182
119
  `;
183
120
  for (const filePath in matchesByFile) {
@@ -202,7 +139,6 @@ export class GrepTool extends BaseTool {
202
139
  };
203
140
  }
204
141
  }
205
- // --- Grep Implementation Logic ---
206
142
  /**
207
143
  * Checks if a command is available in the system's PATH.
208
144
  * @param {string} command The command name (e.g., 'git', 'grep').
@@ -271,14 +207,15 @@ export class GrepTool extends BaseTool {
271
207
  * @param params Parameters for the grep operation
272
208
  * @returns A string describing the grep
273
209
  */
274
- getDescription(params) {
275
- let description = `'${params.pattern}'`;
276
- if (params.include) {
277
- description += ` in ${params.include}`;
210
+ getDescription() {
211
+ let description = `'${this.params.pattern}'`;
212
+ if (this.params.include) {
213
+ description += ` in ${this.params.include}`;
278
214
  }
279
- if (params.path) {
280
- const resolvedPath = path.resolve(this.config.getTargetDir(), params.path);
281
- if (resolvedPath === this.config.getTargetDir() || params.path === '.') {
215
+ if (this.params.path) {
216
+ const resolvedPath = path.resolve(this.config.getTargetDir(), this.params.path);
217
+ if (resolvedPath === this.config.getTargetDir() ||
218
+ this.params.path === '.') {
282
219
  description += ` within ./`;
283
220
  }
284
221
  else {
@@ -471,4 +408,96 @@ export class GrepTool extends BaseTool {
471
408
  }
472
409
  }
473
410
  }
411
+ // --- GrepLogic Class ---
412
+ /**
413
+ * Implementation of the Grep tool logic (moved from CLI)
414
+ */
415
+ export class GrepTool extends BaseDeclarativeTool {
416
+ config;
417
+ static Name = 'search_file_content'; // Keep static name
418
+ constructor(config) {
419
+ super(GrepTool.Name, 'SearchText', 'Searches for a regular expression pattern within the content of files in a specified directory (or current working directory). Can filter files by a glob pattern. Returns the lines containing matches, along with their file paths and line numbers.', Icon.Regex, {
420
+ properties: {
421
+ pattern: {
422
+ description: "The regular expression (regex) pattern to search for within file contents (e.g., 'function\\s+myFunction', 'import\\s+\\{.*\\}\\s+from\\s+.*').",
423
+ type: Type.STRING,
424
+ },
425
+ path: {
426
+ description: 'Optional: The absolute path to the directory to search within. If omitted, searches the current working directory.',
427
+ type: Type.STRING,
428
+ },
429
+ include: {
430
+ description: "Optional: A glob pattern to filter which files are searched (e.g., '*.js', '*.{ts,tsx}', 'src/**'). If omitted, searches all files (respecting potential global ignores).",
431
+ type: Type.STRING,
432
+ },
433
+ },
434
+ required: ['pattern'],
435
+ type: Type.OBJECT,
436
+ });
437
+ this.config = config;
438
+ }
439
+ /**
440
+ * Checks if a path is within the root directory and resolves it.
441
+ * @param relativePath Path relative to the root directory (or undefined for root).
442
+ * @returns The absolute path if valid and exists, or null if no path specified (to search all directories).
443
+ * @throws {Error} If path is outside root, doesn't exist, or isn't a directory.
444
+ */
445
+ resolveAndValidatePath(relativePath) {
446
+ // If no path specified, return null to indicate searching all workspace directories
447
+ if (!relativePath) {
448
+ return null;
449
+ }
450
+ const targetPath = path.resolve(this.config.getTargetDir(), relativePath);
451
+ // Security Check: Ensure the resolved path is within workspace boundaries
452
+ const workspaceContext = this.config.getWorkspaceContext();
453
+ if (!workspaceContext.isPathWithinWorkspace(targetPath)) {
454
+ const directories = workspaceContext.getDirectories();
455
+ throw new Error(`Path validation failed: Attempted path "${relativePath}" resolves outside the allowed workspace directories: ${directories.join(', ')}`);
456
+ }
457
+ // Check existence and type after resolving
458
+ try {
459
+ const stats = fs.statSync(targetPath);
460
+ if (!stats.isDirectory()) {
461
+ throw new Error(`Path is not a directory: ${targetPath}`);
462
+ }
463
+ }
464
+ catch (error) {
465
+ if (isNodeError(error) && error.code !== 'ENOENT') {
466
+ throw new Error(`Path does not exist: ${targetPath}`);
467
+ }
468
+ throw new Error(`Failed to access path stats for ${targetPath}: ${error}`);
469
+ }
470
+ return targetPath;
471
+ }
472
+ /**
473
+ * Validates the parameters for the tool
474
+ * @param params Parameters to validate
475
+ * @returns An error message string if invalid, null otherwise
476
+ */
477
+ validateToolParams(params) {
478
+ const errors = SchemaValidator.validate(this.schema.parameters, params);
479
+ if (errors) {
480
+ return errors;
481
+ }
482
+ try {
483
+ new RegExp(params.pattern);
484
+ }
485
+ catch (error) {
486
+ return `Invalid regular expression pattern provided: ${params.pattern}. Error: ${getErrorMessage(error)}`;
487
+ }
488
+ // Only validate path if one is provided
489
+ if (params.path) {
490
+ try {
491
+ this.resolveAndValidatePath(params.path);
492
+ }
493
+ catch (error) {
494
+ return getErrorMessage(error);
495
+ }
496
+ }
497
+ return null; // Parameters are valid
498
+ }
499
+ createInvocation(params) {
500
+ return new GrepToolInvocation(this.config, params);
501
+ }
502
+ }
474
503
  //# sourceMappingURL=grep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/tools/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/tools/grep.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,8 @@ describe('GrepTool', () => {
84
84
  describe('execute', () => {
85
85
  it('should find matches for a simple pattern in all files', async () => {
86
86
  const params = { pattern: 'world' };
87
- const result = await grepTool.execute(params, abortSignal);
87
+ const invocation = grepTool.build(params);
88
+ const result = await invocation.execute(abortSignal);
88
89
  expect(result.llmContent).toContain('Found 3 matches for pattern "world" in the workspace directory');
89
90
  expect(result.llmContent).toContain('File: fileA.txt');
90
91
  expect(result.llmContent).toContain('L1: hello world');
@@ -95,7 +96,8 @@ describe('GrepTool', () => {
95
96
  });
96
97
  it('should find matches in a specific path', async () => {
97
98
  const params = { pattern: 'world', path: 'sub' };
98
- const result = await grepTool.execute(params, abortSignal);
99
+ const invocation = grepTool.build(params);
100
+ const result = await invocation.execute(abortSignal);
99
101
  expect(result.llmContent).toContain('Found 1 match for pattern "world" in path "sub"');
100
102
  expect(result.llmContent).toContain('File: fileC.txt'); // Path relative to 'sub'
101
103
  expect(result.llmContent).toContain('L1: another world in sub dir');
@@ -103,7 +105,8 @@ describe('GrepTool', () => {
103
105
  });
104
106
  it('should find matches with an include glob', async () => {
105
107
  const params = { pattern: 'hello', include: '*.js' };
106
- const result = await grepTool.execute(params, abortSignal);
108
+ const invocation = grepTool.build(params);
109
+ const result = await invocation.execute(abortSignal);
107
110
  expect(result.llmContent).toContain('Found 1 match for pattern "hello" in the workspace directory (filter: "*.js"):');
108
111
  expect(result.llmContent).toContain('File: fileB.js');
109
112
  expect(result.llmContent).toContain('L2: function baz() { return "hello"; }');
@@ -116,7 +119,8 @@ describe('GrepTool', () => {
116
119
  path: 'sub',
117
120
  include: '*.js',
118
121
  };
119
- const result = await grepTool.execute(params, abortSignal);
122
+ const invocation = grepTool.build(params);
123
+ const result = await invocation.execute(abortSignal);
120
124
  expect(result.llmContent).toContain('Found 1 match for pattern "hello" in path "sub" (filter: "*.js")');
121
125
  expect(result.llmContent).toContain('File: another.js');
122
126
  expect(result.llmContent).toContain('L1: const greeting = "hello";');
@@ -124,31 +128,32 @@ describe('GrepTool', () => {
124
128
  });
125
129
  it('should return "No matches found" when pattern does not exist', async () => {
126
130
  const params = { pattern: 'nonexistentpattern' };
127
- const result = await grepTool.execute(params, abortSignal);
131
+ const invocation = grepTool.build(params);
132
+ const result = await invocation.execute(abortSignal);
128
133
  expect(result.llmContent).toContain('No matches found for pattern "nonexistentpattern" in the workspace directory.');
129
134
  expect(result.returnDisplay).toBe('No matches found');
130
135
  });
131
136
  it('should handle regex special characters correctly', async () => {
132
137
  const params = { pattern: 'foo.*bar' }; // Matches 'const foo = "bar";'
133
- const result = await grepTool.execute(params, abortSignal);
138
+ const invocation = grepTool.build(params);
139
+ const result = await invocation.execute(abortSignal);
134
140
  expect(result.llmContent).toContain('Found 1 match for pattern "foo.*bar" in the workspace directory:');
135
141
  expect(result.llmContent).toContain('File: fileB.js');
136
142
  expect(result.llmContent).toContain('L1: const foo = "bar";');
137
143
  });
138
144
  it('should be case-insensitive by default (JS fallback)', async () => {
139
145
  const params = { pattern: 'HELLO' };
140
- const result = await grepTool.execute(params, abortSignal);
146
+ const invocation = grepTool.build(params);
147
+ const result = await invocation.execute(abortSignal);
141
148
  expect(result.llmContent).toContain('Found 2 matches for pattern "HELLO" in the workspace directory:');
142
149
  expect(result.llmContent).toContain('File: fileA.txt');
143
150
  expect(result.llmContent).toContain('L1: hello world');
144
151
  expect(result.llmContent).toContain('File: fileB.js');
145
152
  expect(result.llmContent).toContain('L2: function baz() { return "hello"; }');
146
153
  });
147
- it('should return an error if params are invalid', async () => {
154
+ it('should throw an error if params are invalid', async () => {
148
155
  const params = { path: '.' }; // Invalid: pattern missing
149
- const result = await grepTool.execute(params, abortSignal);
150
- expect(result.llmContent).toBe("Error: Invalid parameters provided. Reason: params must have required property 'pattern'");
151
- expect(result.returnDisplay).toBe("Model provided invalid parameters. Error: params must have required property 'pattern'");
156
+ expect(() => grepTool.build(params)).toThrow(/params must have required property 'pattern'/);
152
157
  });
153
158
  });
154
159
  describe('multi-directory workspace', () => {
@@ -164,7 +169,8 @@ describe('GrepTool', () => {
164
169
  };
165
170
  const multiDirGrepTool = new GrepTool(multiDirConfig);
166
171
  const params = { pattern: 'world' };
167
- const result = await multiDirGrepTool.execute(params, abortSignal);
172
+ const invocation = multiDirGrepTool.build(params);
173
+ const result = await invocation.execute(abortSignal);
168
174
  // Should find matches in both directories
169
175
  expect(result.llmContent).toContain('Found 5 matches for pattern "world"');
170
176
  // Matches from first directory
@@ -195,7 +201,8 @@ describe('GrepTool', () => {
195
201
  const multiDirGrepTool = new GrepTool(multiDirConfig);
196
202
  // Search only in the 'sub' directory of the first workspace
197
203
  const params = { pattern: 'world', path: 'sub' };
198
- const result = await multiDirGrepTool.execute(params, abortSignal);
204
+ const invocation = multiDirGrepTool.build(params);
205
+ const result = await invocation.execute(abortSignal);
199
206
  // Should only find matches in the specified sub directory
200
207
  expect(result.llmContent).toContain('Found 1 match for pattern "world" in path "sub"');
201
208
  expect(result.llmContent).toContain('File: fileC.txt');
@@ -209,23 +216,28 @@ describe('GrepTool', () => {
209
216
  describe('getDescription', () => {
210
217
  it('should generate correct description with pattern only', () => {
211
218
  const params = { pattern: 'testPattern' };
212
- expect(grepTool.getDescription(params)).toBe("'testPattern'");
219
+ const invocation = grepTool.build(params);
220
+ expect(invocation.getDescription()).toBe("'testPattern'");
213
221
  });
214
222
  it('should generate correct description with pattern and include', () => {
215
223
  const params = {
216
224
  pattern: 'testPattern',
217
225
  include: '*.ts',
218
226
  };
219
- expect(grepTool.getDescription(params)).toBe("'testPattern' in *.ts");
227
+ const invocation = grepTool.build(params);
228
+ expect(invocation.getDescription()).toBe("'testPattern' in *.ts");
220
229
  });
221
- it('should generate correct description with pattern and path', () => {
230
+ it('should generate correct description with pattern and path', async () => {
231
+ const dirPath = path.join(tempRootDir, 'src', 'app');
232
+ await fs.mkdir(dirPath, { recursive: true });
222
233
  const params = {
223
234
  pattern: 'testPattern',
224
235
  path: path.join('src', 'app'),
225
236
  };
237
+ const invocation = grepTool.build(params);
226
238
  // The path will be relative to the tempRootDir, so we check for containment.
227
- expect(grepTool.getDescription(params)).toContain("'testPattern' within");
228
- expect(grepTool.getDescription(params)).toContain(path.join('src', 'app'));
239
+ expect(invocation.getDescription()).toContain("'testPattern' within");
240
+ expect(invocation.getDescription()).toContain(path.join('src', 'app'));
229
241
  });
230
242
  it('should indicate searching across all workspace directories when no path specified', () => {
231
243
  // Create a mock config with multiple directories
@@ -235,20 +247,25 @@ describe('GrepTool', () => {
235
247
  };
236
248
  const multiDirGrepTool = new GrepTool(multiDirConfig);
237
249
  const params = { pattern: 'testPattern' };
238
- expect(multiDirGrepTool.getDescription(params)).toBe("'testPattern' across all workspace directories");
250
+ const invocation = multiDirGrepTool.build(params);
251
+ expect(invocation.getDescription()).toBe("'testPattern' across all workspace directories");
239
252
  });
240
- it('should generate correct description with pattern, include, and path', () => {
253
+ it('should generate correct description with pattern, include, and path', async () => {
254
+ const dirPath = path.join(tempRootDir, 'src', 'app');
255
+ await fs.mkdir(dirPath, { recursive: true });
241
256
  const params = {
242
257
  pattern: 'testPattern',
243
258
  include: '*.ts',
244
259
  path: path.join('src', 'app'),
245
260
  };
246
- expect(grepTool.getDescription(params)).toContain("'testPattern' in *.ts within");
247
- expect(grepTool.getDescription(params)).toContain(path.join('src', 'app'));
261
+ const invocation = grepTool.build(params);
262
+ expect(invocation.getDescription()).toContain("'testPattern' in *.ts within");
263
+ expect(invocation.getDescription()).toContain(path.join('src', 'app'));
248
264
  });
249
265
  it('should use ./ for root path in description', () => {
250
266
  const params = { pattern: 'testPattern', path: '.' };
251
- expect(grepTool.getDescription(params)).toBe("'testPattern' within ./");
267
+ const invocation = grepTool.build(params);
268
+ expect(invocation.getDescription()).toBe("'testPattern' within ./");
252
269
  });
253
270
  });
254
271
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grep.test.js","sourceRoot":"","sources":["../../../src/tools/grep.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.test.js","sourceRoot":"","sources":["../../../src/tools/grep.test.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,16 @@ export declare function populateMcpServerCommand(mcpServers: Record<string, MCPS
90
90
  * @returns Promise that resolves when discovery is complete
91
91
  */
92
92
  export declare function connectAndDiscover(mcpServerName: string, mcpServerConfig: MCPServerConfig, toolRegistry: ToolRegistry, promptRegistry: PromptRegistry, debugMode: boolean): Promise<void>;
93
+ /**
94
+ * Recursively validates that a JSON schema and all its nested properties and
95
+ * items have a `type` defined.
96
+ *
97
+ * @param schema The JSON schema to validate.
98
+ * @returns `true` if the schema is valid, `false` otherwise.
99
+ *
100
+ * @visiblefortesting
101
+ */
102
+ export declare function hasValidTypes(schema: unknown): boolean;
93
103
  /**
94
104
  * Discovers and sanitizes tools from a connected MCP client.
95
105
  * It retrieves function declarations from the client, filters out disabled tools,
@@ -109,7 +119,7 @@ export declare function discoverTools(mcpServerName: string, mcpServerConfig: MC
109
119
  * @param mcpServerName The name of the MCP server.
110
120
  * @param mcpClient The active MCP client instance.
111
121
  */
112
- export declare function discoverPrompts(mcpServerName: string, mcpClient: Client, promptRegistry: PromptRegistry): Promise<void>;
122
+ export declare function discoverPrompts(mcpServerName: string, mcpClient: Client, promptRegistry: PromptRegistry): Promise<Prompt[]>;
113
123
  /**
114
124
  * Invokes a prompt on a connected MCP client.
115
125
  *