@office-ai/aioncli-core 0.1.21 → 0.2.3

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 (352) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.js +3 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/code_assist/converter.d.ts +3 -2
  5. package/dist/src/code_assist/converter.js +1 -0
  6. package/dist/src/code_assist/converter.js.map +1 -1
  7. package/dist/src/code_assist/oauth2.d.ts +2 -0
  8. package/dist/src/code_assist/oauth2.js +47 -25
  9. package/dist/src/code_assist/oauth2.js.map +1 -1
  10. package/dist/src/code_assist/oauth2.test.js +99 -8
  11. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  12. package/dist/src/code_assist/server.js +1 -1
  13. package/dist/src/code_assist/server.js.map +1 -1
  14. package/dist/src/code_assist/setup.js +48 -17
  15. package/dist/src/code_assist/setup.js.map +1 -1
  16. package/dist/src/code_assist/setup.test.js +114 -8
  17. package/dist/src/code_assist/setup.test.js.map +1 -1
  18. package/dist/src/config/config.d.ts +27 -8
  19. package/dist/src/config/config.js +56 -25
  20. package/dist/src/config/config.js.map +1 -1
  21. package/dist/src/config/config.test.js +109 -1
  22. package/dist/src/config/config.test.js.map +1 -1
  23. package/dist/src/core/client.d.ts +18 -15
  24. package/dist/src/core/client.js +275 -63
  25. package/dist/src/core/client.js.map +1 -1
  26. package/dist/src/core/client.test.js +631 -36
  27. package/dist/src/core/client.test.js.map +1 -1
  28. package/dist/src/core/contentGenerator.js +20 -12
  29. package/dist/src/core/contentGenerator.js.map +1 -1
  30. package/dist/src/core/contentGenerator.test.js +39 -15
  31. package/dist/src/core/contentGenerator.test.js.map +1 -1
  32. package/dist/src/core/coreToolScheduler.d.ts +2 -1
  33. package/dist/src/core/coreToolScheduler.js +26 -4
  34. package/dist/src/core/coreToolScheduler.js.map +1 -1
  35. package/dist/src/core/coreToolScheduler.test.js +230 -71
  36. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  37. package/dist/src/core/geminiChat.d.ts +11 -1
  38. package/dist/src/core/geminiChat.js +85 -11
  39. package/dist/src/core/geminiChat.js.map +1 -1
  40. package/dist/src/core/logger.d.ts +22 -1
  41. package/dist/src/core/logger.js +103 -17
  42. package/dist/src/core/logger.js.map +1 -1
  43. package/dist/src/core/logger.test.js +86 -20
  44. package/dist/src/core/logger.test.js.map +1 -1
  45. package/dist/src/core/loggingContentGenerator.d.ts +1 -0
  46. package/dist/src/core/loggingContentGenerator.js +7 -1
  47. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  48. package/dist/src/core/nonInteractiveToolExecutor.d.ts +2 -2
  49. package/dist/src/core/nonInteractiveToolExecutor.js +11 -3
  50. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  51. package/dist/src/core/nonInteractiveToolExecutor.test.js +95 -46
  52. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  53. package/dist/src/core/openaiContentGenerator.js +71 -25
  54. package/dist/src/core/openaiContentGenerator.js.map +1 -1
  55. package/dist/src/core/openaiContentGenerator.test.js +1 -1
  56. package/dist/src/core/openaiContentGenerator.test.js.map +1 -1
  57. package/dist/src/core/prompts.js +4 -4
  58. package/dist/src/core/prompts.js.map +1 -1
  59. package/dist/src/core/subagent.js +5 -5
  60. package/dist/src/core/subagent.js.map +1 -1
  61. package/dist/src/core/subagent.test.js +3 -3
  62. package/dist/src/core/subagent.test.js.map +1 -1
  63. package/dist/src/generated/git-commit.d.ts +7 -0
  64. package/dist/src/generated/git-commit.js +10 -0
  65. package/dist/src/generated/git-commit.js.map +1 -0
  66. package/dist/src/ide/constants.d.ts +6 -0
  67. package/dist/src/ide/constants.js +7 -0
  68. package/dist/src/ide/constants.js.map +1 -0
  69. package/dist/src/ide/detect-ide.d.ts +12 -2
  70. package/dist/src/ide/detect-ide.js +64 -5
  71. package/dist/src/ide/detect-ide.js.map +1 -1
  72. package/dist/src/ide/detect-ide.test.d.ts +6 -0
  73. package/dist/src/ide/detect-ide.test.js +65 -0
  74. package/dist/src/ide/detect-ide.test.js.map +1 -0
  75. package/dist/src/ide/ide-client.d.ts +9 -1
  76. package/dist/src/ide/ide-client.js +113 -30
  77. package/dist/src/ide/ide-client.js.map +1 -1
  78. package/dist/src/ide/ide-client.test.d.ts +6 -0
  79. package/dist/src/ide/ide-client.test.js +43 -0
  80. package/dist/src/ide/ide-client.test.js.map +1 -0
  81. package/dist/src/ide/ide-installer.js +23 -34
  82. package/dist/src/ide/ide-installer.js.map +1 -1
  83. package/dist/src/ide/ide-installer.test.js +6 -8
  84. package/dist/src/ide/ide-installer.test.js.map +1 -1
  85. package/dist/src/ide/ideContext.d.ts +42 -42
  86. package/dist/src/ide/process-utils.d.ts +19 -0
  87. package/dist/src/ide/process-utils.js +140 -0
  88. package/dist/src/ide/process-utils.js.map +1 -0
  89. package/dist/src/index.d.ts +6 -1
  90. package/dist/src/index.js +6 -1
  91. package/dist/src/index.js.map +1 -1
  92. package/dist/src/mcp/google-auth-provider.js +9 -0
  93. package/dist/src/mcp/google-auth-provider.js.map +1 -1
  94. package/dist/src/mcp/google-auth-provider.test.js +45 -10
  95. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  96. package/dist/src/mcp/oauth-provider.d.ts +0 -1
  97. package/dist/src/mcp/oauth-provider.js +176 -59
  98. package/dist/src/mcp/oauth-provider.js.map +1 -1
  99. package/dist/src/mcp/oauth-provider.test.js +132 -62
  100. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  101. package/dist/src/mcp/oauth-utils.d.ts +3 -1
  102. package/dist/src/mcp/oauth-utils.js +50 -12
  103. package/dist/src/mcp/oauth-utils.js.map +1 -1
  104. package/dist/src/mcp/oauth-utils.test.js +17 -2
  105. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  106. package/dist/src/mocks/msw.d.ts +6 -0
  107. package/dist/src/mocks/msw.js +8 -0
  108. package/dist/src/mocks/msw.js.map +1 -0
  109. package/dist/src/services/chatRecordingService.d.ts +150 -0
  110. package/dist/src/services/chatRecordingService.js +318 -0
  111. package/dist/src/services/chatRecordingService.js.map +1 -0
  112. package/dist/src/services/chatRecordingService.test.d.ts +6 -0
  113. package/dist/src/services/chatRecordingService.test.js +288 -0
  114. package/dist/src/services/chatRecordingService.test.js.map +1 -0
  115. package/dist/src/services/fileSystemService.d.ts +31 -0
  116. package/dist/src/services/fileSystemService.js +18 -0
  117. package/dist/src/services/fileSystemService.js.map +1 -0
  118. package/dist/src/services/fileSystemService.test.d.ts +6 -0
  119. package/dist/src/services/fileSystemService.test.js +41 -0
  120. package/dist/src/services/fileSystemService.test.js.map +1 -0
  121. package/dist/src/services/loopDetectionService.js +9 -10
  122. package/dist/src/services/loopDetectionService.js.map +1 -1
  123. package/dist/src/services/loopDetectionService.test.js +52 -0
  124. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  125. package/dist/src/services/shellExecutionService.d.ts +8 -10
  126. package/dist/src/services/shellExecutionService.js +289 -133
  127. package/dist/src/services/shellExecutionService.js.map +1 -1
  128. package/dist/src/services/shellExecutionService.test.js +274 -30
  129. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  130. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +61 -17
  131. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +211 -233
  132. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  133. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +11 -0
  134. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +250 -94
  135. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  136. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +9 -2
  137. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +19 -9
  138. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  139. package/dist/src/telemetry/constants.d.ts +1 -0
  140. package/dist/src/telemetry/constants.js +1 -0
  141. package/dist/src/telemetry/constants.js.map +1 -1
  142. package/dist/src/telemetry/index.d.ts +2 -2
  143. package/dist/src/telemetry/index.js +2 -2
  144. package/dist/src/telemetry/index.js.map +1 -1
  145. package/dist/src/telemetry/integration.test.circular.js +1 -0
  146. package/dist/src/telemetry/integration.test.circular.js.map +1 -1
  147. package/dist/src/telemetry/loggers.d.ts +3 -1
  148. package/dist/src/telemetry/loggers.js +39 -6
  149. package/dist/src/telemetry/loggers.js.map +1 -1
  150. package/dist/src/telemetry/loggers.test.js +37 -7
  151. package/dist/src/telemetry/loggers.test.js.map +1 -1
  152. package/dist/src/telemetry/metrics.d.ts +5 -1
  153. package/dist/src/telemetry/metrics.js +23 -9
  154. package/dist/src/telemetry/metrics.js.map +1 -1
  155. package/dist/src/telemetry/metrics.test.js +31 -1
  156. package/dist/src/telemetry/metrics.test.js.map +1 -1
  157. package/dist/src/telemetry/sdk.d.ts +1 -1
  158. package/dist/src/telemetry/sdk.js +80 -44
  159. package/dist/src/telemetry/sdk.js.map +1 -1
  160. package/dist/src/telemetry/sdk.test.d.ts +6 -0
  161. package/dist/src/telemetry/sdk.test.js +82 -0
  162. package/dist/src/telemetry/sdk.test.js.map +1 -0
  163. package/dist/src/telemetry/telemetry.test.js +2 -2
  164. package/dist/src/telemetry/telemetry.test.js.map +1 -1
  165. package/dist/src/telemetry/types.d.ts +41 -14
  166. package/dist/src/telemetry/types.js +52 -23
  167. package/dist/src/telemetry/types.js.map +1 -1
  168. package/dist/src/telemetry/uiTelemetry.d.ts +4 -0
  169. package/dist/src/telemetry/uiTelemetry.js +14 -1
  170. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  171. package/dist/src/telemetry/uiTelemetry.test.js +45 -9
  172. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  173. package/dist/src/test-utils/config.d.ts +16 -0
  174. package/dist/src/test-utils/config.js +32 -0
  175. package/dist/src/test-utils/config.js.map +1 -0
  176. package/dist/src/test-utils/tools.d.ts +29 -8
  177. package/dist/src/test-utils/tools.js +80 -16
  178. package/dist/src/test-utils/tools.js.map +1 -1
  179. package/dist/src/tools/edit.d.ts +1 -1
  180. package/dist/src/tools/edit.js +23 -19
  181. package/dist/src/tools/edit.js.map +1 -1
  182. package/dist/src/tools/edit.test.js +11 -3
  183. package/dist/src/tools/edit.test.js.map +1 -1
  184. package/dist/src/tools/glob.d.ts +1 -1
  185. package/dist/src/tools/glob.js +15 -16
  186. package/dist/src/tools/glob.js.map +1 -1
  187. package/dist/src/tools/glob.test.js +20 -0
  188. package/dist/src/tools/glob.test.js.map +1 -1
  189. package/dist/src/tools/grep.d.ts +1 -1
  190. package/dist/src/tools/grep.js +7 -13
  191. package/dist/src/tools/grep.js.map +1 -1
  192. package/dist/src/tools/ls.d.ts +4 -23
  193. package/dist/src/tools/ls.js +77 -79
  194. package/dist/src/tools/ls.js.map +1 -1
  195. package/dist/src/tools/ls.test.js +62 -34
  196. package/dist/src/tools/ls.test.js.map +1 -1
  197. package/dist/src/tools/mcp-client-manager.d.ts +38 -0
  198. package/dist/src/tools/mcp-client-manager.js +74 -0
  199. package/dist/src/tools/mcp-client-manager.js.map +1 -0
  200. package/dist/src/tools/mcp-client-manager.test.d.ts +6 -0
  201. package/dist/src/tools/mcp-client-manager.test.js +39 -0
  202. package/dist/src/tools/mcp-client-manager.test.js.map +1 -0
  203. package/dist/src/tools/mcp-client.d.ts +43 -0
  204. package/dist/src/tools/mcp-client.js +157 -11
  205. package/dist/src/tools/mcp-client.js.map +1 -1
  206. package/dist/src/tools/mcp-client.test.js +62 -276
  207. package/dist/src/tools/mcp-client.test.js.map +1 -1
  208. package/dist/src/tools/mcp-tool.d.ts +6 -13
  209. package/dist/src/tools/mcp-tool.js +62 -34
  210. package/dist/src/tools/mcp-tool.js.map +1 -1
  211. package/dist/src/tools/mcp-tool.test.js +118 -59
  212. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  213. package/dist/src/tools/memoryTool.d.ts +9 -13
  214. package/dist/src/tools/memoryTool.js +122 -121
  215. package/dist/src/tools/memoryTool.js.map +1 -1
  216. package/dist/src/tools/memoryTool.test.js +38 -18
  217. package/dist/src/tools/memoryTool.test.js.map +1 -1
  218. package/dist/src/tools/read-file.d.ts +1 -1
  219. package/dist/src/tools/read-file.js +20 -18
  220. package/dist/src/tools/read-file.js.map +1 -1
  221. package/dist/src/tools/read-file.test.js +8 -0
  222. package/dist/src/tools/read-file.test.js.map +1 -1
  223. package/dist/src/tools/read-many-files.d.ts +3 -5
  224. package/dist/src/tools/read-many-files.js +121 -105
  225. package/dist/src/tools/read-many-files.js.map +1 -1
  226. package/dist/src/tools/read-many-files.test.js +94 -37
  227. package/dist/src/tools/read-many-files.test.js.map +1 -1
  228. package/dist/src/tools/shell.d.ts +4 -6
  229. package/dist/src/tools/shell.js +120 -124
  230. package/dist/src/tools/shell.js.map +1 -1
  231. package/dist/src/tools/shell.test.js +63 -65
  232. package/dist/src/tools/shell.test.js.map +1 -1
  233. package/dist/src/tools/tool-error.d.ts +1 -0
  234. package/dist/src/tools/tool-error.js +1 -0
  235. package/dist/src/tools/tool-error.js.map +1 -1
  236. package/dist/src/tools/tool-registry.d.ts +14 -18
  237. package/dist/src/tools/tool-registry.js +73 -106
  238. package/dist/src/tools/tool-registry.js.map +1 -1
  239. package/dist/src/tools/tool-registry.test.js +24 -192
  240. package/dist/src/tools/tool-registry.test.js.map +1 -1
  241. package/dist/src/tools/tools.d.ts +33 -89
  242. package/dist/src/tools/tools.js +76 -119
  243. package/dist/src/tools/tools.js.map +1 -1
  244. package/dist/src/tools/tools.test.js +91 -2
  245. package/dist/src/tools/tools.test.js.map +1 -1
  246. package/dist/src/tools/web-fetch.d.ts +4 -7
  247. package/dist/src/tools/web-fetch.js +58 -64
  248. package/dist/src/tools/web-fetch.js.map +1 -1
  249. package/dist/src/tools/web-fetch.test.js +8 -4
  250. package/dist/src/tools/web-fetch.test.js.map +1 -1
  251. package/dist/src/tools/web-search.d.ts +4 -5
  252. package/dist/src/tools/web-search.js +47 -51
  253. package/dist/src/tools/web-search.js.map +1 -1
  254. package/dist/src/tools/web-search.test.d.ts +6 -0
  255. package/dist/src/tools/web-search.test.js +139 -0
  256. package/dist/src/tools/web-search.test.js.map +1 -0
  257. package/dist/src/tools/write-file.d.ts +15 -10
  258. package/dist/src/tools/write-file.js +134 -145
  259. package/dist/src/tools/write-file.js.map +1 -1
  260. package/dist/src/tools/write-file.test.js +82 -127
  261. package/dist/src/tools/write-file.test.js.map +1 -1
  262. package/dist/src/utils/browser.js +4 -3
  263. package/dist/src/utils/browser.js.map +1 -1
  264. package/dist/src/utils/editCorrector.js +21 -22
  265. package/dist/src/utils/editCorrector.js.map +1 -1
  266. package/dist/src/utils/editor.js +1 -1
  267. package/dist/src/utils/editor.js.map +1 -1
  268. package/dist/src/utils/editor.test.js +10 -10
  269. package/dist/src/utils/editor.test.js.map +1 -1
  270. package/dist/src/utils/environmentContext.js +2 -2
  271. package/dist/src/utils/environmentContext.js.map +1 -1
  272. package/dist/src/utils/environmentContext.test.js +3 -2
  273. package/dist/src/utils/environmentContext.test.js.map +1 -1
  274. package/dist/src/utils/errorParsing.d.ts +8 -0
  275. package/dist/src/utils/errorParsing.js +93 -0
  276. package/dist/src/utils/errorParsing.js.map +1 -0
  277. package/dist/src/utils/errorParsing.test.d.ts +6 -0
  278. package/dist/src/utils/errorParsing.test.js +172 -0
  279. package/dist/src/utils/errorParsing.test.js.map +1 -0
  280. package/dist/src/utils/fileUtils.d.ts +2 -1
  281. package/dist/src/utils/fileUtils.js +3 -3
  282. package/dist/src/utils/fileUtils.js.map +1 -1
  283. package/dist/src/utils/fileUtils.test.js +18 -17
  284. package/dist/src/utils/fileUtils.test.js.map +1 -1
  285. package/dist/src/utils/filesearch/crawler.d.ts +15 -0
  286. package/dist/src/utils/filesearch/crawler.js +50 -0
  287. package/dist/src/utils/filesearch/crawler.js.map +1 -0
  288. package/dist/src/utils/filesearch/crawler.test.d.ts +6 -0
  289. package/dist/src/utils/filesearch/crawler.test.js +468 -0
  290. package/dist/src/utils/filesearch/crawler.test.js.map +1 -0
  291. package/dist/src/utils/filesearch/fileSearch.d.ts +9 -53
  292. package/dist/src/utils/filesearch/fileSearch.js +63 -118
  293. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  294. package/dist/src/utils/filesearch/fileSearch.test.js +95 -197
  295. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  296. package/dist/src/utils/filesearch/ignore.d.ts +7 -0
  297. package/dist/src/utils/filesearch/ignore.js +25 -0
  298. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  299. package/dist/src/utils/filesearch/ignore.test.js +89 -2
  300. package/dist/src/utils/filesearch/ignore.test.js.map +1 -1
  301. package/dist/src/utils/filesearch/result-cache.d.ts +1 -2
  302. package/dist/src/utils/filesearch/result-cache.js +1 -3
  303. package/dist/src/utils/filesearch/result-cache.js.map +1 -1
  304. package/dist/src/utils/filesearch/result-cache.test.js +3 -4
  305. package/dist/src/utils/filesearch/result-cache.test.js.map +1 -1
  306. package/dist/src/utils/getPty.d.ts +19 -0
  307. package/dist/src/utils/getPty.js +23 -0
  308. package/dist/src/utils/getPty.js.map +1 -0
  309. package/dist/src/utils/memoryDiscovery.js +3 -3
  310. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  311. package/dist/src/utils/memoryDiscovery.test.js +3 -2
  312. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  313. package/dist/src/utils/memoryImportProcessor.js +3 -7
  314. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  315. package/dist/src/utils/memoryImportProcessor.test.js +17 -20
  316. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  317. package/dist/src/utils/nextSpeakerChecker.js +3 -4
  318. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  319. package/dist/src/utils/paths.d.ts +7 -0
  320. package/dist/src/utils/paths.js +15 -0
  321. package/dist/src/utils/paths.js.map +1 -1
  322. package/dist/src/utils/paths.test.js +74 -2
  323. package/dist/src/utils/paths.test.js.map +1 -1
  324. package/dist/src/utils/quotaErrorDetection.d.ts +1 -5
  325. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  326. package/dist/src/utils/retry.js +40 -0
  327. package/dist/src/utils/retry.js.map +1 -1
  328. package/dist/src/utils/schemaValidator.d.ts +1 -8
  329. package/dist/src/utils/schemaValidator.js +1 -32
  330. package/dist/src/utils/schemaValidator.js.map +1 -1
  331. package/dist/src/utils/secure-browser-launcher.js +4 -3
  332. package/dist/src/utils/secure-browser-launcher.js.map +1 -1
  333. package/dist/src/utils/shell-utils.d.ts +39 -0
  334. package/dist/src/utils/shell-utils.js +72 -2
  335. package/dist/src/utils/shell-utils.js.map +1 -1
  336. package/dist/src/utils/shell-utils.test.js +132 -4
  337. package/dist/src/utils/shell-utils.test.js.map +1 -1
  338. package/dist/src/utils/systemEncoding.js +1 -1
  339. package/dist/src/utils/systemEncoding.js.map +1 -1
  340. package/dist/src/utils/systemEncoding.test.js +23 -23
  341. package/dist/src/utils/systemEncoding.test.js.map +1 -1
  342. package/dist/src/utils/user_account.js +58 -48
  343. package/dist/src/utils/user_account.js.map +1 -1
  344. package/dist/src/utils/user_account.test.js +76 -9
  345. package/dist/src/utils/user_account.test.js.map +1 -1
  346. package/dist/src/utils/workspaceContext.d.ts +22 -7
  347. package/dist/src/utils/workspaceContext.js +81 -55
  348. package/dist/src/utils/workspaceContext.js.map +1 -1
  349. package/dist/src/utils/workspaceContext.test.js +221 -137
  350. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  351. package/dist/tsconfig.tsbuildinfo +1 -1
  352. package/package.json +21 -8
@@ -1 +1 @@
1
- {"version":3,"file":"memoryTool.test.js","sourceRoot":"","sources":["../../../src/tools/memoryTool.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryTool.test.js","sourceRoot":"","sources":["../../../src/tools/memoryTool.test.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,6 @@ export declare class ReadFileTool extends BaseDeclarativeTool<ReadFileToolParams
29
29
  private config;
30
30
  static readonly Name: string;
31
31
  constructor(config: Config);
32
- protected validateToolParams(params: ReadFileToolParams): string | null;
32
+ protected validateToolParamValues(params: ReadFileToolParams): string | null;
33
33
  protected createInvocation(params: ReadFileToolParams): ToolInvocation<ReadFileToolParams, ToolResult>;
34
34
  }
@@ -4,17 +4,20 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import path from 'path';
7
- import { SchemaValidator } from '../utils/schemaValidator.js';
8
7
  import { makeRelative, shortenPath } from '../utils/paths.js';
9
- import { BaseDeclarativeTool, BaseToolInvocation, Icon, } from './tools.js';
8
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind, } from './tools.js';
10
9
  import { ToolErrorType } from './tool-error.js';
11
- import { Type } from '@google/genai';
12
10
  import { processSingleFileContent, getSpecificMimeType, } from '../utils/fileUtils.js';
13
11
  import { recordFileOperationMetric, FileOperation, } from '../telemetry/metrics.js';
14
12
  class ReadFileToolInvocation extends BaseToolInvocation {
15
13
  config;
16
14
  constructor(config, params) {
17
- super(params);
15
+ // Add parameter mapping: file_path -> absolute_path
16
+ const mappedParams = {
17
+ ...params,
18
+ absolute_path: params.file_path ?? params.absolute_path, // Support both parameter names, use ?? for empty string handling
19
+ };
20
+ super(mappedParams);
18
21
  this.config = config;
19
22
  }
20
23
  getDescription() {
@@ -25,7 +28,7 @@ class ReadFileToolInvocation extends BaseToolInvocation {
25
28
  return [{ path: this.params.absolute_path, line: this.params.offset }];
26
29
  }
27
30
  async execute() {
28
- const result = await processSingleFileContent(this.params.absolute_path, this.config.getTargetDir(), this.params.offset, this.params.limit);
31
+ const result = await processSingleFileContent(this.params.absolute_path, this.config.getTargetDir(), this.config.getFileSystemService(), this.params.offset, this.params.limit);
29
32
  if (result.error) {
30
33
  // Map error messages to ToolErrorType
31
34
  let errorType;
@@ -99,32 +102,31 @@ export class ReadFileTool extends BaseDeclarativeTool {
99
102
  config;
100
103
  static Name = 'read_file';
101
104
  constructor(config) {
102
- super(ReadFileTool.Name, 'ReadFile', `Reads and returns the content of a specified file. If the file is large, the content will be truncated. The tool's response will clearly indicate if truncation has occurred and will provide details on how to read more of the file using the 'offset' and 'limit' parameters. Handles text, images (PNG, JPG, GIF, WEBP, SVG, BMP), and PDF files. For text files, it can read specific line ranges.`, Icon.FileSearch, {
105
+ super(ReadFileTool.Name, 'ReadFile', `Reads and returns the content of a specified file. If the file is large, the content will be truncated. The tool's response will clearly indicate if truncation has occurred and will provide details on how to read more of the file using the 'offset' and 'limit' parameters. Handles text, images (PNG, JPG, GIF, WEBP, SVG, BMP), and PDF files. For text files, it can read specific line ranges.`, Kind.Read, {
103
106
  properties: {
104
- absolute_path: {
107
+ file_path: {
105
108
  description: "The absolute path to the file to read (e.g., '/home/user/project/file.txt'). Relative paths are not supported. You must provide an absolute path.",
106
- type: Type.STRING,
109
+ type: 'string',
107
110
  },
108
111
  offset: {
109
112
  description: "Optional: For text files, the 0-based line number to start reading from. Requires 'limit' to be set. Use for paginating through large files.",
110
- type: Type.NUMBER,
113
+ type: 'number',
111
114
  },
112
115
  limit: {
113
116
  description: "Optional: For text files, maximum number of lines to read. Use with 'offset' to paginate through large files. If omitted, reads the entire file (if feasible, up to a default limit).",
114
- type: Type.NUMBER,
117
+ type: 'number',
115
118
  },
116
119
  },
117
- required: ['absolute_path'],
118
- type: Type.OBJECT,
120
+ required: ['file_path'],
121
+ type: 'object',
119
122
  });
120
123
  this.config = config;
121
124
  }
122
- validateToolParams(params) {
123
- const errors = SchemaValidator.validate(this.schema.parameters, params);
124
- if (errors) {
125
- return errors;
125
+ validateToolParamValues(params) {
126
+ const filePath = params.file_path ?? params.absolute_path;
127
+ if (!filePath || filePath.trim() === '') {
128
+ return "The 'file_path' parameter must be non-empty.";
126
129
  }
127
- const filePath = params.absolute_path;
128
130
  if (!path.isAbsolute(filePath)) {
129
131
  return `File path must be absolute, but was relative: ${filePath}. You must provide an absolute path.`;
130
132
  }
@@ -140,7 +142,7 @@ export class ReadFileTool extends BaseDeclarativeTool {
140
142
  return 'Limit must be a positive number';
141
143
  }
142
144
  const fileService = this.config.getFileService();
143
- if (fileService.shouldGeminiIgnoreFile(params.absolute_path)) {
145
+ if (fileService.shouldGeminiIgnoreFile(filePath)) {
144
146
  return `File path '${filePath}' is ignored by .geminiignore pattern(s).`;
145
147
  }
146
148
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/tools/read-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/tools/read-file.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import os from 'os';
11
11
  import fs from 'fs';
12
12
  import fsp from 'fs/promises';
13
13
  import { FileDiscoveryService } from '../services/fileDiscoveryService.js';
14
+ import { StandardFileSystemService } from '../services/fileSystemService.js';
14
15
  import { createMockWorkspaceContext } from '../test-utils/mockWorkspaceContext.js';
15
16
  describe('ReadFileTool', () => {
16
17
  let tempRootDir;
@@ -21,6 +22,7 @@ describe('ReadFileTool', () => {
21
22
  tempRootDir = await fsp.mkdtemp(path.join(os.tmpdir(), 'read-file-tool-root-'));
22
23
  const mockConfigInstance = {
23
24
  getFileService: () => new FileDiscoveryService(tempRootDir),
25
+ getFileSystemService: () => new StandardFileSystemService(),
24
26
  getTargetDir: () => tempRootDir,
25
27
  getWorkspaceContext: () => createMockWorkspaceContext(tempRootDir),
26
28
  };
@@ -52,6 +54,12 @@ describe('ReadFileTool', () => {
52
54
  };
53
55
  expect(() => tool.build(params)).toThrow(/File path must be within one of the workspace directories/);
54
56
  });
57
+ it('should throw error if path is empty', () => {
58
+ const params = {
59
+ absolute_path: '',
60
+ };
61
+ expect(() => tool.build(params)).toThrow(/The 'file_path' parameter must be non-empty./);
62
+ });
55
63
  it('should throw error if offset is negative', () => {
56
64
  const params = {
57
65
  absolute_path: path.join(tempRootDir, 'test.txt'),
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.test.js","sourceRoot":"","sources":["../../../src/tools/read-file.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-file.test.js","sourceRoot":"","sources":["../../../src/tools/read-file.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BaseTool, ToolResult } from './tools.js';
6
+ import { BaseDeclarativeTool, ToolInvocation, ToolResult } from './tools.js';
7
7
  import { Config } from '../config/config.js';
8
8
  /**
9
9
  * Parameters for the ReadManyFilesTool.
@@ -51,11 +51,9 @@ export interface ReadManyFilesParams {
51
51
  * within a specified target directory. The content is concatenated.
52
52
  * It is intended to run in an environment with access to the local file system (e.g., a Node.js backend).
53
53
  */
54
- export declare class ReadManyFilesTool extends BaseTool<ReadManyFilesParams, ToolResult> {
54
+ export declare class ReadManyFilesTool extends BaseDeclarativeTool<ReadManyFilesParams, ToolResult> {
55
55
  private config;
56
56
  static readonly Name: string;
57
57
  constructor(config: Config);
58
- validateParams(params: ReadManyFilesParams): string | null;
59
- getDescription(params: ReadManyFilesParams): string;
60
- execute(params: ReadManyFilesParams, signal: AbortSignal): Promise<ToolResult>;
58
+ protected createInvocation(params: ReadManyFilesParams): ToolInvocation<ReadManyFilesParams, ToolResult>;
61
59
  }
@@ -3,14 +3,13 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BaseTool, Icon } from './tools.js';
7
- import { SchemaValidator } from '../utils/schemaValidator.js';
6
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind, } from './tools.js';
8
7
  import { getErrorMessage } from '../utils/errors.js';
8
+ import * as fs from 'fs';
9
9
  import * as path from 'path';
10
- import { glob } from 'glob';
10
+ import { glob, escape } from 'glob';
11
11
  import { getCurrentGeminiMdFilename } from './memoryTool.js';
12
12
  import { detectFileType, processSingleFileContent, DEFAULT_ENCODING, getSpecificMimeType, } from '../utils/fileUtils.js';
13
- import { Type } from '@google/genai';
14
13
  import { DEFAULT_FILE_FILTERING_OPTIONS } from '../config/config.js';
15
14
  import { recordFileOperationMetric, FileOperation, } from '../telemetry/metrics.js';
16
15
  /**
@@ -58,104 +57,34 @@ const DEFAULT_EXCLUDES = [
58
57
  `**/${getCurrentGeminiMdFilename()}`,
59
58
  ];
60
59
  const DEFAULT_OUTPUT_SEPARATOR_FORMAT = '--- {filePath} ---';
61
- /**
62
- * Tool implementation for finding and reading multiple text files from the local filesystem
63
- * within a specified target directory. The content is concatenated.
64
- * It is intended to run in an environment with access to the local file system (e.g., a Node.js backend).
65
- */
66
- export class ReadManyFilesTool extends BaseTool {
60
+ class ReadManyFilesToolInvocation extends BaseToolInvocation {
67
61
  config;
68
- static Name = 'read_many_files';
69
- constructor(config) {
70
- const parameterSchema = {
71
- type: Type.OBJECT,
72
- properties: {
73
- paths: {
74
- type: Type.ARRAY,
75
- items: {
76
- type: Type.STRING,
77
- minLength: '1',
78
- },
79
- minItems: '1',
80
- description: "Required. An array of glob patterns or paths relative to the tool's target directory. Examples: ['src/**/*.ts'], ['README.md', 'docs/']",
81
- },
82
- include: {
83
- type: Type.ARRAY,
84
- items: {
85
- type: Type.STRING,
86
- minLength: '1',
87
- },
88
- description: 'Optional. Additional glob patterns to include. These are merged with `paths`. Example: ["*.test.ts"] to specifically add test files if they were broadly excluded.',
89
- default: [],
90
- },
91
- exclude: {
92
- type: Type.ARRAY,
93
- items: {
94
- type: Type.STRING,
95
- minLength: '1',
96
- },
97
- description: 'Optional. Glob patterns for files/directories to exclude. Added to default excludes if useDefaultExcludes is true. Example: ["**/*.log", "temp/"]',
98
- default: [],
99
- },
100
- recursive: {
101
- type: Type.BOOLEAN,
102
- description: 'Optional. Whether to search recursively (primarily controlled by `**` in glob patterns). Defaults to true.',
103
- default: true,
104
- },
105
- useDefaultExcludes: {
106
- type: Type.BOOLEAN,
107
- description: 'Optional. Whether to apply a list of default exclusion patterns (e.g., node_modules, .git, binary files). Defaults to true.',
108
- default: true,
109
- },
110
- file_filtering_options: {
111
- description: 'Whether to respect ignore patterns from .gitignore or .geminiignore',
112
- type: Type.OBJECT,
113
- properties: {
114
- respect_git_ignore: {
115
- description: 'Optional: Whether to respect .gitignore patterns when listing files. Only available in git repositories. Defaults to true.',
116
- type: Type.BOOLEAN,
117
- },
118
- respect_gemini_ignore: {
119
- description: 'Optional: Whether to respect .geminiignore patterns when listing files. Defaults to true.',
120
- type: Type.BOOLEAN,
121
- },
122
- },
123
- },
124
- },
125
- required: ['paths'],
126
- };
127
- super(ReadManyFilesTool.Name, 'ReadManyFiles', `Reads content from multiple files specified by paths or glob patterns within a configured target directory. For text files, it concatenates their content into a single string. It is primarily designed for text-based files. However, it can also process image (e.g., .png, .jpg) and PDF (.pdf) files if their file names or extensions are explicitly included in the 'paths' argument. For these explicitly requested non-text files, their data is read and included in a format suitable for model consumption (e.g., base64 encoded).
128
-
129
- This tool is useful when you need to understand or analyze a collection of files, such as:
130
- - Getting an overview of a codebase or parts of it (e.g., all TypeScript files in the 'src' directory).
131
- - Finding where specific functionality is implemented if the user asks broad questions about code.
132
- - Reviewing documentation files (e.g., all Markdown files in the 'docs' directory).
133
- - Gathering context from multiple configuration files.
134
- - When the user asks to "read all files in X directory" or "show me the content of all Y files".
135
-
136
- Use this tool when the user's query implies needing the content of several files simultaneously for context, analysis, or summarization. For text files, it uses default UTF-8 encoding and a '--- {filePath} ---' separator between file contents. Ensure paths are relative to the target directory. Glob patterns like 'src/**/*.js' are supported. Avoid using for single files if a more specific single-file reading tool is available, unless the user specifically requests to process a list containing just one file via this tool. Other binary files (not explicitly requested as image/PDF) are generally skipped. Default excludes apply to common non-text files (except for explicitly requested images/PDFs) and large dependency directories unless 'useDefaultExcludes' is false.`, Icon.FileSearch, parameterSchema);
62
+ constructor(config, params) {
63
+ super(params);
137
64
  this.config = config;
138
65
  }
139
- validateParams(params) {
140
- const errors = SchemaValidator.validate(this.schema.parameters, params);
141
- if (errors) {
142
- return errors;
143
- }
144
- return null;
145
- }
146
- getDescription(params) {
147
- const allPatterns = [...params.paths, ...(params.include || [])];
148
- const pathDesc = `using patterns: \`${allPatterns.join('`, `')}\` (within target directory: \`${this.config.getTargetDir()}\`)`;
66
+ getDescription() {
67
+ const allPatterns = [...this.params.paths, ...(this.params.include || [])];
68
+ const pathDesc = `using patterns:
69
+ ${allPatterns.join('`, `')}
70
+ (within target directory:
71
+ ${this.config.getTargetDir()}
72
+ ) `;
149
73
  // Determine the final list of exclusion patterns exactly as in execute method
150
- const paramExcludes = params.exclude || [];
151
- const paramUseDefaultExcludes = params.useDefaultExcludes !== false;
74
+ const paramExcludes = this.params.exclude || [];
75
+ const paramUseDefaultExcludes = this.params.useDefaultExcludes !== false;
152
76
  const geminiIgnorePatterns = this.config
153
77
  .getFileService()
154
78
  .getGeminiIgnorePatterns();
155
79
  const finalExclusionPatternsForDescription = paramUseDefaultExcludes
156
80
  ? [...DEFAULT_EXCLUDES, ...paramExcludes, ...geminiIgnorePatterns]
157
81
  : [...paramExcludes, ...geminiIgnorePatterns];
158
- let excludeDesc = `Excluding: ${finalExclusionPatternsForDescription.length > 0 ? `patterns like \`${finalExclusionPatternsForDescription.slice(0, 2).join('`, `')}${finalExclusionPatternsForDescription.length > 2 ? '...`' : '`'}` : 'none specified'}`;
82
+ let excludeDesc = `Excluding: ${finalExclusionPatternsForDescription.length > 0
83
+ ? `patterns like
84
+ ${finalExclusionPatternsForDescription
85
+ .slice(0, 2)
86
+ .join('`, `')}${finalExclusionPatternsForDescription.length > 2 ? '...`' : '`'}`
87
+ : 'none specified'}`;
159
88
  // Add a note if .geminiignore patterns contributed to the final list of exclusions
160
89
  if (geminiIgnorePatterns.length > 0) {
161
90
  const geminiPatternsInEffect = geminiIgnorePatterns.filter((p) => finalExclusionPatternsForDescription.includes(p)).length;
@@ -165,20 +94,13 @@ Use this tool when the user's query implies needing the content of several files
165
94
  }
166
95
  return `Will attempt to read and concatenate files ${pathDesc}. ${excludeDesc}. File encoding: ${DEFAULT_ENCODING}. Separator: "${DEFAULT_OUTPUT_SEPARATOR_FORMAT.replace('{filePath}', 'path/to/file.ext')}".`;
167
96
  }
168
- async execute(params, signal) {
169
- const validationError = this.validateParams(params);
170
- if (validationError) {
171
- return {
172
- llmContent: `Error: Invalid parameters for ${this.displayName}. Reason: ${validationError}`,
173
- returnDisplay: `## Parameter Error\n\n${validationError}`,
174
- };
175
- }
176
- const { paths: inputPatterns, include = [], exclude = [], useDefaultExcludes = true, } = params;
97
+ async execute(signal) {
98
+ const { paths: inputPatterns, include = [], exclude = [], useDefaultExcludes = true, } = this.params;
177
99
  const defaultFileIgnores = this.config.getFileFilteringOptions() ?? DEFAULT_FILE_FILTERING_OPTIONS;
178
100
  const fileFilteringOptions = {
179
- respectGitIgnore: params.file_filtering_options?.respect_git_ignore ??
101
+ respectGitIgnore: this.params.file_filtering_options?.respect_git_ignore ??
180
102
  defaultFileIgnores.respectGitIgnore, // Use the property from the returned object
181
- respectGeminiIgnore: params.file_filtering_options?.respect_gemini_ignore ??
103
+ respectGeminiIgnore: this.params.file_filtering_options?.respect_gemini_ignore ??
182
104
  defaultFileIgnores.respectGeminiIgnore, // Use the property from the returned object
183
105
  };
184
106
  // Get centralized file discovery service
@@ -201,7 +123,19 @@ Use this tool when the user's query implies needing the content of several files
201
123
  const allEntries = new Set();
202
124
  const workspaceDirs = this.config.getWorkspaceContext().getDirectories();
203
125
  for (const dir of workspaceDirs) {
204
- const entriesInDir = await glob(searchPatterns.map((p) => p.replace(/\\/g, '/')), {
126
+ const processedPatterns = [];
127
+ for (const p of searchPatterns) {
128
+ const normalizedP = p.replace(/\\/g, '/');
129
+ const fullPath = path.join(dir, normalizedP);
130
+ if (fs.existsSync(fullPath)) {
131
+ processedPatterns.push(escape(normalizedP));
132
+ }
133
+ else {
134
+ // The path does not exist or is not a file, so we treat it as a glob pattern.
135
+ processedPatterns.push(normalizedP);
136
+ }
137
+ }
138
+ const entriesInDir = await glob(processedPatterns, {
205
139
  cwd: dir,
206
140
  ignore: effectiveExcludes,
207
141
  nodir: true,
@@ -302,7 +236,7 @@ Use this tool when the user's query implies needing the content of several files
302
236
  }
303
237
  }
304
238
  // Use processSingleFileContent for all file types now
305
- const fileReadResult = await processSingleFileContent(filePath, this.config.getTargetDir());
239
+ const fileReadResult = await processSingleFileContent(filePath, this.config.getTargetDir(), this.config.getFileSystemService());
306
240
  if (fileReadResult.error) {
307
241
  return {
308
242
  success: false,
@@ -418,4 +352,86 @@ Use this tool when the user's query implies needing the content of several files
418
352
  };
419
353
  }
420
354
  }
355
+ /**
356
+ * Tool implementation for finding and reading multiple text files from the local filesystem
357
+ * within a specified target directory. The content is concatenated.
358
+ * It is intended to run in an environment with access to the local file system (e.g., a Node.js backend).
359
+ */
360
+ export class ReadManyFilesTool extends BaseDeclarativeTool {
361
+ config;
362
+ static Name = 'read_many_files';
363
+ constructor(config) {
364
+ const parameterSchema = {
365
+ type: 'object',
366
+ properties: {
367
+ paths: {
368
+ type: 'array',
369
+ items: {
370
+ type: 'string',
371
+ minLength: 1,
372
+ },
373
+ minItems: 1,
374
+ description: "Required. An array of glob patterns or paths relative to the tool's target directory. Examples: ['src/**/*.ts'], ['README.md', 'docs/']",
375
+ },
376
+ include: {
377
+ type: 'array',
378
+ items: {
379
+ type: 'string',
380
+ minLength: 1,
381
+ },
382
+ description: 'Optional. Additional glob patterns to include. These are merged with `paths`. Example: "*.test.ts" to specifically add test files if they were broadly excluded.',
383
+ default: [],
384
+ },
385
+ exclude: {
386
+ type: 'array',
387
+ items: {
388
+ type: 'string',
389
+ minLength: 1,
390
+ },
391
+ description: 'Optional. Glob patterns for files/directories to exclude. Added to default excludes if useDefaultExcludes is true. Example: "**/*.log", "temp/"',
392
+ default: [],
393
+ },
394
+ recursive: {
395
+ type: 'boolean',
396
+ description: 'Optional. Whether to search recursively (primarily controlled by `**` in glob patterns). Defaults to true.',
397
+ default: true,
398
+ },
399
+ useDefaultExcludes: {
400
+ type: 'boolean',
401
+ description: 'Optional. Whether to apply a list of default exclusion patterns (e.g., node_modules, .git, binary files). Defaults to true.',
402
+ default: true,
403
+ },
404
+ file_filtering_options: {
405
+ description: 'Whether to respect ignore patterns from .gitignore or .geminiignore',
406
+ type: 'object',
407
+ properties: {
408
+ respect_git_ignore: {
409
+ description: 'Optional: Whether to respect .gitignore patterns when listing files. Only available in git repositories. Defaults to true.',
410
+ type: 'boolean',
411
+ },
412
+ respect_gemini_ignore: {
413
+ description: 'Optional: Whether to respect .geminiignore patterns when listing files. Defaults to true.',
414
+ type: 'boolean',
415
+ },
416
+ },
417
+ },
418
+ },
419
+ required: ['paths'],
420
+ };
421
+ super(ReadManyFilesTool.Name, 'ReadManyFiles', `Reads content from multiple files specified by paths or glob patterns within a configured target directory. For text files, it concatenates their content into a single string. It is primarily designed for text-based files. However, it can also process image (e.g., .png, .jpg) and PDF (.pdf) files if their file names or extensions are explicitly included in the 'paths' argument. For these explicitly requested non-text files, their data is read and included in a format suitable for model consumption (e.g., base64 encoded).
422
+
423
+ This tool is useful when you need to understand or analyze a collection of files, such as:
424
+ - Getting an overview of a codebase or parts of it (e.g., all TypeScript files in the 'src' directory).
425
+ - Finding where specific functionality is implemented if the user asks broad questions about code.
426
+ - Reviewing documentation files (e.g., all Markdown files in the 'docs' directory).
427
+ - Gathering context from multiple configuration files.
428
+ - When the user asks to "read all files in X directory" or "show me the content of all Y files".
429
+
430
+ Use this tool when the user's query implies needing the content of several files simultaneously for context, analysis, or summarization. For text files, it uses default UTF-8 encoding and a '--- {filePath} ---' separator between file contents. Ensure paths are relative to the target directory. Glob patterns like 'src/**/*.js' are supported. Avoid using for single files if a more specific single-file reading tool is available, unless the user specifically requests to process a list containing just one file via this tool. Other binary files (not explicitly requested as image/PDF) are generally skipped. Default excludes apply to common non-text files (except for explicitly requested images/PDFs) and large dependency directories unless 'useDefaultExcludes' is false.`, Kind.Read, parameterSchema);
431
+ this.config = config;
432
+ }
433
+ createInvocation(params) {
434
+ return new ReadManyFilesToolInvocation(this.config, params);
435
+ }
436
+ }
421
437
  //# sourceMappingURL=read-many-files.js.map