@nanocollective/nanocoder 1.19.2 → 1.20.0

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 (1114) hide show
  1. package/README.md +16 -4
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/{ai-sdk-client.d.ts → ai-sdk-client/ai-sdk-client.d.ts} +1 -24
  4. package/dist/ai-sdk-client/ai-sdk-client.d.ts.map +1 -0
  5. package/dist/ai-sdk-client/ai-sdk-client.js +122 -0
  6. package/dist/ai-sdk-client/ai-sdk-client.js.map +1 -0
  7. package/dist/ai-sdk-client/chat/chat-handler.d.ts +17 -0
  8. package/dist/ai-sdk-client/chat/chat-handler.d.ts.map +1 -0
  9. package/dist/ai-sdk-client/chat/chat-handler.js +235 -0
  10. package/dist/ai-sdk-client/chat/chat-handler.js.map +1 -0
  11. package/dist/ai-sdk-client/chat/streaming-handler.d.ts +27 -0
  12. package/dist/ai-sdk-client/chat/streaming-handler.d.ts.map +1 -0
  13. package/dist/ai-sdk-client/chat/streaming-handler.js +83 -0
  14. package/dist/ai-sdk-client/chat/streaming-handler.js.map +1 -0
  15. package/dist/ai-sdk-client/chat/tool-processor.d.ts +10 -0
  16. package/dist/ai-sdk-client/chat/tool-processor.d.ts.map +1 -0
  17. package/dist/ai-sdk-client/chat/tool-processor.js +53 -0
  18. package/dist/ai-sdk-client/chat/tool-processor.js.map +1 -0
  19. package/dist/ai-sdk-client/converters/message-converter.d.ts +18 -0
  20. package/dist/ai-sdk-client/converters/message-converter.d.ts.map +1 -0
  21. package/dist/ai-sdk-client/converters/message-converter.js +100 -0
  22. package/dist/ai-sdk-client/converters/message-converter.js.map +1 -0
  23. package/dist/ai-sdk-client/converters/tool-converter.d.ts +26 -0
  24. package/dist/ai-sdk-client/converters/tool-converter.d.ts.map +1 -0
  25. package/dist/ai-sdk-client/converters/tool-converter.js +32 -0
  26. package/dist/ai-sdk-client/converters/tool-converter.js.map +1 -0
  27. package/dist/ai-sdk-client/error-handling/error-extractor.d.ts +6 -0
  28. package/dist/ai-sdk-client/error-handling/error-extractor.d.ts.map +1 -0
  29. package/dist/ai-sdk-client/error-handling/error-extractor.js +15 -0
  30. package/dist/ai-sdk-client/error-handling/error-extractor.js.map +1 -0
  31. package/dist/ai-sdk-client/error-handling/error-parser.d.ts +6 -0
  32. package/dist/ai-sdk-client/error-handling/error-parser.d.ts.map +1 -0
  33. package/dist/ai-sdk-client/error-handling/error-parser.js +131 -0
  34. package/dist/ai-sdk-client/error-handling/error-parser.js.map +1 -0
  35. package/dist/ai-sdk-client/index.d.ts +5 -0
  36. package/dist/ai-sdk-client/index.d.ts.map +1 -0
  37. package/dist/ai-sdk-client/index.js +6 -0
  38. package/dist/ai-sdk-client/index.js.map +1 -0
  39. package/dist/ai-sdk-client/providers/provider-factory.d.ts +8 -0
  40. package/dist/ai-sdk-client/providers/provider-factory.d.ts.map +1 -0
  41. package/dist/ai-sdk-client/providers/provider-factory.js +31 -0
  42. package/dist/ai-sdk-client/providers/provider-factory.js.map +1 -0
  43. package/dist/ai-sdk-client/types.d.ts +10 -0
  44. package/dist/ai-sdk-client/types.d.ts.map +1 -0
  45. package/dist/ai-sdk-client/types.js +2 -0
  46. package/dist/ai-sdk-client/types.js.map +1 -0
  47. package/dist/app/App.d.ts +3 -0
  48. package/dist/app/App.d.ts.map +1 -0
  49. package/dist/app/App.js +432 -0
  50. package/dist/app/App.js.map +1 -0
  51. package/dist/app/components/app-container.d.ts +24 -0
  52. package/dist/app/components/app-container.d.ts.map +1 -0
  53. package/dist/app/components/app-container.js +16 -0
  54. package/dist/app/components/app-container.js.map +1 -0
  55. package/dist/app/components/chat-history.d.ts +23 -0
  56. package/dist/app/components/chat-history.d.ts.map +1 -0
  57. package/dist/app/components/chat-history.js +17 -0
  58. package/dist/app/components/chat-history.js.map +1 -0
  59. package/dist/app/components/chat-input.d.ts +30 -0
  60. package/dist/app/components/chat-input.d.ts.map +1 -0
  61. package/dist/app/components/chat-input.js +31 -0
  62. package/dist/app/components/chat-input.js.map +1 -0
  63. package/dist/app/components/modal-selectors.d.ts +37 -0
  64. package/dist/app/components/modal-selectors.d.ts.map +1 -0
  65. package/dist/app/components/modal-selectors.js +37 -0
  66. package/dist/app/components/modal-selectors.js.map +1 -0
  67. package/dist/app/helpers.d.ts +10 -0
  68. package/dist/app/helpers.d.ts.map +1 -0
  69. package/dist/app/helpers.js +38 -0
  70. package/dist/app/helpers.js.map +1 -0
  71. package/dist/app/index.d.ts +4 -0
  72. package/dist/app/index.d.ts.map +1 -0
  73. package/dist/app/index.js +4 -0
  74. package/dist/app/index.js.map +1 -0
  75. package/dist/app/types.d.ts +33 -0
  76. package/dist/app/types.d.ts.map +1 -0
  77. package/dist/app/types.js +2 -0
  78. package/dist/app/types.js.map +1 -0
  79. package/dist/app/utils/{appUtils.d.ts → app-util.d.ts} +5 -1
  80. package/dist/app/utils/app-util.d.ts.map +1 -0
  81. package/dist/app/utils/app-util.js +301 -0
  82. package/dist/app/utils/app-util.js.map +1 -0
  83. package/dist/app/utils/{conversationState.d.ts → conversation-state.d.ts} +2 -1
  84. package/dist/app/utils/conversation-state.d.ts.map +1 -0
  85. package/dist/app/utils/{conversationState.js → conversation-state.js} +5 -1
  86. package/dist/app/utils/conversation-state.js.map +1 -0
  87. package/dist/cli.js +2 -13
  88. package/dist/cli.js.map +1 -1
  89. package/dist/client-factory.d.ts.map +1 -1
  90. package/dist/client-factory.js +3 -2
  91. package/dist/client-factory.js.map +1 -1
  92. package/dist/commands/checkpoint.d.ts.map +1 -1
  93. package/dist/commands/checkpoint.js +2 -5
  94. package/dist/commands/checkpoint.js.map +1 -1
  95. package/dist/commands/clear.d.ts.map +1 -1
  96. package/dist/commands/clear.js +1 -1
  97. package/dist/commands/clear.js.map +1 -1
  98. package/dist/commands/custom-commands.d.ts.map +1 -1
  99. package/dist/commands/custom-commands.js +4 -4
  100. package/dist/commands/custom-commands.js.map +1 -1
  101. package/dist/commands/exit.d.ts.map +1 -1
  102. package/dist/commands/exit.js +1 -1
  103. package/dist/commands/exit.js.map +1 -1
  104. package/dist/commands/export.d.ts.map +1 -1
  105. package/dist/commands/export.js +3 -3
  106. package/dist/commands/export.js.map +1 -1
  107. package/dist/commands/help.d.ts.map +1 -1
  108. package/dist/commands/help.js +27 -10
  109. package/dist/commands/help.js.map +1 -1
  110. package/dist/commands/index.d.ts +11 -10
  111. package/dist/commands/index.d.ts.map +1 -1
  112. package/dist/commands/index.js +11 -10
  113. package/dist/commands/index.js.map +1 -1
  114. package/dist/commands/init.d.ts.map +1 -1
  115. package/dist/commands/init.js +5 -5
  116. package/dist/commands/init.js.map +1 -1
  117. package/dist/commands/lsp.d.ts.map +1 -1
  118. package/dist/commands/lsp.js +9 -9
  119. package/dist/commands/lsp.js.map +1 -1
  120. package/dist/commands/mcp.d.ts.map +1 -1
  121. package/dist/commands/mcp.js +5 -5
  122. package/dist/commands/mcp.js.map +1 -1
  123. package/dist/commands/model-database.d.ts.map +1 -1
  124. package/dist/commands/model-database.js +13 -12
  125. package/dist/commands/model-database.js.map +1 -1
  126. package/dist/commands/model.d.ts.map +1 -1
  127. package/dist/commands/model.js.map +1 -1
  128. package/dist/commands/provider.d.ts.map +1 -1
  129. package/dist/commands/provider.js.map +1 -1
  130. package/dist/commands/setup-config.d.ts.map +1 -1
  131. package/dist/commands/setup-config.js +2 -2
  132. package/dist/commands/setup-config.js.map +1 -1
  133. package/dist/commands/status.d.ts.map +1 -1
  134. package/dist/commands/status.js.map +1 -1
  135. package/dist/commands/theme.d.ts.map +1 -1
  136. package/dist/commands/theme.js.map +1 -1
  137. package/dist/commands/title-shape.d.ts +3 -0
  138. package/dist/commands/title-shape.d.ts.map +1 -0
  139. package/dist/commands/title-shape.js +54 -0
  140. package/dist/commands/title-shape.js.map +1 -0
  141. package/dist/commands/update.d.ts.map +1 -1
  142. package/dist/commands/update.js +2 -4
  143. package/dist/commands/update.js.map +1 -1
  144. package/dist/commands/usage.d.ts.map +1 -1
  145. package/dist/commands/usage.js +1 -1
  146. package/dist/commands/usage.js.map +1 -1
  147. package/dist/commands.d.ts +2 -2
  148. package/dist/commands.d.ts.map +1 -1
  149. package/dist/commands.js +10 -3
  150. package/dist/commands.js.map +1 -1
  151. package/dist/components/assistant-message.d.ts.map +1 -1
  152. package/dist/components/assistant-message.js +2 -2
  153. package/dist/components/assistant-message.js.map +1 -1
  154. package/dist/components/bash-progress.d.ts +12 -0
  155. package/dist/components/bash-progress.d.ts.map +1 -0
  156. package/dist/components/bash-progress.js +67 -0
  157. package/dist/components/bash-progress.js.map +1 -0
  158. package/dist/components/cancelling-indicator.js +1 -1
  159. package/dist/components/cancelling-indicator.js.map +1 -1
  160. package/dist/components/chat-queue.d.ts.map +1 -1
  161. package/dist/components/chat-queue.js.map +1 -1
  162. package/dist/components/checkpoint-display.d.ts.map +1 -1
  163. package/dist/components/checkpoint-display.js +3 -3
  164. package/dist/components/checkpoint-display.js.map +1 -1
  165. package/dist/components/checkpoint-selector.d.ts.map +1 -1
  166. package/dist/components/checkpoint-selector.js +7 -7
  167. package/dist/components/checkpoint-selector.js.map +1 -1
  168. package/dist/components/development-mode-indicator.d.ts +1 -1
  169. package/dist/components/development-mode-indicator.d.ts.map +1 -1
  170. package/dist/components/development-mode-indicator.js +1 -1
  171. package/dist/components/development-mode-indicator.js.map +1 -1
  172. package/dist/components/message-box.d.ts +14 -0
  173. package/dist/components/message-box.d.ts.map +1 -0
  174. package/dist/components/message-box.js +33 -0
  175. package/dist/components/message-box.js.map +1 -0
  176. package/dist/components/model-selector.d.ts.map +1 -1
  177. package/dist/components/model-selector.js +6 -6
  178. package/dist/components/model-selector.js.map +1 -1
  179. package/dist/components/provider-selector.d.ts.map +1 -1
  180. package/dist/components/provider-selector.js +5 -5
  181. package/dist/components/provider-selector.js.map +1 -1
  182. package/dist/components/security-disclaimer.d.ts.map +1 -1
  183. package/dist/components/security-disclaimer.js +4 -4
  184. package/dist/components/security-disclaimer.js.map +1 -1
  185. package/dist/components/status.d.ts +3 -0
  186. package/dist/components/status.d.ts.map +1 -1
  187. package/dist/components/status.js +18 -6
  188. package/dist/components/status.js.map +1 -1
  189. package/dist/components/theme-selector.d.ts.map +1 -1
  190. package/dist/components/theme-selector.js +14 -6
  191. package/dist/components/theme-selector.js.map +1 -1
  192. package/dist/components/title-shape-selector.d.ts +8 -0
  193. package/dist/components/title-shape-selector.d.ts.map +1 -0
  194. package/dist/components/title-shape-selector.js +108 -0
  195. package/dist/components/title-shape-selector.js.map +1 -0
  196. package/dist/components/tool-confirmation.d.ts.map +1 -1
  197. package/dist/components/tool-confirmation.js +9 -6
  198. package/dist/components/tool-confirmation.js.map +1 -1
  199. package/dist/components/tool-execution-indicator.d.ts.map +1 -1
  200. package/dist/components/tool-execution-indicator.js +1 -1
  201. package/dist/components/tool-execution-indicator.js.map +1 -1
  202. package/dist/components/tool-message.d.ts +1 -0
  203. package/dist/components/tool-message.d.ts.map +1 -1
  204. package/dist/components/tool-message.js +4 -4
  205. package/dist/components/tool-message.js.map +1 -1
  206. package/dist/components/ui/styled-title.d.ts +27 -0
  207. package/dist/components/ui/styled-title.d.ts.map +1 -0
  208. package/dist/components/ui/styled-title.js +182 -0
  209. package/dist/components/ui/styled-title.js.map +1 -0
  210. package/dist/components/ui/titled-box.d.ts +14 -3
  211. package/dist/components/ui/titled-box.d.ts.map +1 -1
  212. package/dist/components/ui/titled-box.js +20 -5
  213. package/dist/components/ui/titled-box.js.map +1 -1
  214. package/dist/components/usage/usage-display.d.ts.map +1 -1
  215. package/dist/components/usage/usage-display.js +3 -3
  216. package/dist/components/usage/usage-display.js.map +1 -1
  217. package/dist/components/user-input.d.ts.map +1 -1
  218. package/dist/components/user-input.js +35 -39
  219. package/dist/components/user-input.js.map +1 -1
  220. package/dist/components/user-message.d.ts.map +1 -1
  221. package/dist/components/user-message.js +14 -3
  222. package/dist/components/user-message.js.map +1 -1
  223. package/dist/components/vscode-extension-prompt.d.ts.map +1 -1
  224. package/dist/components/vscode-extension-prompt.js +7 -6
  225. package/dist/components/vscode-extension-prompt.js.map +1 -1
  226. package/dist/components/welcome-message.d.ts.map +1 -1
  227. package/dist/components/welcome-message.js +10 -10
  228. package/dist/components/welcome-message.js.map +1 -1
  229. package/dist/config/index.d.ts.map +1 -1
  230. package/dist/config/index.js +33 -19
  231. package/dist/config/index.js.map +1 -1
  232. package/dist/config/preferences.d.ts +4 -0
  233. package/dist/config/preferences.d.ts.map +1 -1
  234. package/dist/config/preferences.js +19 -1
  235. package/dist/config/preferences.js.map +1 -1
  236. package/dist/config/themes.d.ts.map +1 -1
  237. package/dist/config/themes.js +132 -32
  238. package/dist/config/themes.js.map +1 -1
  239. package/dist/constants.d.ts +85 -0
  240. package/dist/constants.d.ts.map +1 -0
  241. package/dist/constants.js +109 -0
  242. package/dist/constants.js.map +1 -0
  243. package/dist/custom-commands/loader.d.ts.map +1 -1
  244. package/dist/custom-commands/loader.js +3 -2
  245. package/dist/custom-commands/loader.js.map +1 -1
  246. package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts +36 -0
  247. package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts.map +1 -0
  248. package/dist/hooks/chat-handler/conversation/conversation-loop.js +312 -0
  249. package/dist/hooks/chat-handler/conversation/conversation-loop.js.map +1 -0
  250. package/dist/hooks/chat-handler/conversation/tool-executor.d.ts +12 -0
  251. package/dist/hooks/chat-handler/conversation/tool-executor.d.ts.map +1 -0
  252. package/dist/hooks/chat-handler/conversation/tool-executor.js +63 -0
  253. package/dist/hooks/chat-handler/conversation/tool-executor.js.map +1 -0
  254. package/dist/hooks/chat-handler/index.d.ts +9 -0
  255. package/dist/hooks/chat-handler/index.d.ts.map +1 -0
  256. package/dist/hooks/chat-handler/index.js +9 -0
  257. package/dist/hooks/chat-handler/index.js.map +1 -0
  258. package/dist/hooks/chat-handler/state/streaming-state.d.ts +6 -0
  259. package/dist/hooks/chat-handler/state/streaming-state.d.ts.map +1 -0
  260. package/dist/hooks/chat-handler/state/streaming-state.js +14 -0
  261. package/dist/hooks/chat-handler/state/streaming-state.js.map +1 -0
  262. package/dist/hooks/{useChatHandler.d.ts → chat-handler/types.d.ts} +8 -9
  263. package/dist/hooks/chat-handler/types.d.ts.map +1 -0
  264. package/dist/hooks/chat-handler/types.js +2 -0
  265. package/dist/hooks/chat-handler/types.js.map +1 -0
  266. package/dist/hooks/chat-handler/useChatHandler.d.ts +7 -0
  267. package/dist/hooks/chat-handler/useChatHandler.d.ts.map +1 -0
  268. package/dist/hooks/chat-handler/useChatHandler.js +141 -0
  269. package/dist/hooks/chat-handler/useChatHandler.js.map +1 -0
  270. package/dist/hooks/chat-handler/utils/context-checker.d.ts +15 -0
  271. package/dist/hooks/chat-handler/utils/context-checker.d.ts.map +1 -0
  272. package/dist/hooks/chat-handler/utils/context-checker.js +68 -0
  273. package/dist/hooks/chat-handler/utils/context-checker.js.map +1 -0
  274. package/dist/hooks/chat-handler/utils/message-helpers.d.ts +11 -0
  275. package/dist/hooks/chat-handler/utils/message-helpers.d.ts.map +1 -0
  276. package/dist/hooks/chat-handler/utils/message-helpers.js +20 -0
  277. package/dist/hooks/chat-handler/utils/message-helpers.js.map +1 -0
  278. package/dist/hooks/chat-handler/utils/tool-filters.d.ts +17 -0
  279. package/dist/hooks/chat-handler/utils/tool-filters.d.ts.map +1 -0
  280. package/dist/hooks/chat-handler/utils/tool-filters.js +50 -0
  281. package/dist/hooks/chat-handler/utils/tool-filters.js.map +1 -0
  282. package/dist/hooks/useAppHandlers.d.ts +60 -0
  283. package/dist/hooks/useAppHandlers.d.ts.map +1 -0
  284. package/dist/hooks/useAppHandlers.js +141 -0
  285. package/dist/hooks/useAppHandlers.js.map +1 -0
  286. package/dist/hooks/useAppInitialization.d.ts +3 -3
  287. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  288. package/dist/hooks/useAppInitialization.js +9 -9
  289. package/dist/hooks/useAppInitialization.js.map +1 -1
  290. package/dist/hooks/useAppState.d.ts +12 -9
  291. package/dist/hooks/useAppState.d.ts.map +1 -1
  292. package/dist/hooks/useAppState.js +42 -17
  293. package/dist/hooks/useAppState.js.map +1 -1
  294. package/dist/hooks/useDirectoryTrust.js +3 -3
  295. package/dist/hooks/useDirectoryTrust.js.map +1 -1
  296. package/dist/hooks/useInputState.d.ts.map +1 -1
  297. package/dist/hooks/useInputState.js +29 -8
  298. package/dist/hooks/useInputState.js.map +1 -1
  299. package/dist/hooks/useModeHandlers.d.ts +8 -4
  300. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  301. package/dist/hooks/useModeHandlers.js +31 -14
  302. package/dist/hooks/useModeHandlers.js.map +1 -1
  303. package/dist/hooks/useNonInteractiveMode.d.ts +24 -0
  304. package/dist/hooks/useNonInteractiveMode.d.ts.map +1 -0
  305. package/dist/hooks/useNonInteractiveMode.js +96 -0
  306. package/dist/hooks/useNonInteractiveMode.js.map +1 -0
  307. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  308. package/dist/hooks/useTerminalWidth.js +4 -3
  309. package/dist/hooks/useTerminalWidth.js.map +1 -1
  310. package/dist/hooks/useTheme.d.ts.map +1 -1
  311. package/dist/hooks/useTheme.js.map +1 -1
  312. package/dist/hooks/useTitleShape.d.ts +17 -0
  313. package/dist/hooks/useTitleShape.d.ts.map +1 -0
  314. package/dist/hooks/useTitleShape.js +23 -0
  315. package/dist/hooks/useTitleShape.js.map +1 -0
  316. package/dist/hooks/useToolHandler.d.ts +4 -3
  317. package/dist/hooks/useToolHandler.d.ts.map +1 -1
  318. package/dist/hooks/useToolHandler.js +49 -16
  319. package/dist/hooks/useToolHandler.js.map +1 -1
  320. package/dist/hooks/useUIState.d.ts +1 -1
  321. package/dist/hooks/useUIState.d.ts.map +1 -1
  322. package/dist/hooks/useUIState.js.map +1 -1
  323. package/dist/hooks/useVSCodeServer.d.ts +4 -2
  324. package/dist/hooks/useVSCodeServer.d.ts.map +1 -1
  325. package/dist/hooks/useVSCodeServer.js +9 -7
  326. package/dist/hooks/useVSCodeServer.js.map +1 -1
  327. package/dist/init/agents-template-generator.d.ts.map +1 -1
  328. package/dist/init/agents-template-generator.js +2 -1
  329. package/dist/init/agents-template-generator.js.map +1 -1
  330. package/dist/init/file-scanner.d.ts +6 -5
  331. package/dist/init/file-scanner.d.ts.map +1 -1
  332. package/dist/init/file-scanner.js +32 -56
  333. package/dist/init/file-scanner.js.map +1 -1
  334. package/dist/init/language-detector.d.ts.map +1 -1
  335. package/dist/init/language-detector.js +3 -2
  336. package/dist/init/language-detector.js.map +1 -1
  337. package/dist/lsp/index.d.ts +2 -2
  338. package/dist/lsp/index.d.ts.map +1 -1
  339. package/dist/lsp/index.js.map +1 -1
  340. package/dist/lsp/lsp-client.d.ts.map +1 -1
  341. package/dist/lsp/lsp-client.js +18 -8
  342. package/dist/lsp/lsp-client.js.map +1 -1
  343. package/dist/lsp/lsp-manager.d.ts +2 -1
  344. package/dist/lsp/lsp-manager.d.ts.map +1 -1
  345. package/dist/lsp/lsp-manager.js +20 -6
  346. package/dist/lsp/lsp-manager.js.map +1 -1
  347. package/dist/lsp/server-discovery.d.ts +25 -1
  348. package/dist/lsp/server-discovery.d.ts.map +1 -1
  349. package/dist/lsp/server-discovery.js +147 -13
  350. package/dist/lsp/server-discovery.js.map +1 -1
  351. package/dist/markdown-parser/index.d.ts +1 -1
  352. package/dist/markdown-parser/index.d.ts.map +1 -1
  353. package/dist/markdown-parser/index.js +9 -4
  354. package/dist/markdown-parser/index.js.map +1 -1
  355. package/dist/markdown-parser/table-parser.d.ts.map +1 -1
  356. package/dist/markdown-parser/table-parser.js +3 -2
  357. package/dist/markdown-parser/table-parser.js.map +1 -1
  358. package/dist/mcp/mcp-client.d.ts +1 -2
  359. package/dist/mcp/mcp-client.d.ts.map +1 -1
  360. package/dist/mcp/mcp-client.js +1 -1
  361. package/dist/mcp/mcp-client.js.map +1 -1
  362. package/dist/mcp/transport-factory.d.ts.map +1 -1
  363. package/dist/mcp/transport-factory.js +73 -3
  364. package/dist/mcp/transport-factory.js.map +1 -1
  365. package/dist/model-database/model-database.d.ts.map +1 -1
  366. package/dist/model-database/model-database.js +4 -2
  367. package/dist/model-database/model-database.js.map +1 -1
  368. package/dist/model-database/model-fetcher.d.ts.map +1 -1
  369. package/dist/model-database/model-fetcher.js +5 -3
  370. package/dist/model-database/model-fetcher.js.map +1 -1
  371. package/dist/models/models-cache.d.ts +2 -2
  372. package/dist/models/models-cache.d.ts.map +1 -1
  373. package/dist/models/models-cache.js +22 -19
  374. package/dist/models/models-cache.js.map +1 -1
  375. package/dist/models/models-dev-client.d.ts.map +1 -1
  376. package/dist/models/models-dev-client.js +12 -8
  377. package/dist/models/models-dev-client.js.map +1 -1
  378. package/dist/prompt-history.d.ts +4 -2
  379. package/dist/prompt-history.d.ts.map +1 -1
  380. package/dist/prompt-history.js +26 -17
  381. package/dist/prompt-history.js.map +1 -1
  382. package/dist/services/bash-executor.d.ts +24 -0
  383. package/dist/services/bash-executor.d.ts.map +1 -0
  384. package/dist/services/bash-executor.js +98 -0
  385. package/dist/services/bash-executor.js.map +1 -0
  386. package/dist/services/checkpoint-manager.d.ts.map +1 -1
  387. package/dist/services/checkpoint-manager.js +31 -20
  388. package/dist/services/checkpoint-manager.js.map +1 -1
  389. package/dist/services/file-snapshot.d.ts.map +1 -1
  390. package/dist/services/file-snapshot.js +96 -39
  391. package/dist/services/file-snapshot.js.map +1 -1
  392. package/dist/test-utils/render-with-theme.d.ts +1 -1
  393. package/dist/test-utils/render-with-theme.d.ts.map +1 -1
  394. package/dist/test-utils/render-with-theme.js +14 -8
  395. package/dist/test-utils/render-with-theme.js.map +1 -1
  396. package/dist/tokenization/tokenizers/anthropic-tokenizer.d.ts.map +1 -1
  397. package/dist/tokenization/tokenizers/anthropic-tokenizer.js.map +1 -1
  398. package/dist/tokenization/tokenizers/llama-tokenizer.d.ts.map +1 -1
  399. package/dist/tokenization/tokenizers/llama-tokenizer.js.map +1 -1
  400. package/dist/tokenization/tokenizers/openai-tokenizer.d.ts.map +1 -1
  401. package/dist/tokenization/tokenizers/openai-tokenizer.js.map +1 -1
  402. package/dist/tools/execute-bash.d.ts +16 -0
  403. package/dist/tools/execute-bash.d.ts.map +1 -1
  404. package/dist/tools/execute-bash.js +66 -70
  405. package/dist/tools/execute-bash.js.map +1 -1
  406. package/dist/tools/fetch-url.d.ts +2 -16
  407. package/dist/tools/fetch-url.d.ts.map +1 -1
  408. package/dist/tools/fetch-url.js +7 -6
  409. package/dist/tools/fetch-url.js.map +1 -1
  410. package/dist/tools/find-files.d.ts +2 -18
  411. package/dist/tools/find-files.d.ts.map +1 -1
  412. package/dist/tools/find-files.js +53 -61
  413. package/dist/tools/find-files.js.map +1 -1
  414. package/dist/tools/git/git-branch-suggest.d.ts +9 -0
  415. package/dist/tools/git/git-branch-suggest.d.ts.map +1 -0
  416. package/dist/tools/git/git-branch-suggest.js +326 -0
  417. package/dist/tools/git/git-branch-suggest.js.map +1 -0
  418. package/dist/tools/git/git-create-pr.d.ts +9 -0
  419. package/dist/tools/git/git-create-pr.d.ts.map +1 -0
  420. package/dist/tools/git/git-create-pr.js +380 -0
  421. package/dist/tools/git/git-create-pr.js.map +1 -0
  422. package/dist/tools/git/git-smart-commit.d.ts +9 -0
  423. package/dist/tools/git/git-smart-commit.d.ts.map +1 -0
  424. package/dist/tools/git/git-smart-commit.js +280 -0
  425. package/dist/tools/git/git-smart-commit.js.map +1 -0
  426. package/dist/tools/git/git-status-enhanced.d.ts +9 -0
  427. package/dist/tools/git/git-status-enhanced.d.ts.map +1 -0
  428. package/dist/tools/git/git-status-enhanced.js +282 -0
  429. package/dist/tools/git/git-status-enhanced.js.map +1 -0
  430. package/dist/tools/git/index.d.ts +16 -0
  431. package/dist/tools/git/index.d.ts.map +1 -0
  432. package/dist/tools/git/index.js +15 -0
  433. package/dist/tools/git/index.js.map +1 -0
  434. package/dist/tools/git/types.d.ts +103 -0
  435. package/dist/tools/git/types.d.ts.map +1 -0
  436. package/dist/tools/git/types.js +7 -0
  437. package/dist/tools/git/types.js.map +1 -0
  438. package/dist/tools/git/utils.d.ts +65 -0
  439. package/dist/tools/git/utils.d.ts.map +1 -0
  440. package/dist/tools/git/utils.js +509 -0
  441. package/dist/tools/git/utils.js.map +1 -0
  442. package/dist/tools/index.d.ts +2 -1
  443. package/dist/tools/index.d.ts.map +1 -1
  444. package/dist/tools/index.js +15 -0
  445. package/dist/tools/index.js.map +1 -1
  446. package/dist/tools/list-directory.d.ts +3 -0
  447. package/dist/tools/list-directory.d.ts.map +1 -0
  448. package/dist/tools/list-directory.js +214 -0
  449. package/dist/tools/list-directory.js.map +1 -0
  450. package/dist/tools/lsp-get-diagnostics.d.ts +2 -10
  451. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
  452. package/dist/tools/lsp-get-diagnostics.js +42 -5
  453. package/dist/tools/lsp-get-diagnostics.js.map +1 -1
  454. package/dist/tools/read-file.d.ts.map +1 -1
  455. package/dist/tools/read-file.js +112 -53
  456. package/dist/tools/read-file.js.map +1 -1
  457. package/dist/tools/search-file-contents.d.ts +2 -20
  458. package/dist/tools/search-file-contents.d.ts.map +1 -1
  459. package/dist/tools/search-file-contents.js +36 -47
  460. package/dist/tools/search-file-contents.js.map +1 -1
  461. package/dist/tools/string-replace.d.ts +2 -18
  462. package/dist/tools/string-replace.d.ts.map +1 -1
  463. package/dist/tools/string-replace.js +149 -36
  464. package/dist/tools/string-replace.js.map +1 -1
  465. package/dist/tools/tool-manager.d.ts +3 -4
  466. package/dist/tools/tool-manager.d.ts.map +1 -1
  467. package/dist/tools/tool-manager.js +6 -7
  468. package/dist/tools/tool-manager.js.map +1 -1
  469. package/dist/tools/tool-registry.d.ts +9 -2
  470. package/dist/tools/tool-registry.d.ts.map +1 -1
  471. package/dist/tools/tool-registry.js +11 -1
  472. package/dist/tools/tool-registry.js.map +1 -1
  473. package/dist/tools/web-search.d.ts.map +1 -1
  474. package/dist/tools/web-search.js +9 -7
  475. package/dist/tools/web-search.js.map +1 -1
  476. package/dist/tools/write-file.d.ts +2 -24
  477. package/dist/tools/write-file.d.ts.map +1 -1
  478. package/dist/tools/write-file.js +34 -5
  479. package/dist/tools/write-file.js.map +1 -1
  480. package/dist/types/app.d.ts +5 -4
  481. package/dist/types/app.d.ts.map +1 -1
  482. package/dist/types/components.d.ts +0 -3
  483. package/dist/types/components.d.ts.map +1 -1
  484. package/dist/types/config.d.ts +2 -0
  485. package/dist/types/config.d.ts.map +1 -1
  486. package/dist/types/core.d.ts +15 -1
  487. package/dist/types/core.d.ts.map +1 -1
  488. package/dist/types/core.js.map +1 -1
  489. package/dist/types/index.d.ts +7 -7
  490. package/dist/types/index.d.ts.map +1 -1
  491. package/dist/types/index.js +7 -7
  492. package/dist/types/index.js.map +1 -1
  493. package/dist/types/markdown-parser.d.ts +1 -1
  494. package/dist/types/markdown-parser.d.ts.map +1 -1
  495. package/dist/types/ui.d.ts +6 -3
  496. package/dist/types/ui.d.ts.map +1 -1
  497. package/dist/usage/calculator.d.ts.map +1 -1
  498. package/dist/usage/calculator.js +5 -5
  499. package/dist/usage/calculator.js.map +1 -1
  500. package/dist/usage/storage.d.ts.map +1 -1
  501. package/dist/usage/storage.js +4 -5
  502. package/dist/usage/storage.js.map +1 -1
  503. package/dist/usage/tracker.d.ts.map +1 -1
  504. package/dist/usage/tracker.js +2 -1
  505. package/dist/usage/tracker.js.map +1 -1
  506. package/dist/utils/bounded-map.d.ts +83 -0
  507. package/dist/utils/bounded-map.d.ts.map +1 -0
  508. package/dist/utils/bounded-map.js +148 -0
  509. package/dist/utils/bounded-map.js.map +1 -0
  510. package/dist/utils/file-autocomplete.d.ts +0 -6
  511. package/dist/utils/file-autocomplete.d.ts.map +1 -1
  512. package/dist/utils/file-autocomplete.js +8 -46
  513. package/dist/utils/file-autocomplete.js.map +1 -1
  514. package/dist/utils/file-cache.d.ts +39 -0
  515. package/dist/utils/file-cache.d.ts.map +1 -0
  516. package/dist/utils/file-cache.js +153 -0
  517. package/dist/utils/file-cache.js.map +1 -0
  518. package/dist/utils/file-content-loader.d.ts +0 -5
  519. package/dist/utils/file-content-loader.d.ts.map +1 -1
  520. package/dist/utils/file-content-loader.js +5 -35
  521. package/dist/utils/file-content-loader.js.map +1 -1
  522. package/dist/utils/file-mention-parser.d.ts +6 -0
  523. package/dist/utils/file-mention-parser.d.ts.map +1 -1
  524. package/dist/utils/file-mention-parser.js +9 -38
  525. package/dist/utils/file-mention-parser.js.map +1 -1
  526. package/dist/utils/file-type-detector.d.ts +17 -0
  527. package/dist/utils/file-type-detector.d.ts.map +1 -0
  528. package/dist/utils/file-type-detector.js +72 -0
  529. package/dist/utils/file-type-detector.js.map +1 -0
  530. package/dist/utils/fuzzy-matching.js +4 -4
  531. package/dist/utils/fuzzy-matching.js.map +1 -1
  532. package/dist/utils/gitignore-loader.d.ts +21 -0
  533. package/dist/utils/gitignore-loader.d.ts.map +1 -0
  534. package/dist/utils/gitignore-loader.js +62 -0
  535. package/dist/utils/gitignore-loader.js.map +1 -0
  536. package/dist/utils/gradient-utils.d.ts +25 -0
  537. package/dist/utils/gradient-utils.d.ts.map +1 -0
  538. package/dist/utils/gradient-utils.js +45 -0
  539. package/dist/utils/gradient-utils.js.map +1 -0
  540. package/dist/utils/indentation-normalizer.d.ts +10 -0
  541. package/dist/utils/indentation-normalizer.d.ts.map +1 -0
  542. package/dist/utils/indentation-normalizer.js +65 -0
  543. package/dist/utils/indentation-normalizer.js.map +1 -0
  544. package/dist/utils/inline-diff.d.ts +15 -0
  545. package/dist/utils/inline-diff.d.ts.map +1 -0
  546. package/dist/utils/inline-diff.js +51 -0
  547. package/dist/utils/inline-diff.js.map +1 -0
  548. package/dist/utils/installation-detector.js +1 -1
  549. package/dist/utils/installation-detector.js.map +1 -1
  550. package/dist/utils/logging/config.d.ts.map +1 -1
  551. package/dist/utils/logging/config.js +1 -2
  552. package/dist/utils/logging/config.js.map +1 -1
  553. package/dist/utils/logging/correlation.d.ts +0 -18
  554. package/dist/utils/logging/correlation.d.ts.map +1 -1
  555. package/dist/utils/logging/correlation.js +3 -34
  556. package/dist/utils/logging/correlation.js.map +1 -1
  557. package/dist/utils/logging/formatters.d.ts.map +1 -1
  558. package/dist/utils/logging/formatters.js +0 -3
  559. package/dist/utils/logging/formatters.js.map +1 -1
  560. package/dist/utils/logging/health-monitor/alerts/alert-manager.d.ts +9 -0
  561. package/dist/utils/logging/health-monitor/alerts/alert-manager.d.ts.map +1 -0
  562. package/dist/utils/logging/health-monitor/alerts/alert-manager.js +66 -0
  563. package/dist/utils/logging/health-monitor/alerts/alert-manager.js.map +1 -0
  564. package/dist/utils/logging/health-monitor/checks/configuration-check.d.ts +9 -0
  565. package/dist/utils/logging/health-monitor/checks/configuration-check.d.ts.map +1 -0
  566. package/dist/utils/logging/health-monitor/checks/configuration-check.js +39 -0
  567. package/dist/utils/logging/health-monitor/checks/configuration-check.js.map +1 -0
  568. package/dist/utils/logging/health-monitor/checks/logging-check.d.ts +9 -0
  569. package/dist/utils/logging/health-monitor/checks/logging-check.d.ts.map +1 -0
  570. package/dist/utils/logging/health-monitor/checks/logging-check.js +55 -0
  571. package/dist/utils/logging/health-monitor/checks/logging-check.js.map +1 -0
  572. package/dist/utils/logging/health-monitor/checks/memory-check.d.ts +9 -0
  573. package/dist/utils/logging/health-monitor/checks/memory-check.d.ts.map +1 -0
  574. package/dist/utils/logging/health-monitor/checks/memory-check.js +61 -0
  575. package/dist/utils/logging/health-monitor/checks/memory-check.js.map +1 -0
  576. package/dist/utils/logging/health-monitor/checks/performance-check.d.ts +9 -0
  577. package/dist/utils/logging/health-monitor/checks/performance-check.d.ts.map +1 -0
  578. package/dist/utils/logging/health-monitor/checks/performance-check.js +48 -0
  579. package/dist/utils/logging/health-monitor/checks/performance-check.js.map +1 -0
  580. package/dist/utils/logging/health-monitor/checks/request-check.d.ts +9 -0
  581. package/dist/utils/logging/health-monitor/checks/request-check.d.ts.map +1 -0
  582. package/dist/utils/logging/health-monitor/checks/request-check.js +65 -0
  583. package/dist/utils/logging/health-monitor/checks/request-check.js.map +1 -0
  584. package/dist/utils/logging/health-monitor/core/health-check-runner.d.ts +9 -0
  585. package/dist/utils/logging/health-monitor/core/health-check-runner.d.ts.map +1 -0
  586. package/dist/utils/logging/health-monitor/core/health-check-runner.js +116 -0
  587. package/dist/utils/logging/health-monitor/core/health-check-runner.js.map +1 -0
  588. package/dist/utils/logging/health-monitor/core/health-monitor.d.ts +49 -0
  589. package/dist/utils/logging/health-monitor/core/health-monitor.d.ts.map +1 -0
  590. package/dist/utils/logging/health-monitor/core/health-monitor.js +297 -0
  591. package/dist/utils/logging/health-monitor/core/health-monitor.js.map +1 -0
  592. package/dist/utils/logging/health-monitor/core/scoring.d.ts +13 -0
  593. package/dist/utils/logging/health-monitor/core/scoring.d.ts.map +1 -0
  594. package/dist/utils/logging/health-monitor/core/scoring.js +63 -0
  595. package/dist/utils/logging/health-monitor/core/scoring.js.map +1 -0
  596. package/dist/utils/logging/health-monitor/index.d.ts +7 -0
  597. package/dist/utils/logging/health-monitor/index.d.ts.map +1 -0
  598. package/dist/utils/logging/health-monitor/index.js +7 -0
  599. package/dist/utils/logging/health-monitor/index.js.map +1 -0
  600. package/dist/utils/logging/health-monitor/instances.d.ts +29 -0
  601. package/dist/utils/logging/health-monitor/instances.d.ts.map +1 -0
  602. package/dist/utils/logging/health-monitor/instances.js +44 -0
  603. package/dist/utils/logging/health-monitor/instances.js.map +1 -0
  604. package/dist/utils/logging/health-monitor/middleware/http-middleware.d.ts +29 -0
  605. package/dist/utils/logging/health-monitor/middleware/http-middleware.d.ts.map +1 -0
  606. package/dist/utils/logging/health-monitor/middleware/http-middleware.js +55 -0
  607. package/dist/utils/logging/health-monitor/middleware/http-middleware.js.map +1 -0
  608. package/dist/utils/logging/{health-monitor.d.ts → health-monitor/types.d.ts} +2 -95
  609. package/dist/utils/logging/health-monitor/types.d.ts.map +1 -0
  610. package/dist/utils/logging/health-monitor/types.js +5 -0
  611. package/dist/utils/logging/health-monitor/types.js.map +1 -0
  612. package/dist/utils/logging/index.d.ts +21 -28
  613. package/dist/utils/logging/index.d.ts.map +1 -1
  614. package/dist/utils/logging/index.js +40 -45
  615. package/dist/utils/logging/index.js.map +1 -1
  616. package/dist/utils/logging/log-method-factory.d.ts.map +1 -1
  617. package/dist/utils/logging/log-method-factory.js +0 -4
  618. package/dist/utils/logging/log-method-factory.js.map +1 -1
  619. package/dist/utils/logging/log-query/aggregation/aggregator.d.ts +13 -0
  620. package/dist/utils/logging/log-query/aggregation/aggregator.d.ts.map +1 -0
  621. package/dist/utils/logging/log-query/aggregation/aggregator.js +119 -0
  622. package/dist/utils/logging/log-query/aggregation/aggregator.js.map +1 -0
  623. package/dist/utils/logging/log-query/aggregation/facet-generator.d.ts +15 -0
  624. package/dist/utils/logging/log-query/aggregation/facet-generator.d.ts.map +1 -0
  625. package/dist/utils/logging/log-query/aggregation/facet-generator.js +39 -0
  626. package/dist/utils/logging/log-query/aggregation/facet-generator.js.map +1 -0
  627. package/dist/utils/logging/log-query/index.d.ts +13 -0
  628. package/dist/utils/logging/log-query/index.d.ts.map +1 -0
  629. package/dist/utils/logging/log-query/index.js +13 -0
  630. package/dist/utils/logging/log-query/index.js.map +1 -0
  631. package/dist/utils/logging/log-query/query/filter-predicates.d.ts +9 -0
  632. package/dist/utils/logging/log-query/query/filter-predicates.d.ts.map +1 -0
  633. package/dist/utils/logging/log-query/query/filter-predicates.js +122 -0
  634. package/dist/utils/logging/log-query/query/filter-predicates.js.map +1 -0
  635. package/dist/utils/logging/log-query/query/query-builder.d.ts +79 -0
  636. package/dist/utils/logging/log-query/query/query-builder.d.ts.map +1 -0
  637. package/dist/utils/logging/log-query/query/query-builder.js +129 -0
  638. package/dist/utils/logging/log-query/query/query-builder.js.map +1 -0
  639. package/dist/utils/logging/log-query/query/query-engine.d.ts +9 -0
  640. package/dist/utils/logging/log-query/query/query-engine.d.ts.map +1 -0
  641. package/dist/utils/logging/log-query/query/query-engine.js +33 -0
  642. package/dist/utils/logging/log-query/query/query-engine.js.map +1 -0
  643. package/dist/utils/logging/log-query/storage/circular-buffer.d.ts +33 -0
  644. package/dist/utils/logging/log-query/storage/circular-buffer.d.ts.map +1 -0
  645. package/dist/utils/logging/log-query/storage/circular-buffer.js +66 -0
  646. package/dist/utils/logging/log-query/storage/circular-buffer.js.map +1 -0
  647. package/dist/utils/logging/log-query/storage/index-manager.d.ts +23 -0
  648. package/dist/utils/logging/log-query/storage/index-manager.d.ts.map +1 -0
  649. package/dist/utils/logging/log-query/storage/index-manager.js +67 -0
  650. package/dist/utils/logging/log-query/storage/index-manager.js.map +1 -0
  651. package/dist/utils/logging/log-query/storage/log-storage.d.ts +37 -0
  652. package/dist/utils/logging/log-query/storage/log-storage.d.ts.map +1 -0
  653. package/dist/utils/logging/log-query/storage/log-storage.js +64 -0
  654. package/dist/utils/logging/log-query/storage/log-storage.js.map +1 -0
  655. package/dist/utils/logging/log-query/types.d.ts +124 -0
  656. package/dist/utils/logging/log-query/types.d.ts.map +1 -0
  657. package/dist/utils/logging/log-query/types.js +5 -0
  658. package/dist/utils/logging/log-query/types.js.map +1 -0
  659. package/dist/utils/logging/log-query/utils/helpers.d.ts +33 -0
  660. package/dist/utils/logging/log-query/utils/helpers.d.ts.map +1 -0
  661. package/dist/utils/logging/log-query/utils/helpers.js +60 -0
  662. package/dist/utils/logging/log-query/utils/helpers.js.map +1 -0
  663. package/dist/utils/logging/log-query/utils/sorting.d.ts +17 -0
  664. package/dist/utils/logging/log-query/utils/sorting.d.ts.map +1 -0
  665. package/dist/utils/logging/log-query/utils/sorting.js +53 -0
  666. package/dist/utils/logging/log-query/utils/sorting.js.map +1 -0
  667. package/dist/utils/logging/logger-provider.d.ts +12 -2
  668. package/dist/utils/logging/logger-provider.d.ts.map +1 -1
  669. package/dist/utils/logging/logger-provider.js +46 -28
  670. package/dist/utils/logging/logger-provider.js.map +1 -1
  671. package/dist/utils/logging/performance.d.ts.map +1 -1
  672. package/dist/utils/logging/performance.js +4 -2
  673. package/dist/utils/logging/performance.js.map +1 -1
  674. package/dist/utils/logging/pino-logger.d.ts +2 -2
  675. package/dist/utils/logging/pino-logger.d.ts.map +1 -1
  676. package/dist/utils/logging/pino-logger.js +52 -163
  677. package/dist/utils/logging/pino-logger.js.map +1 -1
  678. package/dist/utils/logging/request-tracker.d.ts.map +1 -1
  679. package/dist/utils/logging/request-tracker.js +4 -2
  680. package/dist/utils/logging/request-tracker.js.map +1 -1
  681. package/dist/utils/logging/transports.d.ts.map +1 -1
  682. package/dist/utils/logging/transports.js +6 -5
  683. package/dist/utils/logging/transports.js.map +1 -1
  684. package/dist/utils/logging/types.d.ts +2 -6
  685. package/dist/utils/logging/types.d.ts.map +1 -1
  686. package/dist/utils/message-queue.d.ts +1 -1
  687. package/dist/utils/message-queue.d.ts.map +1 -1
  688. package/dist/utils/message-queue.js +4 -6
  689. package/dist/utils/message-queue.js.map +1 -1
  690. package/dist/utils/path-validation.d.ts +69 -0
  691. package/dist/utils/path-validation.d.ts.map +1 -0
  692. package/dist/utils/path-validation.js +109 -0
  693. package/dist/utils/path-validation.js.map +1 -0
  694. package/dist/utils/prompt-processor.d.ts.map +1 -1
  695. package/dist/utils/prompt-processor.js +5 -2
  696. package/dist/utils/prompt-processor.js.map +1 -1
  697. package/dist/utils/token-calculator.d.ts +10 -0
  698. package/dist/utils/token-calculator.d.ts.map +1 -0
  699. package/dist/utils/token-calculator.js +13 -0
  700. package/dist/utils/token-calculator.js.map +1 -0
  701. package/dist/utils/tool-result-display.d.ts +3 -3
  702. package/dist/utils/tool-result-display.d.ts.map +1 -1
  703. package/dist/utils/tool-result-display.js +9 -9
  704. package/dist/utils/tool-result-display.js.map +1 -1
  705. package/dist/utils/update-checker.d.ts.map +1 -1
  706. package/dist/utils/update-checker.js +2 -1
  707. package/dist/utils/update-checker.js.map +1 -1
  708. package/dist/vscode/extension-installer.d.ts.map +1 -1
  709. package/dist/vscode/extension-installer.js +8 -1
  710. package/dist/vscode/extension-installer.js.map +1 -1
  711. package/dist/vscode/index.d.ts +3 -3
  712. package/dist/vscode/index.d.ts.map +1 -1
  713. package/dist/vscode/index.js +3 -3
  714. package/dist/vscode/index.js.map +1 -1
  715. package/dist/vscode/protocol.d.ts +3 -0
  716. package/dist/vscode/protocol.d.ts.map +1 -1
  717. package/dist/vscode/vscode-server.d.ts +19 -2
  718. package/dist/vscode/vscode-server.d.ts.map +1 -1
  719. package/dist/vscode/vscode-server.js +99 -20
  720. package/dist/vscode/vscode-server.js.map +1 -1
  721. package/dist/wizard/config-wizard.d.ts.map +1 -1
  722. package/dist/wizard/config-wizard.js +5 -5
  723. package/dist/wizard/config-wizard.js.map +1 -1
  724. package/dist/wizard/steps/location-step.js +3 -3
  725. package/dist/wizard/steps/location-step.js.map +1 -1
  726. package/dist/wizard/steps/mcp-step.js +2 -2
  727. package/dist/wizard/steps/mcp-step.js.map +1 -1
  728. package/dist/wizard/steps/provider-step.d.ts.map +1 -1
  729. package/dist/wizard/steps/provider-step.js +340 -4
  730. package/dist/wizard/steps/provider-step.js.map +1 -1
  731. package/dist/wizard/steps/summary-step.js +2 -2
  732. package/dist/wizard/steps/summary-step.js.map +1 -1
  733. package/dist/wizard/templates/mcp-templates.d.ts.map +1 -1
  734. package/dist/wizard/templates/mcp-templates.js +7 -6
  735. package/dist/wizard/templates/mcp-templates.js.map +1 -1
  736. package/dist/wizard/templates/provider-templates.d.ts +2 -0
  737. package/dist/wizard/templates/provider-templates.d.ts.map +1 -1
  738. package/dist/wizard/templates/provider-templates.js +29 -4
  739. package/dist/wizard/templates/provider-templates.js.map +1 -1
  740. package/dist/wizard/utils/fetch-cloud-models.d.ts +20 -0
  741. package/dist/wizard/utils/fetch-cloud-models.d.ts.map +1 -0
  742. package/dist/wizard/utils/fetch-cloud-models.js +178 -0
  743. package/dist/wizard/utils/fetch-cloud-models.js.map +1 -0
  744. package/dist/wizard/utils/fetch-local-models.d.ts +29 -0
  745. package/dist/wizard/utils/fetch-local-models.d.ts.map +1 -0
  746. package/dist/wizard/utils/fetch-local-models.js +146 -0
  747. package/dist/wizard/utils/fetch-local-models.js.map +1 -0
  748. package/dist/wizard/validation.d.ts.map +1 -1
  749. package/dist/wizard/validation.js +2 -1
  750. package/dist/wizard/validation.js.map +1 -1
  751. package/package.json +21 -9
  752. package/source/app/prompts/main-prompt.md +127 -1
  753. package/dist/ai-sdk-client-empty-message.spec.d.ts +0 -2
  754. package/dist/ai-sdk-client-empty-message.spec.d.ts.map +0 -1
  755. package/dist/ai-sdk-client-empty-message.spec.js +0 -124
  756. package/dist/ai-sdk-client-empty-message.spec.js.map +0 -1
  757. package/dist/ai-sdk-client-error-handling.spec.d.ts +0 -2
  758. package/dist/ai-sdk-client-error-handling.spec.d.ts.map +0 -1
  759. package/dist/ai-sdk-client-error-handling.spec.js +0 -108
  760. package/dist/ai-sdk-client-error-handling.spec.js.map +0 -1
  761. package/dist/ai-sdk-client-maxretries.spec.d.ts +0 -2
  762. package/dist/ai-sdk-client-maxretries.spec.d.ts.map +0 -1
  763. package/dist/ai-sdk-client-maxretries.spec.js +0 -96
  764. package/dist/ai-sdk-client-maxretries.spec.js.map +0 -1
  765. package/dist/ai-sdk-client-preparestep.spec.d.ts +0 -2
  766. package/dist/ai-sdk-client-preparestep.spec.d.ts.map +0 -1
  767. package/dist/ai-sdk-client-preparestep.spec.js +0 -246
  768. package/dist/ai-sdk-client-preparestep.spec.js.map +0 -1
  769. package/dist/ai-sdk-client.d.ts.map +0 -1
  770. package/dist/ai-sdk-client.js +0 -673
  771. package/dist/ai-sdk-client.js.map +0 -1
  772. package/dist/app/utils/appUtils.d.ts.map +0 -1
  773. package/dist/app/utils/appUtils.js +0 -227
  774. package/dist/app/utils/appUtils.js.map +0 -1
  775. package/dist/app/utils/conversationState.d.ts.map +0 -1
  776. package/dist/app/utils/conversationState.js.map +0 -1
  777. package/dist/app.d.ts +0 -28
  778. package/dist/app.d.ts.map +0 -1
  779. package/dist/app.js +0 -587
  780. package/dist/app.js.map +0 -1
  781. package/dist/cli.spec.d.ts +0 -2
  782. package/dist/cli.spec.d.ts.map +0 -1
  783. package/dist/cli.spec.js +0 -101
  784. package/dist/cli.spec.js.map +0 -1
  785. package/dist/components/bash-execution-indicator.d.ts +0 -4
  786. package/dist/components/bash-execution-indicator.d.ts.map +0 -1
  787. package/dist/components/bash-execution-indicator.js +0 -9
  788. package/dist/components/bash-execution-indicator.js.map +0 -1
  789. package/dist/components/error-message.d.ts +0 -7
  790. package/dist/components/error-message.d.ts.map +0 -1
  791. package/dist/components/error-message.js +0 -12
  792. package/dist/components/error-message.js.map +0 -1
  793. package/dist/components/info-message.d.ts +0 -6
  794. package/dist/components/info-message.d.ts.map +0 -1
  795. package/dist/components/info-message.js +0 -11
  796. package/dist/components/info-message.js.map +0 -1
  797. package/dist/components/success-message.d.ts +0 -6
  798. package/dist/components/success-message.d.ts.map +0 -1
  799. package/dist/components/success-message.js +0 -11
  800. package/dist/components/success-message.js.map +0 -1
  801. package/dist/components/warning-message.d.ts +0 -7
  802. package/dist/components/warning-message.d.ts.map +0 -1
  803. package/dist/components/warning-message.js +0 -12
  804. package/dist/components/warning-message.js.map +0 -1
  805. package/dist/config/index.spec.d.ts +0 -2
  806. package/dist/config/index.spec.d.ts.map +0 -1
  807. package/dist/config/index.spec.js +0 -99
  808. package/dist/config/index.spec.js.map +0 -1
  809. package/dist/config/paths.spec.d.ts +0 -2
  810. package/dist/config/paths.spec.d.ts.map +0 -1
  811. package/dist/config/paths.spec.js +0 -114
  812. package/dist/config/paths.spec.js.map +0 -1
  813. package/dist/context/mode-context.spec.d.ts +0 -2
  814. package/dist/context/mode-context.spec.d.ts.map +0 -1
  815. package/dist/context/mode-context.spec.js +0 -61
  816. package/dist/context/mode-context.spec.js.map +0 -1
  817. package/dist/hooks/useChatHandler.d.ts.map +0 -1
  818. package/dist/hooks/useChatHandler.js +0 -525
  819. package/dist/hooks/useChatHandler.js.map +0 -1
  820. package/dist/lsp/lsp-client.spec.d.ts +0 -2
  821. package/dist/lsp/lsp-client.spec.d.ts.map +0 -1
  822. package/dist/lsp/lsp-client.spec.js +0 -394
  823. package/dist/lsp/lsp-client.spec.js.map +0 -1
  824. package/dist/lsp/lsp-manager.spec.d.ts +0 -2
  825. package/dist/lsp/lsp-manager.spec.d.ts.map +0 -1
  826. package/dist/lsp/lsp-manager.spec.js +0 -388
  827. package/dist/lsp/lsp-manager.spec.js.map +0 -1
  828. package/dist/lsp/protocol.spec.d.ts +0 -2
  829. package/dist/lsp/protocol.spec.d.ts.map +0 -1
  830. package/dist/lsp/protocol.spec.js +0 -406
  831. package/dist/lsp/protocol.spec.js.map +0 -1
  832. package/dist/lsp/server-discovery.spec.d.ts +0 -2
  833. package/dist/lsp/server-discovery.spec.d.ts.map +0 -1
  834. package/dist/lsp/server-discovery.spec.js +0 -408
  835. package/dist/lsp/server-discovery.spec.js.map +0 -1
  836. package/dist/markdown-parser/html-entities.spec.d.ts +0 -2
  837. package/dist/markdown-parser/html-entities.spec.d.ts.map +0 -1
  838. package/dist/markdown-parser/html-entities.spec.js +0 -73
  839. package/dist/markdown-parser/html-entities.spec.js.map +0 -1
  840. package/dist/markdown-parser/index.spec.d.ts +0 -2
  841. package/dist/markdown-parser/index.spec.d.ts.map +0 -1
  842. package/dist/markdown-parser/index.spec.js +0 -245
  843. package/dist/markdown-parser/index.spec.js.map +0 -1
  844. package/dist/markdown-parser/table-parser.spec.d.ts +0 -2
  845. package/dist/markdown-parser/table-parser.spec.d.ts.map +0 -1
  846. package/dist/markdown-parser/table-parser.spec.js +0 -120
  847. package/dist/markdown-parser/table-parser.spec.js.map +0 -1
  848. package/dist/markdown-parser/utils.spec.d.ts +0 -2
  849. package/dist/markdown-parser/utils.spec.d.ts.map +0 -1
  850. package/dist/markdown-parser/utils.spec.js +0 -59
  851. package/dist/markdown-parser/utils.spec.js.map +0 -1
  852. package/dist/mcp/mcp-client.spec.d.ts +0 -2
  853. package/dist/mcp/mcp-client.spec.d.ts.map +0 -1
  854. package/dist/mcp/mcp-client.spec.js +0 -64
  855. package/dist/mcp/mcp-client.spec.js.map +0 -1
  856. package/dist/mcp/transport-factory.spec.d.ts +0 -2
  857. package/dist/mcp/transport-factory.spec.d.ts.map +0 -1
  858. package/dist/mcp/transport-factory.spec.js +0 -255
  859. package/dist/mcp/transport-factory.spec.js.map +0 -1
  860. package/dist/model-database/database-engine.spec.d.ts +0 -2
  861. package/dist/model-database/database-engine.spec.d.ts.map +0 -1
  862. package/dist/model-database/database-engine.spec.js +0 -413
  863. package/dist/model-database/database-engine.spec.js.map +0 -1
  864. package/dist/model-database/model-database.spec.d.ts +0 -2
  865. package/dist/model-database/model-database.spec.d.ts.map +0 -1
  866. package/dist/model-database/model-database.spec.js +0 -322
  867. package/dist/model-database/model-database.spec.js.map +0 -1
  868. package/dist/model-database/model-engine.spec.d.ts +0 -2
  869. package/dist/model-database/model-engine.spec.d.ts.map +0 -1
  870. package/dist/model-database/model-engine.spec.js +0 -381
  871. package/dist/model-database/model-engine.spec.js.map +0 -1
  872. package/dist/model-database/model-fetcher.spec.d.ts +0 -2
  873. package/dist/model-database/model-fetcher.spec.d.ts.map +0 -1
  874. package/dist/model-database/model-fetcher.spec.js +0 -498
  875. package/dist/model-database/model-fetcher.spec.js.map +0 -1
  876. package/dist/models/models-dev-client.spec.d.ts +0 -2
  877. package/dist/models/models-dev-client.spec.d.ts.map +0 -1
  878. package/dist/models/models-dev-client.spec.js +0 -303
  879. package/dist/models/models-dev-client.spec.js.map +0 -1
  880. package/dist/services/checkpoint-manager.spec.d.ts +0 -2
  881. package/dist/services/checkpoint-manager.spec.d.ts.map +0 -1
  882. package/dist/services/checkpoint-manager.spec.js +0 -353
  883. package/dist/services/checkpoint-manager.spec.js.map +0 -1
  884. package/dist/services/file-snapshot.spec.d.ts +0 -2
  885. package/dist/services/file-snapshot.spec.d.ts.map +0 -1
  886. package/dist/services/file-snapshot.spec.js +0 -285
  887. package/dist/services/file-snapshot.spec.js.map +0 -1
  888. package/dist/tokenization/tokenizer-factory.spec.d.ts +0 -5
  889. package/dist/tokenization/tokenizer-factory.spec.d.ts.map +0 -1
  890. package/dist/tokenization/tokenizer-factory.spec.js +0 -137
  891. package/dist/tokenization/tokenizer-factory.spec.js.map +0 -1
  892. package/dist/tokenization/tokenizers/anthropic-tokenizer.spec.d.ts +0 -5
  893. package/dist/tokenization/tokenizers/anthropic-tokenizer.spec.d.ts.map +0 -1
  894. package/dist/tokenization/tokenizers/anthropic-tokenizer.spec.js +0 -152
  895. package/dist/tokenization/tokenizers/anthropic-tokenizer.spec.js.map +0 -1
  896. package/dist/tokenization/tokenizers/fallback-tokenizer.spec.d.ts +0 -5
  897. package/dist/tokenization/tokenizers/fallback-tokenizer.spec.d.ts.map +0 -1
  898. package/dist/tokenization/tokenizers/fallback-tokenizer.spec.js +0 -183
  899. package/dist/tokenization/tokenizers/fallback-tokenizer.spec.js.map +0 -1
  900. package/dist/tokenization/tokenizers/llama-tokenizer.spec.d.ts +0 -5
  901. package/dist/tokenization/tokenizers/llama-tokenizer.spec.d.ts.map +0 -1
  902. package/dist/tokenization/tokenizers/llama-tokenizer.spec.js +0 -170
  903. package/dist/tokenization/tokenizers/llama-tokenizer.spec.js.map +0 -1
  904. package/dist/tokenization/tokenizers/openai-tokenizer.spec.d.ts +0 -5
  905. package/dist/tokenization/tokenizers/openai-tokenizer.spec.d.ts.map +0 -1
  906. package/dist/tokenization/tokenizers/openai-tokenizer.spec.js +0 -140
  907. package/dist/tokenization/tokenizers/openai-tokenizer.spec.js.map +0 -1
  908. package/dist/tool-calling/json-parser.spec.d.ts +0 -2
  909. package/dist/tool-calling/json-parser.spec.d.ts.map +0 -1
  910. package/dist/tool-calling/json-parser.spec.js +0 -518
  911. package/dist/tool-calling/json-parser.spec.js.map +0 -1
  912. package/dist/tool-calling/tool-parser.spec.d.ts +0 -2
  913. package/dist/tool-calling/tool-parser.spec.d.ts.map +0 -1
  914. package/dist/tool-calling/tool-parser.spec.js +0 -328
  915. package/dist/tool-calling/tool-parser.spec.js.map +0 -1
  916. package/dist/tool-calling/xml-parser.spec.d.ts +0 -2
  917. package/dist/tool-calling/xml-parser.spec.d.ts.map +0 -1
  918. package/dist/tool-calling/xml-parser.spec.js +0 -500
  919. package/dist/tool-calling/xml-parser.spec.js.map +0 -1
  920. package/dist/tools/execute-function.spec.d.ts +0 -2
  921. package/dist/tools/execute-function.spec.d.ts.map +0 -1
  922. package/dist/tools/execute-function.spec.js +0 -93
  923. package/dist/tools/execute-function.spec.js.map +0 -1
  924. package/dist/tools/needs-approval.spec.d.ts +0 -2
  925. package/dist/tools/needs-approval.spec.d.ts.map +0 -1
  926. package/dist/tools/needs-approval.spec.js +0 -247
  927. package/dist/tools/needs-approval.spec.js.map +0 -1
  928. package/dist/tools/string-replace.spec.d.ts +0 -2
  929. package/dist/tools/string-replace.spec.d.ts.map +0 -1
  930. package/dist/tools/string-replace.spec.js +0 -315
  931. package/dist/tools/string-replace.spec.js.map +0 -1
  932. package/dist/tools/write-file.spec.d.ts +0 -2
  933. package/dist/tools/write-file.spec.d.ts.map +0 -1
  934. package/dist/tools/write-file.spec.js +0 -263
  935. package/dist/tools/write-file.spec.js.map +0 -1
  936. package/dist/types/core-connection-status.spec.d.ts +0 -2
  937. package/dist/types/core-connection-status.spec.d.ts.map +0 -1
  938. package/dist/types/core-connection-status.spec.js +0 -52
  939. package/dist/types/core-connection-status.spec.js.map +0 -1
  940. package/dist/usage/calculator.spec.d.ts +0 -2
  941. package/dist/usage/calculator.spec.d.ts.map +0 -1
  942. package/dist/usage/calculator.spec.js +0 -303
  943. package/dist/usage/calculator.spec.js.map +0 -1
  944. package/dist/usage/storage.spec.d.ts +0 -2
  945. package/dist/usage/storage.spec.d.ts.map +0 -1
  946. package/dist/usage/storage.spec.js +0 -551
  947. package/dist/usage/storage.spec.js.map +0 -1
  948. package/dist/usage/tracker.spec.d.ts +0 -2
  949. package/dist/usage/tracker.spec.d.ts.map +0 -1
  950. package/dist/usage/tracker.spec.js +0 -347
  951. package/dist/usage/tracker.spec.js.map +0 -1
  952. package/dist/utils/atomic-deletion.spec.d.ts +0 -2
  953. package/dist/utils/atomic-deletion.spec.d.ts.map +0 -1
  954. package/dist/utils/atomic-deletion.spec.js +0 -154
  955. package/dist/utils/atomic-deletion.spec.js.map +0 -1
  956. package/dist/utils/checkpoint-utils.spec.d.ts +0 -2
  957. package/dist/utils/checkpoint-utils.spec.d.ts.map +0 -1
  958. package/dist/utils/checkpoint-utils.spec.js +0 -182
  959. package/dist/utils/checkpoint-utils.spec.js.map +0 -1
  960. package/dist/utils/error-formatter.spec.d.ts +0 -2
  961. package/dist/utils/error-formatter.spec.d.ts.map +0 -1
  962. package/dist/utils/error-formatter.spec.js +0 -147
  963. package/dist/utils/error-formatter.spec.js.map +0 -1
  964. package/dist/utils/file-autocomplete.spec.d.ts +0 -2
  965. package/dist/utils/file-autocomplete.spec.d.ts.map +0 -1
  966. package/dist/utils/file-autocomplete.spec.js +0 -142
  967. package/dist/utils/file-autocomplete.spec.js.map +0 -1
  968. package/dist/utils/file-content-loader.spec.d.ts +0 -2
  969. package/dist/utils/file-content-loader.spec.d.ts.map +0 -1
  970. package/dist/utils/file-content-loader.spec.js +0 -140
  971. package/dist/utils/file-content-loader.spec.js.map +0 -1
  972. package/dist/utils/file-mention-handler.spec.d.ts +0 -2
  973. package/dist/utils/file-mention-handler.spec.d.ts.map +0 -1
  974. package/dist/utils/file-mention-handler.spec.js +0 -147
  975. package/dist/utils/file-mention-handler.spec.js.map +0 -1
  976. package/dist/utils/file-mention-parser.spec.d.ts +0 -2
  977. package/dist/utils/file-mention-parser.spec.d.ts.map +0 -1
  978. package/dist/utils/file-mention-parser.spec.js +0 -149
  979. package/dist/utils/file-mention-parser.spec.js.map +0 -1
  980. package/dist/utils/fuzzy-matching.spec.d.ts +0 -2
  981. package/dist/utils/fuzzy-matching.spec.d.ts.map +0 -1
  982. package/dist/utils/fuzzy-matching.spec.js +0 -124
  983. package/dist/utils/fuzzy-matching.spec.js.map +0 -1
  984. package/dist/utils/installation-detector.spec.d.ts +0 -2
  985. package/dist/utils/installation-detector.spec.d.ts.map +0 -1
  986. package/dist/utils/installation-detector.spec.js +0 -134
  987. package/dist/utils/installation-detector.spec.js.map +0 -1
  988. package/dist/utils/logging/config.spec.d.ts +0 -2
  989. package/dist/utils/logging/config.spec.d.ts.map +0 -1
  990. package/dist/utils/logging/config.spec.js +0 -233
  991. package/dist/utils/logging/config.spec.js.map +0 -1
  992. package/dist/utils/logging/console-facade.spec.d.ts +0 -2
  993. package/dist/utils/logging/console-facade.spec.d.ts.map +0 -1
  994. package/dist/utils/logging/console-facade.spec.js +0 -143
  995. package/dist/utils/logging/console-facade.spec.js.map +0 -1
  996. package/dist/utils/logging/correlation.spec.d.ts +0 -2
  997. package/dist/utils/logging/correlation.spec.d.ts.map +0 -1
  998. package/dist/utils/logging/correlation.spec.js +0 -449
  999. package/dist/utils/logging/correlation.spec.js.map +0 -1
  1000. package/dist/utils/logging/formatters.spec.d.ts +0 -2
  1001. package/dist/utils/logging/formatters.spec.d.ts.map +0 -1
  1002. package/dist/utils/logging/formatters.spec.js +0 -356
  1003. package/dist/utils/logging/formatters.spec.js.map +0 -1
  1004. package/dist/utils/logging/health-monitor.d.ts.map +0 -1
  1005. package/dist/utils/logging/health-monitor.js +0 -760
  1006. package/dist/utils/logging/health-monitor.js.map +0 -1
  1007. package/dist/utils/logging/health-monitor.spec.d.ts +0 -2
  1008. package/dist/utils/logging/health-monitor.spec.d.ts.map +0 -1
  1009. package/dist/utils/logging/health-monitor.spec.js +0 -305
  1010. package/dist/utils/logging/health-monitor.spec.js.map +0 -1
  1011. package/dist/utils/logging/index.spec.d.ts +0 -2
  1012. package/dist/utils/logging/index.spec.d.ts.map +0 -1
  1013. package/dist/utils/logging/index.spec.js +0 -214
  1014. package/dist/utils/logging/index.spec.js.map +0 -1
  1015. package/dist/utils/logging/integration.spec.d.ts +0 -2
  1016. package/dist/utils/logging/integration.spec.d.ts.map +0 -1
  1017. package/dist/utils/logging/integration.spec.js +0 -312
  1018. package/dist/utils/logging/integration.spec.js.map +0 -1
  1019. package/dist/utils/logging/log-method-factory.spec.d.ts +0 -2
  1020. package/dist/utils/logging/log-method-factory.spec.d.ts.map +0 -1
  1021. package/dist/utils/logging/log-method-factory.spec.js +0 -428
  1022. package/dist/utils/logging/log-method-factory.spec.js.map +0 -1
  1023. package/dist/utils/logging/log-query.d.ts +0 -275
  1024. package/dist/utils/logging/log-query.d.ts.map +0 -1
  1025. package/dist/utils/logging/log-query.js +0 -621
  1026. package/dist/utils/logging/log-query.js.map +0 -1
  1027. package/dist/utils/logging/log-query.spec.d.ts +0 -2
  1028. package/dist/utils/logging/log-query.spec.d.ts.map +0 -1
  1029. package/dist/utils/logging/log-query.spec.js +0 -737
  1030. package/dist/utils/logging/log-query.spec.js.map +0 -1
  1031. package/dist/utils/logging/logger-provider.spec.d.ts +0 -2
  1032. package/dist/utils/logging/logger-provider.spec.d.ts.map +0 -1
  1033. package/dist/utils/logging/logger-provider.spec.js +0 -204
  1034. package/dist/utils/logging/logger-provider.spec.js.map +0 -1
  1035. package/dist/utils/logging/performance.spec.d.ts +0 -2
  1036. package/dist/utils/logging/performance.spec.d.ts.map +0 -1
  1037. package/dist/utils/logging/performance.spec.js +0 -139
  1038. package/dist/utils/logging/performance.spec.js.map +0 -1
  1039. package/dist/utils/logging/pino-logger.spec.d.ts +0 -2
  1040. package/dist/utils/logging/pino-logger.spec.d.ts.map +0 -1
  1041. package/dist/utils/logging/pino-logger.spec.js +0 -294
  1042. package/dist/utils/logging/pino-logger.spec.js.map +0 -1
  1043. package/dist/utils/logging/redaction.spec.d.ts +0 -2
  1044. package/dist/utils/logging/redaction.spec.d.ts.map +0 -1
  1045. package/dist/utils/logging/redaction.spec.js +0 -338
  1046. package/dist/utils/logging/redaction.spec.js.map +0 -1
  1047. package/dist/utils/logging/request-tracker.spec.d.ts +0 -2
  1048. package/dist/utils/logging/request-tracker.spec.d.ts.map +0 -1
  1049. package/dist/utils/logging/request-tracker.spec.js +0 -868
  1050. package/dist/utils/logging/request-tracker.spec.js.map +0 -1
  1051. package/dist/utils/logging/transports.spec.d.ts +0 -2
  1052. package/dist/utils/logging/transports.spec.d.ts.map +0 -1
  1053. package/dist/utils/logging/transports.spec.js +0 -390
  1054. package/dist/utils/logging/transports.spec.js.map +0 -1
  1055. package/dist/utils/message-builder.spec.d.ts +0 -2
  1056. package/dist/utils/message-builder.spec.d.ts.map +0 -1
  1057. package/dist/utils/message-builder.spec.js +0 -142
  1058. package/dist/utils/message-builder.spec.js.map +0 -1
  1059. package/dist/utils/paste-detection.spec.d.ts +0 -2
  1060. package/dist/utils/paste-detection.spec.d.ts.map +0 -1
  1061. package/dist/utils/paste-detection.spec.js +0 -52
  1062. package/dist/utils/paste-detection.spec.js.map +0 -1
  1063. package/dist/utils/paste-roundtrip.spec.d.ts +0 -2
  1064. package/dist/utils/paste-roundtrip.spec.d.ts.map +0 -1
  1065. package/dist/utils/paste-roundtrip.spec.js +0 -328
  1066. package/dist/utils/paste-roundtrip.spec.js.map +0 -1
  1067. package/dist/utils/paste-utils.spec.d.ts +0 -2
  1068. package/dist/utils/paste-utils.spec.d.ts.map +0 -1
  1069. package/dist/utils/paste-utils.spec.js +0 -78
  1070. package/dist/utils/paste-utils.spec.js.map +0 -1
  1071. package/dist/utils/prompt-assembly.spec.d.ts +0 -2
  1072. package/dist/utils/prompt-assembly.spec.d.ts.map +0 -1
  1073. package/dist/utils/prompt-assembly.spec.js +0 -179
  1074. package/dist/utils/prompt-assembly.spec.js.map +0 -1
  1075. package/dist/utils/tool-args-parser.spec.d.ts +0 -2
  1076. package/dist/utils/tool-args-parser.spec.d.ts.map +0 -1
  1077. package/dist/utils/tool-args-parser.spec.js +0 -111
  1078. package/dist/utils/tool-args-parser.spec.js.map +0 -1
  1079. package/dist/utils/tool-cancellation.spec.d.ts +0 -2
  1080. package/dist/utils/tool-cancellation.spec.d.ts.map +0 -1
  1081. package/dist/utils/tool-cancellation.spec.js +0 -186
  1082. package/dist/utils/tool-cancellation.spec.js.map +0 -1
  1083. package/dist/utils/update-checker.spec.d.ts +0 -2
  1084. package/dist/utils/update-checker.spec.d.ts.map +0 -1
  1085. package/dist/utils/update-checker.spec.js +0 -280
  1086. package/dist/utils/update-checker.spec.js.map +0 -1
  1087. package/dist/vscode/extension-installer.spec.d.ts +0 -2
  1088. package/dist/vscode/extension-installer.spec.d.ts.map +0 -1
  1089. package/dist/vscode/extension-installer.spec.js +0 -132
  1090. package/dist/vscode/extension-installer.spec.js.map +0 -1
  1091. package/dist/vscode/protocol.spec.d.ts +0 -2
  1092. package/dist/vscode/protocol.spec.d.ts.map +0 -1
  1093. package/dist/vscode/protocol.spec.js +0 -354
  1094. package/dist/vscode/protocol.spec.js.map +0 -1
  1095. package/dist/vscode/vscode-server.spec.d.ts +0 -2
  1096. package/dist/vscode/vscode-server.spec.d.ts.map +0 -1
  1097. package/dist/vscode/vscode-server.spec.js +0 -487
  1098. package/dist/vscode/vscode-server.spec.js.map +0 -1
  1099. package/dist/wizard/templates/mcp-templates.spec.d.ts +0 -2
  1100. package/dist/wizard/templates/mcp-templates.spec.d.ts.map +0 -1
  1101. package/dist/wizard/templates/mcp-templates.spec.js +0 -476
  1102. package/dist/wizard/templates/mcp-templates.spec.js.map +0 -1
  1103. package/dist/wizard/templates/provider-templates.spec.d.ts +0 -2
  1104. package/dist/wizard/templates/provider-templates.spec.d.ts.map +0 -1
  1105. package/dist/wizard/templates/provider-templates.spec.js +0 -120
  1106. package/dist/wizard/templates/provider-templates.spec.js.map +0 -1
  1107. package/dist/wizard/validation-array.spec.d.ts +0 -2
  1108. package/dist/wizard/validation-array.spec.d.ts.map +0 -1
  1109. package/dist/wizard/validation-array.spec.js +0 -221
  1110. package/dist/wizard/validation-array.spec.js.map +0 -1
  1111. package/dist/wizard/validation.spec.d.ts +0 -2
  1112. package/dist/wizard/validation.spec.d.ts.map +0 -1
  1113. package/dist/wizard/validation.spec.js +0 -297
  1114. package/dist/wizard/validation.spec.js.map +0 -1
@@ -1,673 +0,0 @@
1
- import { getModelContextLimit } from './models/index.js';
2
- import { XMLToolCallParser } from './tool-calling/xml-parser.js';
3
- import { endMetrics, formatMemoryUsage, generateCorrelationId, getCorrelationId, getLogger, startMetrics, withNewCorrelationContext, } from './utils/logging/index.js';
4
- import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
5
- import { APICallError, RetryError, generateText, stepCountIs } from 'ai';
6
- import { Agent, fetch as undiciFetch } from 'undici';
7
- /**
8
- * Checks if an assistant message is empty (no content and no tool calls).
9
- * Empty assistant messages cause API errors:
10
- * "400 Bad Request: Assistant message must have either content or tool_calls, but not none."
11
- *
12
- * Exported for testing purposes.
13
- */
14
- export function isEmptyAssistantMessage(message) {
15
- if (message.role !== 'assistant') {
16
- return false;
17
- }
18
- // Check for content - handle both string and array content formats
19
- const hasContent = Array.isArray(message.content)
20
- ? message.content.length > 0
21
- : typeof message.content === 'string' && message.content.trim().length > 0;
22
- // Tool calls are in a separate property for AI SDK messages
23
- const hasToolCalls = 'toolCalls' in message &&
24
- Array.isArray(message.toolCalls) &&
25
- message.toolCalls.length > 0;
26
- return !hasContent && !hasToolCalls;
27
- }
28
- /**
29
- * Extracts the root cause error from AI SDK error wrappers.
30
- * AI SDK wraps errors in RetryError which contains lastError.
31
- */
32
- function extractRootError(error) {
33
- // Handle AI SDK RetryError - extract the last error
34
- if (RetryError.isInstance(error)) {
35
- if (error.lastError) {
36
- return extractRootError(error.lastError);
37
- }
38
- }
39
- return error;
40
- }
41
- /**
42
- * Parses API errors into user-friendly messages.
43
- * Exported for testing purposes.
44
- */
45
- export function parseAPIError(error) {
46
- // First extract the root error from any wrappers
47
- const rootError = extractRootError(error);
48
- if (!(rootError instanceof Error)) {
49
- return 'An unknown error occurred while communicating with the model';
50
- }
51
- // Handle AI SDK APICallError - it has statusCode and responseBody
52
- if (APICallError.isInstance(rootError)) {
53
- const statusCode = rootError.statusCode;
54
- // Try to extract a clean message from responseBody or use the error message
55
- let cleanMessage = rootError.message;
56
- // Parse the response body if available for more details
57
- if (rootError.responseBody) {
58
- try {
59
- const body = JSON.parse(rootError.responseBody);
60
- if (body.error?.message) {
61
- cleanMessage = body.error.message;
62
- }
63
- else if (body.message) {
64
- cleanMessage = body.message;
65
- }
66
- }
67
- catch {
68
- // If not JSON, try to extract message from the raw response
69
- const msgMatch = rootError.responseBody.match(/["']?message["']?\s*[:=]\s*["']([^"']+)["']/i);
70
- if (msgMatch) {
71
- cleanMessage = msgMatch[1];
72
- }
73
- }
74
- }
75
- // Format based on status code
76
- if (statusCode) {
77
- switch (statusCode) {
78
- case 400:
79
- return `Bad request: ${cleanMessage}`;
80
- case 401:
81
- return 'Authentication failed: Invalid API key or credentials';
82
- case 403:
83
- return 'Access forbidden: Check your API permissions';
84
- case 404:
85
- return 'Model not found: The requested model may not exist or is unavailable';
86
- case 429:
87
- if (cleanMessage.includes('usage limit') ||
88
- cleanMessage.includes('quota')) {
89
- return `Rate limit: ${cleanMessage}`;
90
- }
91
- return 'Rate limit exceeded: Too many requests. Please wait and try again';
92
- case 500:
93
- case 502:
94
- case 503:
95
- return `Server error: ${cleanMessage}`;
96
- default:
97
- return `Request failed (${statusCode}): ${cleanMessage}`;
98
- }
99
- }
100
- }
101
- const errorMessage = rootError.message;
102
- // Extract status code and clean message from common error patterns FIRST
103
- // This ensures HTTP status codes are properly parsed before falling through
104
- // to more generic pattern matching (like Ollama-specific errors)
105
- const statusMatch = errorMessage.match(/(?:Error: )?(\d{3})\s+(?:\d{3}\s+)?(?:Bad Request|[^:]+):\s*(.+)/i);
106
- if (statusMatch) {
107
- const [, statusCode, message] = statusMatch;
108
- const cleanMessage = message.trim();
109
- switch (statusCode) {
110
- case '400':
111
- return `Bad request: ${cleanMessage}`;
112
- case '401':
113
- return 'Authentication failed: Invalid API key or credentials';
114
- case '403':
115
- return 'Access forbidden: Check your API permissions';
116
- case '404':
117
- return 'Model not found: The requested model may not exist or is unavailable';
118
- case '429':
119
- // Include the original message if it has useful details
120
- if (cleanMessage.includes('usage limit') ||
121
- cleanMessage.includes('quota')) {
122
- return `Rate limit: ${cleanMessage}`;
123
- }
124
- return 'Rate limit exceeded: Too many requests. Please wait and try again';
125
- case '500':
126
- case '502':
127
- case '503':
128
- return `Server error: ${cleanMessage}`;
129
- default:
130
- return `Request failed (${statusCode}): ${cleanMessage}`;
131
- }
132
- }
133
- // Handle Ollama-specific unmarshal/JSON parsing errors
134
- // This runs AFTER status code parsing to avoid misclassifying HTTP errors
135
- // that happen to contain JSON parsing error text in their message
136
- if (errorMessage.includes('unmarshal') ||
137
- (errorMessage.includes('invalid character') &&
138
- errorMessage.includes('after top-level value'))) {
139
- return ('Ollama server error: The model returned malformed JSON. ' +
140
- 'This usually indicates an issue with the Ollama server or model. ' +
141
- 'Try:\n' +
142
- ' 1. Restart Ollama: systemctl restart ollama (Linux) or restart the Ollama app\n' +
143
- ' 2. Re-pull the model: ollama pull <model-name>\n' +
144
- ' 3. Check Ollama logs for more details\n' +
145
- ' 4. Try a different model to see if the issue is model-specific\n' +
146
- `Original error: ${errorMessage}`);
147
- }
148
- // Handle timeout errors
149
- if (errorMessage.includes('timeout') || errorMessage.includes('ETIMEDOUT')) {
150
- return 'Request timed out: The model took too long to respond';
151
- }
152
- // Handle network errors
153
- if (errorMessage.includes('ECONNREFUSED') ||
154
- errorMessage.includes('connect')) {
155
- return 'Connection failed: Unable to reach the model server';
156
- }
157
- // Handle context length errors
158
- if (errorMessage.includes('context length') ||
159
- errorMessage.includes('too many tokens')) {
160
- return 'Context too large: Please reduce the conversation length or message size';
161
- }
162
- // Handle token limit errors
163
- if (errorMessage.includes('reduce the number of tokens')) {
164
- return 'Too many tokens: Please shorten your message or clear conversation history';
165
- }
166
- // If we can't parse it, return a cleaned up version
167
- return errorMessage.replace(/^Error:\s*/i, '').split('\n')[0];
168
- }
169
- /**
170
- * Convert our Message format to AI SDK v6 ModelMessage format
171
- *
172
- * Tool messages: Converted to AI SDK tool-result format with proper structure.
173
- */
174
- function convertToModelMessages(messages) {
175
- return messages.map((msg) => {
176
- if (msg.role === 'tool') {
177
- // Convert to AI SDK tool-result format
178
- // AI SDK expects: { role: 'tool', content: [{ type: 'tool-result', toolCallId, toolName, output }] }
179
- // where output is { type: 'text', value: string } or { type: 'json', value: JSONValue }
180
- return {
181
- role: 'tool',
182
- content: [
183
- {
184
- type: 'tool-result',
185
- toolCallId: msg.tool_call_id || '',
186
- toolName: msg.name || '',
187
- output: {
188
- type: 'text',
189
- value: msg.content,
190
- },
191
- },
192
- ],
193
- };
194
- }
195
- if (msg.role === 'system') {
196
- return {
197
- role: 'system',
198
- content: msg.content,
199
- };
200
- }
201
- if (msg.role === 'user') {
202
- return {
203
- role: 'user',
204
- content: msg.content,
205
- };
206
- }
207
- if (msg.role === 'assistant') {
208
- // Build content array
209
- const content = [];
210
- // Add text content if present
211
- if (msg.content) {
212
- content.push({
213
- type: 'text',
214
- text: msg.content,
215
- });
216
- }
217
- // Add tool calls if present (for auto-executed messages)
218
- if (msg.tool_calls && msg.tool_calls.length > 0) {
219
- for (const toolCall of msg.tool_calls) {
220
- content.push({
221
- type: 'tool-call',
222
- toolCallId: toolCall.id,
223
- toolName: toolCall.function.name,
224
- input: toolCall.function.arguments,
225
- });
226
- }
227
- }
228
- // If no content at all, add empty text to avoid empty message
229
- if (content.length === 0) {
230
- content.push({
231
- type: 'text',
232
- text: '',
233
- });
234
- }
235
- return {
236
- role: 'assistant',
237
- content,
238
- };
239
- }
240
- // Fallback - should never happen
241
- return {
242
- role: 'user',
243
- content: msg.content,
244
- };
245
- });
246
- }
247
- export class AISDKClient {
248
- provider;
249
- currentModel;
250
- availableModels;
251
- providerConfig;
252
- undiciAgent;
253
- cachedContextSize;
254
- maxRetries;
255
- constructor(providerConfig) {
256
- const logger = getLogger();
257
- this.providerConfig = providerConfig;
258
- this.availableModels = providerConfig.models;
259
- this.currentModel = providerConfig.models[0] || '';
260
- this.cachedContextSize = 0;
261
- // Default to 2 retries (same as AI SDK default), or use configured value
262
- this.maxRetries = providerConfig.maxRetries ?? 2;
263
- logger.info('AI SDK client initializing', {
264
- models: this.availableModels,
265
- defaultModel: this.currentModel,
266
- provider: providerConfig.name || 'unknown',
267
- baseUrl: providerConfig.config.baseURL ? '[REDACTED]' : undefined,
268
- maxRetries: this.maxRetries,
269
- });
270
- const { connectionPool } = this.providerConfig;
271
- const { requestTimeout, socketTimeout } = this.providerConfig;
272
- const effectiveSocketTimeout = socketTimeout ?? requestTimeout;
273
- const resolvedSocketTimeout = effectiveSocketTimeout === -1 ? 0 : (effectiveSocketTimeout ?? 120000);
274
- this.undiciAgent = new Agent({
275
- connect: {
276
- timeout: resolvedSocketTimeout,
277
- },
278
- bodyTimeout: resolvedSocketTimeout,
279
- headersTimeout: resolvedSocketTimeout,
280
- keepAliveTimeout: connectionPool?.idleTimeout,
281
- keepAliveMaxTimeout: connectionPool?.cumulativeMaxIdleTimeout,
282
- });
283
- this.provider = this.createProvider();
284
- // Fetch context size asynchronously (don't block construction)
285
- void this.updateContextSize();
286
- }
287
- /**
288
- * Fetch and cache context size from models.dev
289
- */
290
- async updateContextSize() {
291
- try {
292
- const contextSize = await getModelContextLimit(this.currentModel);
293
- this.cachedContextSize = contextSize || 0;
294
- }
295
- catch {
296
- // Silently fail - context size will remain 0
297
- this.cachedContextSize = 0;
298
- }
299
- }
300
- static create(providerConfig) {
301
- const client = new AISDKClient(providerConfig);
302
- return Promise.resolve(client);
303
- }
304
- createProvider() {
305
- const { config } = this.providerConfig;
306
- // Custom fetch using undici
307
- const customFetch = (url, options) => {
308
- // Type cast to string | URL since undici's fetch accepts these types
309
- // Request objects are converted to URL internally by the fetch spec
310
- return undiciFetch(url, {
311
- ...options,
312
- dispatcher: this.undiciAgent,
313
- });
314
- };
315
- // Add OpenRouter-specific headers for app attribution
316
- const headers = {};
317
- if (this.providerConfig.name.toLowerCase() === 'openrouter') {
318
- headers['HTTP-Referer'] = 'https://github.com/Nano-Collective/nanocoder';
319
- headers['X-Title'] = 'Nanocoder';
320
- }
321
- return createOpenAICompatible({
322
- name: this.providerConfig.name,
323
- baseURL: config.baseURL ?? '',
324
- apiKey: config.apiKey ?? 'dummy-key',
325
- fetch: customFetch,
326
- headers,
327
- });
328
- }
329
- setModel(model) {
330
- const logger = getLogger();
331
- const previousModel = this.currentModel;
332
- this.currentModel = model;
333
- logger.info('Model changed', {
334
- previousModel,
335
- newModel: model,
336
- provider: this.providerConfig.name,
337
- });
338
- // Update context size when model changes
339
- void this.updateContextSize();
340
- }
341
- getCurrentModel() {
342
- return this.currentModel;
343
- }
344
- getContextSize() {
345
- return this.cachedContextSize;
346
- }
347
- getMaxRetries() {
348
- return this.maxRetries;
349
- }
350
- getAvailableModels() {
351
- return Promise.resolve(this.availableModels);
352
- }
353
- /**
354
- * Stream chat with real-time token updates
355
- */
356
- async chat(messages, tools, callbacks, signal) {
357
- const logger = getLogger();
358
- // Check if already aborted before starting
359
- if (signal?.aborted) {
360
- logger.debug('Chat request already aborted');
361
- throw new Error('Operation was cancelled');
362
- }
363
- // Start performance tracking
364
- const metrics = startMetrics();
365
- const correlationId = getCorrelationId() || generateCorrelationId();
366
- logger.info('Chat request starting', {
367
- model: this.currentModel,
368
- messageCount: messages.length,
369
- toolCount: Object.keys(tools).length,
370
- correlationId,
371
- provider: this.providerConfig.name,
372
- });
373
- return await withNewCorrelationContext(async (_context) => {
374
- try {
375
- // Get the language model instance from the provider
376
- const model = this.provider(this.currentModel);
377
- // Tools are already in AI SDK format - use directly
378
- const aiTools = Object.keys(tools).length > 0 ? tools : undefined;
379
- // Convert messages to AI SDK v5 ModelMessage format
380
- const modelMessages = convertToModelMessages(messages);
381
- logger.debug('AI SDK request prepared', {
382
- messageCount: modelMessages.length,
383
- hasTools: !!aiTools,
384
- toolCount: aiTools ? Object.keys(aiTools).length : 0,
385
- });
386
- // Tools with needsApproval: false auto-execute in the loop
387
- // Tools with needsApproval: true cause interruptions for manual approval
388
- // stopWhen controls when the tool loop stops (max 10 steps)
389
- const result = await generateText({
390
- model,
391
- messages: modelMessages,
392
- tools: aiTools,
393
- abortSignal: signal,
394
- maxRetries: this.maxRetries,
395
- stopWhen: stepCountIs(10), // Allow up to 10 tool execution steps
396
- // Can be used to add custom logging, metrics, or step tracking
397
- onStepFinish(step) {
398
- // Log tool execution steps
399
- if (step.toolCalls && step.toolCalls.length > 0) {
400
- logger.trace('AI SDK tool step', {
401
- stepType: 'tool_execution',
402
- toolCount: step.toolCalls.length,
403
- hasResults: !!step.toolResults,
404
- });
405
- }
406
- // Display formatters for auto-executed tools (after execution with results)
407
- if (step.toolCalls &&
408
- step.toolResults &&
409
- step.toolCalls.length === step.toolResults.length) {
410
- step.toolCalls.forEach((toolCall, idx) => {
411
- const toolResult = step.toolResults[idx];
412
- const tc = {
413
- id: toolCall.toolCallId ||
414
- `tool_${Date.now()}_${Math.random()
415
- .toString(36)
416
- .substring(7)}`,
417
- function: {
418
- name: toolCall.toolName,
419
- arguments: toolCall.input,
420
- },
421
- };
422
- const resultStr = typeof toolResult.output === 'string'
423
- ? toolResult.output
424
- : JSON.stringify(toolResult.output);
425
- logger.debug('Tool executed', {
426
- toolName: tc.function.name,
427
- resultLength: resultStr.length,
428
- });
429
- callbacks.onToolExecuted?.(tc, resultStr);
430
- });
431
- }
432
- },
433
- prepareStep: ({ messages }) => {
434
- // Filter out empty assistant messages that would cause API errors
435
- // "Assistant message must have either content or tool_calls"
436
- // Also filter out orphaned tool messages that follow empty assistant messages
437
- const filteredMessages = [];
438
- const indicesToSkip = new Set();
439
- // First pass: identify empty assistant messages and their orphaned tool results
440
- for (let i = 0; i < messages.length; i++) {
441
- if (isEmptyAssistantMessage(messages[i])) {
442
- indicesToSkip.add(i);
443
- // Mark any immediately following tool messages as orphaned
444
- let j = i + 1;
445
- while (j < messages.length && messages[j].role === 'tool') {
446
- indicesToSkip.add(j);
447
- j++;
448
- }
449
- }
450
- }
451
- // Second pass: build filtered array
452
- for (let i = 0; i < messages.length; i++) {
453
- if (!indicesToSkip.has(i)) {
454
- filteredMessages.push(messages[i]);
455
- }
456
- }
457
- // Log message filtering
458
- if (filteredMessages.length !== messages.length) {
459
- logger.debug('Filtered empty assistant messages and orphaned tool results', {
460
- originalCount: messages.length,
461
- filteredCount: filteredMessages.length,
462
- removedCount: messages.length - filteredMessages.length,
463
- });
464
- }
465
- // Return filtered messages if any were removed, otherwise no changes
466
- if (filteredMessages.length !== messages.length) {
467
- return { messages: filteredMessages };
468
- }
469
- return {}; // No modifications needed
470
- },
471
- });
472
- // Get the full text from the result
473
- const fullText = result.text;
474
- logger.debug('AI SDK response received', {
475
- responseLength: fullText.length,
476
- hasToolCalls: !!(result.toolCalls && result.toolCalls.length > 0),
477
- toolCallCount: result.toolCalls?.length || 0,
478
- });
479
- // Send the complete text to the callback
480
- if (fullText) {
481
- callbacks.onToken?.(fullText);
482
- }
483
- // Get tool calls from result
484
- const toolCallsResult = result.toolCalls;
485
- // Extract auto-executed assistant messages and tool results from steps
486
- // These need to be added to the messages array so usage tracking can count them
487
- const autoExecutedMessages = [];
488
- const steps = result.steps;
489
- for (const step of steps) {
490
- if (step.toolCalls &&
491
- step.toolResults &&
492
- step.toolCalls.length === step.toolResults.length) {
493
- // This step had tool calls that were auto-executed
494
- // Add the assistant message with tool_calls
495
- const stepToolCalls = step.toolCalls.map(toolCall => ({
496
- id: toolCall.toolCallId ||
497
- `tool_${Date.now()}_${Math.random().toString(36).substring(7)}`,
498
- function: {
499
- name: toolCall.toolName,
500
- arguments: toolCall.input,
501
- },
502
- }));
503
- autoExecutedMessages.push({
504
- role: 'assistant',
505
- content: step.text || '',
506
- tool_calls: stepToolCalls,
507
- });
508
- // Add the tool result messages
509
- step.toolCalls.forEach((toolCall, idx) => {
510
- const toolResult = step.toolResults[idx];
511
- const resultStr = typeof toolResult.output === 'string'
512
- ? toolResult.output
513
- : JSON.stringify(toolResult.output);
514
- autoExecutedMessages.push({
515
- role: 'tool',
516
- content: resultStr,
517
- tool_call_id: toolCall.toolCallId ||
518
- `tool_${Date.now()}_${Math.random().toString(36).substring(7)}`,
519
- name: toolCall.toolName,
520
- });
521
- });
522
- }
523
- }
524
- // Extract tool calls
525
- const toolCalls = [];
526
- if (toolCallsResult && toolCallsResult.length > 0) {
527
- logger.debug('Processing tool calls from response', {
528
- toolCallCount: toolCallsResult.length,
529
- });
530
- for (const toolCall of toolCallsResult) {
531
- const tc = {
532
- // Some providers (like Ollama) don't provide toolCallId, so generate one
533
- id: toolCall.toolCallId ||
534
- `tool_${Date.now()}_${Math.random().toString(36).substring(7)}`,
535
- function: {
536
- name: toolCall.toolName,
537
- // AI SDK v5 uses 'input' for tool arguments
538
- arguments: toolCall.input,
539
- },
540
- };
541
- toolCalls.push(tc);
542
- logger.debug('Tool call processed', {
543
- toolName: tc.function.name,
544
- hasArguments: !!tc.function.arguments,
545
- });
546
- // Note: onToolCall already fired in onStepFinish - no need to call again
547
- }
548
- }
549
- // Check for XML tool calls if no native ones
550
- let content = fullText;
551
- if (Object.keys(tools).length > 0 &&
552
- toolCalls.length === 0 &&
553
- content) {
554
- logger.debug('Checking for XML tool calls in response content');
555
- // First check for malformed XML tool calls
556
- const malformedError = XMLToolCallParser.detectMalformedToolCall(content);
557
- if (malformedError) {
558
- logger.warn('Malformed XML tool call detected', {
559
- error: malformedError.error,
560
- });
561
- // Return malformed tool call with validation error
562
- // This mimics how validators work - returns tool call that will show error
563
- const malformedCall = {
564
- id: 'malformed_xml_validation',
565
- function: {
566
- name: '__xml_validation_error__',
567
- arguments: {
568
- error: malformedError.error,
569
- },
570
- },
571
- };
572
- toolCalls.push(malformedCall);
573
- callbacks.onToolCall?.(malformedCall);
574
- content = ''; // Clear content since it was malformed
575
- }
576
- else if (XMLToolCallParser.hasToolCalls(content)) {
577
- logger.debug('Parsing XML tool calls from content');
578
- // Try to parse well-formed XML tool calls
579
- const parsedToolCalls = XMLToolCallParser.parseToolCalls(content);
580
- const xmlToolCalls = XMLToolCallParser.convertToToolCalls(parsedToolCalls);
581
- const cleanedContent = XMLToolCallParser.removeToolCallsFromContent(content);
582
- logger.debug('XML tool calls parsed', {
583
- toolCallCount: xmlToolCalls.length,
584
- contentLength: cleanedContent.length,
585
- });
586
- content = cleanedContent;
587
- for (const tc of xmlToolCalls) {
588
- toolCalls.push(tc);
589
- callbacks.onToolCall?.(tc);
590
- }
591
- }
592
- }
593
- // Calculate performance metrics
594
- const finalMetrics = endMetrics(metrics);
595
- logger.info('Chat request completed successfully', {
596
- model: this.currentModel,
597
- duration: `${finalMetrics.duration.toFixed(2)}ms`,
598
- responseLength: content.length,
599
- toolCallsFound: toolCalls.length,
600
- memoryDelta: formatMemoryUsage(finalMetrics.memoryUsage || process.memoryUsage()),
601
- correlationId,
602
- provider: this.providerConfig.name,
603
- });
604
- callbacks.onFinish?.();
605
- return {
606
- choices: [
607
- {
608
- message: {
609
- role: 'assistant',
610
- content,
611
- tool_calls: toolCalls.length > 0 ? toolCalls : undefined,
612
- },
613
- },
614
- ],
615
- // Include auto-executed messages so they can be added to message history
616
- autoExecutedMessages: autoExecutedMessages.length > 0 ? autoExecutedMessages : undefined,
617
- };
618
- }
619
- catch (error) {
620
- // Calculate performance metrics even for errors
621
- const finalMetrics = endMetrics(metrics);
622
- // Check if this was a user-initiated cancellation
623
- if (error instanceof Error && error.name === 'AbortError') {
624
- logger.info('Chat request cancelled by user', {
625
- model: this.currentModel,
626
- duration: `${finalMetrics.duration.toFixed(2)}ms`,
627
- correlationId,
628
- provider: this.providerConfig.name,
629
- });
630
- throw new Error('Operation was cancelled');
631
- }
632
- // Log the error with performance metrics
633
- logger.error('Chat request failed', {
634
- model: this.currentModel,
635
- duration: `${finalMetrics.duration.toFixed(2)}ms`,
636
- error: error instanceof Error ? error.message : error,
637
- errorName: error instanceof Error ? error.name : 'Unknown',
638
- correlationId,
639
- provider: this.providerConfig.name,
640
- memoryDelta: formatMemoryUsage(finalMetrics.memoryUsage || process.memoryUsage()),
641
- });
642
- // AI SDK wraps errors in NoOutputGeneratedError with no useful cause
643
- // Check if it's a cancellation without an underlying API error
644
- if (error instanceof Error &&
645
- (error.name === 'AI_NoOutputGeneratedError' ||
646
- error.message.includes('No output generated'))) {
647
- // Check if there's an underlying RetryError with the real cause
648
- const rootError = extractRootError(error);
649
- if (rootError === error) {
650
- // No underlying error - this is just a cancellation
651
- throw new Error('Operation was cancelled');
652
- }
653
- // There's a real error underneath, parse it
654
- const userMessage = parseAPIError(rootError);
655
- throw new Error(userMessage);
656
- }
657
- // Parse any other error (including RetryError and APICallError)
658
- const userMessage = parseAPIError(error);
659
- throw new Error(userMessage);
660
- }
661
- }, correlationId); // End of withNewCorrelationContext
662
- }
663
- clearContext() {
664
- const logger = getLogger();
665
- logger.debug('AI SDK client context cleared', {
666
- model: this.currentModel,
667
- provider: this.providerConfig.name,
668
- });
669
- // No internal state to clear
670
- return Promise.resolve();
671
- }
672
- }
673
- //# sourceMappingURL=ai-sdk-client.js.map