@anh3d0nic/qwen-code-termux-ice 21.1.0 → 21.2.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 (1279) hide show
  1. package/core-dist/index.d.ts +6 -0
  2. package/core-dist/index.js +7 -0
  3. package/core-dist/index.js.map +1 -0
  4. package/core-dist/src/__mocks__/fs/promises.d.ts +11 -0
  5. package/core-dist/src/__mocks__/fs/promises.js +17 -0
  6. package/core-dist/src/__mocks__/fs/promises.js.map +1 -0
  7. package/core-dist/src/config/config.d.ts +648 -0
  8. package/core-dist/src/config/config.js +1374 -0
  9. package/core-dist/src/config/config.js.map +1 -0
  10. package/core-dist/src/config/config.test.d.ts +6 -0
  11. package/core-dist/src/config/config.test.js +1116 -0
  12. package/core-dist/src/config/config.test.js.map +1 -0
  13. package/core-dist/src/config/constants.d.ts +11 -0
  14. package/core-dist/src/config/constants.js +16 -0
  15. package/core-dist/src/config/constants.js.map +1 -0
  16. package/core-dist/src/config/models.d.ts +9 -0
  17. package/core-dist/src/config/models.js +10 -0
  18. package/core-dist/src/config/models.js.map +1 -0
  19. package/core-dist/src/config/storage.d.ts +38 -0
  20. package/core-dist/src/config/storage.js +114 -0
  21. package/core-dist/src/config/storage.js.map +1 -0
  22. package/core-dist/src/config/storage.test.d.ts +6 -0
  23. package/core-dist/src/config/storage.test.js +36 -0
  24. package/core-dist/src/config/storage.test.js.map +1 -0
  25. package/core-dist/src/confirmation-bus/message-bus.d.ts +22 -0
  26. package/core-dist/src/confirmation-bus/message-bus.js +98 -0
  27. package/core-dist/src/confirmation-bus/message-bus.js.map +1 -0
  28. package/core-dist/src/confirmation-bus/types.d.ts +104 -0
  29. package/core-dist/src/confirmation-bus/types.js +16 -0
  30. package/core-dist/src/confirmation-bus/types.js.map +1 -0
  31. package/core-dist/src/core/__tests__/openaiTimeoutHandling.test.d.ts +6 -0
  32. package/core-dist/src/core/__tests__/openaiTimeoutHandling.test.js +298 -0
  33. package/core-dist/src/core/__tests__/openaiTimeoutHandling.test.js.map +1 -0
  34. package/core-dist/src/core/__tests__/orphanedToolCallsTest.d.ts +64 -0
  35. package/core-dist/src/core/__tests__/orphanedToolCallsTest.js +122 -0
  36. package/core-dist/src/core/__tests__/orphanedToolCallsTest.js.map +1 -0
  37. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.d.ts +28 -0
  38. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.js +349 -0
  39. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.js.map +1 -0
  40. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.test.d.ts +6 -0
  41. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.test.js +396 -0
  42. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.test.js.map +1 -0
  43. package/core-dist/src/core/anthropicContentGenerator/converter.d.ts +48 -0
  44. package/core-dist/src/core/anthropicContentGenerator/converter.js +449 -0
  45. package/core-dist/src/core/anthropicContentGenerator/converter.js.map +1 -0
  46. package/core-dist/src/core/anthropicContentGenerator/converter.test.d.ts +6 -0
  47. package/core-dist/src/core/anthropicContentGenerator/converter.test.js +843 -0
  48. package/core-dist/src/core/anthropicContentGenerator/converter.test.js.map +1 -0
  49. package/core-dist/src/core/anthropicContentGenerator/index.d.ts +9 -0
  50. package/core-dist/src/core/anthropicContentGenerator/index.js +11 -0
  51. package/core-dist/src/core/anthropicContentGenerator/index.js.map +1 -0
  52. package/core-dist/src/core/baseLlmClient.d.ts +48 -0
  53. package/core-dist/src/core/baseLlmClient.js +98 -0
  54. package/core-dist/src/core/baseLlmClient.js.map +1 -0
  55. package/core-dist/src/core/baseLlmClient.test.d.ts +6 -0
  56. package/core-dist/src/core/baseLlmClient.test.js +319 -0
  57. package/core-dist/src/core/baseLlmClient.test.js.map +1 -0
  58. package/core-dist/src/core/client.d.ts +48 -0
  59. package/core-dist/src/core/client.js +547 -0
  60. package/core-dist/src/core/client.js.map +1 -0
  61. package/core-dist/src/core/client.test.d.ts +6 -0
  62. package/core-dist/src/core/client.test.js +1885 -0
  63. package/core-dist/src/core/client.test.js.map +1 -0
  64. package/core-dist/src/core/contentGenerator.d.ts +100 -0
  65. package/core-dist/src/core/contentGenerator.js +162 -0
  66. package/core-dist/src/core/contentGenerator.js.map +1 -0
  67. package/core-dist/src/core/contentGenerator.test.d.ts +6 -0
  68. package/core-dist/src/core/contentGenerator.test.js +95 -0
  69. package/core-dist/src/core/contentGenerator.test.js.map +1 -0
  70. package/core-dist/src/core/coreToolScheduler.d.ts +142 -0
  71. package/core-dist/src/core/coreToolScheduler.js +872 -0
  72. package/core-dist/src/core/coreToolScheduler.js.map +1 -0
  73. package/core-dist/src/core/coreToolScheduler.test.d.ts +6 -0
  74. package/core-dist/src/core/coreToolScheduler.test.js +2221 -0
  75. package/core-dist/src/core/coreToolScheduler.test.js.map +1 -0
  76. package/core-dist/src/core/geminiChat.d.ts +122 -0
  77. package/core-dist/src/core/geminiChat.js +571 -0
  78. package/core-dist/src/core/geminiChat.js.map +1 -0
  79. package/core-dist/src/core/geminiChat.test.d.ts +6 -0
  80. package/core-dist/src/core/geminiChat.test.js +1276 -0
  81. package/core-dist/src/core/geminiChat.test.js.map +1 -0
  82. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.d.ts +38 -0
  83. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.js +193 -0
  84. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.js.map +1 -0
  85. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.test.d.ts +6 -0
  86. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.test.js +304 -0
  87. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.test.js.map +1 -0
  88. package/core-dist/src/core/geminiContentGenerator/index.d.ts +12 -0
  89. package/core-dist/src/core/geminiContentGenerator/index.js +36 -0
  90. package/core-dist/src/core/geminiContentGenerator/index.js.map +1 -0
  91. package/core-dist/src/core/geminiContentGenerator/index.test.d.ts +6 -0
  92. package/core-dist/src/core/geminiContentGenerator/index.test.js +34 -0
  93. package/core-dist/src/core/geminiContentGenerator/index.test.js.map +1 -0
  94. package/core-dist/src/core/geminiRequest.d.ts +13 -0
  95. package/core-dist/src/core/geminiRequest.js +11 -0
  96. package/core-dist/src/core/geminiRequest.js.map +1 -0
  97. package/core-dist/src/core/geminiRequest.test.d.ts +6 -0
  98. package/core-dist/src/core/geminiRequest.test.js +73 -0
  99. package/core-dist/src/core/geminiRequest.test.js.map +1 -0
  100. package/core-dist/src/core/logger.d.ts +68 -0
  101. package/core-dist/src/core/logger.js +364 -0
  102. package/core-dist/src/core/logger.js.map +1 -0
  103. package/core-dist/src/core/logger.test.d.ts +6 -0
  104. package/core-dist/src/core/logger.test.js +520 -0
  105. package/core-dist/src/core/logger.test.js.map +1 -0
  106. package/core-dist/src/core/loggingContentGenerator/index.d.ts +6 -0
  107. package/core-dist/src/core/loggingContentGenerator/index.js +7 -0
  108. package/core-dist/src/core/loggingContentGenerator/index.js.map +1 -0
  109. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.d.ts +36 -0
  110. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.js +321 -0
  111. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.js.map +1 -0
  112. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.test.d.ts +6 -0
  113. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.test.js +287 -0
  114. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.test.js.map +1 -0
  115. package/core-dist/src/core/modalityDefaults.d.ts +14 -0
  116. package/core-dist/src/core/modalityDefaults.js +81 -0
  117. package/core-dist/src/core/modalityDefaults.js.map +1 -0
  118. package/core-dist/src/core/modalityDefaults.test.d.ts +6 -0
  119. package/core-dist/src/core/modalityDefaults.test.js +181 -0
  120. package/core-dist/src/core/modalityDefaults.test.js.map +1 -0
  121. package/core-dist/src/core/nonInteractiveToolExecutor.d.ts +16 -0
  122. package/core-dist/src/core/nonInteractiveToolExecutor.js +30 -0
  123. package/core-dist/src/core/nonInteractiveToolExecutor.js.map +1 -0
  124. package/core-dist/src/core/nonInteractiveToolExecutor.test.d.ts +6 -0
  125. package/core-dist/src/core/nonInteractiveToolExecutor.test.js +296 -0
  126. package/core-dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -0
  127. package/core-dist/src/core/openaiContentGenerator/constants.d.ts +6 -0
  128. package/core-dist/src/core/openaiContentGenerator/constants.js +7 -0
  129. package/core-dist/src/core/openaiContentGenerator/constants.js.map +1 -0
  130. package/core-dist/src/core/openaiContentGenerator/converter.d.ts +133 -0
  131. package/core-dist/src/core/openaiContentGenerator/converter.js +1020 -0
  132. package/core-dist/src/core/openaiContentGenerator/converter.js.map +1 -0
  133. package/core-dist/src/core/openaiContentGenerator/converter.test.d.ts +6 -0
  134. package/core-dist/src/core/openaiContentGenerator/converter.test.js +1966 -0
  135. package/core-dist/src/core/openaiContentGenerator/converter.test.js.map +1 -0
  136. package/core-dist/src/core/openaiContentGenerator/errorHandler.d.ts +27 -0
  137. package/core-dist/src/core/openaiContentGenerator/errorHandler.js +84 -0
  138. package/core-dist/src/core/openaiContentGenerator/errorHandler.js.map +1 -0
  139. package/core-dist/src/core/openaiContentGenerator/errorHandler.test.d.ts +6 -0
  140. package/core-dist/src/core/openaiContentGenerator/errorHandler.test.js +267 -0
  141. package/core-dist/src/core/openaiContentGenerator/errorHandler.test.js.map +1 -0
  142. package/core-dist/src/core/openaiContentGenerator/index.d.ts +21 -0
  143. package/core-dist/src/core/openaiContentGenerator/index.js +43 -0
  144. package/core-dist/src/core/openaiContentGenerator/index.js.map +1 -0
  145. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.d.ts +22 -0
  146. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.js +117 -0
  147. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.js.map +1 -0
  148. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.test.d.ts +6 -0
  149. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.test.js +298 -0
  150. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.test.js.map +1 -0
  151. package/core-dist/src/core/openaiContentGenerator/pipeline.d.ts +74 -0
  152. package/core-dist/src/core/openaiContentGenerator/pipeline.js +327 -0
  153. package/core-dist/src/core/openaiContentGenerator/pipeline.js.map +1 -0
  154. package/core-dist/src/core/openaiContentGenerator/pipeline.test.d.ts +6 -0
  155. package/core-dist/src/core/openaiContentGenerator/pipeline.test.js +1143 -0
  156. package/core-dist/src/core/openaiContentGenerator/pipeline.test.js.map +1 -0
  157. package/core-dist/src/core/openaiContentGenerator/provider/README.md +61 -0
  158. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.d.ts +70 -0
  159. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.js +258 -0
  160. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.js.map +1 -0
  161. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.test.d.ts +6 -0
  162. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.test.js +781 -0
  163. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.test.js.map +1 -0
  164. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.d.ts +14 -0
  165. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.js +21 -0
  166. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.js.map +1 -0
  167. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.test.d.ts +6 -0
  168. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.test.js +51 -0
  169. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.test.js.map +1 -0
  170. package/core-dist/src/core/openaiContentGenerator/provider/default.d.ts +17 -0
  171. package/core-dist/src/core/openaiContentGenerator/provider/default.js +52 -0
  172. package/core-dist/src/core/openaiContentGenerator/provider/default.js.map +1 -0
  173. package/core-dist/src/core/openaiContentGenerator/provider/default.test.d.ts +6 -0
  174. package/core-dist/src/core/openaiContentGenerator/provider/default.test.js +227 -0
  175. package/core-dist/src/core/openaiContentGenerator/provider/default.test.js.map +1 -0
  176. package/core-dist/src/core/openaiContentGenerator/provider/index.d.ts +6 -0
  177. package/core-dist/src/core/openaiContentGenerator/provider/index.js +6 -0
  178. package/core-dist/src/core/openaiContentGenerator/provider/index.js.map +1 -0
  179. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.d.ts +17 -0
  180. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.js +25 -0
  181. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.js.map +1 -0
  182. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.test.d.ts +6 -0
  183. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.test.js +66 -0
  184. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.test.js.map +1 -0
  185. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.d.ts +8 -0
  186. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.js +21 -0
  187. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.js.map +1 -0
  188. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.test.d.ts +6 -0
  189. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.test.js +152 -0
  190. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.test.js.map +1 -0
  191. package/core-dist/src/core/openaiContentGenerator/provider/types.d.ts +26 -0
  192. package/core-dist/src/core/openaiContentGenerator/provider/types.js +2 -0
  193. package/core-dist/src/core/openaiContentGenerator/provider/types.js.map +1 -0
  194. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.d.ts +157 -0
  195. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.js +390 -0
  196. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.js.map +1 -0
  197. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.test.d.ts +6 -0
  198. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.test.js +585 -0
  199. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.test.js.map +1 -0
  200. package/core-dist/src/core/prompts.d.ts +81 -0
  201. package/core-dist/src/core/prompts.js +996 -0
  202. package/core-dist/src/core/prompts.js.map +1 -0
  203. package/core-dist/src/core/prompts.test.d.ts +6 -0
  204. package/core-dist/src/core/prompts.test.js +485 -0
  205. package/core-dist/src/core/prompts.test.js.map +1 -0
  206. package/core-dist/src/core/tokenLimits.d.ts +29 -0
  207. package/core-dist/src/core/tokenLimits.js +171 -0
  208. package/core-dist/src/core/tokenLimits.js.map +1 -0
  209. package/core-dist/src/core/tokenLimits.test.d.ts +1 -0
  210. package/core-dist/src/core/tokenLimits.test.js +270 -0
  211. package/core-dist/src/core/tokenLimits.test.js.map +1 -0
  212. package/core-dist/src/core/turn.d.ts +161 -0
  213. package/core-dist/src/core/turn.js +197 -0
  214. package/core-dist/src/core/turn.js.map +1 -0
  215. package/core-dist/src/core/turn.test.d.ts +6 -0
  216. package/core-dist/src/core/turn.test.js +817 -0
  217. package/core-dist/src/core/turn.test.js.map +1 -0
  218. package/core-dist/src/extension/claude-converter.d.ts +121 -0
  219. package/core-dist/src/extension/claude-converter.js +572 -0
  220. package/core-dist/src/extension/claude-converter.js.map +1 -0
  221. package/core-dist/src/extension/claude-converter.test.d.ts +6 -0
  222. package/core-dist/src/extension/claude-converter.test.js +305 -0
  223. package/core-dist/src/extension/claude-converter.test.js.map +1 -0
  224. package/core-dist/src/extension/extensionManager.d.ts +159 -0
  225. package/core-dist/src/extension/extensionManager.js +829 -0
  226. package/core-dist/src/extension/extensionManager.js.map +1 -0
  227. package/core-dist/src/extension/extensionManager.test.d.ts +6 -0
  228. package/core-dist/src/extension/extensionManager.test.js +598 -0
  229. package/core-dist/src/extension/extensionManager.test.js.map +1 -0
  230. package/core-dist/src/extension/extensionSettings.d.ts +33 -0
  231. package/core-dist/src/extension/extensionSettings.js +186 -0
  232. package/core-dist/src/extension/extensionSettings.js.map +1 -0
  233. package/core-dist/src/extension/extensionSettings.test.d.ts +1 -0
  234. package/core-dist/src/extension/extensionSettings.test.js +488 -0
  235. package/core-dist/src/extension/extensionSettings.test.js.map +1 -0
  236. package/core-dist/src/extension/gemini-converter.d.ts +47 -0
  237. package/core-dist/src/extension/gemini-converter.js +185 -0
  238. package/core-dist/src/extension/gemini-converter.js.map +1 -0
  239. package/core-dist/src/extension/gemini-converter.test.d.ts +6 -0
  240. package/core-dist/src/extension/gemini-converter.test.js +128 -0
  241. package/core-dist/src/extension/gemini-converter.test.js.map +1 -0
  242. package/core-dist/src/extension/github.d.ts +30 -0
  243. package/core-dist/src/extension/github.js +330 -0
  244. package/core-dist/src/extension/github.js.map +1 -0
  245. package/core-dist/src/extension/github.test.d.ts +6 -0
  246. package/core-dist/src/extension/github.test.js +376 -0
  247. package/core-dist/src/extension/github.test.js.map +1 -0
  248. package/core-dist/src/extension/index.d.ts +6 -0
  249. package/core-dist/src/extension/index.js +7 -0
  250. package/core-dist/src/extension/index.js.map +1 -0
  251. package/core-dist/src/extension/marketplace.d.ts +19 -0
  252. package/core-dist/src/extension/marketplace.js +222 -0
  253. package/core-dist/src/extension/marketplace.js.map +1 -0
  254. package/core-dist/src/extension/marketplace.test.d.ts +6 -0
  255. package/core-dist/src/extension/marketplace.test.js +215 -0
  256. package/core-dist/src/extension/marketplace.test.js.map +1 -0
  257. package/core-dist/src/extension/override.d.ts +25 -0
  258. package/core-dist/src/extension/override.js +82 -0
  259. package/core-dist/src/extension/override.js.map +1 -0
  260. package/core-dist/src/extension/override.test.d.ts +6 -0
  261. package/core-dist/src/extension/override.test.js +94 -0
  262. package/core-dist/src/extension/override.test.js.map +1 -0
  263. package/core-dist/src/extension/settings.d.ts +39 -0
  264. package/core-dist/src/extension/settings.js +116 -0
  265. package/core-dist/src/extension/settings.js.map +1 -0
  266. package/core-dist/src/extension/settings.test.d.ts +6 -0
  267. package/core-dist/src/extension/settings.test.js +125 -0
  268. package/core-dist/src/extension/settings.test.js.map +1 -0
  269. package/core-dist/src/extension/storage.d.ts +9 -0
  270. package/core-dist/src/extension/storage.js +38 -0
  271. package/core-dist/src/extension/storage.js.map +1 -0
  272. package/core-dist/src/extension/storage.test.d.ts +6 -0
  273. package/core-dist/src/extension/storage.test.js +64 -0
  274. package/core-dist/src/extension/storage.test.js.map +1 -0
  275. package/core-dist/src/extension/variableSchema.d.ts +40 -0
  276. package/core-dist/src/extension/variableSchema.js +26 -0
  277. package/core-dist/src/extension/variableSchema.js.map +1 -0
  278. package/core-dist/src/extension/variables.d.ts +21 -0
  279. package/core-dist/src/extension/variables.js +46 -0
  280. package/core-dist/src/extension/variables.js.map +1 -0
  281. package/core-dist/src/extension/variables.test.d.ts +6 -0
  282. package/core-dist/src/extension/variables.test.js +17 -0
  283. package/core-dist/src/extension/variables.test.js.map +1 -0
  284. package/core-dist/src/hooks/hookAggregator.d.ts +66 -0
  285. package/core-dist/src/hooks/hookAggregator.js +280 -0
  286. package/core-dist/src/hooks/hookAggregator.js.map +1 -0
  287. package/core-dist/src/hooks/hookAggregator.test.d.ts +6 -0
  288. package/core-dist/src/hooks/hookAggregator.test.js +449 -0
  289. package/core-dist/src/hooks/hookAggregator.test.js.map +1 -0
  290. package/core-dist/src/hooks/hookEventHandler.d.ts +42 -0
  291. package/core-dist/src/hooks/hookEventHandler.js +127 -0
  292. package/core-dist/src/hooks/hookEventHandler.js.map +1 -0
  293. package/core-dist/src/hooks/hookEventHandler.test.d.ts +6 -0
  294. package/core-dist/src/hooks/hookEventHandler.test.js +183 -0
  295. package/core-dist/src/hooks/hookEventHandler.test.js.map +1 -0
  296. package/core-dist/src/hooks/hookPlanner.d.ts +42 -0
  297. package/core-dist/src/hooks/hookPlanner.js +101 -0
  298. package/core-dist/src/hooks/hookPlanner.js.map +1 -0
  299. package/core-dist/src/hooks/hookPlanner.test.d.ts +6 -0
  300. package/core-dist/src/hooks/hookPlanner.test.js +303 -0
  301. package/core-dist/src/hooks/hookPlanner.test.js.map +1 -0
  302. package/core-dist/src/hooks/hookRegistry.d.ts +106 -0
  303. package/core-dist/src/hooks/hookRegistry.js +225 -0
  304. package/core-dist/src/hooks/hookRegistry.js.map +1 -0
  305. package/core-dist/src/hooks/hookRegistry.test.d.ts +6 -0
  306. package/core-dist/src/hooks/hookRegistry.test.js +539 -0
  307. package/core-dist/src/hooks/hookRegistry.test.js.map +1 -0
  308. package/core-dist/src/hooks/hookRunner.d.ts +40 -0
  309. package/core-dist/src/hooks/hookRunner.js +318 -0
  310. package/core-dist/src/hooks/hookRunner.js.map +1 -0
  311. package/core-dist/src/hooks/hookRunner.test.d.ts +6 -0
  312. package/core-dist/src/hooks/hookRunner.test.js +466 -0
  313. package/core-dist/src/hooks/hookRunner.test.js.map +1 -0
  314. package/core-dist/src/hooks/hookSystem.d.ts +43 -0
  315. package/core-dist/src/hooks/hookSystem.js +75 -0
  316. package/core-dist/src/hooks/hookSystem.js.map +1 -0
  317. package/core-dist/src/hooks/hookSystem.test.d.ts +6 -0
  318. package/core-dist/src/hooks/hookSystem.test.js +237 -0
  319. package/core-dist/src/hooks/hookSystem.test.js.map +1 -0
  320. package/core-dist/src/hooks/index.d.ts +16 -0
  321. package/core-dist/src/hooks/index.js +16 -0
  322. package/core-dist/src/hooks/index.js.map +1 -0
  323. package/core-dist/src/hooks/trustedHooks.d.ts +28 -0
  324. package/core-dist/src/hooks/trustedHooks.js +91 -0
  325. package/core-dist/src/hooks/trustedHooks.js.map +1 -0
  326. package/core-dist/src/hooks/types.d.ts +498 -0
  327. package/core-dist/src/hooks/types.js +292 -0
  328. package/core-dist/src/hooks/types.js.map +1 -0
  329. package/core-dist/src/ide/constants.d.ts +9 -0
  330. package/core-dist/src/ide/constants.js +10 -0
  331. package/core-dist/src/ide/constants.js.map +1 -0
  332. package/core-dist/src/ide/detect-ide.d.ts +56 -0
  333. package/core-dist/src/ide/detect-ide.js +68 -0
  334. package/core-dist/src/ide/detect-ide.js.map +1 -0
  335. package/core-dist/src/ide/detect-ide.test.d.ts +6 -0
  336. package/core-dist/src/ide/detect-ide.test.js +113 -0
  337. package/core-dist/src/ide/detect-ide.test.js.map +1 -0
  338. package/core-dist/src/ide/ide-client.d.ts +132 -0
  339. package/core-dist/src/ide/ide-client.js +750 -0
  340. package/core-dist/src/ide/ide-client.js.map +1 -0
  341. package/core-dist/src/ide/ide-client.test.d.ts +6 -0
  342. package/core-dist/src/ide/ide-client.test.js +463 -0
  343. package/core-dist/src/ide/ide-client.test.js.map +1 -0
  344. package/core-dist/src/ide/ide-installer.d.ts +14 -0
  345. package/core-dist/src/ide/ide-installer.js +112 -0
  346. package/core-dist/src/ide/ide-installer.js.map +1 -0
  347. package/core-dist/src/ide/ide-installer.test.d.ts +6 -0
  348. package/core-dist/src/ide/ide-installer.test.js +134 -0
  349. package/core-dist/src/ide/ide-installer.test.js.map +1 -0
  350. package/core-dist/src/ide/ideContext.d.ts +44 -0
  351. package/core-dist/src/ide/ideContext.js +101 -0
  352. package/core-dist/src/ide/ideContext.js.map +1 -0
  353. package/core-dist/src/ide/ideContext.test.d.ts +6 -0
  354. package/core-dist/src/ide/ideContext.test.js +393 -0
  355. package/core-dist/src/ide/ideContext.test.js.map +1 -0
  356. package/core-dist/src/ide/process-utils.d.ts +21 -0
  357. package/core-dist/src/ide/process-utils.js +170 -0
  358. package/core-dist/src/ide/process-utils.js.map +1 -0
  359. package/core-dist/src/ide/process-utils.test.d.ts +6 -0
  360. package/core-dist/src/ide/process-utils.test.js +130 -0
  361. package/core-dist/src/ide/process-utils.test.js.map +1 -0
  362. package/core-dist/src/ide/types.d.ts +486 -0
  363. package/core-dist/src/ide/types.js +138 -0
  364. package/core-dist/src/ide/types.js.map +1 -0
  365. package/core-dist/src/index.d.ts +179 -0
  366. package/core-dist/src/index.js +225 -0
  367. package/core-dist/src/index.js.map +1 -0
  368. package/core-dist/src/index.test.d.ts +6 -0
  369. package/core-dist/src/index.test.js +12 -0
  370. package/core-dist/src/index.test.js.map +1 -0
  371. package/core-dist/src/lsp/LspConfigLoader.d.ts +46 -0
  372. package/core-dist/src/lsp/LspConfigLoader.js +381 -0
  373. package/core-dist/src/lsp/LspConfigLoader.js.map +1 -0
  374. package/core-dist/src/lsp/LspConfigLoader.test.d.ts +6 -0
  375. package/core-dist/src/lsp/LspConfigLoader.test.js +80 -0
  376. package/core-dist/src/lsp/LspConfigLoader.test.js.map +1 -0
  377. package/core-dist/src/lsp/LspConnectionFactory.d.ts +62 -0
  378. package/core-dist/src/lsp/LspConnectionFactory.js +305 -0
  379. package/core-dist/src/lsp/LspConnectionFactory.js.map +1 -0
  380. package/core-dist/src/lsp/LspLanguageDetector.d.ts +39 -0
  381. package/core-dist/src/lsp/LspLanguageDetector.js +199 -0
  382. package/core-dist/src/lsp/LspLanguageDetector.js.map +1 -0
  383. package/core-dist/src/lsp/LspResponseNormalizer.d.ts +122 -0
  384. package/core-dist/src/lsp/LspResponseNormalizer.js +710 -0
  385. package/core-dist/src/lsp/LspResponseNormalizer.js.map +1 -0
  386. package/core-dist/src/lsp/LspServerManager.d.ts +87 -0
  387. package/core-dist/src/lsp/LspServerManager.js +563 -0
  388. package/core-dist/src/lsp/LspServerManager.js.map +1 -0
  389. package/core-dist/src/lsp/NativeLspClient.d.ts +149 -0
  390. package/core-dist/src/lsp/NativeLspClient.js +169 -0
  391. package/core-dist/src/lsp/NativeLspClient.js.map +1 -0
  392. package/core-dist/src/lsp/NativeLspService.d.ts +106 -0
  393. package/core-dist/src/lsp/NativeLspService.integration.test.d.ts +6 -0
  394. package/core-dist/src/lsp/NativeLspService.integration.test.js +663 -0
  395. package/core-dist/src/lsp/NativeLspService.integration.test.js.map +1 -0
  396. package/core-dist/src/lsp/NativeLspService.js +623 -0
  397. package/core-dist/src/lsp/NativeLspService.js.map +1 -0
  398. package/core-dist/src/lsp/NativeLspService.test.d.ts +6 -0
  399. package/core-dist/src/lsp/NativeLspService.test.js +99 -0
  400. package/core-dist/src/lsp/NativeLspService.test.js.map +1 -0
  401. package/core-dist/src/lsp/constants.d.ts +35 -0
  402. package/core-dist/src/lsp/constants.js +86 -0
  403. package/core-dist/src/lsp/constants.js.map +1 -0
  404. package/core-dist/src/lsp/types.d.ts +409 -0
  405. package/core-dist/src/lsp/types.js +7 -0
  406. package/core-dist/src/lsp/types.js.map +1 -0
  407. package/core-dist/src/mcp/constants.d.ts +22 -0
  408. package/core-dist/src/mcp/constants.js +23 -0
  409. package/core-dist/src/mcp/constants.js.map +1 -0
  410. package/core-dist/src/mcp/google-auth-provider.d.ts +23 -0
  411. package/core-dist/src/mcp/google-auth-provider.js +75 -0
  412. package/core-dist/src/mcp/google-auth-provider.js.map +1 -0
  413. package/core-dist/src/mcp/google-auth-provider.test.d.ts +6 -0
  414. package/core-dist/src/mcp/google-auth-provider.test.js +89 -0
  415. package/core-dist/src/mcp/google-auth-provider.test.js.map +1 -0
  416. package/core-dist/src/mcp/oauth-provider.d.ts +150 -0
  417. package/core-dist/src/mcp/oauth-provider.js +617 -0
  418. package/core-dist/src/mcp/oauth-provider.js.map +1 -0
  419. package/core-dist/src/mcp/oauth-provider.test.d.ts +6 -0
  420. package/core-dist/src/mcp/oauth-provider.test.js +917 -0
  421. package/core-dist/src/mcp/oauth-provider.test.js.map +1 -0
  422. package/core-dist/src/mcp/oauth-token-storage.d.ts +65 -0
  423. package/core-dist/src/mcp/oauth-token-storage.js +182 -0
  424. package/core-dist/src/mcp/oauth-token-storage.js.map +1 -0
  425. package/core-dist/src/mcp/oauth-token-storage.test.d.ts +6 -0
  426. package/core-dist/src/mcp/oauth-token-storage.test.js +307 -0
  427. package/core-dist/src/mcp/oauth-token-storage.test.js.map +1 -0
  428. package/core-dist/src/mcp/oauth-utils.d.ts +124 -0
  429. package/core-dist/src/mcp/oauth-utils.js +252 -0
  430. package/core-dist/src/mcp/oauth-utils.js.map +1 -0
  431. package/core-dist/src/mcp/oauth-utils.test.d.ts +6 -0
  432. package/core-dist/src/mcp/oauth-utils.test.js +220 -0
  433. package/core-dist/src/mcp/oauth-utils.test.js.map +1 -0
  434. package/core-dist/src/mcp/sa-impersonation-provider.d.ts +33 -0
  435. package/core-dist/src/mcp/sa-impersonation-provider.js +133 -0
  436. package/core-dist/src/mcp/sa-impersonation-provider.js.map +1 -0
  437. package/core-dist/src/mcp/sa-impersonation-provider.test.d.ts +6 -0
  438. package/core-dist/src/mcp/sa-impersonation-provider.test.js +117 -0
  439. package/core-dist/src/mcp/sa-impersonation-provider.test.js.map +1 -0
  440. package/core-dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
  441. package/core-dist/src/mcp/token-storage/base-token-storage.js +36 -0
  442. package/core-dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
  443. package/core-dist/src/mcp/token-storage/base-token-storage.test.d.ts +6 -0
  444. package/core-dist/src/mcp/token-storage/base-token-storage.test.js +160 -0
  445. package/core-dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -0
  446. package/core-dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
  447. package/core-dist/src/mcp/token-storage/file-token-storage.js +144 -0
  448. package/core-dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
  449. package/core-dist/src/mcp/token-storage/file-token-storage.test.d.ts +6 -0
  450. package/core-dist/src/mcp/token-storage/file-token-storage.test.js +235 -0
  451. package/core-dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -0
  452. package/core-dist/src/mcp/token-storage/hybrid-token-storage.d.ts +23 -0
  453. package/core-dist/src/mcp/token-storage/hybrid-token-storage.js +78 -0
  454. package/core-dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -0
  455. package/core-dist/src/mcp/token-storage/hybrid-token-storage.test.d.ts +6 -0
  456. package/core-dist/src/mcp/token-storage/hybrid-token-storage.test.js +193 -0
  457. package/core-dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -0
  458. package/core-dist/src/mcp/token-storage/index.d.ts +11 -0
  459. package/core-dist/src/mcp/token-storage/index.js +12 -0
  460. package/core-dist/src/mcp/token-storage/index.js.map +1 -0
  461. package/core-dist/src/mcp/token-storage/keychain-token-storage.d.ts +35 -0
  462. package/core-dist/src/mcp/token-storage/keychain-token-storage.js +248 -0
  463. package/core-dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -0
  464. package/core-dist/src/mcp/token-storage/keychain-token-storage.test.d.ts +6 -0
  465. package/core-dist/src/mcp/token-storage/keychain-token-storage.test.js +254 -0
  466. package/core-dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -0
  467. package/core-dist/src/mcp/token-storage/types.d.ts +38 -0
  468. package/core-dist/src/mcp/token-storage/types.js +11 -0
  469. package/core-dist/src/mcp/token-storage/types.js.map +1 -0
  470. package/core-dist/src/mocks/msw.d.ts +6 -0
  471. package/core-dist/src/mocks/msw.js +8 -0
  472. package/core-dist/src/mocks/msw.js.map +1 -0
  473. package/core-dist/src/models/constants.d.ts +71 -0
  474. package/core-dist/src/models/constants.js +92 -0
  475. package/core-dist/src/models/constants.js.map +1 -0
  476. package/core-dist/src/models/index.d.ts +10 -0
  477. package/core-dist/src/models/index.js +12 -0
  478. package/core-dist/src/models/index.js.map +1 -0
  479. package/core-dist/src/models/modelConfigErrors.d.ts +46 -0
  480. package/core-dist/src/models/modelConfigErrors.js +87 -0
  481. package/core-dist/src/models/modelConfigErrors.js.map +1 -0
  482. package/core-dist/src/models/modelConfigResolver.d.ts +84 -0
  483. package/core-dist/src/models/modelConfigResolver.js +204 -0
  484. package/core-dist/src/models/modelConfigResolver.js.map +1 -0
  485. package/core-dist/src/models/modelConfigResolver.test.d.ts +6 -0
  486. package/core-dist/src/models/modelConfigResolver.test.js +302 -0
  487. package/core-dist/src/models/modelConfigResolver.test.js.map +1 -0
  488. package/core-dist/src/models/modelRegistry.d.ts +55 -0
  489. package/core-dist/src/models/modelRegistry.js +182 -0
  490. package/core-dist/src/models/modelRegistry.js.map +1 -0
  491. package/core-dist/src/models/modelRegistry.test.d.ts +6 -0
  492. package/core-dist/src/models/modelRegistry.test.js +408 -0
  493. package/core-dist/src/models/modelRegistry.test.js.map +1 -0
  494. package/core-dist/src/models/modelsConfig.d.ts +343 -0
  495. package/core-dist/src/models/modelsConfig.js +957 -0
  496. package/core-dist/src/models/modelsConfig.js.map +1 -0
  497. package/core-dist/src/models/modelsConfig.test.d.ts +6 -0
  498. package/core-dist/src/models/modelsConfig.test.js +1242 -0
  499. package/core-dist/src/models/modelsConfig.test.js.map +1 -0
  500. package/core-dist/src/models/types.d.ts +114 -0
  501. package/core-dist/src/models/types.js +7 -0
  502. package/core-dist/src/models/types.js.map +1 -0
  503. package/core-dist/src/output/json-formatter.d.ts +11 -0
  504. package/core-dist/src/output/json-formatter.js +30 -0
  505. package/core-dist/src/output/json-formatter.js.map +1 -0
  506. package/core-dist/src/output/json-formatter.test.d.ts +6 -0
  507. package/core-dist/src/output/json-formatter.test.js +266 -0
  508. package/core-dist/src/output/json-formatter.test.js.map +1 -0
  509. package/core-dist/src/output/types.d.ts +25 -0
  510. package/core-dist/src/output/types.js +17 -0
  511. package/core-dist/src/output/types.js.map +1 -0
  512. package/core-dist/src/prompts/mcp-prompts.d.ts +8 -0
  513. package/core-dist/src/prompts/mcp-prompts.js +13 -0
  514. package/core-dist/src/prompts/mcp-prompts.js.map +1 -0
  515. package/core-dist/src/prompts/prompt-registry.d.ts +34 -0
  516. package/core-dist/src/prompts/prompt-registry.js +65 -0
  517. package/core-dist/src/prompts/prompt-registry.js.map +1 -0
  518. package/core-dist/src/qwen/qwenContentGenerator.d.ts +71 -0
  519. package/core-dist/src/qwen/qwenContentGenerator.js +182 -0
  520. package/core-dist/src/qwen/qwenContentGenerator.js.map +1 -0
  521. package/core-dist/src/qwen/qwenContentGenerator.test.d.ts +6 -0
  522. package/core-dist/src/qwen/qwenContentGenerator.test.js +1175 -0
  523. package/core-dist/src/qwen/qwenContentGenerator.test.js.map +1 -0
  524. package/core-dist/src/qwen/qwenOAuth2.d.ts +195 -0
  525. package/core-dist/src/qwen/qwenOAuth2.js +677 -0
  526. package/core-dist/src/qwen/qwenOAuth2.js.map +1 -0
  527. package/core-dist/src/qwen/qwenOAuth2.test.d.ts +6 -0
  528. package/core-dist/src/qwen/qwenOAuth2.test.js +1621 -0
  529. package/core-dist/src/qwen/qwenOAuth2.test.js.map +1 -0
  530. package/core-dist/src/qwen/sharedTokenManager.d.ts +196 -0
  531. package/core-dist/src/qwen/sharedTokenManager.js +649 -0
  532. package/core-dist/src/qwen/sharedTokenManager.js.map +1 -0
  533. package/core-dist/src/qwen/sharedTokenManager.test.d.ts +7 -0
  534. package/core-dist/src/qwen/sharedTokenManager.test.js +662 -0
  535. package/core-dist/src/qwen/sharedTokenManager.test.js.map +1 -0
  536. package/core-dist/src/services/chatCompressionService.d.ts +32 -0
  537. package/core-dist/src/services/chatCompressionService.js +213 -0
  538. package/core-dist/src/services/chatCompressionService.js.map +1 -0
  539. package/core-dist/src/services/chatCompressionService.test.d.ts +6 -0
  540. package/core-dist/src/services/chatCompressionService.test.js +343 -0
  541. package/core-dist/src/services/chatCompressionService.test.js.map +1 -0
  542. package/core-dist/src/services/chatRecordingService.d.ts +215 -0
  543. package/core-dist/src/services/chatRecordingService.js +285 -0
  544. package/core-dist/src/services/chatRecordingService.js.map +1 -0
  545. package/core-dist/src/services/chatRecordingService.test.d.ts +6 -0
  546. package/core-dist/src/services/chatRecordingService.test.js +299 -0
  547. package/core-dist/src/services/chatRecordingService.test.js.map +1 -0
  548. package/core-dist/src/services/fileDiscoveryService.d.ts +45 -0
  549. package/core-dist/src/services/fileDiscoveryService.js +104 -0
  550. package/core-dist/src/services/fileDiscoveryService.js.map +1 -0
  551. package/core-dist/src/services/fileDiscoveryService.test.d.ts +6 -0
  552. package/core-dist/src/services/fileDiscoveryService.test.js +143 -0
  553. package/core-dist/src/services/fileDiscoveryService.test.js.map +1 -0
  554. package/core-dist/src/services/fileSystemService.d.ts +88 -0
  555. package/core-dist/src/services/fileSystemService.js +131 -0
  556. package/core-dist/src/services/fileSystemService.js.map +1 -0
  557. package/core-dist/src/services/fileSystemService.test.d.ts +6 -0
  558. package/core-dist/src/services/fileSystemService.test.js +216 -0
  559. package/core-dist/src/services/fileSystemService.test.js.map +1 -0
  560. package/core-dist/src/services/gitService.d.ts +22 -0
  561. package/core-dist/src/services/gitService.js +98 -0
  562. package/core-dist/src/services/gitService.js.map +1 -0
  563. package/core-dist/src/services/gitService.test.d.ts +6 -0
  564. package/core-dist/src/services/gitService.test.js +187 -0
  565. package/core-dist/src/services/gitService.test.js.map +1 -0
  566. package/core-dist/src/services/loopDetectionService.d.ts +86 -0
  567. package/core-dist/src/services/loopDetectionService.js +239 -0
  568. package/core-dist/src/services/loopDetectionService.js.map +1 -0
  569. package/core-dist/src/services/loopDetectionService.test.d.ts +6 -0
  570. package/core-dist/src/services/loopDetectionService.test.js +478 -0
  571. package/core-dist/src/services/loopDetectionService.test.js.map +1 -0
  572. package/core-dist/src/services/sessionService.d.ts +200 -0
  573. package/core-dist/src/services/sessionService.js +527 -0
  574. package/core-dist/src/services/sessionService.js.map +1 -0
  575. package/core-dist/src/services/sessionService.test.d.ts +6 -0
  576. package/core-dist/src/services/sessionService.test.js +576 -0
  577. package/core-dist/src/services/sessionService.test.js.map +1 -0
  578. package/core-dist/src/services/shellExecutionService.d.ts +104 -0
  579. package/core-dist/src/services/shellExecutionService.js +626 -0
  580. package/core-dist/src/services/shellExecutionService.js.map +1 -0
  581. package/core-dist/src/services/shellExecutionService.test.d.ts +6 -0
  582. package/core-dist/src/services/shellExecutionService.test.js +684 -0
  583. package/core-dist/src/services/shellExecutionService.test.js.map +1 -0
  584. package/core-dist/src/skills/index.d.ts +19 -0
  585. package/core-dist/src/skills/index.js +9 -0
  586. package/core-dist/src/skills/index.js.map +1 -0
  587. package/core-dist/src/skills/skill-load.d.ts +4 -0
  588. package/core-dist/src/skills/skill-load.js +137 -0
  589. package/core-dist/src/skills/skill-load.js.map +1 -0
  590. package/core-dist/src/skills/skill-load.test.d.ts +6 -0
  591. package/core-dist/src/skills/skill-load.test.js +237 -0
  592. package/core-dist/src/skills/skill-load.test.js.map +1 -0
  593. package/core-dist/src/skills/skill-manager.d.ts +134 -0
  594. package/core-dist/src/skills/skill-manager.js +505 -0
  595. package/core-dist/src/skills/skill-manager.js.map +1 -0
  596. package/core-dist/src/skills/skill-manager.test.d.ts +6 -0
  597. package/core-dist/src/skills/skill-manager.test.js +527 -0
  598. package/core-dist/src/skills/skill-manager.test.js.map +1 -0
  599. package/core-dist/src/skills/types.d.ts +88 -0
  600. package/core-dist/src/skills/types.js +29 -0
  601. package/core-dist/src/skills/types.js.map +1 -0
  602. package/core-dist/src/subagents/builtin-agents.d.ts +35 -0
  603. package/core-dist/src/subagents/builtin-agents.js +85 -0
  604. package/core-dist/src/subagents/builtin-agents.js.map +1 -0
  605. package/core-dist/src/subagents/builtin-agents.test.d.ts +6 -0
  606. package/core-dist/src/subagents/builtin-agents.test.js +78 -0
  607. package/core-dist/src/subagents/builtin-agents.test.js.map +1 -0
  608. package/core-dist/src/subagents/index.d.ts +29 -0
  609. package/core-dist/src/subagents/index.js +15 -0
  610. package/core-dist/src/subagents/index.js.map +1 -0
  611. package/core-dist/src/subagents/subagent-events.d.ts +105 -0
  612. package/core-dist/src/subagents/subagent-events.js +32 -0
  613. package/core-dist/src/subagents/subagent-events.js.map +1 -0
  614. package/core-dist/src/subagents/subagent-hooks.d.ts +29 -0
  615. package/core-dist/src/subagents/subagent-hooks.js +7 -0
  616. package/core-dist/src/subagents/subagent-hooks.js.map +1 -0
  617. package/core-dist/src/subagents/subagent-manager.d.ts +178 -0
  618. package/core-dist/src/subagents/subagent-manager.js +711 -0
  619. package/core-dist/src/subagents/subagent-manager.js.map +1 -0
  620. package/core-dist/src/subagents/subagent-manager.test.d.ts +6 -0
  621. package/core-dist/src/subagents/subagent-manager.test.js +829 -0
  622. package/core-dist/src/subagents/subagent-manager.test.js.map +1 -0
  623. package/core-dist/src/subagents/subagent-statistics.d.ts +50 -0
  624. package/core-dist/src/subagents/subagent-statistics.js +210 -0
  625. package/core-dist/src/subagents/subagent-statistics.js.map +1 -0
  626. package/core-dist/src/subagents/subagent-statistics.test.d.ts +6 -0
  627. package/core-dist/src/subagents/subagent-statistics.test.js +238 -0
  628. package/core-dist/src/subagents/subagent-statistics.test.js.map +1 -0
  629. package/core-dist/src/subagents/subagent.d.ts +167 -0
  630. package/core-dist/src/subagents/subagent.js +758 -0
  631. package/core-dist/src/subagents/subagent.js.map +1 -0
  632. package/core-dist/src/subagents/subagent.test.d.ts +6 -0
  633. package/core-dist/src/subagents/subagent.test.js +819 -0
  634. package/core-dist/src/subagents/subagent.test.js.map +1 -0
  635. package/core-dist/src/subagents/types.d.ts +224 -0
  636. package/core-dist/src/subagents/types.js +58 -0
  637. package/core-dist/src/subagents/types.js.map +1 -0
  638. package/core-dist/src/subagents/types.test.d.ts +6 -0
  639. package/core-dist/src/subagents/types.test.js +31 -0
  640. package/core-dist/src/subagents/types.test.js.map +1 -0
  641. package/core-dist/src/subagents/validation.d.ts +63 -0
  642. package/core-dist/src/subagents/validation.js +293 -0
  643. package/core-dist/src/subagents/validation.js.map +1 -0
  644. package/core-dist/src/subagents/validation.test.d.ts +6 -0
  645. package/core-dist/src/subagents/validation.test.js +330 -0
  646. package/core-dist/src/subagents/validation.test.js.map +1 -0
  647. package/core-dist/src/telemetry/config.d.ts +31 -0
  648. package/core-dist/src/telemetry/config.js +74 -0
  649. package/core-dist/src/telemetry/config.js.map +1 -0
  650. package/core-dist/src/telemetry/config.test.d.ts +6 -0
  651. package/core-dist/src/telemetry/config.test.js +124 -0
  652. package/core-dist/src/telemetry/config.test.js.map +1 -0
  653. package/core-dist/src/telemetry/constants.d.ts +39 -0
  654. package/core-dist/src/telemetry/constants.js +41 -0
  655. package/core-dist/src/telemetry/constants.js.map +1 -0
  656. package/core-dist/src/telemetry/file-exporters.d.ts +29 -0
  657. package/core-dist/src/telemetry/file-exporters.js +62 -0
  658. package/core-dist/src/telemetry/file-exporters.js.map +1 -0
  659. package/core-dist/src/telemetry/index.d.ts +25 -0
  660. package/core-dist/src/telemetry/index.js +31 -0
  661. package/core-dist/src/telemetry/index.js.map +1 -0
  662. package/core-dist/src/telemetry/integration.test.circular.d.ts +6 -0
  663. package/core-dist/src/telemetry/integration.test.circular.js +95 -0
  664. package/core-dist/src/telemetry/integration.test.circular.js.map +1 -0
  665. package/core-dist/src/telemetry/loggers.d.ts +40 -0
  666. package/core-dist/src/telemetry/loggers.js +712 -0
  667. package/core-dist/src/telemetry/loggers.js.map +1 -0
  668. package/core-dist/src/telemetry/loggers.test.circular.d.ts +6 -0
  669. package/core-dist/src/telemetry/loggers.test.circular.js +107 -0
  670. package/core-dist/src/telemetry/loggers.test.circular.js.map +1 -0
  671. package/core-dist/src/telemetry/loggers.test.d.ts +6 -0
  672. package/core-dist/src/telemetry/loggers.test.js +961 -0
  673. package/core-dist/src/telemetry/loggers.test.js.map +1 -0
  674. package/core-dist/src/telemetry/metrics.d.ts +320 -0
  675. package/core-dist/src/telemetry/metrics.js +532 -0
  676. package/core-dist/src/telemetry/metrics.js.map +1 -0
  677. package/core-dist/src/telemetry/metrics.test.d.ts +6 -0
  678. package/core-dist/src/telemetry/metrics.test.js +746 -0
  679. package/core-dist/src/telemetry/metrics.test.js.map +1 -0
  680. package/core-dist/src/telemetry/qwen-logger/event-types.d.ts +89 -0
  681. package/core-dist/src/telemetry/qwen-logger/event-types.js +2 -0
  682. package/core-dist/src/telemetry/qwen-logger/event-types.js.map +1 -0
  683. package/core-dist/src/telemetry/qwen-logger/qwen-logger.d.ts +102 -0
  684. package/core-dist/src/telemetry/qwen-logger/qwen-logger.js +739 -0
  685. package/core-dist/src/telemetry/qwen-logger/qwen-logger.js.map +1 -0
  686. package/core-dist/src/telemetry/qwen-logger/qwen-logger.test.d.ts +6 -0
  687. package/core-dist/src/telemetry/qwen-logger/qwen-logger.test.js +380 -0
  688. package/core-dist/src/telemetry/qwen-logger/qwen-logger.test.js.map +1 -0
  689. package/core-dist/src/telemetry/sdk.d.ts +9 -0
  690. package/core-dist/src/telemetry/sdk.js +163 -0
  691. package/core-dist/src/telemetry/sdk.js.map +1 -0
  692. package/core-dist/src/telemetry/sdk.test.d.ts +6 -0
  693. package/core-dist/src/telemetry/sdk.test.js +116 -0
  694. package/core-dist/src/telemetry/sdk.test.js.map +1 -0
  695. package/core-dist/src/telemetry/telemetry-utils.d.ts +6 -0
  696. package/core-dist/src/telemetry/telemetry-utils.js +14 -0
  697. package/core-dist/src/telemetry/telemetry-utils.js.map +1 -0
  698. package/core-dist/src/telemetry/telemetry-utils.test.d.ts +6 -0
  699. package/core-dist/src/telemetry/telemetry-utils.test.js +40 -0
  700. package/core-dist/src/telemetry/telemetry-utils.test.js.map +1 -0
  701. package/core-dist/src/telemetry/telemetry.test.d.ts +6 -0
  702. package/core-dist/src/telemetry/telemetry.test.js +49 -0
  703. package/core-dist/src/telemetry/telemetry.test.js.map +1 -0
  704. package/core-dist/src/telemetry/tool-call-decision.d.ts +13 -0
  705. package/core-dist/src/telemetry/tool-call-decision.js +29 -0
  706. package/core-dist/src/telemetry/tool-call-decision.js.map +1 -0
  707. package/core-dist/src/telemetry/types.d.ts +363 -0
  708. package/core-dist/src/telemetry/types.js +635 -0
  709. package/core-dist/src/telemetry/types.js.map +1 -0
  710. package/core-dist/src/telemetry/uiTelemetry.d.ts +80 -0
  711. package/core-dist/src/telemetry/uiTelemetry.js +164 -0
  712. package/core-dist/src/telemetry/uiTelemetry.js.map +1 -0
  713. package/core-dist/src/telemetry/uiTelemetry.test.d.ts +6 -0
  714. package/core-dist/src/telemetry/uiTelemetry.test.js +625 -0
  715. package/core-dist/src/telemetry/uiTelemetry.test.js.map +1 -0
  716. package/core-dist/src/test-utils/config.d.ts +17 -0
  717. package/core-dist/src/test-utils/config.js +31 -0
  718. package/core-dist/src/test-utils/config.js.map +1 -0
  719. package/core-dist/src/test-utils/index.d.ts +6 -0
  720. package/core-dist/src/test-utils/index.js +7 -0
  721. package/core-dist/src/test-utils/index.js.map +1 -0
  722. package/core-dist/src/test-utils/mock-tool.d.ts +66 -0
  723. package/core-dist/src/test-utils/mock-tool.js +121 -0
  724. package/core-dist/src/test-utils/mock-tool.js.map +1 -0
  725. package/core-dist/src/test-utils/mockWorkspaceContext.d.ts +13 -0
  726. package/core-dist/src/test-utils/mockWorkspaceContext.js +24 -0
  727. package/core-dist/src/test-utils/mockWorkspaceContext.js.map +1 -0
  728. package/core-dist/src/tools/askUserQuestion.d.ts +41 -0
  729. package/core-dist/src/tools/askUserQuestion.js +247 -0
  730. package/core-dist/src/tools/askUserQuestion.js.map +1 -0
  731. package/core-dist/src/tools/askUserQuestion.test.d.ts +6 -0
  732. package/core-dist/src/tools/askUserQuestion.test.js +218 -0
  733. package/core-dist/src/tools/askUserQuestion.test.js.map +1 -0
  734. package/core-dist/src/tools/diffOptions.d.ts +9 -0
  735. package/core-dist/src/tools/diffOptions.js +46 -0
  736. package/core-dist/src/tools/diffOptions.js.map +1 -0
  737. package/core-dist/src/tools/diffOptions.test.d.ts +6 -0
  738. package/core-dist/src/tools/diffOptions.test.js +155 -0
  739. package/core-dist/src/tools/diffOptions.test.js.map +1 -0
  740. package/core-dist/src/tools/edit.d.ts +55 -0
  741. package/core-dist/src/tools/edit.js +446 -0
  742. package/core-dist/src/tools/edit.js.map +1 -0
  743. package/core-dist/src/tools/edit.test.d.ts +6 -0
  744. package/core-dist/src/tools/edit.test.js +742 -0
  745. package/core-dist/src/tools/edit.test.js.map +1 -0
  746. package/core-dist/src/tools/exitPlanMode.d.ts +28 -0
  747. package/core-dist/src/tools/exitPlanMode.js +144 -0
  748. package/core-dist/src/tools/exitPlanMode.js.map +1 -0
  749. package/core-dist/src/tools/exitPlanMode.test.d.ts +6 -0
  750. package/core-dist/src/tools/exitPlanMode.test.js +178 -0
  751. package/core-dist/src/tools/exitPlanMode.test.js.map +1 -0
  752. package/core-dist/src/tools/glob.d.ts +44 -0
  753. package/core-dist/src/tools/glob.js +195 -0
  754. package/core-dist/src/tools/glob.js.map +1 -0
  755. package/core-dist/src/tools/glob.test.d.ts +6 -0
  756. package/core-dist/src/tools/glob.test.js +481 -0
  757. package/core-dist/src/tools/glob.test.js.map +1 -0
  758. package/core-dist/src/tools/grep.d.ts +44 -0
  759. package/core-dist/src/tools/grep.js +427 -0
  760. package/core-dist/src/tools/grep.js.map +1 -0
  761. package/core-dist/src/tools/grep.test.d.ts +6 -0
  762. package/core-dist/src/tools/grep.test.js +360 -0
  763. package/core-dist/src/tools/grep.test.js.map +1 -0
  764. package/core-dist/src/tools/ls.d.ts +68 -0
  765. package/core-dist/src/tools/ls.js +221 -0
  766. package/core-dist/src/tools/ls.js.map +1 -0
  767. package/core-dist/src/tools/ls.test.d.ts +6 -0
  768. package/core-dist/src/tools/ls.test.js +246 -0
  769. package/core-dist/src/tools/ls.test.js.map +1 -0
  770. package/core-dist/src/tools/lsp.d.ts +66 -0
  771. package/core-dist/src/tools/lsp.js +894 -0
  772. package/core-dist/src/tools/lsp.js.map +1 -0
  773. package/core-dist/src/tools/lsp.test.d.ts +6 -0
  774. package/core-dist/src/tools/lsp.test.js +960 -0
  775. package/core-dist/src/tools/lsp.test.js.map +1 -0
  776. package/core-dist/src/tools/mcp-client-manager.d.ts +110 -0
  777. package/core-dist/src/tools/mcp-client-manager.js +381 -0
  778. package/core-dist/src/tools/mcp-client-manager.js.map +1 -0
  779. package/core-dist/src/tools/mcp-client-manager.test.d.ts +6 -0
  780. package/core-dist/src/tools/mcp-client-manager.test.js +207 -0
  781. package/core-dist/src/tools/mcp-client-manager.test.js.map +1 -0
  782. package/core-dist/src/tools/mcp-client.d.ts +199 -0
  783. package/core-dist/src/tools/mcp-client.js +1001 -0
  784. package/core-dist/src/tools/mcp-client.js.map +1 -0
  785. package/core-dist/src/tools/mcp-client.test.d.ts +6 -0
  786. package/core-dist/src/tools/mcp-client.test.js +307 -0
  787. package/core-dist/src/tools/mcp-client.test.js.map +1 -0
  788. package/core-dist/src/tools/mcp-tool.d.ts +69 -0
  789. package/core-dist/src/tools/mcp-tool.js +365 -0
  790. package/core-dist/src/tools/mcp-tool.js.map +1 -0
  791. package/core-dist/src/tools/mcp-tool.test.d.ts +6 -0
  792. package/core-dist/src/tools/mcp-tool.test.js +827 -0
  793. package/core-dist/src/tools/mcp-tool.test.js.map +1 -0
  794. package/core-dist/src/tools/memoryTool.d.ts +42 -0
  795. package/core-dist/src/tools/memoryTool.js +403 -0
  796. package/core-dist/src/tools/memoryTool.js.map +1 -0
  797. package/core-dist/src/tools/memoryTool.test.d.ts +6 -0
  798. package/core-dist/src/tools/memoryTool.test.js +416 -0
  799. package/core-dist/src/tools/memoryTool.test.js.map +1 -0
  800. package/core-dist/src/tools/modifiable-tool.d.ts +32 -0
  801. package/core-dist/src/tools/modifiable-tool.js +90 -0
  802. package/core-dist/src/tools/modifiable-tool.js.map +1 -0
  803. package/core-dist/src/tools/modifiable-tool.test.d.ts +6 -0
  804. package/core-dist/src/tools/modifiable-tool.test.js +188 -0
  805. package/core-dist/src/tools/modifiable-tool.test.js.map +1 -0
  806. package/core-dist/src/tools/read-file.d.ts +35 -0
  807. package/core-dist/src/tools/read-file.js +141 -0
  808. package/core-dist/src/tools/read-file.js.map +1 -0
  809. package/core-dist/src/tools/read-file.test.d.ts +6 -0
  810. package/core-dist/src/tools/read-file.test.js +333 -0
  811. package/core-dist/src/tools/read-file.test.js.map +1 -0
  812. package/core-dist/src/tools/ripGrep.d.ts +44 -0
  813. package/core-dist/src/tools/ripGrep.js +235 -0
  814. package/core-dist/src/tools/ripGrep.js.map +1 -0
  815. package/core-dist/src/tools/ripGrep.test.d.ts +6 -0
  816. package/core-dist/src/tools/ripGrep.test.js +529 -0
  817. package/core-dist/src/tools/ripGrep.test.js.map +1 -0
  818. package/core-dist/src/tools/sdk-control-client-transport.d.ts +67 -0
  819. package/core-dist/src/tools/sdk-control-client-transport.js +93 -0
  820. package/core-dist/src/tools/sdk-control-client-transport.js.map +1 -0
  821. package/core-dist/src/tools/shell.d.ts +34 -0
  822. package/core-dist/src/tools/shell.js +509 -0
  823. package/core-dist/src/tools/shell.js.map +1 -0
  824. package/core-dist/src/tools/shell.test.d.ts +6 -0
  825. package/core-dist/src/tools/shell.test.js +880 -0
  826. package/core-dist/src/tools/shell.test.js.map +1 -0
  827. package/core-dist/src/tools/skill.d.ts +45 -0
  828. package/core-dist/src/tools/skill.js +214 -0
  829. package/core-dist/src/tools/skill.js.map +1 -0
  830. package/core-dist/src/tools/skill.test.d.ts +6 -0
  831. package/core-dist/src/tools/skill.test.js +280 -0
  832. package/core-dist/src/tools/skill.test.js.map +1 -0
  833. package/core-dist/src/tools/task.d.ts +60 -0
  834. package/core-dist/src/tools/task.js +417 -0
  835. package/core-dist/src/tools/task.js.map +1 -0
  836. package/core-dist/src/tools/task.test.d.ts +6 -0
  837. package/core-dist/src/tools/task.test.js +367 -0
  838. package/core-dist/src/tools/task.test.js.map +1 -0
  839. package/core-dist/src/tools/todoWrite.d.ts +42 -0
  840. package/core-dist/src/tools/todoWrite.js +409 -0
  841. package/core-dist/src/tools/todoWrite.js.map +1 -0
  842. package/core-dist/src/tools/todoWrite.test.d.ts +6 -0
  843. package/core-dist/src/tools/todoWrite.test.js +234 -0
  844. package/core-dist/src/tools/todoWrite.test.js.map +1 -0
  845. package/core-dist/src/tools/tool-error.d.ts +45 -0
  846. package/core-dist/src/tools/tool-error.js +61 -0
  847. package/core-dist/src/tools/tool-error.js.map +1 -0
  848. package/core-dist/src/tools/tool-names.d.ts +60 -0
  849. package/core-dist/src/tools/tool-names.js +66 -0
  850. package/core-dist/src/tools/tool-names.js.map +1 -0
  851. package/core-dist/src/tools/tool-registry.d.ts +103 -0
  852. package/core-dist/src/tools/tool-registry.js +404 -0
  853. package/core-dist/src/tools/tool-registry.js.map +1 -0
  854. package/core-dist/src/tools/tool-registry.test.d.ts +6 -0
  855. package/core-dist/src/tools/tool-registry.test.js +331 -0
  856. package/core-dist/src/tools/tool-registry.test.js.map +1 -0
  857. package/core-dist/src/tools/tools.d.ts +364 -0
  858. package/core-dist/src/tools/tools.js +263 -0
  859. package/core-dist/src/tools/tools.js.map +1 -0
  860. package/core-dist/src/tools/tools.test.d.ts +6 -0
  861. package/core-dist/src/tools/tools.test.js +205 -0
  862. package/core-dist/src/tools/tools.test.js.map +1 -0
  863. package/core-dist/src/tools/web-fetch.d.ts +31 -0
  864. package/core-dist/src/tools/web-fetch.js +168 -0
  865. package/core-dist/src/tools/web-fetch.js.map +1 -0
  866. package/core-dist/src/tools/web-fetch.test.d.ts +6 -0
  867. package/core-dist/src/tools/web-fetch.test.js +134 -0
  868. package/core-dist/src/tools/web-fetch.test.js.map +1 -0
  869. package/core-dist/src/tools/web-search/base-provider.d.ts +31 -0
  870. package/core-dist/src/tools/web-search/base-provider.js +34 -0
  871. package/core-dist/src/tools/web-search/base-provider.js.map +1 -0
  872. package/core-dist/src/tools/web-search/index.d.ts +24 -0
  873. package/core-dist/src/tools/web-search/index.js +249 -0
  874. package/core-dist/src/tools/web-search/index.js.map +1 -0
  875. package/core-dist/src/tools/web-search/index.test.d.ts +6 -0
  876. package/core-dist/src/tools/web-search/index.test.js +237 -0
  877. package/core-dist/src/tools/web-search/index.test.js.map +1 -0
  878. package/core-dist/src/tools/web-search/providers/dashscope-provider.d.ts +23 -0
  879. package/core-dist/src/tools/web-search/providers/dashscope-provider.js +120 -0
  880. package/core-dist/src/tools/web-search/providers/dashscope-provider.js.map +1 -0
  881. package/core-dist/src/tools/web-search/providers/google-provider.d.ts +17 -0
  882. package/core-dist/src/tools/web-search/providers/google-provider.js +55 -0
  883. package/core-dist/src/tools/web-search/providers/google-provider.js.map +1 -0
  884. package/core-dist/src/tools/web-search/providers/tavily-provider.d.ts +17 -0
  885. package/core-dist/src/tools/web-search/providers/tavily-provider.js +54 -0
  886. package/core-dist/src/tools/web-search/providers/tavily-provider.js.map +1 -0
  887. package/core-dist/src/tools/web-search/types.d.ts +138 -0
  888. package/core-dist/src/tools/web-search/types.js +7 -0
  889. package/core-dist/src/tools/web-search/types.js.map +1 -0
  890. package/core-dist/src/tools/web-search/utils.d.ts +28 -0
  891. package/core-dist/src/tools/web-search/utils.js +35 -0
  892. package/core-dist/src/tools/web-search/utils.js.map +1 -0
  893. package/core-dist/src/tools/write-file.d.ts +52 -0
  894. package/core-dist/src/tools/write-file.js +316 -0
  895. package/core-dist/src/tools/write-file.js.map +1 -0
  896. package/core-dist/src/tools/write-file.test.d.ts +6 -0
  897. package/core-dist/src/tools/write-file.test.js +613 -0
  898. package/core-dist/src/tools/write-file.test.js.map +1 -0
  899. package/core-dist/src/utils/LruCache.d.ts +13 -0
  900. package/core-dist/src/utils/LruCache.js +38 -0
  901. package/core-dist/src/utils/LruCache.js.map +1 -0
  902. package/core-dist/src/utils/browser.d.ts +13 -0
  903. package/core-dist/src/utils/browser.js +50 -0
  904. package/core-dist/src/utils/browser.js.map +1 -0
  905. package/core-dist/src/utils/configResolver.d.ts +120 -0
  906. package/core-dist/src/utils/configResolver.js +125 -0
  907. package/core-dist/src/utils/configResolver.js.map +1 -0
  908. package/core-dist/src/utils/configResolver.test.d.ts +6 -0
  909. package/core-dist/src/utils/configResolver.test.js +99 -0
  910. package/core-dist/src/utils/configResolver.test.js.map +1 -0
  911. package/core-dist/src/utils/debugLogger.d.ts +46 -0
  912. package/core-dist/src/utils/debugLogger.js +159 -0
  913. package/core-dist/src/utils/debugLogger.js.map +1 -0
  914. package/core-dist/src/utils/debugLogger.test.d.ts +6 -0
  915. package/core-dist/src/utils/debugLogger.test.js +188 -0
  916. package/core-dist/src/utils/debugLogger.test.js.map +1 -0
  917. package/core-dist/src/utils/editHelper.d.ts +58 -0
  918. package/core-dist/src/utils/editHelper.js +342 -0
  919. package/core-dist/src/utils/editHelper.js.map +1 -0
  920. package/core-dist/src/utils/editHelper.test.d.ts +6 -0
  921. package/core-dist/src/utils/editHelper.test.js +127 -0
  922. package/core-dist/src/utils/editHelper.test.js.map +1 -0
  923. package/core-dist/src/utils/editor.d.ts +37 -0
  924. package/core-dist/src/utils/editor.js +179 -0
  925. package/core-dist/src/utils/editor.js.map +1 -0
  926. package/core-dist/src/utils/editor.test.d.ts +6 -0
  927. package/core-dist/src/utils/editor.test.js +434 -0
  928. package/core-dist/src/utils/editor.test.js.map +1 -0
  929. package/core-dist/src/utils/envVarResolver.d.ts +39 -0
  930. package/core-dist/src/utils/envVarResolver.js +100 -0
  931. package/core-dist/src/utils/envVarResolver.js.map +1 -0
  932. package/core-dist/src/utils/envVarResolver.test.d.ts +6 -0
  933. package/core-dist/src/utils/envVarResolver.test.js +221 -0
  934. package/core-dist/src/utils/envVarResolver.test.js.map +1 -0
  935. package/core-dist/src/utils/environmentContext.d.ts +21 -0
  936. package/core-dist/src/utils/environmentContext.js +73 -0
  937. package/core-dist/src/utils/environmentContext.js.map +1 -0
  938. package/core-dist/src/utils/environmentContext.test.d.ts +6 -0
  939. package/core-dist/src/utils/environmentContext.test.js +151 -0
  940. package/core-dist/src/utils/environmentContext.test.js.map +1 -0
  941. package/core-dist/src/utils/errorParsing.d.ts +7 -0
  942. package/core-dist/src/utils/errorParsing.js +72 -0
  943. package/core-dist/src/utils/errorParsing.js.map +1 -0
  944. package/core-dist/src/utils/errorParsing.test.d.ts +6 -0
  945. package/core-dist/src/utils/errorParsing.test.js +87 -0
  946. package/core-dist/src/utils/errorParsing.test.js.map +1 -0
  947. package/core-dist/src/utils/errorReporting.d.ts +14 -0
  948. package/core-dist/src/utils/errorReporting.js +56 -0
  949. package/core-dist/src/utils/errorReporting.js.map +1 -0
  950. package/core-dist/src/utils/errorReporting.test.d.ts +6 -0
  951. package/core-dist/src/utils/errorReporting.test.js +84 -0
  952. package/core-dist/src/utils/errorReporting.test.js.map +1 -0
  953. package/core-dist/src/utils/errors.d.ts +44 -0
  954. package/core-dist/src/utils/errors.js +114 -0
  955. package/core-dist/src/utils/errors.js.map +1 -0
  956. package/core-dist/src/utils/errors.test.d.ts +6 -0
  957. package/core-dist/src/utils/errors.test.js +70 -0
  958. package/core-dist/src/utils/errors.test.js.map +1 -0
  959. package/core-dist/src/utils/fetch.d.ts +14 -0
  960. package/core-dist/src/utils/fetch.js +152 -0
  961. package/core-dist/src/utils/fetch.js.map +1 -0
  962. package/core-dist/src/utils/fetch.test.d.ts +6 -0
  963. package/core-dist/src/utils/fetch.test.js +40 -0
  964. package/core-dist/src/utils/fetch.test.js.map +1 -0
  965. package/core-dist/src/utils/fileUtils.d.ts +102 -0
  966. package/core-dist/src/utils/fileUtils.js +584 -0
  967. package/core-dist/src/utils/fileUtils.js.map +1 -0
  968. package/core-dist/src/utils/fileUtils.test.d.ts +6 -0
  969. package/core-dist/src/utils/fileUtils.test.js +808 -0
  970. package/core-dist/src/utils/fileUtils.test.js.map +1 -0
  971. package/core-dist/src/utils/filesearch/crawlCache.d.ts +25 -0
  972. package/core-dist/src/utils/filesearch/crawlCache.js +57 -0
  973. package/core-dist/src/utils/filesearch/crawlCache.js.map +1 -0
  974. package/core-dist/src/utils/filesearch/crawlCache.test.d.ts +6 -0
  975. package/core-dist/src/utils/filesearch/crawlCache.test.js +103 -0
  976. package/core-dist/src/utils/filesearch/crawlCache.test.js.map +1 -0
  977. package/core-dist/src/utils/filesearch/crawler.d.ts +15 -0
  978. package/core-dist/src/utils/filesearch/crawler.js +50 -0
  979. package/core-dist/src/utils/filesearch/crawler.js.map +1 -0
  980. package/core-dist/src/utils/filesearch/crawler.test.d.ts +6 -0
  981. package/core-dist/src/utils/filesearch/crawler.test.js +468 -0
  982. package/core-dist/src/utils/filesearch/crawler.test.js.map +1 -0
  983. package/core-dist/src/utils/filesearch/fileSearch.d.ts +38 -0
  984. package/core-dist/src/utils/filesearch/fileSearch.js +194 -0
  985. package/core-dist/src/utils/filesearch/fileSearch.js.map +1 -0
  986. package/core-dist/src/utils/filesearch/fileSearch.test.d.ts +6 -0
  987. package/core-dist/src/utils/filesearch/fileSearch.test.js +642 -0
  988. package/core-dist/src/utils/filesearch/fileSearch.test.js.map +1 -0
  989. package/core-dist/src/utils/filesearch/ignore.d.ts +42 -0
  990. package/core-dist/src/utils/filesearch/ignore.js +106 -0
  991. package/core-dist/src/utils/filesearch/ignore.js.map +1 -0
  992. package/core-dist/src/utils/filesearch/ignore.test.d.ts +6 -0
  993. package/core-dist/src/utils/filesearch/ignore.test.js +144 -0
  994. package/core-dist/src/utils/filesearch/ignore.test.js.map +1 -0
  995. package/core-dist/src/utils/filesearch/result-cache.d.ts +33 -0
  996. package/core-dist/src/utils/filesearch/result-cache.js +59 -0
  997. package/core-dist/src/utils/filesearch/result-cache.js.map +1 -0
  998. package/core-dist/src/utils/filesearch/result-cache.test.d.ts +6 -0
  999. package/core-dist/src/utils/filesearch/result-cache.test.js +46 -0
  1000. package/core-dist/src/utils/filesearch/result-cache.test.js.map +1 -0
  1001. package/core-dist/src/utils/formatters.d.ts +6 -0
  1002. package/core-dist/src/utils/formatters.js +16 -0
  1003. package/core-dist/src/utils/formatters.js.map +1 -0
  1004. package/core-dist/src/utils/generateContentResponseUtilities.d.ts +13 -0
  1005. package/core-dist/src/utils/generateContentResponseUtilities.js +95 -0
  1006. package/core-dist/src/utils/generateContentResponseUtilities.js.map +1 -0
  1007. package/core-dist/src/utils/generateContentResponseUtilities.test.d.ts +6 -0
  1008. package/core-dist/src/utils/generateContentResponseUtilities.test.js +235 -0
  1009. package/core-dist/src/utils/generateContentResponseUtilities.test.js.map +1 -0
  1010. package/core-dist/src/utils/getFolderStructure.d.ts +31 -0
  1011. package/core-dist/src/utils/getFolderStructure.js +233 -0
  1012. package/core-dist/src/utils/getFolderStructure.js.map +1 -0
  1013. package/core-dist/src/utils/getFolderStructure.test.d.ts +6 -0
  1014. package/core-dist/src/utils/getFolderStructure.test.js +282 -0
  1015. package/core-dist/src/utils/getFolderStructure.test.js.map +1 -0
  1016. package/core-dist/src/utils/getPty.d.ts +7 -0
  1017. package/core-dist/src/utils/getPty.js +7 -0
  1018. package/core-dist/src/utils/getPty.js.map +1 -0
  1019. package/core-dist/src/utils/gitIgnoreParser.d.ts +16 -0
  1020. package/core-dist/src/utils/gitIgnoreParser.js +152 -0
  1021. package/core-dist/src/utils/gitIgnoreParser.js.map +1 -0
  1022. package/core-dist/src/utils/gitIgnoreParser.test.d.ts +6 -0
  1023. package/core-dist/src/utils/gitIgnoreParser.test.js +185 -0
  1024. package/core-dist/src/utils/gitIgnoreParser.test.js.map +1 -0
  1025. package/core-dist/src/utils/gitUtils.d.ts +21 -0
  1026. package/core-dist/src/utils/gitUtils.js +78 -0
  1027. package/core-dist/src/utils/gitUtils.js.map +1 -0
  1028. package/core-dist/src/utils/iconvHelper.d.ts +33 -0
  1029. package/core-dist/src/utils/iconvHelper.js +48 -0
  1030. package/core-dist/src/utils/iconvHelper.js.map +1 -0
  1031. package/core-dist/src/utils/ignorePatterns.d.ts +103 -0
  1032. package/core-dist/src/utils/ignorePatterns.js +222 -0
  1033. package/core-dist/src/utils/ignorePatterns.js.map +1 -0
  1034. package/core-dist/src/utils/ignorePatterns.test.d.ts +6 -0
  1035. package/core-dist/src/utils/ignorePatterns.test.js +255 -0
  1036. package/core-dist/src/utils/ignorePatterns.test.js.map +1 -0
  1037. package/core-dist/src/utils/installationManager.d.ts +16 -0
  1038. package/core-dist/src/utils/installationManager.js +52 -0
  1039. package/core-dist/src/utils/installationManager.js.map +1 -0
  1040. package/core-dist/src/utils/installationManager.test.d.ts +6 -0
  1041. package/core-dist/src/utils/installationManager.test.js +79 -0
  1042. package/core-dist/src/utils/installationManager.test.js.map +1 -0
  1043. package/core-dist/src/utils/jsonl-utils.d.ts +38 -0
  1044. package/core-dist/src/utils/jsonl-utils.js +176 -0
  1045. package/core-dist/src/utils/jsonl-utils.js.map +1 -0
  1046. package/core-dist/src/utils/language-detection.d.ts +6 -0
  1047. package/core-dist/src/utils/language-detection.js +101 -0
  1048. package/core-dist/src/utils/language-detection.js.map +1 -0
  1049. package/core-dist/src/utils/memoryDiscovery.d.ts +15 -0
  1050. package/core-dist/src/utils/memoryDiscovery.js +238 -0
  1051. package/core-dist/src/utils/memoryDiscovery.js.map +1 -0
  1052. package/core-dist/src/utils/memoryDiscovery.test.d.ts +6 -0
  1053. package/core-dist/src/utils/memoryDiscovery.test.js +212 -0
  1054. package/core-dist/src/utils/memoryDiscovery.test.js.map +1 -0
  1055. package/core-dist/src/utils/memoryImportProcessor.d.ts +41 -0
  1056. package/core-dist/src/utils/memoryImportProcessor.js +296 -0
  1057. package/core-dist/src/utils/memoryImportProcessor.js.map +1 -0
  1058. package/core-dist/src/utils/memoryImportProcessor.test.d.ts +6 -0
  1059. package/core-dist/src/utils/memoryImportProcessor.test.js +631 -0
  1060. package/core-dist/src/utils/memoryImportProcessor.test.js.map +1 -0
  1061. package/core-dist/src/utils/messageInspectors.d.ts +8 -0
  1062. package/core-dist/src/utils/messageInspectors.js +16 -0
  1063. package/core-dist/src/utils/messageInspectors.js.map +1 -0
  1064. package/core-dist/src/utils/nextSpeakerChecker.d.ts +12 -0
  1065. package/core-dist/src/utils/nextSpeakerChecker.js +99 -0
  1066. package/core-dist/src/utils/nextSpeakerChecker.js.map +1 -0
  1067. package/core-dist/src/utils/nextSpeakerChecker.test.d.ts +6 -0
  1068. package/core-dist/src/utils/nextSpeakerChecker.test.js +183 -0
  1069. package/core-dist/src/utils/nextSpeakerChecker.test.js.map +1 -0
  1070. package/core-dist/src/utils/openaiLogger.d.ts +42 -0
  1071. package/core-dist/src/utils/openaiLogger.js +140 -0
  1072. package/core-dist/src/utils/openaiLogger.js.map +1 -0
  1073. package/core-dist/src/utils/openaiLogger.test.d.ts +6 -0
  1074. package/core-dist/src/utils/openaiLogger.test.js +314 -0
  1075. package/core-dist/src/utils/openaiLogger.test.js.map +1 -0
  1076. package/core-dist/src/utils/partUtils.d.ts +35 -0
  1077. package/core-dist/src/utils/partUtils.js +133 -0
  1078. package/core-dist/src/utils/partUtils.js.map +1 -0
  1079. package/core-dist/src/utils/partUtils.test.d.ts +6 -0
  1080. package/core-dist/src/utils/partUtils.test.js +241 -0
  1081. package/core-dist/src/utils/partUtils.test.js.map +1 -0
  1082. package/core-dist/src/utils/pathReader.d.ts +17 -0
  1083. package/core-dist/src/utils/pathReader.js +92 -0
  1084. package/core-dist/src/utils/pathReader.js.map +1 -0
  1085. package/core-dist/src/utils/pathReader.test.d.ts +6 -0
  1086. package/core-dist/src/utils/pathReader.test.js +367 -0
  1087. package/core-dist/src/utils/pathReader.test.js.map +1 -0
  1088. package/core-dist/src/utils/paths.d.ts +110 -0
  1089. package/core-dist/src/utils/paths.js +269 -0
  1090. package/core-dist/src/utils/paths.js.map +1 -0
  1091. package/core-dist/src/utils/paths.test.d.ts +6 -0
  1092. package/core-dist/src/utils/paths.test.js +633 -0
  1093. package/core-dist/src/utils/paths.test.js.map +1 -0
  1094. package/core-dist/src/utils/projectSummary.d.ts +22 -0
  1095. package/core-dist/src/utils/projectSummary.js +86 -0
  1096. package/core-dist/src/utils/projectSummary.js.map +1 -0
  1097. package/core-dist/src/utils/promptIdContext.d.ts +7 -0
  1098. package/core-dist/src/utils/promptIdContext.js +8 -0
  1099. package/core-dist/src/utils/promptIdContext.js.map +1 -0
  1100. package/core-dist/src/utils/quotaErrorDetection.d.ts +19 -0
  1101. package/core-dist/src/utils/quotaErrorDetection.js +84 -0
  1102. package/core-dist/src/utils/quotaErrorDetection.js.map +1 -0
  1103. package/core-dist/src/utils/quotaErrorDetection.test.d.ts +6 -0
  1104. package/core-dist/src/utils/quotaErrorDetection.test.js +104 -0
  1105. package/core-dist/src/utils/quotaErrorDetection.test.js.map +1 -0
  1106. package/core-dist/src/utils/qwenIgnoreParser.d.ts +18 -0
  1107. package/core-dist/src/utils/qwenIgnoreParser.js +61 -0
  1108. package/core-dist/src/utils/qwenIgnoreParser.js.map +1 -0
  1109. package/core-dist/src/utils/qwenIgnoreParser.test.d.ts +6 -0
  1110. package/core-dist/src/utils/qwenIgnoreParser.test.js +50 -0
  1111. package/core-dist/src/utils/qwenIgnoreParser.test.js.map +1 -0
  1112. package/core-dist/src/utils/rateLimit.d.ts +23 -0
  1113. package/core-dist/src/utils/rateLimit.js +69 -0
  1114. package/core-dist/src/utils/rateLimit.js.map +1 -0
  1115. package/core-dist/src/utils/rateLimit.test.d.ts +6 -0
  1116. package/core-dist/src/utils/rateLimit.test.js +72 -0
  1117. package/core-dist/src/utils/rateLimit.test.js.map +1 -0
  1118. package/core-dist/src/utils/readManyFiles.d.ts +67 -0
  1119. package/core-dist/src/utils/readManyFiles.js +133 -0
  1120. package/core-dist/src/utils/readManyFiles.js.map +1 -0
  1121. package/core-dist/src/utils/readManyFiles.test.d.ts +6 -0
  1122. package/core-dist/src/utils/readManyFiles.test.js +230 -0
  1123. package/core-dist/src/utils/readManyFiles.test.js.map +1 -0
  1124. package/core-dist/src/utils/request-tokenizer/imageTokenizer.d.ts +112 -0
  1125. package/core-dist/src/utils/request-tokenizer/imageTokenizer.js +403 -0
  1126. package/core-dist/src/utils/request-tokenizer/imageTokenizer.js.map +1 -0
  1127. package/core-dist/src/utils/request-tokenizer/imageTokenizer.test.d.ts +6 -0
  1128. package/core-dist/src/utils/request-tokenizer/imageTokenizer.test.js +114 -0
  1129. package/core-dist/src/utils/request-tokenizer/imageTokenizer.test.js.map +1 -0
  1130. package/core-dist/src/utils/request-tokenizer/index.d.ts +9 -0
  1131. package/core-dist/src/utils/request-tokenizer/index.js +9 -0
  1132. package/core-dist/src/utils/request-tokenizer/index.js.map +1 -0
  1133. package/core-dist/src/utils/request-tokenizer/requestTokenizer.d.ts +52 -0
  1134. package/core-dist/src/utils/request-tokenizer/requestTokenizer.js +252 -0
  1135. package/core-dist/src/utils/request-tokenizer/requestTokenizer.js.map +1 -0
  1136. package/core-dist/src/utils/request-tokenizer/requestTokenizer.test.d.ts +6 -0
  1137. package/core-dist/src/utils/request-tokenizer/requestTokenizer.test.js +227 -0
  1138. package/core-dist/src/utils/request-tokenizer/requestTokenizer.test.js.map +1 -0
  1139. package/core-dist/src/utils/request-tokenizer/supportedImageFormats.d.ts +30 -0
  1140. package/core-dist/src/utils/request-tokenizer/supportedImageFormats.js +41 -0
  1141. package/core-dist/src/utils/request-tokenizer/supportedImageFormats.js.map +1 -0
  1142. package/core-dist/src/utils/request-tokenizer/textTokenizer.d.ts +32 -0
  1143. package/core-dist/src/utils/request-tokenizer/textTokenizer.js +54 -0
  1144. package/core-dist/src/utils/request-tokenizer/textTokenizer.js.map +1 -0
  1145. package/core-dist/src/utils/request-tokenizer/textTokenizer.test.d.ts +6 -0
  1146. package/core-dist/src/utils/request-tokenizer/textTokenizer.test.js +237 -0
  1147. package/core-dist/src/utils/request-tokenizer/textTokenizer.test.js.map +1 -0
  1148. package/core-dist/src/utils/request-tokenizer/types.d.ts +34 -0
  1149. package/core-dist/src/utils/request-tokenizer/types.js +7 -0
  1150. package/core-dist/src/utils/request-tokenizer/types.js.map +1 -0
  1151. package/core-dist/src/utils/retry.d.ts +38 -0
  1152. package/core-dist/src/utils/retry.js +180 -0
  1153. package/core-dist/src/utils/retry.js.map +1 -0
  1154. package/core-dist/src/utils/retry.test.d.ts +6 -0
  1155. package/core-dist/src/utils/retry.test.js +402 -0
  1156. package/core-dist/src/utils/retry.test.js.map +1 -0
  1157. package/core-dist/src/utils/ripgrepUtils.d.ts +61 -0
  1158. package/core-dist/src/utils/ripgrepUtils.js +227 -0
  1159. package/core-dist/src/utils/ripgrepUtils.js.map +1 -0
  1160. package/core-dist/src/utils/ripgrepUtils.test.d.ts +6 -0
  1161. package/core-dist/src/utils/ripgrepUtils.test.js +101 -0
  1162. package/core-dist/src/utils/ripgrepUtils.test.js.map +1 -0
  1163. package/core-dist/src/utils/runtimeFetchOptions.d.ts +44 -0
  1164. package/core-dist/src/utils/runtimeFetchOptions.js +92 -0
  1165. package/core-dist/src/utils/runtimeFetchOptions.js.map +1 -0
  1166. package/core-dist/src/utils/runtimeFetchOptions.test.d.ts +6 -0
  1167. package/core-dist/src/utils/runtimeFetchOptions.test.js +70 -0
  1168. package/core-dist/src/utils/runtimeFetchOptions.test.js.map +1 -0
  1169. package/core-dist/src/utils/safeJsonParse.d.ts +15 -0
  1170. package/core-dist/src/utils/safeJsonParse.js +43 -0
  1171. package/core-dist/src/utils/safeJsonParse.js.map +1 -0
  1172. package/core-dist/src/utils/safeJsonParse.test.d.ts +6 -0
  1173. package/core-dist/src/utils/safeJsonParse.test.js +112 -0
  1174. package/core-dist/src/utils/safeJsonParse.test.js.map +1 -0
  1175. package/core-dist/src/utils/safeJsonStringify.d.ts +13 -0
  1176. package/core-dist/src/utils/safeJsonStringify.js +25 -0
  1177. package/core-dist/src/utils/safeJsonStringify.js.map +1 -0
  1178. package/core-dist/src/utils/safeJsonStringify.test.d.ts +6 -0
  1179. package/core-dist/src/utils/safeJsonStringify.test.js +61 -0
  1180. package/core-dist/src/utils/safeJsonStringify.test.js.map +1 -0
  1181. package/core-dist/src/utils/schemaConverter.d.ts +15 -0
  1182. package/core-dist/src/utils/schemaConverter.js +109 -0
  1183. package/core-dist/src/utils/schemaConverter.js.map +1 -0
  1184. package/core-dist/src/utils/schemaConverter.test.d.ts +6 -0
  1185. package/core-dist/src/utils/schemaConverter.test.js +106 -0
  1186. package/core-dist/src/utils/schemaConverter.test.js.map +1 -0
  1187. package/core-dist/src/utils/schemaValidator.d.ts +16 -0
  1188. package/core-dist/src/utils/schemaValidator.js +123 -0
  1189. package/core-dist/src/utils/schemaValidator.js.map +1 -0
  1190. package/core-dist/src/utils/schemaValidator.test.d.ts +6 -0
  1191. package/core-dist/src/utils/schemaValidator.test.js +266 -0
  1192. package/core-dist/src/utils/schemaValidator.test.js.map +1 -0
  1193. package/core-dist/src/utils/secure-browser-launcher.d.ts +23 -0
  1194. package/core-dist/src/utils/secure-browser-launcher.js +165 -0
  1195. package/core-dist/src/utils/secure-browser-launcher.js.map +1 -0
  1196. package/core-dist/src/utils/secure-browser-launcher.test.d.ts +6 -0
  1197. package/core-dist/src/utils/secure-browser-launcher.test.js +149 -0
  1198. package/core-dist/src/utils/secure-browser-launcher.test.js.map +1 -0
  1199. package/core-dist/src/utils/shell-utils.d.ts +158 -0
  1200. package/core-dist/src/utils/shell-utils.js +739 -0
  1201. package/core-dist/src/utils/shell-utils.js.map +1 -0
  1202. package/core-dist/src/utils/shell-utils.test.d.ts +6 -0
  1203. package/core-dist/src/utils/shell-utils.test.js +466 -0
  1204. package/core-dist/src/utils/shell-utils.test.js.map +1 -0
  1205. package/core-dist/src/utils/shellReadOnlyChecker.d.ts +6 -0
  1206. package/core-dist/src/utils/shellReadOnlyChecker.js +290 -0
  1207. package/core-dist/src/utils/shellReadOnlyChecker.js.map +1 -0
  1208. package/core-dist/src/utils/shellReadOnlyChecker.test.d.ts +6 -0
  1209. package/core-dist/src/utils/shellReadOnlyChecker.test.js +157 -0
  1210. package/core-dist/src/utils/shellReadOnlyChecker.test.js.map +1 -0
  1211. package/core-dist/src/utils/subagentGenerator.d.ts +20 -0
  1212. package/core-dist/src/utils/subagentGenerator.js +120 -0
  1213. package/core-dist/src/utils/subagentGenerator.js.map +1 -0
  1214. package/core-dist/src/utils/subagentGenerator.test.d.ts +6 -0
  1215. package/core-dist/src/utils/subagentGenerator.test.js +135 -0
  1216. package/core-dist/src/utils/subagentGenerator.test.js.map +1 -0
  1217. package/core-dist/src/utils/summarizer.d.ts +25 -0
  1218. package/core-dist/src/utils/summarizer.js +53 -0
  1219. package/core-dist/src/utils/summarizer.js.map +1 -0
  1220. package/core-dist/src/utils/summarizer.test.d.ts +6 -0
  1221. package/core-dist/src/utils/summarizer.test.js +128 -0
  1222. package/core-dist/src/utils/summarizer.test.js.map +1 -0
  1223. package/core-dist/src/utils/symlink.d.ts +26 -0
  1224. package/core-dist/src/utils/symlink.js +43 -0
  1225. package/core-dist/src/utils/symlink.js.map +1 -0
  1226. package/core-dist/src/utils/systemEncoding.d.ts +40 -0
  1227. package/core-dist/src/utils/systemEncoding.js +160 -0
  1228. package/core-dist/src/utils/systemEncoding.js.map +1 -0
  1229. package/core-dist/src/utils/systemEncoding.test.d.ts +6 -0
  1230. package/core-dist/src/utils/systemEncoding.test.js +367 -0
  1231. package/core-dist/src/utils/systemEncoding.test.js.map +1 -0
  1232. package/core-dist/src/utils/terminalSerializer.d.ts +25 -0
  1233. package/core-dist/src/utils/terminalSerializer.js +432 -0
  1234. package/core-dist/src/utils/terminalSerializer.js.map +1 -0
  1235. package/core-dist/src/utils/terminalSerializer.test.d.ts +6 -0
  1236. package/core-dist/src/utils/terminalSerializer.test.js +176 -0
  1237. package/core-dist/src/utils/terminalSerializer.test.js.map +1 -0
  1238. package/core-dist/src/utils/testUtils.d.ts +29 -0
  1239. package/core-dist/src/utils/testUtils.js +70 -0
  1240. package/core-dist/src/utils/testUtils.js.map +1 -0
  1241. package/core-dist/src/utils/textUtils.d.ts +29 -0
  1242. package/core-dist/src/utils/textUtils.js +59 -0
  1243. package/core-dist/src/utils/textUtils.js.map +1 -0
  1244. package/core-dist/src/utils/textUtils.test.d.ts +6 -0
  1245. package/core-dist/src/utils/textUtils.test.js +91 -0
  1246. package/core-dist/src/utils/textUtils.test.js.map +1 -0
  1247. package/core-dist/src/utils/thoughtUtils.d.ts +23 -0
  1248. package/core-dist/src/utils/thoughtUtils.js +53 -0
  1249. package/core-dist/src/utils/thoughtUtils.js.map +1 -0
  1250. package/core-dist/src/utils/thoughtUtils.test.d.ts +6 -0
  1251. package/core-dist/src/utils/thoughtUtils.test.js +78 -0
  1252. package/core-dist/src/utils/thoughtUtils.test.js.map +1 -0
  1253. package/core-dist/src/utils/toml-to-markdown-converter.d.ts +22 -0
  1254. package/core-dist/src/utils/toml-to-markdown-converter.js +61 -0
  1255. package/core-dist/src/utils/toml-to-markdown-converter.js.map +1 -0
  1256. package/core-dist/src/utils/toml-to-markdown-converter.test.d.ts +6 -0
  1257. package/core-dist/src/utils/toml-to-markdown-converter.test.js +73 -0
  1258. package/core-dist/src/utils/toml-to-markdown-converter.test.js.map +1 -0
  1259. package/core-dist/src/utils/tool-utils.d.ts +22 -0
  1260. package/core-dist/src/utils/tool-utils.js +121 -0
  1261. package/core-dist/src/utils/tool-utils.js.map +1 -0
  1262. package/core-dist/src/utils/tool-utils.test.d.ts +6 -0
  1263. package/core-dist/src/utils/tool-utils.test.js +100 -0
  1264. package/core-dist/src/utils/tool-utils.test.js.map +1 -0
  1265. package/core-dist/src/utils/workspaceContext.d.ts +66 -0
  1266. package/core-dist/src/utils/workspaceContext.js +173 -0
  1267. package/core-dist/src/utils/workspaceContext.js.map +1 -0
  1268. package/core-dist/src/utils/workspaceContext.test.d.ts +6 -0
  1269. package/core-dist/src/utils/workspaceContext.test.js +313 -0
  1270. package/core-dist/src/utils/workspaceContext.test.js.map +1 -0
  1271. package/core-dist/src/utils/yaml-parser.d.ts +29 -0
  1272. package/core-dist/src/utils/yaml-parser.js +172 -0
  1273. package/core-dist/src/utils/yaml-parser.js.map +1 -0
  1274. package/core-dist/src/utils/yaml-parser.test.d.ts +6 -0
  1275. package/core-dist/src/utils/yaml-parser.test.js +170 -0
  1276. package/core-dist/src/utils/yaml-parser.test.js.map +1 -0
  1277. package/core-dist/tsconfig.tsbuildinfo +1 -0
  1278. package/package.json +2 -1
  1279. package/scripts/postinstall.cjs +32 -6
@@ -0,0 +1,1001 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
7
+ import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
8
+ import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
9
+ import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
10
+ import { GetPromptResultSchema, ListPromptsResultSchema, ListRootsRequestSchema, ReadResourceResultSchema, } from '@modelcontextprotocol/sdk/types.js';
11
+ import { parse } from 'shell-quote';
12
+ import { AuthProviderType, isSdkMcpServerConfig } from '../config/config.js';
13
+ import { GoogleCredentialProvider } from '../mcp/google-auth-provider.js';
14
+ import { ServiceAccountImpersonationProvider } from '../mcp/sa-impersonation-provider.js';
15
+ import { DiscoveredMCPTool } from './mcp-tool.js';
16
+ import { SdkControlClientTransport } from './sdk-control-client-transport.js';
17
+ import { mcpToTool } from '@google/genai';
18
+ import { basename } from 'node:path';
19
+ import { pathToFileURL } from 'node:url';
20
+ import { MCPOAuthProvider } from '../mcp/oauth-provider.js';
21
+ import { MCPOAuthTokenStorage } from '../mcp/oauth-token-storage.js';
22
+ import { OAuthUtils } from '../mcp/oauth-utils.js';
23
+ import { getErrorMessage } from '../utils/errors.js';
24
+ import { createDebugLogger } from '../utils/debugLogger.js';
25
+ export const MCP_DEFAULT_TIMEOUT_MSEC = 10 * 60 * 1000; // default to 10 minutes
26
+ const debugLogger = createDebugLogger('MCP');
27
+ /**
28
+ * Enum representing the connection status of an MCP server
29
+ */
30
+ export var MCPServerStatus;
31
+ (function (MCPServerStatus) {
32
+ /** Server is disconnected or experiencing errors */
33
+ MCPServerStatus["DISCONNECTED"] = "disconnected";
34
+ /** Server is in the process of connecting */
35
+ MCPServerStatus["CONNECTING"] = "connecting";
36
+ /** Server is connected and ready to use */
37
+ MCPServerStatus["CONNECTED"] = "connected";
38
+ })(MCPServerStatus || (MCPServerStatus = {}));
39
+ /**
40
+ * Enum representing the overall MCP discovery state
41
+ */
42
+ export var MCPDiscoveryState;
43
+ (function (MCPDiscoveryState) {
44
+ /** Discovery has not started yet */
45
+ MCPDiscoveryState["NOT_STARTED"] = "not_started";
46
+ /** Discovery is currently in progress */
47
+ MCPDiscoveryState["IN_PROGRESS"] = "in_progress";
48
+ /** Discovery has completed (with or without errors) */
49
+ MCPDiscoveryState["COMPLETED"] = "completed";
50
+ })(MCPDiscoveryState || (MCPDiscoveryState = {}));
51
+ /**
52
+ * A client for a single MCP server.
53
+ *
54
+ * This class is responsible for connecting to, discovering tools from, and
55
+ * managing the state of a single MCP server.
56
+ */
57
+ export class McpClient {
58
+ serverName;
59
+ serverConfig;
60
+ toolRegistry;
61
+ promptRegistry;
62
+ workspaceContext;
63
+ debugMode;
64
+ sendSdkMcpMessage;
65
+ client;
66
+ transport;
67
+ status = MCPServerStatus.DISCONNECTED;
68
+ isDisconnecting = false;
69
+ constructor(serverName, serverConfig, toolRegistry, promptRegistry, workspaceContext, debugMode, sendSdkMcpMessage) {
70
+ this.serverName = serverName;
71
+ this.serverConfig = serverConfig;
72
+ this.toolRegistry = toolRegistry;
73
+ this.promptRegistry = promptRegistry;
74
+ this.workspaceContext = workspaceContext;
75
+ this.debugMode = debugMode;
76
+ this.sendSdkMcpMessage = sendSdkMcpMessage;
77
+ this.client = new Client({
78
+ name: `qwen-cli-mcp-client-${this.serverName}`,
79
+ version: '0.0.1',
80
+ });
81
+ }
82
+ /**
83
+ * Connects to the MCP server.
84
+ */
85
+ async connect() {
86
+ this.isDisconnecting = false;
87
+ this.updateStatus(MCPServerStatus.CONNECTING);
88
+ try {
89
+ this.transport = await this.createTransport();
90
+ this.client.onerror = (error) => {
91
+ if (this.isDisconnecting) {
92
+ return;
93
+ }
94
+ debugLogger.error(`MCP ERROR (${this.serverName}):`, error.toString());
95
+ this.updateStatus(MCPServerStatus.DISCONNECTED);
96
+ };
97
+ this.client.registerCapabilities({
98
+ roots: {},
99
+ });
100
+ this.client.setRequestHandler(ListRootsRequestSchema, async () => {
101
+ const roots = [];
102
+ for (const dir of this.workspaceContext.getDirectories()) {
103
+ roots.push({
104
+ uri: pathToFileURL(dir).toString(),
105
+ name: basename(dir),
106
+ });
107
+ }
108
+ return {
109
+ roots,
110
+ };
111
+ });
112
+ await this.client.connect(this.transport, {
113
+ timeout: this.serverConfig.timeout,
114
+ });
115
+ this.updateStatus(MCPServerStatus.CONNECTED);
116
+ }
117
+ catch (error) {
118
+ this.updateStatus(MCPServerStatus.DISCONNECTED);
119
+ throw error;
120
+ }
121
+ }
122
+ /**
123
+ * Discovers tools and prompts from the MCP server.
124
+ */
125
+ async discover(cliConfig) {
126
+ if (this.status !== MCPServerStatus.CONNECTED) {
127
+ throw new Error('Client is not connected.');
128
+ }
129
+ const prompts = await this.discoverPrompts();
130
+ const tools = await this.discoverTools(cliConfig);
131
+ if (prompts.length === 0 && tools.length === 0) {
132
+ throw new Error('No prompts or tools found on the server.');
133
+ }
134
+ for (const tool of tools) {
135
+ this.toolRegistry.registerTool(tool);
136
+ }
137
+ }
138
+ /**
139
+ * Disconnects from the MCP server.
140
+ */
141
+ async disconnect() {
142
+ this.isDisconnecting = true;
143
+ if (this.transport) {
144
+ await this.transport.close();
145
+ }
146
+ this.client.close();
147
+ this.updateStatus(MCPServerStatus.DISCONNECTED);
148
+ }
149
+ /**
150
+ * Returns the current status of the client.
151
+ */
152
+ getStatus() {
153
+ return this.status;
154
+ }
155
+ async readResource(uri, options) {
156
+ if (this.status !== MCPServerStatus.CONNECTED) {
157
+ throw new Error('Client is not connected.');
158
+ }
159
+ // Only request resources if the server supports them.
160
+ if (this.client.getServerCapabilities()?.resources == null) {
161
+ throw new Error('MCP server does not support resources.');
162
+ }
163
+ return this.client.request({ method: 'resources/read', params: { uri } }, ReadResourceResultSchema, options);
164
+ }
165
+ updateStatus(status) {
166
+ this.status = status;
167
+ updateMCPServerStatus(this.serverName, status);
168
+ }
169
+ async createTransport() {
170
+ return createTransport(this.serverName, this.serverConfig, this.debugMode, this.sendSdkMcpMessage);
171
+ }
172
+ async discoverTools(cliConfig) {
173
+ return discoverTools(this.serverName, this.serverConfig, this.client, cliConfig);
174
+ }
175
+ async discoverPrompts() {
176
+ return discoverPrompts(this.serverName, this.client, this.promptRegistry);
177
+ }
178
+ }
179
+ /**
180
+ * Map to track the status of each MCP server within the core package
181
+ */
182
+ const serverStatuses = new Map();
183
+ /**
184
+ * Track the overall MCP discovery state
185
+ */
186
+ let mcpDiscoveryState = MCPDiscoveryState.NOT_STARTED;
187
+ /**
188
+ * Map to track which MCP servers have been discovered to require OAuth
189
+ */
190
+ export const mcpServerRequiresOAuth = new Map();
191
+ const statusChangeListeners = [];
192
+ /**
193
+ * Add a listener for MCP server status changes
194
+ */
195
+ export function addMCPStatusChangeListener(listener) {
196
+ statusChangeListeners.push(listener);
197
+ }
198
+ /**
199
+ * Remove a listener for MCP server status changes
200
+ */
201
+ export function removeMCPStatusChangeListener(listener) {
202
+ const index = statusChangeListeners.indexOf(listener);
203
+ if (index !== -1) {
204
+ statusChangeListeners.splice(index, 1);
205
+ }
206
+ }
207
+ /**
208
+ * Update the status of an MCP server
209
+ */
210
+ export function updateMCPServerStatus(serverName, status) {
211
+ serverStatuses.set(serverName, status);
212
+ // Notify all listeners
213
+ for (const listener of statusChangeListeners) {
214
+ listener(serverName, status);
215
+ }
216
+ }
217
+ /**
218
+ * Get the current status of an MCP server
219
+ */
220
+ export function getMCPServerStatus(serverName) {
221
+ return serverStatuses.get(serverName) || MCPServerStatus.DISCONNECTED;
222
+ }
223
+ /**
224
+ * Get all MCP server statuses
225
+ */
226
+ export function getAllMCPServerStatuses() {
227
+ return new Map(serverStatuses);
228
+ }
229
+ /**
230
+ * Get the current MCP discovery state
231
+ */
232
+ export function getMCPDiscoveryState() {
233
+ return mcpDiscoveryState;
234
+ }
235
+ /**
236
+ * Extract WWW-Authenticate header from error message string.
237
+ * This is a more robust approach than regex matching.
238
+ *
239
+ * @param errorString The error message string
240
+ * @returns The www-authenticate header value if found, null otherwise
241
+ */
242
+ function extractWWWAuthenticateHeader(errorString) {
243
+ // Try multiple patterns to extract the header
244
+ const patterns = [
245
+ /www-authenticate:\s*([^\n\r]+)/i,
246
+ /WWW-Authenticate:\s*([^\n\r]+)/i,
247
+ /"www-authenticate":\s*"([^"]+)"/i,
248
+ /'www-authenticate':\s*'([^']+)'/i,
249
+ ];
250
+ for (const pattern of patterns) {
251
+ const match = errorString.match(pattern);
252
+ if (match) {
253
+ return match[1].trim();
254
+ }
255
+ }
256
+ return null;
257
+ }
258
+ /**
259
+ * Handle automatic OAuth discovery and authentication for a server.
260
+ *
261
+ * @param mcpServerName The name of the MCP server
262
+ * @param mcpServerConfig The MCP server configuration
263
+ * @param wwwAuthenticate The www-authenticate header value
264
+ * @returns True if OAuth was successfully configured and authenticated, false otherwise
265
+ */
266
+ async function handleAutomaticOAuth(mcpServerName, mcpServerConfig, wwwAuthenticate) {
267
+ try {
268
+ debugLogger.info(`'${mcpServerName}' requires OAuth authentication`);
269
+ // Always try to parse the resource metadata URI from the www-authenticate header
270
+ let oauthConfig;
271
+ const resourceMetadataUri = OAuthUtils.parseWWWAuthenticateHeader(wwwAuthenticate);
272
+ if (resourceMetadataUri) {
273
+ oauthConfig = await OAuthUtils.discoverOAuthConfig(resourceMetadataUri);
274
+ }
275
+ else if (hasNetworkTransport(mcpServerConfig)) {
276
+ // Fallback: try to discover OAuth config from the base URL
277
+ const serverUrl = new URL(mcpServerConfig.httpUrl || mcpServerConfig.url);
278
+ const baseUrl = `${serverUrl.protocol}//${serverUrl.host}`;
279
+ oauthConfig = await OAuthUtils.discoverOAuthConfig(baseUrl);
280
+ }
281
+ if (!oauthConfig) {
282
+ debugLogger.error(`Could not configure OAuth for '${mcpServerName}' - please authenticate manually with /mcp auth ${mcpServerName}`);
283
+ return false;
284
+ }
285
+ // OAuth configuration discovered - proceed with authentication
286
+ // Create OAuth configuration for authentication
287
+ const oauthAuthConfig = {
288
+ enabled: true,
289
+ authorizationUrl: oauthConfig.authorizationUrl,
290
+ tokenUrl: oauthConfig.tokenUrl,
291
+ scopes: oauthConfig.scopes || [],
292
+ };
293
+ // Perform OAuth authentication
294
+ // Pass the server URL for proper discovery
295
+ const serverUrl = mcpServerConfig.httpUrl || mcpServerConfig.url;
296
+ debugLogger.info(`Starting OAuth authentication for server '${mcpServerName}'...`);
297
+ const authProvider = new MCPOAuthProvider(new MCPOAuthTokenStorage());
298
+ await authProvider.authenticate(mcpServerName, oauthAuthConfig, serverUrl);
299
+ debugLogger.info(`OAuth authentication successful for server '${mcpServerName}'`);
300
+ return true;
301
+ }
302
+ catch (error) {
303
+ debugLogger.error(`Failed to handle automatic OAuth for server '${mcpServerName}': ${getErrorMessage(error)}`);
304
+ return false;
305
+ }
306
+ }
307
+ /**
308
+ * Create a transport with OAuth token for the given server configuration.
309
+ *
310
+ * @param mcpServerName The name of the MCP server
311
+ * @param mcpServerConfig The MCP server configuration
312
+ * @param accessToken The OAuth access token
313
+ * @returns The transport with OAuth token, or null if creation fails
314
+ */
315
+ async function createTransportWithOAuth(mcpServerName, mcpServerConfig, accessToken) {
316
+ try {
317
+ if (mcpServerConfig.httpUrl) {
318
+ // Create HTTP transport with OAuth token
319
+ const oauthTransportOptions = {
320
+ requestInit: {
321
+ headers: {
322
+ ...mcpServerConfig.headers,
323
+ Authorization: `Bearer ${accessToken}`,
324
+ },
325
+ },
326
+ };
327
+ return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), oauthTransportOptions);
328
+ }
329
+ else if (mcpServerConfig.url) {
330
+ // Create SSE transport with OAuth token in Authorization header
331
+ return new SSEClientTransport(new URL(mcpServerConfig.url), {
332
+ requestInit: {
333
+ headers: {
334
+ ...mcpServerConfig.headers,
335
+ Authorization: `Bearer ${accessToken}`,
336
+ },
337
+ },
338
+ });
339
+ }
340
+ return null;
341
+ }
342
+ catch (error) {
343
+ debugLogger.error(`Failed to create OAuth transport for server '${mcpServerName}': ${getErrorMessage(error)}`);
344
+ return null;
345
+ }
346
+ }
347
+ /**
348
+ * Discovers tools from all configured MCP servers and registers them with the tool registry.
349
+ * It orchestrates the connection and discovery process for each server defined in the
350
+ * configuration, as well as any server specified via a command-line argument.
351
+ *
352
+ * @param mcpServers A record of named MCP server configurations.
353
+ * @param mcpServerCommand An optional command string for a dynamically specified MCP server.
354
+ * @param toolRegistry The central registry where discovered tools will be registered.
355
+ * @returns A promise that resolves when the discovery process has been attempted for all servers.
356
+ */
357
+ export async function discoverMcpTools(mcpServers, mcpServerCommand, toolRegistry, promptRegistry, debugMode, workspaceContext, cliConfig) {
358
+ mcpDiscoveryState = MCPDiscoveryState.IN_PROGRESS;
359
+ try {
360
+ mcpServers = populateMcpServerCommand(mcpServers, mcpServerCommand);
361
+ const discoveryPromises = Object.entries(mcpServers).map(([mcpServerName, mcpServerConfig]) => connectAndDiscover(mcpServerName, mcpServerConfig, toolRegistry, promptRegistry, debugMode, workspaceContext, cliConfig));
362
+ await Promise.all(discoveryPromises);
363
+ }
364
+ finally {
365
+ mcpDiscoveryState = MCPDiscoveryState.COMPLETED;
366
+ }
367
+ }
368
+ /** Visible for Testing */
369
+ export function populateMcpServerCommand(mcpServers, mcpServerCommand) {
370
+ if (mcpServerCommand) {
371
+ const cmd = mcpServerCommand;
372
+ const args = parse(cmd, process.env);
373
+ if (args.some((arg) => typeof arg !== 'string')) {
374
+ throw new Error('failed to parse mcpServerCommand: ' + cmd);
375
+ }
376
+ // use generic server name 'mcp'
377
+ mcpServers['mcp'] = {
378
+ command: args[0],
379
+ args: args.slice(1),
380
+ };
381
+ }
382
+ return mcpServers;
383
+ }
384
+ /**
385
+ * Connects to an MCP server and discovers available tools, registering them with the tool registry.
386
+ * This function handles the complete lifecycle of connecting to a server, discovering tools,
387
+ * and cleaning up resources if no tools are found.
388
+ *
389
+ * @param mcpServerName The name identifier for this MCP server
390
+ * @param mcpServerConfig Configuration object containing connection details
391
+ * @param toolRegistry The registry to register discovered tools with
392
+ * @param sendSdkMcpMessage Optional callback for SDK MCP servers to route messages via control plane.
393
+ * @returns Promise that resolves when discovery is complete
394
+ */
395
+ export async function connectAndDiscover(mcpServerName, mcpServerConfig, toolRegistry, promptRegistry, debugMode, workspaceContext, cliConfig, sendSdkMcpMessage) {
396
+ updateMCPServerStatus(mcpServerName, MCPServerStatus.CONNECTING);
397
+ let mcpClient;
398
+ try {
399
+ mcpClient = await connectToMcpServer(mcpServerName, mcpServerConfig, debugMode, workspaceContext, sendSdkMcpMessage);
400
+ mcpClient.onerror = (error) => {
401
+ debugLogger.error(`MCP ERROR (${mcpServerName}):`, error.toString());
402
+ updateMCPServerStatus(mcpServerName, MCPServerStatus.DISCONNECTED);
403
+ };
404
+ // Attempt to discover both prompts and tools
405
+ const prompts = await discoverPrompts(mcpServerName, mcpClient, promptRegistry);
406
+ const tools = await discoverTools(mcpServerName, mcpServerConfig, mcpClient, cliConfig);
407
+ // If we have neither prompts nor tools, it's a failed discovery
408
+ if (prompts.length === 0 && tools.length === 0) {
409
+ throw new Error('No prompts or tools found on the server.');
410
+ }
411
+ // If we found anything, the server is connected
412
+ updateMCPServerStatus(mcpServerName, MCPServerStatus.CONNECTED);
413
+ // Register any discovered tools
414
+ for (const tool of tools) {
415
+ toolRegistry.registerTool(tool);
416
+ }
417
+ }
418
+ catch (error) {
419
+ if (mcpClient) {
420
+ mcpClient.close();
421
+ }
422
+ debugLogger.error(`Error connecting to MCP server '${mcpServerName}': ${getErrorMessage(error)}`);
423
+ updateMCPServerStatus(mcpServerName, MCPServerStatus.DISCONNECTED);
424
+ }
425
+ }
426
+ /**
427
+ * Discovers and sanitizes tools from a connected MCP client.
428
+ * It retrieves function declarations from the client, filters out disabled tools,
429
+ * generates valid names for them, and wraps them in `DiscoveredMCPTool` instances.
430
+ *
431
+ * @param mcpServerName The name of the MCP server.
432
+ * @param mcpServerConfig The configuration for the MCP server.
433
+ * @param mcpClient The active MCP client instance.
434
+ * @returns A promise that resolves to an array of discovered and enabled tools.
435
+ * @throws An error if no enabled tools are found or if the server provides invalid function declarations.
436
+ */
437
+ export async function discoverTools(mcpServerName, mcpServerConfig, mcpClient, cliConfig) {
438
+ try {
439
+ const mcpCallableTool = mcpToTool(mcpClient, {
440
+ timeout: mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
441
+ });
442
+ const tool = await mcpCallableTool.tool();
443
+ if (!Array.isArray(tool.functionDeclarations)) {
444
+ // This is a valid case for a prompt-only server
445
+ return [];
446
+ }
447
+ // Fetch raw tool list from MCP client to get annotations (readOnlyHint, etc.)
448
+ // that are not preserved by mcpToTool's functionDeclarations conversion.
449
+ const annotationsMap = new Map();
450
+ try {
451
+ const listToolsResult = await mcpClient.listTools();
452
+ for (const mcpTool of listToolsResult.tools) {
453
+ if (mcpTool.annotations) {
454
+ annotationsMap.set(mcpTool.name, mcpTool.annotations);
455
+ }
456
+ }
457
+ }
458
+ catch {
459
+ // If listTools fails, proceed without annotations — non-critical
460
+ debugLogger.error(`Failed to fetch tool annotations from MCP server '${mcpServerName}'`);
461
+ }
462
+ const mcpTimeout = mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC;
463
+ const discoveredTools = [];
464
+ for (const funcDecl of tool.functionDeclarations) {
465
+ try {
466
+ if (!isEnabled(funcDecl, mcpServerName, mcpServerConfig)) {
467
+ continue;
468
+ }
469
+ discoveredTools.push(new DiscoveredMCPTool(mcpCallableTool, mcpServerName, funcDecl.name, funcDecl.description ?? '', funcDecl.parametersJsonSchema ?? { type: 'object', properties: {} }, mcpServerConfig.trust, undefined, cliConfig, mcpClient, // raw MCP Client for direct callTool with progress
470
+ mcpTimeout, annotationsMap.get(funcDecl.name)));
471
+ }
472
+ catch (error) {
473
+ debugLogger.error(`Error discovering tool: '${funcDecl.name}' from MCP server '${mcpServerName}': ${error.message}`);
474
+ }
475
+ }
476
+ return discoveredTools;
477
+ }
478
+ catch (error) {
479
+ if (error instanceof Error &&
480
+ !error.message?.includes('Method not found')) {
481
+ debugLogger.error(`Error discovering tools from ${mcpServerName}: ${getErrorMessage(error)}`);
482
+ }
483
+ return [];
484
+ }
485
+ }
486
+ /**
487
+ * Discovers and logs prompts from a connected MCP client.
488
+ * It retrieves prompt declarations from the client and logs their names.
489
+ *
490
+ * @param mcpServerName The name of the MCP server.
491
+ * @param mcpClient The active MCP client instance.
492
+ */
493
+ export async function discoverPrompts(mcpServerName, mcpClient, promptRegistry) {
494
+ try {
495
+ // Only request prompts if the server supports them.
496
+ if (mcpClient.getServerCapabilities()?.prompts == null)
497
+ return [];
498
+ const response = await mcpClient.request({ method: 'prompts/list', params: {} }, ListPromptsResultSchema);
499
+ for (const prompt of response.prompts) {
500
+ promptRegistry.registerPrompt({
501
+ ...prompt,
502
+ serverName: mcpServerName,
503
+ invoke: (params) => invokeMcpPrompt(mcpServerName, mcpClient, prompt.name, params),
504
+ });
505
+ }
506
+ return response.prompts;
507
+ }
508
+ catch (error) {
509
+ // It's okay if this fails, not all servers will have prompts.
510
+ // Don't log an error if the method is not found, which is a common case.
511
+ if (error instanceof Error &&
512
+ !error.message?.includes('Method not found')) {
513
+ debugLogger.error(`Error discovering prompts from ${mcpServerName}: ${getErrorMessage(error)}`);
514
+ }
515
+ return [];
516
+ }
517
+ }
518
+ /**
519
+ * Invokes a prompt on a connected MCP client.
520
+ *
521
+ * @param mcpServerName The name of the MCP server.
522
+ * @param mcpClient The active MCP client instance.
523
+ * @param promptName The name of the prompt to invoke.
524
+ * @param promptParams The parameters to pass to the prompt.
525
+ * @returns A promise that resolves to the result of the prompt invocation.
526
+ */
527
+ export async function invokeMcpPrompt(mcpServerName, mcpClient, promptName, promptParams) {
528
+ try {
529
+ const response = await mcpClient.request({
530
+ method: 'prompts/get',
531
+ params: {
532
+ name: promptName,
533
+ arguments: promptParams,
534
+ },
535
+ }, GetPromptResultSchema);
536
+ return response;
537
+ }
538
+ catch (error) {
539
+ if (error instanceof Error &&
540
+ !error.message?.includes('Method not found')) {
541
+ debugLogger.error(`Error invoking prompt '${promptName}' from ${mcpServerName} ${promptParams}: ${getErrorMessage(error)}`);
542
+ }
543
+ throw error;
544
+ }
545
+ }
546
+ /**
547
+ * @visiblefortesting
548
+ * Checks if the MCP server configuration has a network transport URL (SSE or HTTP).
549
+ * @param config The MCP server configuration.
550
+ * @returns True if a `url` or `httpUrl` is present, false otherwise.
551
+ */
552
+ export function hasNetworkTransport(config) {
553
+ return !!(config.url || config.httpUrl);
554
+ }
555
+ /**
556
+ * Creates and connects an MCP client to a server based on the provided configuration.
557
+ * It determines the appropriate transport (Stdio, SSE, or Streamable HTTP) and
558
+ * establishes a connection. It also applies a patch to handle request timeouts.
559
+ *
560
+ * @param mcpServerName The name of the MCP server, used for logging and identification.
561
+ * @param mcpServerConfig The configuration specifying how to connect to the server.
562
+ * @param sendSdkMcpMessage Optional callback for SDK MCP servers to route messages via control plane.
563
+ * @returns A promise that resolves to a connected MCP `Client` instance.
564
+ * @throws An error if the connection fails or the configuration is invalid.
565
+ */
566
+ export async function connectToMcpServer(mcpServerName, mcpServerConfig, debugMode, workspaceContext, sendSdkMcpMessage) {
567
+ const mcpClient = new Client({
568
+ name: 'qwen-code-mcp-client',
569
+ version: '0.0.1',
570
+ });
571
+ mcpClient.registerCapabilities({
572
+ roots: {
573
+ listChanged: true,
574
+ },
575
+ });
576
+ mcpClient.setRequestHandler(ListRootsRequestSchema, async () => {
577
+ const roots = [];
578
+ for (const dir of workspaceContext.getDirectories()) {
579
+ roots.push({
580
+ uri: pathToFileURL(dir).toString(),
581
+ name: basename(dir),
582
+ });
583
+ }
584
+ return {
585
+ roots,
586
+ };
587
+ });
588
+ let unlistenDirectories = workspaceContext.onDirectoriesChanged(async () => {
589
+ try {
590
+ await mcpClient.notification({
591
+ method: 'notifications/roots/list_changed',
592
+ });
593
+ }
594
+ catch (_) {
595
+ // If this fails, its almost certainly because the connection was closed
596
+ // and we should just stop listening for future directory changes.
597
+ unlistenDirectories?.();
598
+ unlistenDirectories = undefined;
599
+ }
600
+ });
601
+ // Attempt to pro-actively unsubscribe if the mcp client closes. This API is
602
+ // very brittle though so we don't have any guarantees, hence the try/catch
603
+ // above as well.
604
+ //
605
+ // Be a good steward and don't just bash over onclose.
606
+ const oldOnClose = mcpClient.onclose;
607
+ mcpClient.onclose = () => {
608
+ oldOnClose?.();
609
+ unlistenDirectories?.();
610
+ unlistenDirectories = undefined;
611
+ };
612
+ try {
613
+ const transport = await createTransport(mcpServerName, mcpServerConfig, debugMode, sendSdkMcpMessage);
614
+ try {
615
+ await mcpClient.connect(transport, {
616
+ timeout: mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
617
+ });
618
+ return mcpClient;
619
+ }
620
+ catch (error) {
621
+ await transport.close();
622
+ throw error;
623
+ }
624
+ }
625
+ catch (error) {
626
+ // Check if this is a 401 error that might indicate OAuth is required
627
+ const errorString = String(error);
628
+ if (errorString.includes('401') && hasNetworkTransport(mcpServerConfig)) {
629
+ mcpServerRequiresOAuth.set(mcpServerName, true);
630
+ // Only trigger automatic OAuth discovery for HTTP servers or when OAuth is explicitly configured
631
+ // For SSE servers, we should not trigger new OAuth flows automatically
632
+ const shouldTriggerOAuth = mcpServerConfig.httpUrl || mcpServerConfig.oauth?.enabled;
633
+ if (!shouldTriggerOAuth) {
634
+ // For SSE servers without explicit OAuth config, if a token was found but rejected, report it accurately.
635
+ const tokenStorage = new MCPOAuthTokenStorage();
636
+ const credentials = await tokenStorage.getCredentials(mcpServerName);
637
+ if (credentials) {
638
+ const authProvider = new MCPOAuthProvider(tokenStorage);
639
+ const hasStoredTokens = await authProvider.getValidToken(mcpServerName, {
640
+ // Pass client ID if available
641
+ clientId: credentials.clientId,
642
+ });
643
+ if (hasStoredTokens) {
644
+ debugLogger.warn(`Stored OAuth token for SSE server '${mcpServerName}' was rejected. ` +
645
+ `Please re-authenticate using: /mcp auth ${mcpServerName}`);
646
+ }
647
+ else {
648
+ debugLogger.warn(`401 error received for SSE server '${mcpServerName}' without OAuth configuration. ` +
649
+ `Please authenticate using: /mcp auth ${mcpServerName}`);
650
+ }
651
+ }
652
+ throw new Error(`401 error received for SSE server '${mcpServerName}' without OAuth configuration. ` +
653
+ `Please authenticate using: /mcp auth ${mcpServerName}`);
654
+ }
655
+ // Try to extract www-authenticate header from the error
656
+ let wwwAuthenticate = extractWWWAuthenticateHeader(errorString);
657
+ // If we didn't get the header from the error string, try to get it from the server
658
+ if (!wwwAuthenticate && hasNetworkTransport(mcpServerConfig)) {
659
+ debugLogger.debug(`No www-authenticate header in error, trying to fetch it from server...`);
660
+ try {
661
+ const urlToFetch = mcpServerConfig.httpUrl || mcpServerConfig.url;
662
+ const response = await fetch(urlToFetch, {
663
+ method: 'HEAD',
664
+ headers: {
665
+ Accept: mcpServerConfig.httpUrl
666
+ ? 'application/json'
667
+ : 'text/event-stream',
668
+ },
669
+ signal: AbortSignal.timeout(5000),
670
+ });
671
+ if (response.status === 401) {
672
+ wwwAuthenticate = response.headers.get('www-authenticate');
673
+ if (wwwAuthenticate) {
674
+ debugLogger.debug(`Found www-authenticate header from server: ${wwwAuthenticate}`);
675
+ }
676
+ }
677
+ }
678
+ catch (fetchError) {
679
+ debugLogger.debug(`Failed to fetch www-authenticate header: ${getErrorMessage(fetchError)}`);
680
+ }
681
+ }
682
+ if (wwwAuthenticate) {
683
+ debugLogger.debug(`Received 401 with www-authenticate header: ${wwwAuthenticate}`);
684
+ // Try automatic OAuth discovery and authentication
685
+ const oauthSuccess = await handleAutomaticOAuth(mcpServerName, mcpServerConfig, wwwAuthenticate);
686
+ if (oauthSuccess) {
687
+ // Retry connection with OAuth token
688
+ debugLogger.info(`Retrying connection to '${mcpServerName}' with OAuth token...`);
689
+ // Get the valid token - we need to create a proper OAuth config
690
+ // The token should already be available from the authentication process
691
+ const tokenStorage = new MCPOAuthTokenStorage();
692
+ const credentials = await tokenStorage.getCredentials(mcpServerName);
693
+ if (credentials) {
694
+ const authProvider = new MCPOAuthProvider(tokenStorage);
695
+ const accessToken = await authProvider.getValidToken(mcpServerName, {
696
+ // Pass client ID if available
697
+ clientId: credentials.clientId,
698
+ });
699
+ if (accessToken) {
700
+ // Create transport with OAuth token
701
+ const oauthTransport = await createTransportWithOAuth(mcpServerName, mcpServerConfig, accessToken);
702
+ if (oauthTransport) {
703
+ try {
704
+ await mcpClient.connect(oauthTransport, {
705
+ timeout: mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
706
+ });
707
+ // Connection successful with OAuth
708
+ return mcpClient;
709
+ }
710
+ catch (retryError) {
711
+ debugLogger.error(`Failed to connect with OAuth token: ${getErrorMessage(retryError)}`);
712
+ throw retryError;
713
+ }
714
+ }
715
+ else {
716
+ debugLogger.error(`Failed to create OAuth transport for server '${mcpServerName}'`);
717
+ throw new Error(`Failed to create OAuth transport for server '${mcpServerName}'`);
718
+ }
719
+ }
720
+ else {
721
+ debugLogger.error(`Failed to get OAuth token for server '${mcpServerName}'`);
722
+ throw new Error(`Failed to get OAuth token for server '${mcpServerName}'`);
723
+ }
724
+ }
725
+ else {
726
+ debugLogger.error(`Failed to get credentials for server '${mcpServerName}' after successful OAuth authentication`);
727
+ throw new Error(`Failed to get credentials for server '${mcpServerName}' after successful OAuth authentication`);
728
+ }
729
+ }
730
+ else {
731
+ debugLogger.error(`Failed to handle automatic OAuth for server '${mcpServerName}'`);
732
+ throw new Error(`Failed to handle automatic OAuth for server '${mcpServerName}'`);
733
+ }
734
+ }
735
+ else {
736
+ // No www-authenticate header found, but we got a 401
737
+ // Only try OAuth discovery for HTTP servers or when OAuth is explicitly configured
738
+ // For SSE servers, we should not trigger new OAuth flows automatically
739
+ const shouldTryDiscovery = mcpServerConfig.httpUrl || mcpServerConfig.oauth?.enabled;
740
+ if (!shouldTryDiscovery) {
741
+ const tokenStorage = new MCPOAuthTokenStorage();
742
+ const credentials = await tokenStorage.getCredentials(mcpServerName);
743
+ if (credentials) {
744
+ const authProvider = new MCPOAuthProvider(tokenStorage);
745
+ const hasStoredTokens = await authProvider.getValidToken(mcpServerName, {
746
+ // Pass client ID if available
747
+ clientId: credentials.clientId,
748
+ });
749
+ if (hasStoredTokens) {
750
+ debugLogger.warn(`Stored OAuth token for SSE server '${mcpServerName}' was rejected. ` +
751
+ `Please re-authenticate using: /mcp auth ${mcpServerName}`);
752
+ }
753
+ else {
754
+ debugLogger.warn(`401 error received for SSE server '${mcpServerName}' without OAuth configuration. ` +
755
+ `Please authenticate using: /mcp auth ${mcpServerName}`);
756
+ }
757
+ }
758
+ throw new Error(`401 error received for SSE server '${mcpServerName}' without OAuth configuration. ` +
759
+ `Please authenticate using: /mcp auth ${mcpServerName}`);
760
+ }
761
+ // For SSE/HTTP servers, try to discover OAuth configuration from the base URL
762
+ debugLogger.info(`Attempting OAuth discovery for '${mcpServerName}'...`);
763
+ if (hasNetworkTransport(mcpServerConfig)) {
764
+ const serverUrl = new URL(mcpServerConfig.httpUrl || mcpServerConfig.url);
765
+ const baseUrl = `${serverUrl.protocol}//${serverUrl.host}`;
766
+ try {
767
+ // Try to discover OAuth configuration from the base URL
768
+ const oauthConfig = await OAuthUtils.discoverOAuthConfig(baseUrl);
769
+ if (oauthConfig) {
770
+ debugLogger.info(`Discovered OAuth configuration from base URL for server '${mcpServerName}'`);
771
+ // Create OAuth configuration for authentication
772
+ const oauthAuthConfig = {
773
+ enabled: true,
774
+ authorizationUrl: oauthConfig.authorizationUrl,
775
+ tokenUrl: oauthConfig.tokenUrl,
776
+ scopes: oauthConfig.scopes || [],
777
+ };
778
+ // Perform OAuth authentication
779
+ // Pass the server URL for proper discovery
780
+ const authServerUrl = mcpServerConfig.httpUrl || mcpServerConfig.url;
781
+ debugLogger.info(`Starting OAuth authentication for server '${mcpServerName}'...`);
782
+ const authProvider = new MCPOAuthProvider(new MCPOAuthTokenStorage());
783
+ await authProvider.authenticate(mcpServerName, oauthAuthConfig, authServerUrl);
784
+ // Retry connection with OAuth token
785
+ const tokenStorage = new MCPOAuthTokenStorage();
786
+ const credentials = await tokenStorage.getCredentials(mcpServerName);
787
+ if (credentials) {
788
+ const authProvider = new MCPOAuthProvider(tokenStorage);
789
+ const accessToken = await authProvider.getValidToken(mcpServerName, {
790
+ // Pass client ID if available
791
+ clientId: credentials.clientId,
792
+ });
793
+ if (accessToken) {
794
+ // Create transport with OAuth token
795
+ const oauthTransport = await createTransportWithOAuth(mcpServerName, mcpServerConfig, accessToken);
796
+ if (oauthTransport) {
797
+ try {
798
+ await mcpClient.connect(oauthTransport, {
799
+ timeout: mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
800
+ });
801
+ // Connection successful with OAuth
802
+ return mcpClient;
803
+ }
804
+ catch (retryError) {
805
+ debugLogger.error(`Failed to connect with OAuth token: ${getErrorMessage(retryError)}`);
806
+ throw retryError;
807
+ }
808
+ }
809
+ else {
810
+ debugLogger.error(`Failed to create OAuth transport for server '${mcpServerName}'`);
811
+ throw new Error(`Failed to create OAuth transport for server '${mcpServerName}'`);
812
+ }
813
+ }
814
+ else {
815
+ debugLogger.error(`Failed to get OAuth token for server '${mcpServerName}'`);
816
+ throw new Error(`Failed to get OAuth token for server '${mcpServerName}'`);
817
+ }
818
+ }
819
+ else {
820
+ debugLogger.error(`Failed to get stored credentials for server '${mcpServerName}'`);
821
+ throw new Error(`Failed to get stored credentials for server '${mcpServerName}'`);
822
+ }
823
+ }
824
+ else {
825
+ debugLogger.error(`Could not configure OAuth for '${mcpServerName}' - please authenticate manually with /mcp auth ${mcpServerName}`);
826
+ throw new Error(`OAuth configuration failed for '${mcpServerName}'. Please authenticate manually with /mcp auth ${mcpServerName}`);
827
+ }
828
+ }
829
+ catch (discoveryError) {
830
+ debugLogger.error(`OAuth discovery failed for '${mcpServerName}' - please authenticate manually with /mcp auth ${mcpServerName}`);
831
+ throw discoveryError;
832
+ }
833
+ }
834
+ else {
835
+ debugLogger.error(`'${mcpServerName}' requires authentication but no OAuth configuration found`);
836
+ throw new Error(`MCP server '${mcpServerName}' requires authentication. Please configure OAuth or check server settings.`);
837
+ }
838
+ }
839
+ }
840
+ else {
841
+ // Handle other connection errors
842
+ // Create a concise error message
843
+ const errorMessage = error.message || String(error);
844
+ const isNetworkError = errorMessage.includes('ENOTFOUND') ||
845
+ errorMessage.includes('ECONNREFUSED');
846
+ let conciseError;
847
+ if (isNetworkError) {
848
+ conciseError = `Cannot connect to '${mcpServerName}' - server may be down or URL incorrect`;
849
+ }
850
+ else {
851
+ conciseError = `Connection failed for '${mcpServerName}': ${errorMessage}`;
852
+ }
853
+ if (process.env['SANDBOX']) {
854
+ conciseError += ` (check sandbox availability)`;
855
+ }
856
+ throw new Error(conciseError);
857
+ }
858
+ }
859
+ }
860
+ /** Visible for Testing */
861
+ export async function createTransport(mcpServerName, mcpServerConfig, debugMode, sendSdkMcpMessage) {
862
+ if (isSdkMcpServerConfig(mcpServerConfig)) {
863
+ if (!sendSdkMcpMessage) {
864
+ throw new Error(`SDK MCP server '${mcpServerName}' requires sendSdkMcpMessage callback`);
865
+ }
866
+ return new SdkControlClientTransport({
867
+ serverName: mcpServerName,
868
+ sendMcpMessage: sendSdkMcpMessage,
869
+ debugMode,
870
+ });
871
+ }
872
+ if (mcpServerConfig.authProviderType ===
873
+ AuthProviderType.SERVICE_ACCOUNT_IMPERSONATION) {
874
+ const provider = new ServiceAccountImpersonationProvider(mcpServerConfig);
875
+ const transportOptions = {
876
+ authProvider: provider,
877
+ };
878
+ if (mcpServerConfig.httpUrl) {
879
+ return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), transportOptions);
880
+ }
881
+ else if (mcpServerConfig.url) {
882
+ // Default to SSE if only url is provided
883
+ return new SSEClientTransport(new URL(mcpServerConfig.url), transportOptions);
884
+ }
885
+ throw new Error('No URL configured for ServiceAccountImpersonation MCP Server');
886
+ }
887
+ if (mcpServerConfig.authProviderType === AuthProviderType.GOOGLE_CREDENTIALS) {
888
+ const provider = new GoogleCredentialProvider(mcpServerConfig);
889
+ const transportOptions = {
890
+ authProvider: provider,
891
+ };
892
+ if (mcpServerConfig.httpUrl) {
893
+ return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), transportOptions);
894
+ }
895
+ else if (mcpServerConfig.url) {
896
+ return new SSEClientTransport(new URL(mcpServerConfig.url), transportOptions);
897
+ }
898
+ throw new Error('No URL configured for Google Credentials MCP server');
899
+ }
900
+ // Check if we have OAuth configuration or stored tokens
901
+ let accessToken = null;
902
+ let hasOAuthConfig = mcpServerConfig.oauth?.enabled;
903
+ if (hasOAuthConfig && mcpServerConfig.oauth) {
904
+ const tokenStorage = new MCPOAuthTokenStorage();
905
+ const authProvider = new MCPOAuthProvider(tokenStorage);
906
+ accessToken = await authProvider.getValidToken(mcpServerName, mcpServerConfig.oauth);
907
+ if (!accessToken) {
908
+ debugLogger.error(`MCP server '${mcpServerName}' requires OAuth authentication. ` +
909
+ `Please authenticate using the /mcp auth command.`);
910
+ throw new Error(`MCP server '${mcpServerName}' requires OAuth authentication. ` +
911
+ `Please authenticate using the /mcp auth command.`);
912
+ }
913
+ }
914
+ else {
915
+ // Check if we have stored OAuth tokens for this server (from previous authentication)
916
+ const tokenStorage = new MCPOAuthTokenStorage();
917
+ const credentials = await tokenStorage.getCredentials(mcpServerName);
918
+ if (credentials) {
919
+ const authProvider = new MCPOAuthProvider(tokenStorage);
920
+ accessToken = await authProvider.getValidToken(mcpServerName, {
921
+ // Pass client ID if available
922
+ clientId: credentials.clientId,
923
+ });
924
+ if (accessToken) {
925
+ hasOAuthConfig = true;
926
+ debugLogger.debug(`Found stored OAuth token for server '${mcpServerName}'`);
927
+ }
928
+ }
929
+ }
930
+ if (mcpServerConfig.httpUrl) {
931
+ const transportOptions = {};
932
+ // Set up headers with OAuth token if available
933
+ if (hasOAuthConfig && accessToken) {
934
+ transportOptions.requestInit = {
935
+ headers: {
936
+ ...mcpServerConfig.headers,
937
+ Authorization: `Bearer ${accessToken}`,
938
+ },
939
+ };
940
+ }
941
+ else if (mcpServerConfig.headers) {
942
+ transportOptions.requestInit = {
943
+ headers: mcpServerConfig.headers,
944
+ };
945
+ }
946
+ return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), transportOptions);
947
+ }
948
+ if (mcpServerConfig.url) {
949
+ const transportOptions = {};
950
+ // Set up headers with OAuth token if available
951
+ if (hasOAuthConfig && accessToken) {
952
+ transportOptions.requestInit = {
953
+ headers: {
954
+ ...mcpServerConfig.headers,
955
+ Authorization: `Bearer ${accessToken}`,
956
+ },
957
+ };
958
+ }
959
+ else if (mcpServerConfig.headers) {
960
+ transportOptions.requestInit = {
961
+ headers: mcpServerConfig.headers,
962
+ };
963
+ }
964
+ return new SSEClientTransport(new URL(mcpServerConfig.url), transportOptions);
965
+ }
966
+ if (mcpServerConfig.command) {
967
+ const transport = new StdioClientTransport({
968
+ command: mcpServerConfig.command,
969
+ args: mcpServerConfig.args || [],
970
+ env: {
971
+ ...process.env,
972
+ ...(mcpServerConfig.env || {}),
973
+ },
974
+ cwd: mcpServerConfig.cwd,
975
+ stderr: 'pipe',
976
+ });
977
+ if (debugMode) {
978
+ transport.stderr.on('data', (data) => {
979
+ const stderrStr = data.toString().trim();
980
+ debugLogger.debug(`MCP STDERR (${mcpServerName}):`, stderrStr);
981
+ });
982
+ }
983
+ return transport;
984
+ }
985
+ throw new Error(`Invalid configuration: missing httpUrl (for Streamable HTTP), url (for SSE), and command (for stdio).`);
986
+ }
987
+ /** Visible for testing */
988
+ export function isEnabled(funcDecl, mcpServerName, mcpServerConfig) {
989
+ if (!funcDecl.name) {
990
+ debugLogger.warn(`Discovered a function declaration without a name from MCP server '${mcpServerName}'. Skipping.`);
991
+ return false;
992
+ }
993
+ const { includeTools, excludeTools } = mcpServerConfig;
994
+ // excludeTools takes precedence over includeTools
995
+ if (excludeTools && excludeTools.includes(funcDecl.name)) {
996
+ return false;
997
+ }
998
+ return (!includeTools ||
999
+ includeTools.some((tool) => tool === funcDecl.name || tool.startsWith(`${funcDecl.name}(`)));
1000
+ }
1001
+ //# sourceMappingURL=mcp-client.js.map