@vybestack/llxprt-code-tools 0.10.0-nightly.260613.1adad3b34

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 (364) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +294 -0
  3. package/dist/.last_build +0 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/__tests__/fixtures/filesystem-tool-fixtures.d.ts +29 -0
  8. package/dist/src/__tests__/fixtures/filesystem-tool-fixtures.js +30 -0
  9. package/dist/src/__tests__/fixtures/filesystem-tool-fixtures.js.map +1 -0
  10. package/dist/src/__tests__/fixtures/key-storage-fixtures.d.ts +39 -0
  11. package/dist/src/__tests__/fixtures/key-storage-fixtures.js +53 -0
  12. package/dist/src/__tests__/fixtures/key-storage-fixtures.js.map +1 -0
  13. package/dist/src/__tests__/fixtures/provider-formatting-fixtures.d.ts +140 -0
  14. package/dist/src/__tests__/fixtures/provider-formatting-fixtures.js +157 -0
  15. package/dist/src/__tests__/fixtures/provider-formatting-fixtures.js.map +1 -0
  16. package/dist/src/__tests__/red-test-helpers.d.ts +14 -0
  17. package/dist/src/__tests__/red-test-helpers.js +18 -0
  18. package/dist/src/__tests__/red-test-helpers.js.map +1 -0
  19. package/dist/src/formatters/IToolFormatter.d.ts +84 -0
  20. package/dist/src/formatters/IToolFormatter.js +6 -0
  21. package/dist/src/formatters/IToolFormatter.js.map +1 -0
  22. package/dist/src/formatters/ToolFormatter.d.ts +94 -0
  23. package/dist/src/formatters/ToolFormatter.js +379 -0
  24. package/dist/src/formatters/ToolFormatter.js.map +1 -0
  25. package/dist/src/formatters/ToolIdStrategy.d.ts +79 -0
  26. package/dist/src/formatters/ToolIdStrategy.js +173 -0
  27. package/dist/src/formatters/ToolIdStrategy.js.map +1 -0
  28. package/dist/src/formatters/doubleEscapeUtils.d.ts +46 -0
  29. package/dist/src/formatters/doubleEscapeUtils.js +223 -0
  30. package/dist/src/formatters/doubleEscapeUtils.js.map +1 -0
  31. package/dist/src/formatters/index.d.ts +21 -0
  32. package/dist/src/formatters/index.js +12 -0
  33. package/dist/src/formatters/index.js.map +1 -0
  34. package/dist/src/formatters/toolIdNormalization.d.ts +28 -0
  35. package/dist/src/formatters/toolIdNormalization.js +97 -0
  36. package/dist/src/formatters/toolIdNormalization.js.map +1 -0
  37. package/dist/src/formatters/toolNameUtils.d.ts +43 -0
  38. package/dist/src/formatters/toolNameUtils.js +143 -0
  39. package/dist/src/formatters/toolNameUtils.js.map +1 -0
  40. package/dist/src/index.d.ts +88 -0
  41. package/dist/src/index.js +68 -0
  42. package/dist/src/index.js.map +1 -0
  43. package/dist/src/interfaces/IAsyncTaskService.d.ts +57 -0
  44. package/dist/src/interfaces/IAsyncTaskService.js +6 -0
  45. package/dist/src/interfaces/IAsyncTaskService.js.map +1 -0
  46. package/dist/src/interfaces/IIdeService.d.ts +62 -0
  47. package/dist/src/interfaces/IIdeService.js +6 -0
  48. package/dist/src/interfaces/IIdeService.js.map +1 -0
  49. package/dist/src/interfaces/ILspService.d.ts +54 -0
  50. package/dist/src/interfaces/ILspService.js +6 -0
  51. package/dist/src/interfaces/ILspService.js.map +1 -0
  52. package/dist/src/interfaces/IMcpToolService.d.ts +47 -0
  53. package/dist/src/interfaces/IMcpToolService.js +6 -0
  54. package/dist/src/interfaces/IMcpToolService.js.map +1 -0
  55. package/dist/src/interfaces/IPromptRegistryService.d.ts +51 -0
  56. package/dist/src/interfaces/IPromptRegistryService.js +6 -0
  57. package/dist/src/interfaces/IPromptRegistryService.js.map +1 -0
  58. package/dist/src/interfaces/ISettingsService.d.ts +50 -0
  59. package/dist/src/interfaces/ISettingsService.js +6 -0
  60. package/dist/src/interfaces/ISettingsService.js.map +1 -0
  61. package/dist/src/interfaces/IShellExecutionService.d.ts +55 -0
  62. package/dist/src/interfaces/IShellExecutionService.js +6 -0
  63. package/dist/src/interfaces/IShellExecutionService.js.map +1 -0
  64. package/dist/src/interfaces/IShellToolHost.d.ts +176 -0
  65. package/dist/src/interfaces/IShellToolHost.js +6 -0
  66. package/dist/src/interfaces/IShellToolHost.js.map +1 -0
  67. package/dist/src/interfaces/ISkillService.d.ts +69 -0
  68. package/dist/src/interfaces/ISkillService.js +6 -0
  69. package/dist/src/interfaces/ISkillService.js.map +1 -0
  70. package/dist/src/interfaces/IStorageService.d.ts +42 -0
  71. package/dist/src/interfaces/IStorageService.js +6 -0
  72. package/dist/src/interfaces/IStorageService.js.map +1 -0
  73. package/dist/src/interfaces/ISubagentService.d.ts +112 -0
  74. package/dist/src/interfaces/ISubagentService.js +6 -0
  75. package/dist/src/interfaces/ISubagentService.js.map +1 -0
  76. package/dist/src/interfaces/ITaskToolHost.d.ts +185 -0
  77. package/dist/src/interfaces/ITaskToolHost.js +6 -0
  78. package/dist/src/interfaces/ITaskToolHost.js.map +1 -0
  79. package/dist/src/interfaces/ITodoService.d.ts +79 -0
  80. package/dist/src/interfaces/ITodoService.js +6 -0
  81. package/dist/src/interfaces/ITodoService.js.map +1 -0
  82. package/dist/src/interfaces/IToolHost.d.ts +91 -0
  83. package/dist/src/interfaces/IToolHost.js +6 -0
  84. package/dist/src/interfaces/IToolHost.js.map +1 -0
  85. package/dist/src/interfaces/IToolKeyStorage.d.ts +62 -0
  86. package/dist/src/interfaces/IToolKeyStorage.js +6 -0
  87. package/dist/src/interfaces/IToolKeyStorage.js.map +1 -0
  88. package/dist/src/interfaces/IToolMessageBus.d.ts +63 -0
  89. package/dist/src/interfaces/IToolMessageBus.js +6 -0
  90. package/dist/src/interfaces/IToolMessageBus.js.map +1 -0
  91. package/dist/src/interfaces/IToolRegistryHost.d.ts +43 -0
  92. package/dist/src/interfaces/IToolRegistryHost.js +6 -0
  93. package/dist/src/interfaces/IToolRegistryHost.js.map +1 -0
  94. package/dist/src/interfaces/IWebSearchService.d.ts +16 -0
  95. package/dist/src/interfaces/IWebSearchService.js +7 -0
  96. package/dist/src/interfaces/IWebSearchService.js.map +1 -0
  97. package/dist/src/interfaces/index.d.ts +33 -0
  98. package/dist/src/interfaces/index.js +6 -0
  99. package/dist/src/interfaces/index.js.map +1 -0
  100. package/dist/src/tools/activate-skill.d.ts +26 -0
  101. package/dist/src/tools/activate-skill.js +121 -0
  102. package/dist/src/tools/activate-skill.js.map +1 -0
  103. package/dist/src/tools/apply-patch.d.ts +65 -0
  104. package/dist/src/tools/apply-patch.js +528 -0
  105. package/dist/src/tools/apply-patch.js.map +1 -0
  106. package/dist/src/tools/ast-edit/ast-config.d.ts +67 -0
  107. package/dist/src/tools/ast-edit/ast-config.js +72 -0
  108. package/dist/src/tools/ast-edit/ast-config.js.map +1 -0
  109. package/dist/src/tools/ast-edit/ast-edit-invocation.d.ts +40 -0
  110. package/dist/src/tools/ast-edit/ast-edit-invocation.js +410 -0
  111. package/dist/src/tools/ast-edit/ast-edit-invocation.js.map +1 -0
  112. package/dist/src/tools/ast-edit/ast-query-extractor.d.ts +21 -0
  113. package/dist/src/tools/ast-edit/ast-query-extractor.js +178 -0
  114. package/dist/src/tools/ast-edit/ast-query-extractor.js.map +1 -0
  115. package/dist/src/tools/ast-edit/ast-read-file-invocation.d.ts +26 -0
  116. package/dist/src/tools/ast-edit/ast-read-file-invocation.js +149 -0
  117. package/dist/src/tools/ast-edit/ast-read-file-invocation.js.map +1 -0
  118. package/dist/src/tools/ast-edit/constants.d.ts +30 -0
  119. package/dist/src/tools/ast-edit/constants.js +36 -0
  120. package/dist/src/tools/ast-edit/constants.js.map +1 -0
  121. package/dist/src/tools/ast-edit/context-collector.d.ts +25 -0
  122. package/dist/src/tools/ast-edit/context-collector.js +115 -0
  123. package/dist/src/tools/ast-edit/context-collector.js.map +1 -0
  124. package/dist/src/tools/ast-edit/context-optimizer.d.ts +29 -0
  125. package/dist/src/tools/ast-edit/context-optimizer.js +86 -0
  126. package/dist/src/tools/ast-edit/context-optimizer.js.map +1 -0
  127. package/dist/src/tools/ast-edit/cross-file-analyzer.d.ts +41 -0
  128. package/dist/src/tools/ast-edit/cross-file-analyzer.js +294 -0
  129. package/dist/src/tools/ast-edit/cross-file-analyzer.js.map +1 -0
  130. package/dist/src/tools/ast-edit/edit-calculator.d.ts +71 -0
  131. package/dist/src/tools/ast-edit/edit-calculator.js +249 -0
  132. package/dist/src/tools/ast-edit/edit-calculator.js.map +1 -0
  133. package/dist/src/tools/ast-edit/edit-helpers.d.ts +22 -0
  134. package/dist/src/tools/ast-edit/edit-helpers.js +36 -0
  135. package/dist/src/tools/ast-edit/edit-helpers.js.map +1 -0
  136. package/dist/src/tools/ast-edit/language-analysis.d.ts +19 -0
  137. package/dist/src/tools/ast-edit/language-analysis.js +123 -0
  138. package/dist/src/tools/ast-edit/language-analysis.js.map +1 -0
  139. package/dist/src/tools/ast-edit/local-context-analyzer.d.ts +84 -0
  140. package/dist/src/tools/ast-edit/local-context-analyzer.js +267 -0
  141. package/dist/src/tools/ast-edit/local-context-analyzer.js.map +1 -0
  142. package/dist/src/tools/ast-edit/repository-context-provider.d.ts +22 -0
  143. package/dist/src/tools/ast-edit/repository-context-provider.js +139 -0
  144. package/dist/src/tools/ast-edit/repository-context-provider.js.map +1 -0
  145. package/dist/src/tools/ast-edit/types.d.ts +155 -0
  146. package/dist/src/tools/ast-edit/types.js +7 -0
  147. package/dist/src/tools/ast-edit/types.js.map +1 -0
  148. package/dist/src/tools/ast-edit/workspace-context-provider.d.ts +22 -0
  149. package/dist/src/tools/ast-edit/workspace-context-provider.js +39 -0
  150. package/dist/src/tools/ast-edit/workspace-context-provider.js.map +1 -0
  151. package/dist/src/tools/ast-edit.d.ts +43 -0
  152. package/dist/src/tools/ast-edit.js +183 -0
  153. package/dist/src/tools/ast-edit.js.map +1 -0
  154. package/dist/src/tools/ast-grep.d.ts +22 -0
  155. package/dist/src/tools/ast-grep.js +291 -0
  156. package/dist/src/tools/ast-grep.js.map +1 -0
  157. package/dist/src/tools/check-async-tasks.d.ts +46 -0
  158. package/dist/src/tools/check-async-tasks.js +241 -0
  159. package/dist/src/tools/check-async-tasks.js.map +1 -0
  160. package/dist/src/tools/codesearch.d.ts +25 -0
  161. package/dist/src/tools/codesearch.js +153 -0
  162. package/dist/src/tools/codesearch.js.map +1 -0
  163. package/dist/src/tools/delete_line_range.d.ts +41 -0
  164. package/dist/src/tools/delete_line_range.js +238 -0
  165. package/dist/src/tools/delete_line_range.js.map +1 -0
  166. package/dist/src/tools/direct-web-fetch.d.ts +22 -0
  167. package/dist/src/tools/direct-web-fetch.js +215 -0
  168. package/dist/src/tools/direct-web-fetch.js.map +1 -0
  169. package/dist/src/tools/edit-utils.d.ts +53 -0
  170. package/dist/src/tools/edit-utils.js +250 -0
  171. package/dist/src/tools/edit-utils.js.map +1 -0
  172. package/dist/src/tools/edit.d.ts +70 -0
  173. package/dist/src/tools/edit.js +816 -0
  174. package/dist/src/tools/edit.js.map +1 -0
  175. package/dist/src/tools/exa-web-search.d.ts +27 -0
  176. package/dist/src/tools/exa-web-search.js +153 -0
  177. package/dist/src/tools/exa-web-search.js.map +1 -0
  178. package/dist/src/tools/glob.d.ts +55 -0
  179. package/dist/src/tools/glob.js +284 -0
  180. package/dist/src/tools/glob.js.map +1 -0
  181. package/dist/src/tools/google-web-fetch.d.ts +34 -0
  182. package/dist/src/tools/google-web-fetch.js +417 -0
  183. package/dist/src/tools/google-web-fetch.js.map +1 -0
  184. package/dist/src/tools/google-web-search-invocation.d.ts +53 -0
  185. package/dist/src/tools/google-web-search-invocation.js +180 -0
  186. package/dist/src/tools/google-web-search-invocation.js.map +1 -0
  187. package/dist/src/tools/google-web-search.d.ts +16 -0
  188. package/dist/src/tools/google-web-search.js +34 -0
  189. package/dist/src/tools/google-web-search.js.map +1 -0
  190. package/dist/src/tools/grep.d.ts +56 -0
  191. package/dist/src/tools/grep.js +883 -0
  192. package/dist/src/tools/grep.js.map +1 -0
  193. package/dist/src/tools/insert_at_line.d.ts +41 -0
  194. package/dist/src/tools/insert_at_line.js +287 -0
  195. package/dist/src/tools/insert_at_line.js.map +1 -0
  196. package/dist/src/tools/list-subagents.d.ts +31 -0
  197. package/dist/src/tools/list-subagents.js +122 -0
  198. package/dist/src/tools/list-subagents.js.map +1 -0
  199. package/dist/src/tools/ls.d.ts +71 -0
  200. package/dist/src/tools/ls.js +238 -0
  201. package/dist/src/tools/ls.js.map +1 -0
  202. package/dist/src/tools/memoryTool.d.ts +66 -0
  203. package/dist/src/tools/memoryTool.js +435 -0
  204. package/dist/src/tools/memoryTool.js.map +1 -0
  205. package/dist/src/tools/modifiable-tool.d.ts +37 -0
  206. package/dist/src/tools/modifiable-tool.js +120 -0
  207. package/dist/src/tools/modifiable-tool.js.map +1 -0
  208. package/dist/src/tools/read-file.d.ts +49 -0
  209. package/dist/src/tools/read-file.js +279 -0
  210. package/dist/src/tools/read-file.js.map +1 -0
  211. package/dist/src/tools/read-many-files.d.ts +60 -0
  212. package/dist/src/tools/read-many-files.js +529 -0
  213. package/dist/src/tools/read-many-files.js.map +1 -0
  214. package/dist/src/tools/read_line_range.d.ts +47 -0
  215. package/dist/src/tools/read_line_range.js +248 -0
  216. package/dist/src/tools/read_line_range.js.map +1 -0
  217. package/dist/src/tools/ripGrep.d.ts +41 -0
  218. package/dist/src/tools/ripGrep.js +395 -0
  219. package/dist/src/tools/ripGrep.js.map +1 -0
  220. package/dist/src/tools/shell.d.ts +60 -0
  221. package/dist/src/tools/shell.js +735 -0
  222. package/dist/src/tools/shell.js.map +1 -0
  223. package/dist/src/tools/structural-analysis.d.ts +27 -0
  224. package/dist/src/tools/structural-analysis.js +1089 -0
  225. package/dist/src/tools/structural-analysis.js.map +1 -0
  226. package/dist/src/tools/stubs.d.ts +10 -0
  227. package/dist/src/tools/stubs.js +6 -0
  228. package/dist/src/tools/stubs.js.map +1 -0
  229. package/dist/src/tools/task.d.ts +41 -0
  230. package/dist/src/tools/task.js +195 -0
  231. package/dist/src/tools/task.js.map +1 -0
  232. package/dist/src/tools/todo-events.d.ts +22 -0
  233. package/dist/src/tools/todo-events.js +24 -0
  234. package/dist/src/tools/todo-events.js.map +1 -0
  235. package/dist/src/tools/todo-pause.d.ts +29 -0
  236. package/dist/src/tools/todo-pause.js +172 -0
  237. package/dist/src/tools/todo-pause.js.map +1 -0
  238. package/dist/src/tools/todo-read.d.ts +18 -0
  239. package/dist/src/tools/todo-read.js +98 -0
  240. package/dist/src/tools/todo-read.js.map +1 -0
  241. package/dist/src/tools/todo-store.d.ts +35 -0
  242. package/dist/src/tools/todo-store.js +124 -0
  243. package/dist/src/tools/todo-store.js.map +1 -0
  244. package/dist/src/tools/todo-write.d.ts +29 -0
  245. package/dist/src/tools/todo-write.js +366 -0
  246. package/dist/src/tools/todo-write.js.map +1 -0
  247. package/dist/src/tools/tool-registry.d.ts +156 -0
  248. package/dist/src/tools/tool-registry.js +623 -0
  249. package/dist/src/tools/tool-registry.js.map +1 -0
  250. package/dist/src/tools/tools.d.ts +403 -0
  251. package/dist/src/tools/tools.js +519 -0
  252. package/dist/src/tools/tools.js.map +1 -0
  253. package/dist/src/tools/write-file.d.ts +45 -0
  254. package/dist/src/tools/write-file.js +320 -0
  255. package/dist/src/tools/write-file.js.map +1 -0
  256. package/dist/src/types/index.d.ts +17 -0
  257. package/dist/src/types/index.js +9 -0
  258. package/dist/src/types/index.js.map +1 -0
  259. package/dist/src/types/provider-content-types.d.ts +56 -0
  260. package/dist/src/types/provider-content-types.js +6 -0
  261. package/dist/src/types/provider-content-types.js.map +1 -0
  262. package/dist/src/types/todo-schemas.d.ts +263 -0
  263. package/dist/src/types/todo-schemas.js +32 -0
  264. package/dist/src/types/todo-schemas.js.map +1 -0
  265. package/dist/src/types/tool-confirmation-types.d.ts +34 -0
  266. package/dist/src/types/tool-confirmation-types.js +29 -0
  267. package/dist/src/types/tool-confirmation-types.js.map +1 -0
  268. package/dist/src/types/tool-context.d.ts +31 -0
  269. package/dist/src/types/tool-context.js +6 -0
  270. package/dist/src/types/tool-context.js.map +1 -0
  271. package/dist/src/types/tool-error.d.ts +69 -0
  272. package/dist/src/types/tool-error.js +94 -0
  273. package/dist/src/types/tool-error.js.map +1 -0
  274. package/dist/src/types/tool-names.d.ts +57 -0
  275. package/dist/src/types/tool-names.js +64 -0
  276. package/dist/src/types/tool-names.js.map +1 -0
  277. package/dist/src/utils/EmojiFilter.d.ts +134 -0
  278. package/dist/src/utils/EmojiFilter.js +370 -0
  279. package/dist/src/utils/EmojiFilter.js.map +1 -0
  280. package/dist/src/utils/ast-grep-utils.d.ts +42 -0
  281. package/dist/src/utils/ast-grep-utils.js +140 -0
  282. package/dist/src/utils/ast-grep-utils.js.map +1 -0
  283. package/dist/src/utils/debugLogger.d.ts +11 -0
  284. package/dist/src/utils/debugLogger.js +16 -0
  285. package/dist/src/utils/debugLogger.js.map +1 -0
  286. package/dist/src/utils/diffOptions.d.ts +14 -0
  287. package/dist/src/utils/diffOptions.js +46 -0
  288. package/dist/src/utils/diffOptions.js.map +1 -0
  289. package/dist/src/utils/editor.d.ts +39 -0
  290. package/dist/src/utils/editor.js +212 -0
  291. package/dist/src/utils/editor.js.map +1 -0
  292. package/dist/src/utils/ensure-dirs.d.ts +10 -0
  293. package/dist/src/utils/ensure-dirs.js +16 -0
  294. package/dist/src/utils/ensure-dirs.js.map +1 -0
  295. package/dist/src/utils/errors.d.ts +59 -0
  296. package/dist/src/utils/errors.js +178 -0
  297. package/dist/src/utils/errors.js.map +1 -0
  298. package/dist/src/utils/fetch.d.ts +11 -0
  299. package/dist/src/utils/fetch.js +74 -0
  300. package/dist/src/utils/fetch.js.map +1 -0
  301. package/dist/src/utils/fileUtils.d.ts +32 -0
  302. package/dist/src/utils/fileUtils.js +363 -0
  303. package/dist/src/utils/fileUtils.js.map +1 -0
  304. package/dist/src/utils/fuzzy-replacer.d.ts +61 -0
  305. package/dist/src/utils/fuzzy-replacer.js +492 -0
  306. package/dist/src/utils/fuzzy-replacer.js.map +1 -0
  307. package/dist/src/utils/gitLineChanges.d.ts +12 -0
  308. package/dist/src/utils/gitLineChanges.js +171 -0
  309. package/dist/src/utils/gitLineChanges.js.map +1 -0
  310. package/dist/src/utils/gitUtils.d.ts +6 -0
  311. package/dist/src/utils/gitUtils.js +31 -0
  312. package/dist/src/utils/gitUtils.js.map +1 -0
  313. package/dist/src/utils/lsp-diagnostics-helper.d.ts +27 -0
  314. package/dist/src/utils/lsp-diagnostics-helper.js +62 -0
  315. package/dist/src/utils/lsp-diagnostics-helper.js.map +1 -0
  316. package/dist/src/utils/mediaUtils.d.ts +38 -0
  317. package/dist/src/utils/mediaUtils.js +22 -0
  318. package/dist/src/utils/mediaUtils.js.map +1 -0
  319. package/dist/src/utils/pathValidation.d.ts +7 -0
  320. package/dist/src/utils/pathValidation.js +39 -0
  321. package/dist/src/utils/pathValidation.js.map +1 -0
  322. package/dist/src/utils/paths.d.ts +7 -0
  323. package/dist/src/utils/paths.js +158 -0
  324. package/dist/src/utils/paths.js.map +1 -0
  325. package/dist/src/utils/resolveTextSearchTarget.d.ts +17 -0
  326. package/dist/src/utils/resolveTextSearchTarget.js +45 -0
  327. package/dist/src/utils/resolveTextSearchTarget.js.map +1 -0
  328. package/dist/src/utils/retry.d.ts +17 -0
  329. package/dist/src/utils/retry.js +185 -0
  330. package/dist/src/utils/retry.js.map +1 -0
  331. package/dist/src/utils/ripgrepPathResolver.d.ts +23 -0
  332. package/dist/src/utils/ripgrepPathResolver.js +179 -0
  333. package/dist/src/utils/ripgrepPathResolver.js.map +1 -0
  334. package/dist/src/utils/safeJsonStringify.d.ts +9 -0
  335. package/dist/src/utils/safeJsonStringify.js +21 -0
  336. package/dist/src/utils/safeJsonStringify.js.map +1 -0
  337. package/dist/src/utils/schemaValidator.d.ts +13 -0
  338. package/dist/src/utils/schemaValidator.js +275 -0
  339. package/dist/src/utils/schemaValidator.js.map +1 -0
  340. package/dist/src/utils/terminalSerializer.d.ts +33 -0
  341. package/dist/src/utils/terminalSerializer.js +6 -0
  342. package/dist/src/utils/terminalSerializer.js.map +1 -0
  343. package/dist/src/utils/todoContextTracker.d.ts +12 -0
  344. package/dist/src/utils/todoContextTracker.js +28 -0
  345. package/dist/src/utils/todoContextTracker.js.map +1 -0
  346. package/dist/src/utils/todoFormatter.d.ts +24 -0
  347. package/dist/src/utils/todoFormatter.js +157 -0
  348. package/dist/src/utils/todoFormatter.js.map +1 -0
  349. package/dist/src/utils/todoReminderService.d.ts +22 -0
  350. package/dist/src/utils/todoReminderService.js +43 -0
  351. package/dist/src/utils/todoReminderService.js.map +1 -0
  352. package/dist/src/utils/tool-key-storage-facade.d.ts +32 -0
  353. package/dist/src/utils/tool-key-storage-facade.js +56 -0
  354. package/dist/src/utils/tool-key-storage-facade.js.map +1 -0
  355. package/dist/src/utils/tool-key-storage-types.d.ts +56 -0
  356. package/dist/src/utils/tool-key-storage-types.js +56 -0
  357. package/dist/src/utils/tool-key-storage-types.js.map +1 -0
  358. package/dist/src/utils/toolOutputLimiter.d.ts +29 -0
  359. package/dist/src/utils/toolOutputLimiter.js +107 -0
  360. package/dist/src/utils/toolOutputLimiter.js.map +1 -0
  361. package/dist/src/utils/unicodeUtils.d.ts +55 -0
  362. package/dist/src/utils/unicodeUtils.js +129 -0
  363. package/dist/src/utils/unicodeUtils.js.map +1 -0
  364. package/package.json +75 -0
@@ -0,0 +1,140 @@
1
+ export declare const TOOL_FORMATTER_FIXTURES: {
2
+ readonly capturedAt: "2026-06-08T23:45:10.324Z";
3
+ readonly anthropicToolDeclaration: readonly [{
4
+ readonly name: "read_file";
5
+ readonly description: "Read the contents of a file";
6
+ readonly input_schema: {
7
+ readonly type: "object";
8
+ readonly properties: {
9
+ readonly file_path: {
10
+ readonly type: "string";
11
+ readonly description: "Path to the file";
12
+ };
13
+ readonly offset: {
14
+ readonly type: "number";
15
+ readonly description: "Line offset";
16
+ };
17
+ };
18
+ readonly required: readonly ["file_path"];
19
+ };
20
+ }, {
21
+ readonly name: "write_file";
22
+ readonly description: "Write content to a file";
23
+ readonly input_schema: {
24
+ readonly type: "object";
25
+ readonly properties: {
26
+ readonly file_path: {
27
+ readonly type: "string";
28
+ };
29
+ readonly content: {
30
+ readonly type: "string";
31
+ };
32
+ };
33
+ readonly required: readonly ["file_path", "content"];
34
+ };
35
+ }];
36
+ readonly openAIToolDeclaration: readonly [{
37
+ readonly type: "function";
38
+ readonly function: {
39
+ readonly name: "read_file";
40
+ readonly description: "Read the contents of a file";
41
+ readonly parameters: {
42
+ readonly type: "object";
43
+ readonly properties: {
44
+ readonly file_path: {
45
+ readonly type: "string";
46
+ readonly description: "Path to the file";
47
+ };
48
+ readonly offset: {
49
+ readonly type: "number";
50
+ readonly description: "Line offset";
51
+ };
52
+ };
53
+ readonly required: readonly ["file_path"];
54
+ };
55
+ };
56
+ }, {
57
+ readonly type: "function";
58
+ readonly function: {
59
+ readonly name: "write_file";
60
+ readonly description: "Write content to a file";
61
+ readonly parameters: {
62
+ readonly type: "object";
63
+ readonly properties: {
64
+ readonly file_path: {
65
+ readonly type: "string";
66
+ };
67
+ readonly content: {
68
+ readonly type: "string";
69
+ };
70
+ };
71
+ readonly required: readonly ["file_path", "content"];
72
+ };
73
+ };
74
+ }];
75
+ readonly toolIdNormalizationCases: readonly [{
76
+ readonly input: "call_abc123";
77
+ readonly openAI: "call_abc123";
78
+ readonly history: "hist_tool_abc123";
79
+ readonly anthropic: "toolu_abc123";
80
+ }, {
81
+ readonly input: "hist_tool_abc123";
82
+ readonly openAI: "call_abc123";
83
+ readonly history: "hist_tool_abc123";
84
+ readonly anthropic: "toolu_abc123";
85
+ }, {
86
+ readonly input: "toolu_abc123";
87
+ readonly openAI: "call_abc123";
88
+ readonly history: "hist_tool_abc123";
89
+ readonly anthropic: "toolu_abc123";
90
+ }, {
91
+ readonly input: "";
92
+ readonly openAI: "call_";
93
+ readonly history: "hist_tool_";
94
+ readonly anthropic: "toolu_empty";
95
+ }, {
96
+ readonly input: "call_with/special!chars";
97
+ readonly openAI: "call_withspecialchars";
98
+ readonly history: "hist_tool_withspecialchars";
99
+ readonly anthropic: "toolu_with-special-chars";
100
+ }];
101
+ readonly doubleEscapeCases: readonly [{
102
+ readonly input: "{\"key\": \"value\"}";
103
+ readonly shouldUseDoubleEscape_openai: false;
104
+ readonly shouldUseDoubleEscape_qwen: true;
105
+ readonly detection: {
106
+ readonly isDoubleEscaped: false;
107
+ readonly correctedValue: {
108
+ readonly key: "value";
109
+ };
110
+ readonly originalValue: "{\"key\": \"value\"}";
111
+ readonly detectionDetails: {};
112
+ };
113
+ readonly detectedInChunk: false;
114
+ }, {
115
+ readonly input: "\"{\\\"key\\\": \\\"value\\\"}\"";
116
+ readonly shouldUseDoubleEscape_qwen: true;
117
+ readonly detection: {
118
+ readonly isDoubleEscaped: true;
119
+ readonly correctedValue: {
120
+ readonly key: "value";
121
+ };
122
+ readonly originalValue: "\"{\\\"key\\\": \\\"value\\\"}\"";
123
+ readonly detectionDetails: {
124
+ readonly firstParse: "{\"key\": \"value\"}";
125
+ readonly secondParse: {
126
+ readonly key: "value";
127
+ };
128
+ };
129
+ };
130
+ readonly detectedInChunk: false;
131
+ }, {
132
+ readonly input: "{\"count\": \"42\"}";
133
+ readonly processed_openai: {
134
+ readonly count: "42";
135
+ };
136
+ readonly processed_qwen: {
137
+ readonly count: "42";
138
+ };
139
+ }];
140
+ };
@@ -0,0 +1,157 @@
1
+ export const TOOL_FORMATTER_FIXTURES = {
2
+ capturedAt: '2026-06-08T23:45:10.324Z',
3
+ anthropicToolDeclaration: [
4
+ {
5
+ name: 'read_file',
6
+ description: 'Read the contents of a file',
7
+ input_schema: {
8
+ type: 'object',
9
+ properties: {
10
+ file_path: {
11
+ type: 'string',
12
+ description: 'Path to the file',
13
+ },
14
+ offset: {
15
+ type: 'number',
16
+ description: 'Line offset',
17
+ },
18
+ },
19
+ required: ['file_path'],
20
+ },
21
+ },
22
+ {
23
+ name: 'write_file',
24
+ description: 'Write content to a file',
25
+ input_schema: {
26
+ type: 'object',
27
+ properties: {
28
+ file_path: {
29
+ type: 'string',
30
+ },
31
+ content: {
32
+ type: 'string',
33
+ },
34
+ },
35
+ required: ['file_path', 'content'],
36
+ },
37
+ },
38
+ ],
39
+ openAIToolDeclaration: [
40
+ {
41
+ type: 'function',
42
+ function: {
43
+ name: 'read_file',
44
+ description: 'Read the contents of a file',
45
+ parameters: {
46
+ type: 'object',
47
+ properties: {
48
+ file_path: {
49
+ type: 'string',
50
+ description: 'Path to the file',
51
+ },
52
+ offset: {
53
+ type: 'number',
54
+ description: 'Line offset',
55
+ },
56
+ },
57
+ required: ['file_path'],
58
+ },
59
+ },
60
+ },
61
+ {
62
+ type: 'function',
63
+ function: {
64
+ name: 'write_file',
65
+ description: 'Write content to a file',
66
+ parameters: {
67
+ type: 'object',
68
+ properties: {
69
+ file_path: {
70
+ type: 'string',
71
+ },
72
+ content: {
73
+ type: 'string',
74
+ },
75
+ },
76
+ required: ['file_path', 'content'],
77
+ },
78
+ },
79
+ },
80
+ ],
81
+ toolIdNormalizationCases: [
82
+ {
83
+ input: 'call_abc123',
84
+ openAI: 'call_abc123',
85
+ history: 'hist_tool_abc123',
86
+ anthropic: 'toolu_abc123',
87
+ },
88
+ {
89
+ input: 'hist_tool_abc123',
90
+ openAI: 'call_abc123',
91
+ history: 'hist_tool_abc123',
92
+ anthropic: 'toolu_abc123',
93
+ },
94
+ {
95
+ input: 'toolu_abc123',
96
+ openAI: 'call_abc123',
97
+ history: 'hist_tool_abc123',
98
+ anthropic: 'toolu_abc123',
99
+ },
100
+ {
101
+ input: '',
102
+ openAI: 'call_',
103
+ history: 'hist_tool_',
104
+ anthropic: 'toolu_empty',
105
+ },
106
+ {
107
+ input: 'call_with/special!chars',
108
+ openAI: 'call_withspecialchars',
109
+ history: 'hist_tool_withspecialchars',
110
+ anthropic: 'toolu_with-special-chars',
111
+ },
112
+ ],
113
+ doubleEscapeCases: [
114
+ {
115
+ input: '{"key": "value"}',
116
+ shouldUseDoubleEscape_openai: false,
117
+ shouldUseDoubleEscape_qwen: true,
118
+ detection: {
119
+ isDoubleEscaped: false,
120
+ correctedValue: {
121
+ key: 'value',
122
+ },
123
+ originalValue: '{"key": "value"}',
124
+ detectionDetails: {},
125
+ },
126
+ detectedInChunk: false,
127
+ },
128
+ {
129
+ input: '"{\\"key\\": \\"value\\"}"',
130
+ shouldUseDoubleEscape_qwen: true,
131
+ detection: {
132
+ isDoubleEscaped: true,
133
+ correctedValue: {
134
+ key: 'value',
135
+ },
136
+ originalValue: '"{\\"key\\": \\"value\\"}"',
137
+ detectionDetails: {
138
+ firstParse: '{"key": "value"}',
139
+ secondParse: {
140
+ key: 'value',
141
+ },
142
+ },
143
+ },
144
+ detectedInChunk: false,
145
+ },
146
+ {
147
+ input: '{"count": "42"}',
148
+ processed_openai: {
149
+ count: '42',
150
+ },
151
+ processed_qwen: {
152
+ count: '42',
153
+ },
154
+ },
155
+ ],
156
+ };
157
+ //# sourceMappingURL=provider-formatting-fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-formatting-fixtures.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/provider-formatting-fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @plan:PLAN-20260608-ISSUE1585.P10
3
+ * @requirement:REQ-BEHAVIORAL-TDD
4
+ */
5
+ /**
6
+ * @license
7
+ * Copyright 2025 Google LLC
8
+ * SPDX-License-Identifier: Apache-2.0
9
+ */
10
+ import type { ToolResult } from '../index.js';
11
+ export interface ExecutableTool {
12
+ execute(...args: readonly unknown[]): Promise<ToolResult>;
13
+ }
14
+ export declare function executeToolForBehavioralAssertion(tool: ExecutableTool, ...args: readonly unknown[]): Promise<ToolResult>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @plan:PLAN-20260608-ISSUE1585.P10
3
+ * @requirement:REQ-BEHAVIORAL-TDD
4
+ */
5
+ export async function executeToolForBehavioralAssertion(tool, ...args) {
6
+ try {
7
+ return await tool.execute(...args);
8
+ }
9
+ catch (error) {
10
+ const message = error instanceof Error ? error.message : String(error);
11
+ return {
12
+ llmContent: '',
13
+ returnDisplay: '',
14
+ error: { message },
15
+ };
16
+ }
17
+ }
18
+ //# sourceMappingURL=red-test-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"red-test-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/red-test-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,IAAoB,EACpB,GAAG,IAAwB;IAE3B,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,EAAE,OAAO,EAAE;SACnB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @plan:PLAN-20260608-ISSUE1585.P05
3
+ * @requirement:REQ-API-001, REQ-TEMPORARY-INTERFACES
4
+ */
5
+ /**
6
+ * @license
7
+ * Copyright 2025 Vybestack LLC
8
+ * SPDX-License-Identifier: Apache-2.0
9
+ */
10
+ /**
11
+ * Package-local tool formatter interface.
12
+ *
13
+ * Defines the contract for converting tools between provider formats.
14
+ * This interface is self-contained with zero core dependencies.
15
+ *
16
+ * The types used here are simplified from core to avoid importing
17
+ * core-specific types. Implementations will bridge to core types
18
+ * via adapters.
19
+ */
20
+ /** Supported tool serialization formats. */
21
+ export type ToolFormat = 'openai' | 'anthropic' | 'deepseek' | 'qwen' | 'kimi' | 'mistral' | 'hermes' | 'xml' | 'llama' | 'gemma';
22
+ /** An OpenAI-format function declaration. */
23
+ export interface OpenAIFunction {
24
+ name: string;
25
+ description?: string;
26
+ parameters: object;
27
+ }
28
+ /** An OpenAI-format tool wrapper. */
29
+ export interface OpenAITool {
30
+ type: 'function';
31
+ function: OpenAIFunction;
32
+ }
33
+ /** An OpenAI Responses API tool representation. */
34
+ export interface ResponsesTool {
35
+ type: 'function';
36
+ name: string;
37
+ description?: string | null;
38
+ parameters: Record<string, unknown> | null;
39
+ strict: boolean | null;
40
+ }
41
+ /** A generic tool representation for formatter input. */
42
+ export interface FormatterTool {
43
+ function: {
44
+ name: string;
45
+ description?: string;
46
+ parameters: Record<string, unknown>;
47
+ };
48
+ }
49
+ /** A tool call block produced by format parsing. */
50
+ export interface ToolCallBlock {
51
+ type: 'tool_call';
52
+ id: string;
53
+ name: string;
54
+ description?: string;
55
+ parameters: unknown;
56
+ }
57
+ /**
58
+ * Interface for converting tools between provider formats.
59
+ *
60
+ * Implementations handle format-specific serialization while
61
+ * consuming the generic FormatterTool shape.
62
+ */
63
+ export interface IToolFormatter {
64
+ /**
65
+ * Convert tools to the specified provider format.
66
+ * @param tools - Tools in generic format.
67
+ * @param format - Target provider format.
68
+ * @returns Tools in provider-specific format.
69
+ */
70
+ toProviderFormat(tools: FormatterTool[], format: ToolFormat): unknown;
71
+ /**
72
+ * Parse a raw provider tool call into tool call blocks.
73
+ * @param rawToolCall - Raw tool call from provider.
74
+ * @param format - Provider format of the raw call.
75
+ * @returns Parsed tool call blocks.
76
+ */
77
+ fromProviderFormat(rawToolCall: unknown, format: ToolFormat): ToolCallBlock[];
78
+ /**
79
+ * Convert tools to OpenAI Responses API format.
80
+ * @param tools - Tools in generic format.
81
+ * @returns Tools in Responses API format.
82
+ */
83
+ toResponsesTool(tools: FormatterTool[]): ResponsesTool[];
84
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @plan:PLAN-20260608-ISSUE1585.P05
3
+ * @requirement:REQ-API-001, REQ-TEMPORARY-INTERFACES
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=IToolFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IToolFormatter.js","sourceRoot":"","sources":["../../../src/formatters/IToolFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @plan:PLAN-20260608-ISSUE1585.P05
3
+ * @requirement:REQ-API-001, REQ-TEMPORARY-INTERFACES
4
+ */
5
+ /**
6
+ * @license
7
+ * Copyright 2025 Vybestack LLC
8
+ * SPDX-License-Identifier: Apache-2.0
9
+ */
10
+ /**
11
+ * Package-local tool formatter implementation.
12
+ *
13
+ * Converts tools between provider formats (OpenAI, Anthropic, etc.)
14
+ * using the self-contained IToolFormatter interface. Zero core dependencies.
15
+ */
16
+ import type { IToolFormatter, ToolFormat, OpenAITool, ResponsesTool, FormatterTool, ToolCallBlock } from './IToolFormatter.js';
17
+ /**
18
+ * Converts Gemini-format tool declarations to various provider formats.
19
+ *
20
+ * This implementation is self-contained with no core logger dependency.
21
+ * Logging is replaced with silent operation.
22
+ */
23
+ export declare class ToolFormatter implements IToolFormatter {
24
+ /**
25
+ * Convert Gemini format tools directly to OpenAI format.
26
+ */
27
+ convertGeminiToOpenAI(geminiTools?: Array<{
28
+ functionDeclarations: Array<{
29
+ name: string;
30
+ description?: string;
31
+ parametersJsonSchema?: unknown;
32
+ }>;
33
+ }>): OpenAITool[] | undefined;
34
+ /**
35
+ * Convert Gemini format tools directly to Anthropic format.
36
+ */
37
+ convertGeminiToAnthropic(geminiTools?: Array<{
38
+ functionDeclarations: Array<{
39
+ name: string;
40
+ description?: string;
41
+ parametersJsonSchema?: unknown;
42
+ }>;
43
+ }>): Array<{
44
+ name: string;
45
+ description: string;
46
+ input_schema: {
47
+ type: 'object';
48
+ [key: string]: unknown;
49
+ };
50
+ }> | undefined;
51
+ /**
52
+ * Convert Gemini format tools to the specified provider format.
53
+ */
54
+ convertGeminiToFormat(geminiTools?: Array<{
55
+ functionDeclarations: Array<{
56
+ name: string;
57
+ description?: string;
58
+ parametersJsonSchema?: unknown;
59
+ }>;
60
+ }>, format?: ToolFormat): unknown;
61
+ /**
62
+ * Converts Gemini schema format to standard JSON Schema format.
63
+ */
64
+ convertGeminiSchemaToStandard(schema: unknown): unknown;
65
+ private convertSchemaProperties;
66
+ private convertSchemaItems;
67
+ private normalizeSchemaType;
68
+ private ensureRequiredForObjects;
69
+ private normalizeEnumValues;
70
+ private convertStringLengthConstraints;
71
+ toProviderFormat(tools: FormatterTool[], format: ToolFormat): unknown;
72
+ fromProviderFormat(rawToolCall: unknown, format: ToolFormat): ToolCallBlock[];
73
+ private fromOpenAIFormat;
74
+ private fromAnthropicFormat;
75
+ private fromTextParserFormat;
76
+ /**
77
+ * Handles streaming tool call accumulation for OpenAI-compatible providers.
78
+ */
79
+ accumulateStreamingToolCall(deltaToolCall: {
80
+ index?: number;
81
+ id?: string;
82
+ type?: string;
83
+ function?: {
84
+ name?: string;
85
+ arguments?: string;
86
+ };
87
+ }, accumulatedToolCalls: ToolCallBlock[], format: ToolFormat): void;
88
+ private accumulateOpenAIStreamingToolCall;
89
+ private accumulateStreamingArguments;
90
+ /**
91
+ * Formats tools for the OpenAI Responses API.
92
+ */
93
+ toResponsesTool(tools: FormatterTool[]): ResponsesTool[];
94
+ }