@anh3d0nic/qwen-code-termux-ice 21.0.1 → 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 (1281) hide show
  1. package/bin/qwen-ice +127 -331
  2. package/core/ice-core.js +101 -0
  3. package/core-dist/index.d.ts +6 -0
  4. package/core-dist/index.js +7 -0
  5. package/core-dist/index.js.map +1 -0
  6. package/core-dist/src/__mocks__/fs/promises.d.ts +11 -0
  7. package/core-dist/src/__mocks__/fs/promises.js +17 -0
  8. package/core-dist/src/__mocks__/fs/promises.js.map +1 -0
  9. package/core-dist/src/config/config.d.ts +648 -0
  10. package/core-dist/src/config/config.js +1374 -0
  11. package/core-dist/src/config/config.js.map +1 -0
  12. package/core-dist/src/config/config.test.d.ts +6 -0
  13. package/core-dist/src/config/config.test.js +1116 -0
  14. package/core-dist/src/config/config.test.js.map +1 -0
  15. package/core-dist/src/config/constants.d.ts +11 -0
  16. package/core-dist/src/config/constants.js +16 -0
  17. package/core-dist/src/config/constants.js.map +1 -0
  18. package/core-dist/src/config/models.d.ts +9 -0
  19. package/core-dist/src/config/models.js +10 -0
  20. package/core-dist/src/config/models.js.map +1 -0
  21. package/core-dist/src/config/storage.d.ts +38 -0
  22. package/core-dist/src/config/storage.js +114 -0
  23. package/core-dist/src/config/storage.js.map +1 -0
  24. package/core-dist/src/config/storage.test.d.ts +6 -0
  25. package/core-dist/src/config/storage.test.js +36 -0
  26. package/core-dist/src/config/storage.test.js.map +1 -0
  27. package/core-dist/src/confirmation-bus/message-bus.d.ts +22 -0
  28. package/core-dist/src/confirmation-bus/message-bus.js +98 -0
  29. package/core-dist/src/confirmation-bus/message-bus.js.map +1 -0
  30. package/core-dist/src/confirmation-bus/types.d.ts +104 -0
  31. package/core-dist/src/confirmation-bus/types.js +16 -0
  32. package/core-dist/src/confirmation-bus/types.js.map +1 -0
  33. package/core-dist/src/core/__tests__/openaiTimeoutHandling.test.d.ts +6 -0
  34. package/core-dist/src/core/__tests__/openaiTimeoutHandling.test.js +298 -0
  35. package/core-dist/src/core/__tests__/openaiTimeoutHandling.test.js.map +1 -0
  36. package/core-dist/src/core/__tests__/orphanedToolCallsTest.d.ts +64 -0
  37. package/core-dist/src/core/__tests__/orphanedToolCallsTest.js +122 -0
  38. package/core-dist/src/core/__tests__/orphanedToolCallsTest.js.map +1 -0
  39. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.d.ts +28 -0
  40. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.js +349 -0
  41. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.js.map +1 -0
  42. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.test.d.ts +6 -0
  43. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.test.js +396 -0
  44. package/core-dist/src/core/anthropicContentGenerator/anthropicContentGenerator.test.js.map +1 -0
  45. package/core-dist/src/core/anthropicContentGenerator/converter.d.ts +48 -0
  46. package/core-dist/src/core/anthropicContentGenerator/converter.js +449 -0
  47. package/core-dist/src/core/anthropicContentGenerator/converter.js.map +1 -0
  48. package/core-dist/src/core/anthropicContentGenerator/converter.test.d.ts +6 -0
  49. package/core-dist/src/core/anthropicContentGenerator/converter.test.js +843 -0
  50. package/core-dist/src/core/anthropicContentGenerator/converter.test.js.map +1 -0
  51. package/core-dist/src/core/anthropicContentGenerator/index.d.ts +9 -0
  52. package/core-dist/src/core/anthropicContentGenerator/index.js +11 -0
  53. package/core-dist/src/core/anthropicContentGenerator/index.js.map +1 -0
  54. package/core-dist/src/core/baseLlmClient.d.ts +48 -0
  55. package/core-dist/src/core/baseLlmClient.js +98 -0
  56. package/core-dist/src/core/baseLlmClient.js.map +1 -0
  57. package/core-dist/src/core/baseLlmClient.test.d.ts +6 -0
  58. package/core-dist/src/core/baseLlmClient.test.js +319 -0
  59. package/core-dist/src/core/baseLlmClient.test.js.map +1 -0
  60. package/core-dist/src/core/client.d.ts +48 -0
  61. package/core-dist/src/core/client.js +547 -0
  62. package/core-dist/src/core/client.js.map +1 -0
  63. package/core-dist/src/core/client.test.d.ts +6 -0
  64. package/core-dist/src/core/client.test.js +1885 -0
  65. package/core-dist/src/core/client.test.js.map +1 -0
  66. package/core-dist/src/core/contentGenerator.d.ts +100 -0
  67. package/core-dist/src/core/contentGenerator.js +162 -0
  68. package/core-dist/src/core/contentGenerator.js.map +1 -0
  69. package/core-dist/src/core/contentGenerator.test.d.ts +6 -0
  70. package/core-dist/src/core/contentGenerator.test.js +95 -0
  71. package/core-dist/src/core/contentGenerator.test.js.map +1 -0
  72. package/core-dist/src/core/coreToolScheduler.d.ts +142 -0
  73. package/core-dist/src/core/coreToolScheduler.js +872 -0
  74. package/core-dist/src/core/coreToolScheduler.js.map +1 -0
  75. package/core-dist/src/core/coreToolScheduler.test.d.ts +6 -0
  76. package/core-dist/src/core/coreToolScheduler.test.js +2221 -0
  77. package/core-dist/src/core/coreToolScheduler.test.js.map +1 -0
  78. package/core-dist/src/core/geminiChat.d.ts +122 -0
  79. package/core-dist/src/core/geminiChat.js +571 -0
  80. package/core-dist/src/core/geminiChat.js.map +1 -0
  81. package/core-dist/src/core/geminiChat.test.d.ts +6 -0
  82. package/core-dist/src/core/geminiChat.test.js +1276 -0
  83. package/core-dist/src/core/geminiChat.test.js.map +1 -0
  84. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.d.ts +38 -0
  85. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.js +193 -0
  86. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.js.map +1 -0
  87. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.test.d.ts +6 -0
  88. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.test.js +304 -0
  89. package/core-dist/src/core/geminiContentGenerator/geminiContentGenerator.test.js.map +1 -0
  90. package/core-dist/src/core/geminiContentGenerator/index.d.ts +12 -0
  91. package/core-dist/src/core/geminiContentGenerator/index.js +36 -0
  92. package/core-dist/src/core/geminiContentGenerator/index.js.map +1 -0
  93. package/core-dist/src/core/geminiContentGenerator/index.test.d.ts +6 -0
  94. package/core-dist/src/core/geminiContentGenerator/index.test.js +34 -0
  95. package/core-dist/src/core/geminiContentGenerator/index.test.js.map +1 -0
  96. package/core-dist/src/core/geminiRequest.d.ts +13 -0
  97. package/core-dist/src/core/geminiRequest.js +11 -0
  98. package/core-dist/src/core/geminiRequest.js.map +1 -0
  99. package/core-dist/src/core/geminiRequest.test.d.ts +6 -0
  100. package/core-dist/src/core/geminiRequest.test.js +73 -0
  101. package/core-dist/src/core/geminiRequest.test.js.map +1 -0
  102. package/core-dist/src/core/logger.d.ts +68 -0
  103. package/core-dist/src/core/logger.js +364 -0
  104. package/core-dist/src/core/logger.js.map +1 -0
  105. package/core-dist/src/core/logger.test.d.ts +6 -0
  106. package/core-dist/src/core/logger.test.js +520 -0
  107. package/core-dist/src/core/logger.test.js.map +1 -0
  108. package/core-dist/src/core/loggingContentGenerator/index.d.ts +6 -0
  109. package/core-dist/src/core/loggingContentGenerator/index.js +7 -0
  110. package/core-dist/src/core/loggingContentGenerator/index.js.map +1 -0
  111. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.d.ts +36 -0
  112. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.js +321 -0
  113. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.js.map +1 -0
  114. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.test.d.ts +6 -0
  115. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.test.js +287 -0
  116. package/core-dist/src/core/loggingContentGenerator/loggingContentGenerator.test.js.map +1 -0
  117. package/core-dist/src/core/modalityDefaults.d.ts +14 -0
  118. package/core-dist/src/core/modalityDefaults.js +81 -0
  119. package/core-dist/src/core/modalityDefaults.js.map +1 -0
  120. package/core-dist/src/core/modalityDefaults.test.d.ts +6 -0
  121. package/core-dist/src/core/modalityDefaults.test.js +181 -0
  122. package/core-dist/src/core/modalityDefaults.test.js.map +1 -0
  123. package/core-dist/src/core/nonInteractiveToolExecutor.d.ts +16 -0
  124. package/core-dist/src/core/nonInteractiveToolExecutor.js +30 -0
  125. package/core-dist/src/core/nonInteractiveToolExecutor.js.map +1 -0
  126. package/core-dist/src/core/nonInteractiveToolExecutor.test.d.ts +6 -0
  127. package/core-dist/src/core/nonInteractiveToolExecutor.test.js +296 -0
  128. package/core-dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -0
  129. package/core-dist/src/core/openaiContentGenerator/constants.d.ts +6 -0
  130. package/core-dist/src/core/openaiContentGenerator/constants.js +7 -0
  131. package/core-dist/src/core/openaiContentGenerator/constants.js.map +1 -0
  132. package/core-dist/src/core/openaiContentGenerator/converter.d.ts +133 -0
  133. package/core-dist/src/core/openaiContentGenerator/converter.js +1020 -0
  134. package/core-dist/src/core/openaiContentGenerator/converter.js.map +1 -0
  135. package/core-dist/src/core/openaiContentGenerator/converter.test.d.ts +6 -0
  136. package/core-dist/src/core/openaiContentGenerator/converter.test.js +1966 -0
  137. package/core-dist/src/core/openaiContentGenerator/converter.test.js.map +1 -0
  138. package/core-dist/src/core/openaiContentGenerator/errorHandler.d.ts +27 -0
  139. package/core-dist/src/core/openaiContentGenerator/errorHandler.js +84 -0
  140. package/core-dist/src/core/openaiContentGenerator/errorHandler.js.map +1 -0
  141. package/core-dist/src/core/openaiContentGenerator/errorHandler.test.d.ts +6 -0
  142. package/core-dist/src/core/openaiContentGenerator/errorHandler.test.js +267 -0
  143. package/core-dist/src/core/openaiContentGenerator/errorHandler.test.js.map +1 -0
  144. package/core-dist/src/core/openaiContentGenerator/index.d.ts +21 -0
  145. package/core-dist/src/core/openaiContentGenerator/index.js +43 -0
  146. package/core-dist/src/core/openaiContentGenerator/index.js.map +1 -0
  147. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.d.ts +22 -0
  148. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.js +117 -0
  149. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.js.map +1 -0
  150. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.test.d.ts +6 -0
  151. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.test.js +298 -0
  152. package/core-dist/src/core/openaiContentGenerator/openaiContentGenerator.test.js.map +1 -0
  153. package/core-dist/src/core/openaiContentGenerator/pipeline.d.ts +74 -0
  154. package/core-dist/src/core/openaiContentGenerator/pipeline.js +327 -0
  155. package/core-dist/src/core/openaiContentGenerator/pipeline.js.map +1 -0
  156. package/core-dist/src/core/openaiContentGenerator/pipeline.test.d.ts +6 -0
  157. package/core-dist/src/core/openaiContentGenerator/pipeline.test.js +1143 -0
  158. package/core-dist/src/core/openaiContentGenerator/pipeline.test.js.map +1 -0
  159. package/core-dist/src/core/openaiContentGenerator/provider/README.md +61 -0
  160. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.d.ts +70 -0
  161. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.js +258 -0
  162. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.js.map +1 -0
  163. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.test.d.ts +6 -0
  164. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.test.js +781 -0
  165. package/core-dist/src/core/openaiContentGenerator/provider/dashscope.test.js.map +1 -0
  166. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.d.ts +14 -0
  167. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.js +21 -0
  168. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.js.map +1 -0
  169. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.test.d.ts +6 -0
  170. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.test.js +51 -0
  171. package/core-dist/src/core/openaiContentGenerator/provider/deepseek.test.js.map +1 -0
  172. package/core-dist/src/core/openaiContentGenerator/provider/default.d.ts +17 -0
  173. package/core-dist/src/core/openaiContentGenerator/provider/default.js +52 -0
  174. package/core-dist/src/core/openaiContentGenerator/provider/default.js.map +1 -0
  175. package/core-dist/src/core/openaiContentGenerator/provider/default.test.d.ts +6 -0
  176. package/core-dist/src/core/openaiContentGenerator/provider/default.test.js +227 -0
  177. package/core-dist/src/core/openaiContentGenerator/provider/default.test.js.map +1 -0
  178. package/core-dist/src/core/openaiContentGenerator/provider/index.d.ts +6 -0
  179. package/core-dist/src/core/openaiContentGenerator/provider/index.js +6 -0
  180. package/core-dist/src/core/openaiContentGenerator/provider/index.js.map +1 -0
  181. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.d.ts +17 -0
  182. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.js +25 -0
  183. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.js.map +1 -0
  184. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.test.d.ts +6 -0
  185. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.test.js +66 -0
  186. package/core-dist/src/core/openaiContentGenerator/provider/modelscope.test.js.map +1 -0
  187. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.d.ts +8 -0
  188. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.js +21 -0
  189. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.js.map +1 -0
  190. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.test.d.ts +6 -0
  191. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.test.js +152 -0
  192. package/core-dist/src/core/openaiContentGenerator/provider/openrouter.test.js.map +1 -0
  193. package/core-dist/src/core/openaiContentGenerator/provider/types.d.ts +26 -0
  194. package/core-dist/src/core/openaiContentGenerator/provider/types.js +2 -0
  195. package/core-dist/src/core/openaiContentGenerator/provider/types.js.map +1 -0
  196. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.d.ts +157 -0
  197. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.js +390 -0
  198. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.js.map +1 -0
  199. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.test.d.ts +6 -0
  200. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.test.js +585 -0
  201. package/core-dist/src/core/openaiContentGenerator/streamingToolCallParser.test.js.map +1 -0
  202. package/core-dist/src/core/prompts.d.ts +81 -0
  203. package/core-dist/src/core/prompts.js +996 -0
  204. package/core-dist/src/core/prompts.js.map +1 -0
  205. package/core-dist/src/core/prompts.test.d.ts +6 -0
  206. package/core-dist/src/core/prompts.test.js +485 -0
  207. package/core-dist/src/core/prompts.test.js.map +1 -0
  208. package/core-dist/src/core/tokenLimits.d.ts +29 -0
  209. package/core-dist/src/core/tokenLimits.js +171 -0
  210. package/core-dist/src/core/tokenLimits.js.map +1 -0
  211. package/core-dist/src/core/tokenLimits.test.d.ts +1 -0
  212. package/core-dist/src/core/tokenLimits.test.js +270 -0
  213. package/core-dist/src/core/tokenLimits.test.js.map +1 -0
  214. package/core-dist/src/core/turn.d.ts +161 -0
  215. package/core-dist/src/core/turn.js +197 -0
  216. package/core-dist/src/core/turn.js.map +1 -0
  217. package/core-dist/src/core/turn.test.d.ts +6 -0
  218. package/core-dist/src/core/turn.test.js +817 -0
  219. package/core-dist/src/core/turn.test.js.map +1 -0
  220. package/core-dist/src/extension/claude-converter.d.ts +121 -0
  221. package/core-dist/src/extension/claude-converter.js +572 -0
  222. package/core-dist/src/extension/claude-converter.js.map +1 -0
  223. package/core-dist/src/extension/claude-converter.test.d.ts +6 -0
  224. package/core-dist/src/extension/claude-converter.test.js +305 -0
  225. package/core-dist/src/extension/claude-converter.test.js.map +1 -0
  226. package/core-dist/src/extension/extensionManager.d.ts +159 -0
  227. package/core-dist/src/extension/extensionManager.js +829 -0
  228. package/core-dist/src/extension/extensionManager.js.map +1 -0
  229. package/core-dist/src/extension/extensionManager.test.d.ts +6 -0
  230. package/core-dist/src/extension/extensionManager.test.js +598 -0
  231. package/core-dist/src/extension/extensionManager.test.js.map +1 -0
  232. package/core-dist/src/extension/extensionSettings.d.ts +33 -0
  233. package/core-dist/src/extension/extensionSettings.js +186 -0
  234. package/core-dist/src/extension/extensionSettings.js.map +1 -0
  235. package/core-dist/src/extension/extensionSettings.test.d.ts +1 -0
  236. package/core-dist/src/extension/extensionSettings.test.js +488 -0
  237. package/core-dist/src/extension/extensionSettings.test.js.map +1 -0
  238. package/core-dist/src/extension/gemini-converter.d.ts +47 -0
  239. package/core-dist/src/extension/gemini-converter.js +185 -0
  240. package/core-dist/src/extension/gemini-converter.js.map +1 -0
  241. package/core-dist/src/extension/gemini-converter.test.d.ts +6 -0
  242. package/core-dist/src/extension/gemini-converter.test.js +128 -0
  243. package/core-dist/src/extension/gemini-converter.test.js.map +1 -0
  244. package/core-dist/src/extension/github.d.ts +30 -0
  245. package/core-dist/src/extension/github.js +330 -0
  246. package/core-dist/src/extension/github.js.map +1 -0
  247. package/core-dist/src/extension/github.test.d.ts +6 -0
  248. package/core-dist/src/extension/github.test.js +376 -0
  249. package/core-dist/src/extension/github.test.js.map +1 -0
  250. package/core-dist/src/extension/index.d.ts +6 -0
  251. package/core-dist/src/extension/index.js +7 -0
  252. package/core-dist/src/extension/index.js.map +1 -0
  253. package/core-dist/src/extension/marketplace.d.ts +19 -0
  254. package/core-dist/src/extension/marketplace.js +222 -0
  255. package/core-dist/src/extension/marketplace.js.map +1 -0
  256. package/core-dist/src/extension/marketplace.test.d.ts +6 -0
  257. package/core-dist/src/extension/marketplace.test.js +215 -0
  258. package/core-dist/src/extension/marketplace.test.js.map +1 -0
  259. package/core-dist/src/extension/override.d.ts +25 -0
  260. package/core-dist/src/extension/override.js +82 -0
  261. package/core-dist/src/extension/override.js.map +1 -0
  262. package/core-dist/src/extension/override.test.d.ts +6 -0
  263. package/core-dist/src/extension/override.test.js +94 -0
  264. package/core-dist/src/extension/override.test.js.map +1 -0
  265. package/core-dist/src/extension/settings.d.ts +39 -0
  266. package/core-dist/src/extension/settings.js +116 -0
  267. package/core-dist/src/extension/settings.js.map +1 -0
  268. package/core-dist/src/extension/settings.test.d.ts +6 -0
  269. package/core-dist/src/extension/settings.test.js +125 -0
  270. package/core-dist/src/extension/settings.test.js.map +1 -0
  271. package/core-dist/src/extension/storage.d.ts +9 -0
  272. package/core-dist/src/extension/storage.js +38 -0
  273. package/core-dist/src/extension/storage.js.map +1 -0
  274. package/core-dist/src/extension/storage.test.d.ts +6 -0
  275. package/core-dist/src/extension/storage.test.js +64 -0
  276. package/core-dist/src/extension/storage.test.js.map +1 -0
  277. package/core-dist/src/extension/variableSchema.d.ts +40 -0
  278. package/core-dist/src/extension/variableSchema.js +26 -0
  279. package/core-dist/src/extension/variableSchema.js.map +1 -0
  280. package/core-dist/src/extension/variables.d.ts +21 -0
  281. package/core-dist/src/extension/variables.js +46 -0
  282. package/core-dist/src/extension/variables.js.map +1 -0
  283. package/core-dist/src/extension/variables.test.d.ts +6 -0
  284. package/core-dist/src/extension/variables.test.js +17 -0
  285. package/core-dist/src/extension/variables.test.js.map +1 -0
  286. package/core-dist/src/hooks/hookAggregator.d.ts +66 -0
  287. package/core-dist/src/hooks/hookAggregator.js +280 -0
  288. package/core-dist/src/hooks/hookAggregator.js.map +1 -0
  289. package/core-dist/src/hooks/hookAggregator.test.d.ts +6 -0
  290. package/core-dist/src/hooks/hookAggregator.test.js +449 -0
  291. package/core-dist/src/hooks/hookAggregator.test.js.map +1 -0
  292. package/core-dist/src/hooks/hookEventHandler.d.ts +42 -0
  293. package/core-dist/src/hooks/hookEventHandler.js +127 -0
  294. package/core-dist/src/hooks/hookEventHandler.js.map +1 -0
  295. package/core-dist/src/hooks/hookEventHandler.test.d.ts +6 -0
  296. package/core-dist/src/hooks/hookEventHandler.test.js +183 -0
  297. package/core-dist/src/hooks/hookEventHandler.test.js.map +1 -0
  298. package/core-dist/src/hooks/hookPlanner.d.ts +42 -0
  299. package/core-dist/src/hooks/hookPlanner.js +101 -0
  300. package/core-dist/src/hooks/hookPlanner.js.map +1 -0
  301. package/core-dist/src/hooks/hookPlanner.test.d.ts +6 -0
  302. package/core-dist/src/hooks/hookPlanner.test.js +303 -0
  303. package/core-dist/src/hooks/hookPlanner.test.js.map +1 -0
  304. package/core-dist/src/hooks/hookRegistry.d.ts +106 -0
  305. package/core-dist/src/hooks/hookRegistry.js +225 -0
  306. package/core-dist/src/hooks/hookRegistry.js.map +1 -0
  307. package/core-dist/src/hooks/hookRegistry.test.d.ts +6 -0
  308. package/core-dist/src/hooks/hookRegistry.test.js +539 -0
  309. package/core-dist/src/hooks/hookRegistry.test.js.map +1 -0
  310. package/core-dist/src/hooks/hookRunner.d.ts +40 -0
  311. package/core-dist/src/hooks/hookRunner.js +318 -0
  312. package/core-dist/src/hooks/hookRunner.js.map +1 -0
  313. package/core-dist/src/hooks/hookRunner.test.d.ts +6 -0
  314. package/core-dist/src/hooks/hookRunner.test.js +466 -0
  315. package/core-dist/src/hooks/hookRunner.test.js.map +1 -0
  316. package/core-dist/src/hooks/hookSystem.d.ts +43 -0
  317. package/core-dist/src/hooks/hookSystem.js +75 -0
  318. package/core-dist/src/hooks/hookSystem.js.map +1 -0
  319. package/core-dist/src/hooks/hookSystem.test.d.ts +6 -0
  320. package/core-dist/src/hooks/hookSystem.test.js +237 -0
  321. package/core-dist/src/hooks/hookSystem.test.js.map +1 -0
  322. package/core-dist/src/hooks/index.d.ts +16 -0
  323. package/core-dist/src/hooks/index.js +16 -0
  324. package/core-dist/src/hooks/index.js.map +1 -0
  325. package/core-dist/src/hooks/trustedHooks.d.ts +28 -0
  326. package/core-dist/src/hooks/trustedHooks.js +91 -0
  327. package/core-dist/src/hooks/trustedHooks.js.map +1 -0
  328. package/core-dist/src/hooks/types.d.ts +498 -0
  329. package/core-dist/src/hooks/types.js +292 -0
  330. package/core-dist/src/hooks/types.js.map +1 -0
  331. package/core-dist/src/ide/constants.d.ts +9 -0
  332. package/core-dist/src/ide/constants.js +10 -0
  333. package/core-dist/src/ide/constants.js.map +1 -0
  334. package/core-dist/src/ide/detect-ide.d.ts +56 -0
  335. package/core-dist/src/ide/detect-ide.js +68 -0
  336. package/core-dist/src/ide/detect-ide.js.map +1 -0
  337. package/core-dist/src/ide/detect-ide.test.d.ts +6 -0
  338. package/core-dist/src/ide/detect-ide.test.js +113 -0
  339. package/core-dist/src/ide/detect-ide.test.js.map +1 -0
  340. package/core-dist/src/ide/ide-client.d.ts +132 -0
  341. package/core-dist/src/ide/ide-client.js +750 -0
  342. package/core-dist/src/ide/ide-client.js.map +1 -0
  343. package/core-dist/src/ide/ide-client.test.d.ts +6 -0
  344. package/core-dist/src/ide/ide-client.test.js +463 -0
  345. package/core-dist/src/ide/ide-client.test.js.map +1 -0
  346. package/core-dist/src/ide/ide-installer.d.ts +14 -0
  347. package/core-dist/src/ide/ide-installer.js +112 -0
  348. package/core-dist/src/ide/ide-installer.js.map +1 -0
  349. package/core-dist/src/ide/ide-installer.test.d.ts +6 -0
  350. package/core-dist/src/ide/ide-installer.test.js +134 -0
  351. package/core-dist/src/ide/ide-installer.test.js.map +1 -0
  352. package/core-dist/src/ide/ideContext.d.ts +44 -0
  353. package/core-dist/src/ide/ideContext.js +101 -0
  354. package/core-dist/src/ide/ideContext.js.map +1 -0
  355. package/core-dist/src/ide/ideContext.test.d.ts +6 -0
  356. package/core-dist/src/ide/ideContext.test.js +393 -0
  357. package/core-dist/src/ide/ideContext.test.js.map +1 -0
  358. package/core-dist/src/ide/process-utils.d.ts +21 -0
  359. package/core-dist/src/ide/process-utils.js +170 -0
  360. package/core-dist/src/ide/process-utils.js.map +1 -0
  361. package/core-dist/src/ide/process-utils.test.d.ts +6 -0
  362. package/core-dist/src/ide/process-utils.test.js +130 -0
  363. package/core-dist/src/ide/process-utils.test.js.map +1 -0
  364. package/core-dist/src/ide/types.d.ts +486 -0
  365. package/core-dist/src/ide/types.js +138 -0
  366. package/core-dist/src/ide/types.js.map +1 -0
  367. package/core-dist/src/index.d.ts +179 -0
  368. package/core-dist/src/index.js +225 -0
  369. package/core-dist/src/index.js.map +1 -0
  370. package/core-dist/src/index.test.d.ts +6 -0
  371. package/core-dist/src/index.test.js +12 -0
  372. package/core-dist/src/index.test.js.map +1 -0
  373. package/core-dist/src/lsp/LspConfigLoader.d.ts +46 -0
  374. package/core-dist/src/lsp/LspConfigLoader.js +381 -0
  375. package/core-dist/src/lsp/LspConfigLoader.js.map +1 -0
  376. package/core-dist/src/lsp/LspConfigLoader.test.d.ts +6 -0
  377. package/core-dist/src/lsp/LspConfigLoader.test.js +80 -0
  378. package/core-dist/src/lsp/LspConfigLoader.test.js.map +1 -0
  379. package/core-dist/src/lsp/LspConnectionFactory.d.ts +62 -0
  380. package/core-dist/src/lsp/LspConnectionFactory.js +305 -0
  381. package/core-dist/src/lsp/LspConnectionFactory.js.map +1 -0
  382. package/core-dist/src/lsp/LspLanguageDetector.d.ts +39 -0
  383. package/core-dist/src/lsp/LspLanguageDetector.js +199 -0
  384. package/core-dist/src/lsp/LspLanguageDetector.js.map +1 -0
  385. package/core-dist/src/lsp/LspResponseNormalizer.d.ts +122 -0
  386. package/core-dist/src/lsp/LspResponseNormalizer.js +710 -0
  387. package/core-dist/src/lsp/LspResponseNormalizer.js.map +1 -0
  388. package/core-dist/src/lsp/LspServerManager.d.ts +87 -0
  389. package/core-dist/src/lsp/LspServerManager.js +563 -0
  390. package/core-dist/src/lsp/LspServerManager.js.map +1 -0
  391. package/core-dist/src/lsp/NativeLspClient.d.ts +149 -0
  392. package/core-dist/src/lsp/NativeLspClient.js +169 -0
  393. package/core-dist/src/lsp/NativeLspClient.js.map +1 -0
  394. package/core-dist/src/lsp/NativeLspService.d.ts +106 -0
  395. package/core-dist/src/lsp/NativeLspService.integration.test.d.ts +6 -0
  396. package/core-dist/src/lsp/NativeLspService.integration.test.js +663 -0
  397. package/core-dist/src/lsp/NativeLspService.integration.test.js.map +1 -0
  398. package/core-dist/src/lsp/NativeLspService.js +623 -0
  399. package/core-dist/src/lsp/NativeLspService.js.map +1 -0
  400. package/core-dist/src/lsp/NativeLspService.test.d.ts +6 -0
  401. package/core-dist/src/lsp/NativeLspService.test.js +99 -0
  402. package/core-dist/src/lsp/NativeLspService.test.js.map +1 -0
  403. package/core-dist/src/lsp/constants.d.ts +35 -0
  404. package/core-dist/src/lsp/constants.js +86 -0
  405. package/core-dist/src/lsp/constants.js.map +1 -0
  406. package/core-dist/src/lsp/types.d.ts +409 -0
  407. package/core-dist/src/lsp/types.js +7 -0
  408. package/core-dist/src/lsp/types.js.map +1 -0
  409. package/core-dist/src/mcp/constants.d.ts +22 -0
  410. package/core-dist/src/mcp/constants.js +23 -0
  411. package/core-dist/src/mcp/constants.js.map +1 -0
  412. package/core-dist/src/mcp/google-auth-provider.d.ts +23 -0
  413. package/core-dist/src/mcp/google-auth-provider.js +75 -0
  414. package/core-dist/src/mcp/google-auth-provider.js.map +1 -0
  415. package/core-dist/src/mcp/google-auth-provider.test.d.ts +6 -0
  416. package/core-dist/src/mcp/google-auth-provider.test.js +89 -0
  417. package/core-dist/src/mcp/google-auth-provider.test.js.map +1 -0
  418. package/core-dist/src/mcp/oauth-provider.d.ts +150 -0
  419. package/core-dist/src/mcp/oauth-provider.js +617 -0
  420. package/core-dist/src/mcp/oauth-provider.js.map +1 -0
  421. package/core-dist/src/mcp/oauth-provider.test.d.ts +6 -0
  422. package/core-dist/src/mcp/oauth-provider.test.js +917 -0
  423. package/core-dist/src/mcp/oauth-provider.test.js.map +1 -0
  424. package/core-dist/src/mcp/oauth-token-storage.d.ts +65 -0
  425. package/core-dist/src/mcp/oauth-token-storage.js +182 -0
  426. package/core-dist/src/mcp/oauth-token-storage.js.map +1 -0
  427. package/core-dist/src/mcp/oauth-token-storage.test.d.ts +6 -0
  428. package/core-dist/src/mcp/oauth-token-storage.test.js +307 -0
  429. package/core-dist/src/mcp/oauth-token-storage.test.js.map +1 -0
  430. package/core-dist/src/mcp/oauth-utils.d.ts +124 -0
  431. package/core-dist/src/mcp/oauth-utils.js +252 -0
  432. package/core-dist/src/mcp/oauth-utils.js.map +1 -0
  433. package/core-dist/src/mcp/oauth-utils.test.d.ts +6 -0
  434. package/core-dist/src/mcp/oauth-utils.test.js +220 -0
  435. package/core-dist/src/mcp/oauth-utils.test.js.map +1 -0
  436. package/core-dist/src/mcp/sa-impersonation-provider.d.ts +33 -0
  437. package/core-dist/src/mcp/sa-impersonation-provider.js +133 -0
  438. package/core-dist/src/mcp/sa-impersonation-provider.js.map +1 -0
  439. package/core-dist/src/mcp/sa-impersonation-provider.test.d.ts +6 -0
  440. package/core-dist/src/mcp/sa-impersonation-provider.test.js +117 -0
  441. package/core-dist/src/mcp/sa-impersonation-provider.test.js.map +1 -0
  442. package/core-dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
  443. package/core-dist/src/mcp/token-storage/base-token-storage.js +36 -0
  444. package/core-dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
  445. package/core-dist/src/mcp/token-storage/base-token-storage.test.d.ts +6 -0
  446. package/core-dist/src/mcp/token-storage/base-token-storage.test.js +160 -0
  447. package/core-dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -0
  448. package/core-dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
  449. package/core-dist/src/mcp/token-storage/file-token-storage.js +144 -0
  450. package/core-dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
  451. package/core-dist/src/mcp/token-storage/file-token-storage.test.d.ts +6 -0
  452. package/core-dist/src/mcp/token-storage/file-token-storage.test.js +235 -0
  453. package/core-dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -0
  454. package/core-dist/src/mcp/token-storage/hybrid-token-storage.d.ts +23 -0
  455. package/core-dist/src/mcp/token-storage/hybrid-token-storage.js +78 -0
  456. package/core-dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -0
  457. package/core-dist/src/mcp/token-storage/hybrid-token-storage.test.d.ts +6 -0
  458. package/core-dist/src/mcp/token-storage/hybrid-token-storage.test.js +193 -0
  459. package/core-dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -0
  460. package/core-dist/src/mcp/token-storage/index.d.ts +11 -0
  461. package/core-dist/src/mcp/token-storage/index.js +12 -0
  462. package/core-dist/src/mcp/token-storage/index.js.map +1 -0
  463. package/core-dist/src/mcp/token-storage/keychain-token-storage.d.ts +35 -0
  464. package/core-dist/src/mcp/token-storage/keychain-token-storage.js +248 -0
  465. package/core-dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -0
  466. package/core-dist/src/mcp/token-storage/keychain-token-storage.test.d.ts +6 -0
  467. package/core-dist/src/mcp/token-storage/keychain-token-storage.test.js +254 -0
  468. package/core-dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -0
  469. package/core-dist/src/mcp/token-storage/types.d.ts +38 -0
  470. package/core-dist/src/mcp/token-storage/types.js +11 -0
  471. package/core-dist/src/mcp/token-storage/types.js.map +1 -0
  472. package/core-dist/src/mocks/msw.d.ts +6 -0
  473. package/core-dist/src/mocks/msw.js +8 -0
  474. package/core-dist/src/mocks/msw.js.map +1 -0
  475. package/core-dist/src/models/constants.d.ts +71 -0
  476. package/core-dist/src/models/constants.js +92 -0
  477. package/core-dist/src/models/constants.js.map +1 -0
  478. package/core-dist/src/models/index.d.ts +10 -0
  479. package/core-dist/src/models/index.js +12 -0
  480. package/core-dist/src/models/index.js.map +1 -0
  481. package/core-dist/src/models/modelConfigErrors.d.ts +46 -0
  482. package/core-dist/src/models/modelConfigErrors.js +87 -0
  483. package/core-dist/src/models/modelConfigErrors.js.map +1 -0
  484. package/core-dist/src/models/modelConfigResolver.d.ts +84 -0
  485. package/core-dist/src/models/modelConfigResolver.js +204 -0
  486. package/core-dist/src/models/modelConfigResolver.js.map +1 -0
  487. package/core-dist/src/models/modelConfigResolver.test.d.ts +6 -0
  488. package/core-dist/src/models/modelConfigResolver.test.js +302 -0
  489. package/core-dist/src/models/modelConfigResolver.test.js.map +1 -0
  490. package/core-dist/src/models/modelRegistry.d.ts +55 -0
  491. package/core-dist/src/models/modelRegistry.js +182 -0
  492. package/core-dist/src/models/modelRegistry.js.map +1 -0
  493. package/core-dist/src/models/modelRegistry.test.d.ts +6 -0
  494. package/core-dist/src/models/modelRegistry.test.js +408 -0
  495. package/core-dist/src/models/modelRegistry.test.js.map +1 -0
  496. package/core-dist/src/models/modelsConfig.d.ts +343 -0
  497. package/core-dist/src/models/modelsConfig.js +957 -0
  498. package/core-dist/src/models/modelsConfig.js.map +1 -0
  499. package/core-dist/src/models/modelsConfig.test.d.ts +6 -0
  500. package/core-dist/src/models/modelsConfig.test.js +1242 -0
  501. package/core-dist/src/models/modelsConfig.test.js.map +1 -0
  502. package/core-dist/src/models/types.d.ts +114 -0
  503. package/core-dist/src/models/types.js +7 -0
  504. package/core-dist/src/models/types.js.map +1 -0
  505. package/core-dist/src/output/json-formatter.d.ts +11 -0
  506. package/core-dist/src/output/json-formatter.js +30 -0
  507. package/core-dist/src/output/json-formatter.js.map +1 -0
  508. package/core-dist/src/output/json-formatter.test.d.ts +6 -0
  509. package/core-dist/src/output/json-formatter.test.js +266 -0
  510. package/core-dist/src/output/json-formatter.test.js.map +1 -0
  511. package/core-dist/src/output/types.d.ts +25 -0
  512. package/core-dist/src/output/types.js +17 -0
  513. package/core-dist/src/output/types.js.map +1 -0
  514. package/core-dist/src/prompts/mcp-prompts.d.ts +8 -0
  515. package/core-dist/src/prompts/mcp-prompts.js +13 -0
  516. package/core-dist/src/prompts/mcp-prompts.js.map +1 -0
  517. package/core-dist/src/prompts/prompt-registry.d.ts +34 -0
  518. package/core-dist/src/prompts/prompt-registry.js +65 -0
  519. package/core-dist/src/prompts/prompt-registry.js.map +1 -0
  520. package/core-dist/src/qwen/qwenContentGenerator.d.ts +71 -0
  521. package/core-dist/src/qwen/qwenContentGenerator.js +182 -0
  522. package/core-dist/src/qwen/qwenContentGenerator.js.map +1 -0
  523. package/core-dist/src/qwen/qwenContentGenerator.test.d.ts +6 -0
  524. package/core-dist/src/qwen/qwenContentGenerator.test.js +1175 -0
  525. package/core-dist/src/qwen/qwenContentGenerator.test.js.map +1 -0
  526. package/core-dist/src/qwen/qwenOAuth2.d.ts +195 -0
  527. package/core-dist/src/qwen/qwenOAuth2.js +677 -0
  528. package/core-dist/src/qwen/qwenOAuth2.js.map +1 -0
  529. package/core-dist/src/qwen/qwenOAuth2.test.d.ts +6 -0
  530. package/core-dist/src/qwen/qwenOAuth2.test.js +1621 -0
  531. package/core-dist/src/qwen/qwenOAuth2.test.js.map +1 -0
  532. package/core-dist/src/qwen/sharedTokenManager.d.ts +196 -0
  533. package/core-dist/src/qwen/sharedTokenManager.js +649 -0
  534. package/core-dist/src/qwen/sharedTokenManager.js.map +1 -0
  535. package/core-dist/src/qwen/sharedTokenManager.test.d.ts +7 -0
  536. package/core-dist/src/qwen/sharedTokenManager.test.js +662 -0
  537. package/core-dist/src/qwen/sharedTokenManager.test.js.map +1 -0
  538. package/core-dist/src/services/chatCompressionService.d.ts +32 -0
  539. package/core-dist/src/services/chatCompressionService.js +213 -0
  540. package/core-dist/src/services/chatCompressionService.js.map +1 -0
  541. package/core-dist/src/services/chatCompressionService.test.d.ts +6 -0
  542. package/core-dist/src/services/chatCompressionService.test.js +343 -0
  543. package/core-dist/src/services/chatCompressionService.test.js.map +1 -0
  544. package/core-dist/src/services/chatRecordingService.d.ts +215 -0
  545. package/core-dist/src/services/chatRecordingService.js +285 -0
  546. package/core-dist/src/services/chatRecordingService.js.map +1 -0
  547. package/core-dist/src/services/chatRecordingService.test.d.ts +6 -0
  548. package/core-dist/src/services/chatRecordingService.test.js +299 -0
  549. package/core-dist/src/services/chatRecordingService.test.js.map +1 -0
  550. package/core-dist/src/services/fileDiscoveryService.d.ts +45 -0
  551. package/core-dist/src/services/fileDiscoveryService.js +104 -0
  552. package/core-dist/src/services/fileDiscoveryService.js.map +1 -0
  553. package/core-dist/src/services/fileDiscoveryService.test.d.ts +6 -0
  554. package/core-dist/src/services/fileDiscoveryService.test.js +143 -0
  555. package/core-dist/src/services/fileDiscoveryService.test.js.map +1 -0
  556. package/core-dist/src/services/fileSystemService.d.ts +88 -0
  557. package/core-dist/src/services/fileSystemService.js +131 -0
  558. package/core-dist/src/services/fileSystemService.js.map +1 -0
  559. package/core-dist/src/services/fileSystemService.test.d.ts +6 -0
  560. package/core-dist/src/services/fileSystemService.test.js +216 -0
  561. package/core-dist/src/services/fileSystemService.test.js.map +1 -0
  562. package/core-dist/src/services/gitService.d.ts +22 -0
  563. package/core-dist/src/services/gitService.js +98 -0
  564. package/core-dist/src/services/gitService.js.map +1 -0
  565. package/core-dist/src/services/gitService.test.d.ts +6 -0
  566. package/core-dist/src/services/gitService.test.js +187 -0
  567. package/core-dist/src/services/gitService.test.js.map +1 -0
  568. package/core-dist/src/services/loopDetectionService.d.ts +86 -0
  569. package/core-dist/src/services/loopDetectionService.js +239 -0
  570. package/core-dist/src/services/loopDetectionService.js.map +1 -0
  571. package/core-dist/src/services/loopDetectionService.test.d.ts +6 -0
  572. package/core-dist/src/services/loopDetectionService.test.js +478 -0
  573. package/core-dist/src/services/loopDetectionService.test.js.map +1 -0
  574. package/core-dist/src/services/sessionService.d.ts +200 -0
  575. package/core-dist/src/services/sessionService.js +527 -0
  576. package/core-dist/src/services/sessionService.js.map +1 -0
  577. package/core-dist/src/services/sessionService.test.d.ts +6 -0
  578. package/core-dist/src/services/sessionService.test.js +576 -0
  579. package/core-dist/src/services/sessionService.test.js.map +1 -0
  580. package/core-dist/src/services/shellExecutionService.d.ts +104 -0
  581. package/core-dist/src/services/shellExecutionService.js +626 -0
  582. package/core-dist/src/services/shellExecutionService.js.map +1 -0
  583. package/core-dist/src/services/shellExecutionService.test.d.ts +6 -0
  584. package/core-dist/src/services/shellExecutionService.test.js +684 -0
  585. package/core-dist/src/services/shellExecutionService.test.js.map +1 -0
  586. package/core-dist/src/skills/index.d.ts +19 -0
  587. package/core-dist/src/skills/index.js +9 -0
  588. package/core-dist/src/skills/index.js.map +1 -0
  589. package/core-dist/src/skills/skill-load.d.ts +4 -0
  590. package/core-dist/src/skills/skill-load.js +137 -0
  591. package/core-dist/src/skills/skill-load.js.map +1 -0
  592. package/core-dist/src/skills/skill-load.test.d.ts +6 -0
  593. package/core-dist/src/skills/skill-load.test.js +237 -0
  594. package/core-dist/src/skills/skill-load.test.js.map +1 -0
  595. package/core-dist/src/skills/skill-manager.d.ts +134 -0
  596. package/core-dist/src/skills/skill-manager.js +505 -0
  597. package/core-dist/src/skills/skill-manager.js.map +1 -0
  598. package/core-dist/src/skills/skill-manager.test.d.ts +6 -0
  599. package/core-dist/src/skills/skill-manager.test.js +527 -0
  600. package/core-dist/src/skills/skill-manager.test.js.map +1 -0
  601. package/core-dist/src/skills/types.d.ts +88 -0
  602. package/core-dist/src/skills/types.js +29 -0
  603. package/core-dist/src/skills/types.js.map +1 -0
  604. package/core-dist/src/subagents/builtin-agents.d.ts +35 -0
  605. package/core-dist/src/subagents/builtin-agents.js +85 -0
  606. package/core-dist/src/subagents/builtin-agents.js.map +1 -0
  607. package/core-dist/src/subagents/builtin-agents.test.d.ts +6 -0
  608. package/core-dist/src/subagents/builtin-agents.test.js +78 -0
  609. package/core-dist/src/subagents/builtin-agents.test.js.map +1 -0
  610. package/core-dist/src/subagents/index.d.ts +29 -0
  611. package/core-dist/src/subagents/index.js +15 -0
  612. package/core-dist/src/subagents/index.js.map +1 -0
  613. package/core-dist/src/subagents/subagent-events.d.ts +105 -0
  614. package/core-dist/src/subagents/subagent-events.js +32 -0
  615. package/core-dist/src/subagents/subagent-events.js.map +1 -0
  616. package/core-dist/src/subagents/subagent-hooks.d.ts +29 -0
  617. package/core-dist/src/subagents/subagent-hooks.js +7 -0
  618. package/core-dist/src/subagents/subagent-hooks.js.map +1 -0
  619. package/core-dist/src/subagents/subagent-manager.d.ts +178 -0
  620. package/core-dist/src/subagents/subagent-manager.js +711 -0
  621. package/core-dist/src/subagents/subagent-manager.js.map +1 -0
  622. package/core-dist/src/subagents/subagent-manager.test.d.ts +6 -0
  623. package/core-dist/src/subagents/subagent-manager.test.js +829 -0
  624. package/core-dist/src/subagents/subagent-manager.test.js.map +1 -0
  625. package/core-dist/src/subagents/subagent-statistics.d.ts +50 -0
  626. package/core-dist/src/subagents/subagent-statistics.js +210 -0
  627. package/core-dist/src/subagents/subagent-statistics.js.map +1 -0
  628. package/core-dist/src/subagents/subagent-statistics.test.d.ts +6 -0
  629. package/core-dist/src/subagents/subagent-statistics.test.js +238 -0
  630. package/core-dist/src/subagents/subagent-statistics.test.js.map +1 -0
  631. package/core-dist/src/subagents/subagent.d.ts +167 -0
  632. package/core-dist/src/subagents/subagent.js +758 -0
  633. package/core-dist/src/subagents/subagent.js.map +1 -0
  634. package/core-dist/src/subagents/subagent.test.d.ts +6 -0
  635. package/core-dist/src/subagents/subagent.test.js +819 -0
  636. package/core-dist/src/subagents/subagent.test.js.map +1 -0
  637. package/core-dist/src/subagents/types.d.ts +224 -0
  638. package/core-dist/src/subagents/types.js +58 -0
  639. package/core-dist/src/subagents/types.js.map +1 -0
  640. package/core-dist/src/subagents/types.test.d.ts +6 -0
  641. package/core-dist/src/subagents/types.test.js +31 -0
  642. package/core-dist/src/subagents/types.test.js.map +1 -0
  643. package/core-dist/src/subagents/validation.d.ts +63 -0
  644. package/core-dist/src/subagents/validation.js +293 -0
  645. package/core-dist/src/subagents/validation.js.map +1 -0
  646. package/core-dist/src/subagents/validation.test.d.ts +6 -0
  647. package/core-dist/src/subagents/validation.test.js +330 -0
  648. package/core-dist/src/subagents/validation.test.js.map +1 -0
  649. package/core-dist/src/telemetry/config.d.ts +31 -0
  650. package/core-dist/src/telemetry/config.js +74 -0
  651. package/core-dist/src/telemetry/config.js.map +1 -0
  652. package/core-dist/src/telemetry/config.test.d.ts +6 -0
  653. package/core-dist/src/telemetry/config.test.js +124 -0
  654. package/core-dist/src/telemetry/config.test.js.map +1 -0
  655. package/core-dist/src/telemetry/constants.d.ts +39 -0
  656. package/core-dist/src/telemetry/constants.js +41 -0
  657. package/core-dist/src/telemetry/constants.js.map +1 -0
  658. package/core-dist/src/telemetry/file-exporters.d.ts +29 -0
  659. package/core-dist/src/telemetry/file-exporters.js +62 -0
  660. package/core-dist/src/telemetry/file-exporters.js.map +1 -0
  661. package/core-dist/src/telemetry/index.d.ts +25 -0
  662. package/core-dist/src/telemetry/index.js +31 -0
  663. package/core-dist/src/telemetry/index.js.map +1 -0
  664. package/core-dist/src/telemetry/integration.test.circular.d.ts +6 -0
  665. package/core-dist/src/telemetry/integration.test.circular.js +95 -0
  666. package/core-dist/src/telemetry/integration.test.circular.js.map +1 -0
  667. package/core-dist/src/telemetry/loggers.d.ts +40 -0
  668. package/core-dist/src/telemetry/loggers.js +712 -0
  669. package/core-dist/src/telemetry/loggers.js.map +1 -0
  670. package/core-dist/src/telemetry/loggers.test.circular.d.ts +6 -0
  671. package/core-dist/src/telemetry/loggers.test.circular.js +107 -0
  672. package/core-dist/src/telemetry/loggers.test.circular.js.map +1 -0
  673. package/core-dist/src/telemetry/loggers.test.d.ts +6 -0
  674. package/core-dist/src/telemetry/loggers.test.js +961 -0
  675. package/core-dist/src/telemetry/loggers.test.js.map +1 -0
  676. package/core-dist/src/telemetry/metrics.d.ts +320 -0
  677. package/core-dist/src/telemetry/metrics.js +532 -0
  678. package/core-dist/src/telemetry/metrics.js.map +1 -0
  679. package/core-dist/src/telemetry/metrics.test.d.ts +6 -0
  680. package/core-dist/src/telemetry/metrics.test.js +746 -0
  681. package/core-dist/src/telemetry/metrics.test.js.map +1 -0
  682. package/core-dist/src/telemetry/qwen-logger/event-types.d.ts +89 -0
  683. package/core-dist/src/telemetry/qwen-logger/event-types.js +2 -0
  684. package/core-dist/src/telemetry/qwen-logger/event-types.js.map +1 -0
  685. package/core-dist/src/telemetry/qwen-logger/qwen-logger.d.ts +102 -0
  686. package/core-dist/src/telemetry/qwen-logger/qwen-logger.js +739 -0
  687. package/core-dist/src/telemetry/qwen-logger/qwen-logger.js.map +1 -0
  688. package/core-dist/src/telemetry/qwen-logger/qwen-logger.test.d.ts +6 -0
  689. package/core-dist/src/telemetry/qwen-logger/qwen-logger.test.js +380 -0
  690. package/core-dist/src/telemetry/qwen-logger/qwen-logger.test.js.map +1 -0
  691. package/core-dist/src/telemetry/sdk.d.ts +9 -0
  692. package/core-dist/src/telemetry/sdk.js +163 -0
  693. package/core-dist/src/telemetry/sdk.js.map +1 -0
  694. package/core-dist/src/telemetry/sdk.test.d.ts +6 -0
  695. package/core-dist/src/telemetry/sdk.test.js +116 -0
  696. package/core-dist/src/telemetry/sdk.test.js.map +1 -0
  697. package/core-dist/src/telemetry/telemetry-utils.d.ts +6 -0
  698. package/core-dist/src/telemetry/telemetry-utils.js +14 -0
  699. package/core-dist/src/telemetry/telemetry-utils.js.map +1 -0
  700. package/core-dist/src/telemetry/telemetry-utils.test.d.ts +6 -0
  701. package/core-dist/src/telemetry/telemetry-utils.test.js +40 -0
  702. package/core-dist/src/telemetry/telemetry-utils.test.js.map +1 -0
  703. package/core-dist/src/telemetry/telemetry.test.d.ts +6 -0
  704. package/core-dist/src/telemetry/telemetry.test.js +49 -0
  705. package/core-dist/src/telemetry/telemetry.test.js.map +1 -0
  706. package/core-dist/src/telemetry/tool-call-decision.d.ts +13 -0
  707. package/core-dist/src/telemetry/tool-call-decision.js +29 -0
  708. package/core-dist/src/telemetry/tool-call-decision.js.map +1 -0
  709. package/core-dist/src/telemetry/types.d.ts +363 -0
  710. package/core-dist/src/telemetry/types.js +635 -0
  711. package/core-dist/src/telemetry/types.js.map +1 -0
  712. package/core-dist/src/telemetry/uiTelemetry.d.ts +80 -0
  713. package/core-dist/src/telemetry/uiTelemetry.js +164 -0
  714. package/core-dist/src/telemetry/uiTelemetry.js.map +1 -0
  715. package/core-dist/src/telemetry/uiTelemetry.test.d.ts +6 -0
  716. package/core-dist/src/telemetry/uiTelemetry.test.js +625 -0
  717. package/core-dist/src/telemetry/uiTelemetry.test.js.map +1 -0
  718. package/core-dist/src/test-utils/config.d.ts +17 -0
  719. package/core-dist/src/test-utils/config.js +31 -0
  720. package/core-dist/src/test-utils/config.js.map +1 -0
  721. package/core-dist/src/test-utils/index.d.ts +6 -0
  722. package/core-dist/src/test-utils/index.js +7 -0
  723. package/core-dist/src/test-utils/index.js.map +1 -0
  724. package/core-dist/src/test-utils/mock-tool.d.ts +66 -0
  725. package/core-dist/src/test-utils/mock-tool.js +121 -0
  726. package/core-dist/src/test-utils/mock-tool.js.map +1 -0
  727. package/core-dist/src/test-utils/mockWorkspaceContext.d.ts +13 -0
  728. package/core-dist/src/test-utils/mockWorkspaceContext.js +24 -0
  729. package/core-dist/src/test-utils/mockWorkspaceContext.js.map +1 -0
  730. package/core-dist/src/tools/askUserQuestion.d.ts +41 -0
  731. package/core-dist/src/tools/askUserQuestion.js +247 -0
  732. package/core-dist/src/tools/askUserQuestion.js.map +1 -0
  733. package/core-dist/src/tools/askUserQuestion.test.d.ts +6 -0
  734. package/core-dist/src/tools/askUserQuestion.test.js +218 -0
  735. package/core-dist/src/tools/askUserQuestion.test.js.map +1 -0
  736. package/core-dist/src/tools/diffOptions.d.ts +9 -0
  737. package/core-dist/src/tools/diffOptions.js +46 -0
  738. package/core-dist/src/tools/diffOptions.js.map +1 -0
  739. package/core-dist/src/tools/diffOptions.test.d.ts +6 -0
  740. package/core-dist/src/tools/diffOptions.test.js +155 -0
  741. package/core-dist/src/tools/diffOptions.test.js.map +1 -0
  742. package/core-dist/src/tools/edit.d.ts +55 -0
  743. package/core-dist/src/tools/edit.js +446 -0
  744. package/core-dist/src/tools/edit.js.map +1 -0
  745. package/core-dist/src/tools/edit.test.d.ts +6 -0
  746. package/core-dist/src/tools/edit.test.js +742 -0
  747. package/core-dist/src/tools/edit.test.js.map +1 -0
  748. package/core-dist/src/tools/exitPlanMode.d.ts +28 -0
  749. package/core-dist/src/tools/exitPlanMode.js +144 -0
  750. package/core-dist/src/tools/exitPlanMode.js.map +1 -0
  751. package/core-dist/src/tools/exitPlanMode.test.d.ts +6 -0
  752. package/core-dist/src/tools/exitPlanMode.test.js +178 -0
  753. package/core-dist/src/tools/exitPlanMode.test.js.map +1 -0
  754. package/core-dist/src/tools/glob.d.ts +44 -0
  755. package/core-dist/src/tools/glob.js +195 -0
  756. package/core-dist/src/tools/glob.js.map +1 -0
  757. package/core-dist/src/tools/glob.test.d.ts +6 -0
  758. package/core-dist/src/tools/glob.test.js +481 -0
  759. package/core-dist/src/tools/glob.test.js.map +1 -0
  760. package/core-dist/src/tools/grep.d.ts +44 -0
  761. package/core-dist/src/tools/grep.js +427 -0
  762. package/core-dist/src/tools/grep.js.map +1 -0
  763. package/core-dist/src/tools/grep.test.d.ts +6 -0
  764. package/core-dist/src/tools/grep.test.js +360 -0
  765. package/core-dist/src/tools/grep.test.js.map +1 -0
  766. package/core-dist/src/tools/ls.d.ts +68 -0
  767. package/core-dist/src/tools/ls.js +221 -0
  768. package/core-dist/src/tools/ls.js.map +1 -0
  769. package/core-dist/src/tools/ls.test.d.ts +6 -0
  770. package/core-dist/src/tools/ls.test.js +246 -0
  771. package/core-dist/src/tools/ls.test.js.map +1 -0
  772. package/core-dist/src/tools/lsp.d.ts +66 -0
  773. package/core-dist/src/tools/lsp.js +894 -0
  774. package/core-dist/src/tools/lsp.js.map +1 -0
  775. package/core-dist/src/tools/lsp.test.d.ts +6 -0
  776. package/core-dist/src/tools/lsp.test.js +960 -0
  777. package/core-dist/src/tools/lsp.test.js.map +1 -0
  778. package/core-dist/src/tools/mcp-client-manager.d.ts +110 -0
  779. package/core-dist/src/tools/mcp-client-manager.js +381 -0
  780. package/core-dist/src/tools/mcp-client-manager.js.map +1 -0
  781. package/core-dist/src/tools/mcp-client-manager.test.d.ts +6 -0
  782. package/core-dist/src/tools/mcp-client-manager.test.js +207 -0
  783. package/core-dist/src/tools/mcp-client-manager.test.js.map +1 -0
  784. package/core-dist/src/tools/mcp-client.d.ts +199 -0
  785. package/core-dist/src/tools/mcp-client.js +1001 -0
  786. package/core-dist/src/tools/mcp-client.js.map +1 -0
  787. package/core-dist/src/tools/mcp-client.test.d.ts +6 -0
  788. package/core-dist/src/tools/mcp-client.test.js +307 -0
  789. package/core-dist/src/tools/mcp-client.test.js.map +1 -0
  790. package/core-dist/src/tools/mcp-tool.d.ts +69 -0
  791. package/core-dist/src/tools/mcp-tool.js +365 -0
  792. package/core-dist/src/tools/mcp-tool.js.map +1 -0
  793. package/core-dist/src/tools/mcp-tool.test.d.ts +6 -0
  794. package/core-dist/src/tools/mcp-tool.test.js +827 -0
  795. package/core-dist/src/tools/mcp-tool.test.js.map +1 -0
  796. package/core-dist/src/tools/memoryTool.d.ts +42 -0
  797. package/core-dist/src/tools/memoryTool.js +403 -0
  798. package/core-dist/src/tools/memoryTool.js.map +1 -0
  799. package/core-dist/src/tools/memoryTool.test.d.ts +6 -0
  800. package/core-dist/src/tools/memoryTool.test.js +416 -0
  801. package/core-dist/src/tools/memoryTool.test.js.map +1 -0
  802. package/core-dist/src/tools/modifiable-tool.d.ts +32 -0
  803. package/core-dist/src/tools/modifiable-tool.js +90 -0
  804. package/core-dist/src/tools/modifiable-tool.js.map +1 -0
  805. package/core-dist/src/tools/modifiable-tool.test.d.ts +6 -0
  806. package/core-dist/src/tools/modifiable-tool.test.js +188 -0
  807. package/core-dist/src/tools/modifiable-tool.test.js.map +1 -0
  808. package/core-dist/src/tools/read-file.d.ts +35 -0
  809. package/core-dist/src/tools/read-file.js +141 -0
  810. package/core-dist/src/tools/read-file.js.map +1 -0
  811. package/core-dist/src/tools/read-file.test.d.ts +6 -0
  812. package/core-dist/src/tools/read-file.test.js +333 -0
  813. package/core-dist/src/tools/read-file.test.js.map +1 -0
  814. package/core-dist/src/tools/ripGrep.d.ts +44 -0
  815. package/core-dist/src/tools/ripGrep.js +235 -0
  816. package/core-dist/src/tools/ripGrep.js.map +1 -0
  817. package/core-dist/src/tools/ripGrep.test.d.ts +6 -0
  818. package/core-dist/src/tools/ripGrep.test.js +529 -0
  819. package/core-dist/src/tools/ripGrep.test.js.map +1 -0
  820. package/core-dist/src/tools/sdk-control-client-transport.d.ts +67 -0
  821. package/core-dist/src/tools/sdk-control-client-transport.js +93 -0
  822. package/core-dist/src/tools/sdk-control-client-transport.js.map +1 -0
  823. package/core-dist/src/tools/shell.d.ts +34 -0
  824. package/core-dist/src/tools/shell.js +509 -0
  825. package/core-dist/src/tools/shell.js.map +1 -0
  826. package/core-dist/src/tools/shell.test.d.ts +6 -0
  827. package/core-dist/src/tools/shell.test.js +880 -0
  828. package/core-dist/src/tools/shell.test.js.map +1 -0
  829. package/core-dist/src/tools/skill.d.ts +45 -0
  830. package/core-dist/src/tools/skill.js +214 -0
  831. package/core-dist/src/tools/skill.js.map +1 -0
  832. package/core-dist/src/tools/skill.test.d.ts +6 -0
  833. package/core-dist/src/tools/skill.test.js +280 -0
  834. package/core-dist/src/tools/skill.test.js.map +1 -0
  835. package/core-dist/src/tools/task.d.ts +60 -0
  836. package/core-dist/src/tools/task.js +417 -0
  837. package/core-dist/src/tools/task.js.map +1 -0
  838. package/core-dist/src/tools/task.test.d.ts +6 -0
  839. package/core-dist/src/tools/task.test.js +367 -0
  840. package/core-dist/src/tools/task.test.js.map +1 -0
  841. package/core-dist/src/tools/todoWrite.d.ts +42 -0
  842. package/core-dist/src/tools/todoWrite.js +409 -0
  843. package/core-dist/src/tools/todoWrite.js.map +1 -0
  844. package/core-dist/src/tools/todoWrite.test.d.ts +6 -0
  845. package/core-dist/src/tools/todoWrite.test.js +234 -0
  846. package/core-dist/src/tools/todoWrite.test.js.map +1 -0
  847. package/core-dist/src/tools/tool-error.d.ts +45 -0
  848. package/core-dist/src/tools/tool-error.js +61 -0
  849. package/core-dist/src/tools/tool-error.js.map +1 -0
  850. package/core-dist/src/tools/tool-names.d.ts +60 -0
  851. package/core-dist/src/tools/tool-names.js +66 -0
  852. package/core-dist/src/tools/tool-names.js.map +1 -0
  853. package/core-dist/src/tools/tool-registry.d.ts +103 -0
  854. package/core-dist/src/tools/tool-registry.js +404 -0
  855. package/core-dist/src/tools/tool-registry.js.map +1 -0
  856. package/core-dist/src/tools/tool-registry.test.d.ts +6 -0
  857. package/core-dist/src/tools/tool-registry.test.js +331 -0
  858. package/core-dist/src/tools/tool-registry.test.js.map +1 -0
  859. package/core-dist/src/tools/tools.d.ts +364 -0
  860. package/core-dist/src/tools/tools.js +263 -0
  861. package/core-dist/src/tools/tools.js.map +1 -0
  862. package/core-dist/src/tools/tools.test.d.ts +6 -0
  863. package/core-dist/src/tools/tools.test.js +205 -0
  864. package/core-dist/src/tools/tools.test.js.map +1 -0
  865. package/core-dist/src/tools/web-fetch.d.ts +31 -0
  866. package/core-dist/src/tools/web-fetch.js +168 -0
  867. package/core-dist/src/tools/web-fetch.js.map +1 -0
  868. package/core-dist/src/tools/web-fetch.test.d.ts +6 -0
  869. package/core-dist/src/tools/web-fetch.test.js +134 -0
  870. package/core-dist/src/tools/web-fetch.test.js.map +1 -0
  871. package/core-dist/src/tools/web-search/base-provider.d.ts +31 -0
  872. package/core-dist/src/tools/web-search/base-provider.js +34 -0
  873. package/core-dist/src/tools/web-search/base-provider.js.map +1 -0
  874. package/core-dist/src/tools/web-search/index.d.ts +24 -0
  875. package/core-dist/src/tools/web-search/index.js +249 -0
  876. package/core-dist/src/tools/web-search/index.js.map +1 -0
  877. package/core-dist/src/tools/web-search/index.test.d.ts +6 -0
  878. package/core-dist/src/tools/web-search/index.test.js +237 -0
  879. package/core-dist/src/tools/web-search/index.test.js.map +1 -0
  880. package/core-dist/src/tools/web-search/providers/dashscope-provider.d.ts +23 -0
  881. package/core-dist/src/tools/web-search/providers/dashscope-provider.js +120 -0
  882. package/core-dist/src/tools/web-search/providers/dashscope-provider.js.map +1 -0
  883. package/core-dist/src/tools/web-search/providers/google-provider.d.ts +17 -0
  884. package/core-dist/src/tools/web-search/providers/google-provider.js +55 -0
  885. package/core-dist/src/tools/web-search/providers/google-provider.js.map +1 -0
  886. package/core-dist/src/tools/web-search/providers/tavily-provider.d.ts +17 -0
  887. package/core-dist/src/tools/web-search/providers/tavily-provider.js +54 -0
  888. package/core-dist/src/tools/web-search/providers/tavily-provider.js.map +1 -0
  889. package/core-dist/src/tools/web-search/types.d.ts +138 -0
  890. package/core-dist/src/tools/web-search/types.js +7 -0
  891. package/core-dist/src/tools/web-search/types.js.map +1 -0
  892. package/core-dist/src/tools/web-search/utils.d.ts +28 -0
  893. package/core-dist/src/tools/web-search/utils.js +35 -0
  894. package/core-dist/src/tools/web-search/utils.js.map +1 -0
  895. package/core-dist/src/tools/write-file.d.ts +52 -0
  896. package/core-dist/src/tools/write-file.js +316 -0
  897. package/core-dist/src/tools/write-file.js.map +1 -0
  898. package/core-dist/src/tools/write-file.test.d.ts +6 -0
  899. package/core-dist/src/tools/write-file.test.js +613 -0
  900. package/core-dist/src/tools/write-file.test.js.map +1 -0
  901. package/core-dist/src/utils/LruCache.d.ts +13 -0
  902. package/core-dist/src/utils/LruCache.js +38 -0
  903. package/core-dist/src/utils/LruCache.js.map +1 -0
  904. package/core-dist/src/utils/browser.d.ts +13 -0
  905. package/core-dist/src/utils/browser.js +50 -0
  906. package/core-dist/src/utils/browser.js.map +1 -0
  907. package/core-dist/src/utils/configResolver.d.ts +120 -0
  908. package/core-dist/src/utils/configResolver.js +125 -0
  909. package/core-dist/src/utils/configResolver.js.map +1 -0
  910. package/core-dist/src/utils/configResolver.test.d.ts +6 -0
  911. package/core-dist/src/utils/configResolver.test.js +99 -0
  912. package/core-dist/src/utils/configResolver.test.js.map +1 -0
  913. package/core-dist/src/utils/debugLogger.d.ts +46 -0
  914. package/core-dist/src/utils/debugLogger.js +159 -0
  915. package/core-dist/src/utils/debugLogger.js.map +1 -0
  916. package/core-dist/src/utils/debugLogger.test.d.ts +6 -0
  917. package/core-dist/src/utils/debugLogger.test.js +188 -0
  918. package/core-dist/src/utils/debugLogger.test.js.map +1 -0
  919. package/core-dist/src/utils/editHelper.d.ts +58 -0
  920. package/core-dist/src/utils/editHelper.js +342 -0
  921. package/core-dist/src/utils/editHelper.js.map +1 -0
  922. package/core-dist/src/utils/editHelper.test.d.ts +6 -0
  923. package/core-dist/src/utils/editHelper.test.js +127 -0
  924. package/core-dist/src/utils/editHelper.test.js.map +1 -0
  925. package/core-dist/src/utils/editor.d.ts +37 -0
  926. package/core-dist/src/utils/editor.js +179 -0
  927. package/core-dist/src/utils/editor.js.map +1 -0
  928. package/core-dist/src/utils/editor.test.d.ts +6 -0
  929. package/core-dist/src/utils/editor.test.js +434 -0
  930. package/core-dist/src/utils/editor.test.js.map +1 -0
  931. package/core-dist/src/utils/envVarResolver.d.ts +39 -0
  932. package/core-dist/src/utils/envVarResolver.js +100 -0
  933. package/core-dist/src/utils/envVarResolver.js.map +1 -0
  934. package/core-dist/src/utils/envVarResolver.test.d.ts +6 -0
  935. package/core-dist/src/utils/envVarResolver.test.js +221 -0
  936. package/core-dist/src/utils/envVarResolver.test.js.map +1 -0
  937. package/core-dist/src/utils/environmentContext.d.ts +21 -0
  938. package/core-dist/src/utils/environmentContext.js +73 -0
  939. package/core-dist/src/utils/environmentContext.js.map +1 -0
  940. package/core-dist/src/utils/environmentContext.test.d.ts +6 -0
  941. package/core-dist/src/utils/environmentContext.test.js +151 -0
  942. package/core-dist/src/utils/environmentContext.test.js.map +1 -0
  943. package/core-dist/src/utils/errorParsing.d.ts +7 -0
  944. package/core-dist/src/utils/errorParsing.js +72 -0
  945. package/core-dist/src/utils/errorParsing.js.map +1 -0
  946. package/core-dist/src/utils/errorParsing.test.d.ts +6 -0
  947. package/core-dist/src/utils/errorParsing.test.js +87 -0
  948. package/core-dist/src/utils/errorParsing.test.js.map +1 -0
  949. package/core-dist/src/utils/errorReporting.d.ts +14 -0
  950. package/core-dist/src/utils/errorReporting.js +56 -0
  951. package/core-dist/src/utils/errorReporting.js.map +1 -0
  952. package/core-dist/src/utils/errorReporting.test.d.ts +6 -0
  953. package/core-dist/src/utils/errorReporting.test.js +84 -0
  954. package/core-dist/src/utils/errorReporting.test.js.map +1 -0
  955. package/core-dist/src/utils/errors.d.ts +44 -0
  956. package/core-dist/src/utils/errors.js +114 -0
  957. package/core-dist/src/utils/errors.js.map +1 -0
  958. package/core-dist/src/utils/errors.test.d.ts +6 -0
  959. package/core-dist/src/utils/errors.test.js +70 -0
  960. package/core-dist/src/utils/errors.test.js.map +1 -0
  961. package/core-dist/src/utils/fetch.d.ts +14 -0
  962. package/core-dist/src/utils/fetch.js +152 -0
  963. package/core-dist/src/utils/fetch.js.map +1 -0
  964. package/core-dist/src/utils/fetch.test.d.ts +6 -0
  965. package/core-dist/src/utils/fetch.test.js +40 -0
  966. package/core-dist/src/utils/fetch.test.js.map +1 -0
  967. package/core-dist/src/utils/fileUtils.d.ts +102 -0
  968. package/core-dist/src/utils/fileUtils.js +584 -0
  969. package/core-dist/src/utils/fileUtils.js.map +1 -0
  970. package/core-dist/src/utils/fileUtils.test.d.ts +6 -0
  971. package/core-dist/src/utils/fileUtils.test.js +808 -0
  972. package/core-dist/src/utils/fileUtils.test.js.map +1 -0
  973. package/core-dist/src/utils/filesearch/crawlCache.d.ts +25 -0
  974. package/core-dist/src/utils/filesearch/crawlCache.js +57 -0
  975. package/core-dist/src/utils/filesearch/crawlCache.js.map +1 -0
  976. package/core-dist/src/utils/filesearch/crawlCache.test.d.ts +6 -0
  977. package/core-dist/src/utils/filesearch/crawlCache.test.js +103 -0
  978. package/core-dist/src/utils/filesearch/crawlCache.test.js.map +1 -0
  979. package/core-dist/src/utils/filesearch/crawler.d.ts +15 -0
  980. package/core-dist/src/utils/filesearch/crawler.js +50 -0
  981. package/core-dist/src/utils/filesearch/crawler.js.map +1 -0
  982. package/core-dist/src/utils/filesearch/crawler.test.d.ts +6 -0
  983. package/core-dist/src/utils/filesearch/crawler.test.js +468 -0
  984. package/core-dist/src/utils/filesearch/crawler.test.js.map +1 -0
  985. package/core-dist/src/utils/filesearch/fileSearch.d.ts +38 -0
  986. package/core-dist/src/utils/filesearch/fileSearch.js +194 -0
  987. package/core-dist/src/utils/filesearch/fileSearch.js.map +1 -0
  988. package/core-dist/src/utils/filesearch/fileSearch.test.d.ts +6 -0
  989. package/core-dist/src/utils/filesearch/fileSearch.test.js +642 -0
  990. package/core-dist/src/utils/filesearch/fileSearch.test.js.map +1 -0
  991. package/core-dist/src/utils/filesearch/ignore.d.ts +42 -0
  992. package/core-dist/src/utils/filesearch/ignore.js +106 -0
  993. package/core-dist/src/utils/filesearch/ignore.js.map +1 -0
  994. package/core-dist/src/utils/filesearch/ignore.test.d.ts +6 -0
  995. package/core-dist/src/utils/filesearch/ignore.test.js +144 -0
  996. package/core-dist/src/utils/filesearch/ignore.test.js.map +1 -0
  997. package/core-dist/src/utils/filesearch/result-cache.d.ts +33 -0
  998. package/core-dist/src/utils/filesearch/result-cache.js +59 -0
  999. package/core-dist/src/utils/filesearch/result-cache.js.map +1 -0
  1000. package/core-dist/src/utils/filesearch/result-cache.test.d.ts +6 -0
  1001. package/core-dist/src/utils/filesearch/result-cache.test.js +46 -0
  1002. package/core-dist/src/utils/filesearch/result-cache.test.js.map +1 -0
  1003. package/core-dist/src/utils/formatters.d.ts +6 -0
  1004. package/core-dist/src/utils/formatters.js +16 -0
  1005. package/core-dist/src/utils/formatters.js.map +1 -0
  1006. package/core-dist/src/utils/generateContentResponseUtilities.d.ts +13 -0
  1007. package/core-dist/src/utils/generateContentResponseUtilities.js +95 -0
  1008. package/core-dist/src/utils/generateContentResponseUtilities.js.map +1 -0
  1009. package/core-dist/src/utils/generateContentResponseUtilities.test.d.ts +6 -0
  1010. package/core-dist/src/utils/generateContentResponseUtilities.test.js +235 -0
  1011. package/core-dist/src/utils/generateContentResponseUtilities.test.js.map +1 -0
  1012. package/core-dist/src/utils/getFolderStructure.d.ts +31 -0
  1013. package/core-dist/src/utils/getFolderStructure.js +233 -0
  1014. package/core-dist/src/utils/getFolderStructure.js.map +1 -0
  1015. package/core-dist/src/utils/getFolderStructure.test.d.ts +6 -0
  1016. package/core-dist/src/utils/getFolderStructure.test.js +282 -0
  1017. package/core-dist/src/utils/getFolderStructure.test.js.map +1 -0
  1018. package/core-dist/src/utils/getPty.d.ts +7 -0
  1019. package/core-dist/src/utils/getPty.js +7 -0
  1020. package/core-dist/src/utils/getPty.js.map +1 -0
  1021. package/core-dist/src/utils/gitIgnoreParser.d.ts +16 -0
  1022. package/core-dist/src/utils/gitIgnoreParser.js +152 -0
  1023. package/core-dist/src/utils/gitIgnoreParser.js.map +1 -0
  1024. package/core-dist/src/utils/gitIgnoreParser.test.d.ts +6 -0
  1025. package/core-dist/src/utils/gitIgnoreParser.test.js +185 -0
  1026. package/core-dist/src/utils/gitIgnoreParser.test.js.map +1 -0
  1027. package/core-dist/src/utils/gitUtils.d.ts +21 -0
  1028. package/core-dist/src/utils/gitUtils.js +78 -0
  1029. package/core-dist/src/utils/gitUtils.js.map +1 -0
  1030. package/core-dist/src/utils/iconvHelper.d.ts +33 -0
  1031. package/core-dist/src/utils/iconvHelper.js +48 -0
  1032. package/core-dist/src/utils/iconvHelper.js.map +1 -0
  1033. package/core-dist/src/utils/ignorePatterns.d.ts +103 -0
  1034. package/core-dist/src/utils/ignorePatterns.js +222 -0
  1035. package/core-dist/src/utils/ignorePatterns.js.map +1 -0
  1036. package/core-dist/src/utils/ignorePatterns.test.d.ts +6 -0
  1037. package/core-dist/src/utils/ignorePatterns.test.js +255 -0
  1038. package/core-dist/src/utils/ignorePatterns.test.js.map +1 -0
  1039. package/core-dist/src/utils/installationManager.d.ts +16 -0
  1040. package/core-dist/src/utils/installationManager.js +52 -0
  1041. package/core-dist/src/utils/installationManager.js.map +1 -0
  1042. package/core-dist/src/utils/installationManager.test.d.ts +6 -0
  1043. package/core-dist/src/utils/installationManager.test.js +79 -0
  1044. package/core-dist/src/utils/installationManager.test.js.map +1 -0
  1045. package/core-dist/src/utils/jsonl-utils.d.ts +38 -0
  1046. package/core-dist/src/utils/jsonl-utils.js +176 -0
  1047. package/core-dist/src/utils/jsonl-utils.js.map +1 -0
  1048. package/core-dist/src/utils/language-detection.d.ts +6 -0
  1049. package/core-dist/src/utils/language-detection.js +101 -0
  1050. package/core-dist/src/utils/language-detection.js.map +1 -0
  1051. package/core-dist/src/utils/memoryDiscovery.d.ts +15 -0
  1052. package/core-dist/src/utils/memoryDiscovery.js +238 -0
  1053. package/core-dist/src/utils/memoryDiscovery.js.map +1 -0
  1054. package/core-dist/src/utils/memoryDiscovery.test.d.ts +6 -0
  1055. package/core-dist/src/utils/memoryDiscovery.test.js +212 -0
  1056. package/core-dist/src/utils/memoryDiscovery.test.js.map +1 -0
  1057. package/core-dist/src/utils/memoryImportProcessor.d.ts +41 -0
  1058. package/core-dist/src/utils/memoryImportProcessor.js +296 -0
  1059. package/core-dist/src/utils/memoryImportProcessor.js.map +1 -0
  1060. package/core-dist/src/utils/memoryImportProcessor.test.d.ts +6 -0
  1061. package/core-dist/src/utils/memoryImportProcessor.test.js +631 -0
  1062. package/core-dist/src/utils/memoryImportProcessor.test.js.map +1 -0
  1063. package/core-dist/src/utils/messageInspectors.d.ts +8 -0
  1064. package/core-dist/src/utils/messageInspectors.js +16 -0
  1065. package/core-dist/src/utils/messageInspectors.js.map +1 -0
  1066. package/core-dist/src/utils/nextSpeakerChecker.d.ts +12 -0
  1067. package/core-dist/src/utils/nextSpeakerChecker.js +99 -0
  1068. package/core-dist/src/utils/nextSpeakerChecker.js.map +1 -0
  1069. package/core-dist/src/utils/nextSpeakerChecker.test.d.ts +6 -0
  1070. package/core-dist/src/utils/nextSpeakerChecker.test.js +183 -0
  1071. package/core-dist/src/utils/nextSpeakerChecker.test.js.map +1 -0
  1072. package/core-dist/src/utils/openaiLogger.d.ts +42 -0
  1073. package/core-dist/src/utils/openaiLogger.js +140 -0
  1074. package/core-dist/src/utils/openaiLogger.js.map +1 -0
  1075. package/core-dist/src/utils/openaiLogger.test.d.ts +6 -0
  1076. package/core-dist/src/utils/openaiLogger.test.js +314 -0
  1077. package/core-dist/src/utils/openaiLogger.test.js.map +1 -0
  1078. package/core-dist/src/utils/partUtils.d.ts +35 -0
  1079. package/core-dist/src/utils/partUtils.js +133 -0
  1080. package/core-dist/src/utils/partUtils.js.map +1 -0
  1081. package/core-dist/src/utils/partUtils.test.d.ts +6 -0
  1082. package/core-dist/src/utils/partUtils.test.js +241 -0
  1083. package/core-dist/src/utils/partUtils.test.js.map +1 -0
  1084. package/core-dist/src/utils/pathReader.d.ts +17 -0
  1085. package/core-dist/src/utils/pathReader.js +92 -0
  1086. package/core-dist/src/utils/pathReader.js.map +1 -0
  1087. package/core-dist/src/utils/pathReader.test.d.ts +6 -0
  1088. package/core-dist/src/utils/pathReader.test.js +367 -0
  1089. package/core-dist/src/utils/pathReader.test.js.map +1 -0
  1090. package/core-dist/src/utils/paths.d.ts +110 -0
  1091. package/core-dist/src/utils/paths.js +269 -0
  1092. package/core-dist/src/utils/paths.js.map +1 -0
  1093. package/core-dist/src/utils/paths.test.d.ts +6 -0
  1094. package/core-dist/src/utils/paths.test.js +633 -0
  1095. package/core-dist/src/utils/paths.test.js.map +1 -0
  1096. package/core-dist/src/utils/projectSummary.d.ts +22 -0
  1097. package/core-dist/src/utils/projectSummary.js +86 -0
  1098. package/core-dist/src/utils/projectSummary.js.map +1 -0
  1099. package/core-dist/src/utils/promptIdContext.d.ts +7 -0
  1100. package/core-dist/src/utils/promptIdContext.js +8 -0
  1101. package/core-dist/src/utils/promptIdContext.js.map +1 -0
  1102. package/core-dist/src/utils/quotaErrorDetection.d.ts +19 -0
  1103. package/core-dist/src/utils/quotaErrorDetection.js +84 -0
  1104. package/core-dist/src/utils/quotaErrorDetection.js.map +1 -0
  1105. package/core-dist/src/utils/quotaErrorDetection.test.d.ts +6 -0
  1106. package/core-dist/src/utils/quotaErrorDetection.test.js +104 -0
  1107. package/core-dist/src/utils/quotaErrorDetection.test.js.map +1 -0
  1108. package/core-dist/src/utils/qwenIgnoreParser.d.ts +18 -0
  1109. package/core-dist/src/utils/qwenIgnoreParser.js +61 -0
  1110. package/core-dist/src/utils/qwenIgnoreParser.js.map +1 -0
  1111. package/core-dist/src/utils/qwenIgnoreParser.test.d.ts +6 -0
  1112. package/core-dist/src/utils/qwenIgnoreParser.test.js +50 -0
  1113. package/core-dist/src/utils/qwenIgnoreParser.test.js.map +1 -0
  1114. package/core-dist/src/utils/rateLimit.d.ts +23 -0
  1115. package/core-dist/src/utils/rateLimit.js +69 -0
  1116. package/core-dist/src/utils/rateLimit.js.map +1 -0
  1117. package/core-dist/src/utils/rateLimit.test.d.ts +6 -0
  1118. package/core-dist/src/utils/rateLimit.test.js +72 -0
  1119. package/core-dist/src/utils/rateLimit.test.js.map +1 -0
  1120. package/core-dist/src/utils/readManyFiles.d.ts +67 -0
  1121. package/core-dist/src/utils/readManyFiles.js +133 -0
  1122. package/core-dist/src/utils/readManyFiles.js.map +1 -0
  1123. package/core-dist/src/utils/readManyFiles.test.d.ts +6 -0
  1124. package/core-dist/src/utils/readManyFiles.test.js +230 -0
  1125. package/core-dist/src/utils/readManyFiles.test.js.map +1 -0
  1126. package/core-dist/src/utils/request-tokenizer/imageTokenizer.d.ts +112 -0
  1127. package/core-dist/src/utils/request-tokenizer/imageTokenizer.js +403 -0
  1128. package/core-dist/src/utils/request-tokenizer/imageTokenizer.js.map +1 -0
  1129. package/core-dist/src/utils/request-tokenizer/imageTokenizer.test.d.ts +6 -0
  1130. package/core-dist/src/utils/request-tokenizer/imageTokenizer.test.js +114 -0
  1131. package/core-dist/src/utils/request-tokenizer/imageTokenizer.test.js.map +1 -0
  1132. package/core-dist/src/utils/request-tokenizer/index.d.ts +9 -0
  1133. package/core-dist/src/utils/request-tokenizer/index.js +9 -0
  1134. package/core-dist/src/utils/request-tokenizer/index.js.map +1 -0
  1135. package/core-dist/src/utils/request-tokenizer/requestTokenizer.d.ts +52 -0
  1136. package/core-dist/src/utils/request-tokenizer/requestTokenizer.js +252 -0
  1137. package/core-dist/src/utils/request-tokenizer/requestTokenizer.js.map +1 -0
  1138. package/core-dist/src/utils/request-tokenizer/requestTokenizer.test.d.ts +6 -0
  1139. package/core-dist/src/utils/request-tokenizer/requestTokenizer.test.js +227 -0
  1140. package/core-dist/src/utils/request-tokenizer/requestTokenizer.test.js.map +1 -0
  1141. package/core-dist/src/utils/request-tokenizer/supportedImageFormats.d.ts +30 -0
  1142. package/core-dist/src/utils/request-tokenizer/supportedImageFormats.js +41 -0
  1143. package/core-dist/src/utils/request-tokenizer/supportedImageFormats.js.map +1 -0
  1144. package/core-dist/src/utils/request-tokenizer/textTokenizer.d.ts +32 -0
  1145. package/core-dist/src/utils/request-tokenizer/textTokenizer.js +54 -0
  1146. package/core-dist/src/utils/request-tokenizer/textTokenizer.js.map +1 -0
  1147. package/core-dist/src/utils/request-tokenizer/textTokenizer.test.d.ts +6 -0
  1148. package/core-dist/src/utils/request-tokenizer/textTokenizer.test.js +237 -0
  1149. package/core-dist/src/utils/request-tokenizer/textTokenizer.test.js.map +1 -0
  1150. package/core-dist/src/utils/request-tokenizer/types.d.ts +34 -0
  1151. package/core-dist/src/utils/request-tokenizer/types.js +7 -0
  1152. package/core-dist/src/utils/request-tokenizer/types.js.map +1 -0
  1153. package/core-dist/src/utils/retry.d.ts +38 -0
  1154. package/core-dist/src/utils/retry.js +180 -0
  1155. package/core-dist/src/utils/retry.js.map +1 -0
  1156. package/core-dist/src/utils/retry.test.d.ts +6 -0
  1157. package/core-dist/src/utils/retry.test.js +402 -0
  1158. package/core-dist/src/utils/retry.test.js.map +1 -0
  1159. package/core-dist/src/utils/ripgrepUtils.d.ts +61 -0
  1160. package/core-dist/src/utils/ripgrepUtils.js +227 -0
  1161. package/core-dist/src/utils/ripgrepUtils.js.map +1 -0
  1162. package/core-dist/src/utils/ripgrepUtils.test.d.ts +6 -0
  1163. package/core-dist/src/utils/ripgrepUtils.test.js +101 -0
  1164. package/core-dist/src/utils/ripgrepUtils.test.js.map +1 -0
  1165. package/core-dist/src/utils/runtimeFetchOptions.d.ts +44 -0
  1166. package/core-dist/src/utils/runtimeFetchOptions.js +92 -0
  1167. package/core-dist/src/utils/runtimeFetchOptions.js.map +1 -0
  1168. package/core-dist/src/utils/runtimeFetchOptions.test.d.ts +6 -0
  1169. package/core-dist/src/utils/runtimeFetchOptions.test.js +70 -0
  1170. package/core-dist/src/utils/runtimeFetchOptions.test.js.map +1 -0
  1171. package/core-dist/src/utils/safeJsonParse.d.ts +15 -0
  1172. package/core-dist/src/utils/safeJsonParse.js +43 -0
  1173. package/core-dist/src/utils/safeJsonParse.js.map +1 -0
  1174. package/core-dist/src/utils/safeJsonParse.test.d.ts +6 -0
  1175. package/core-dist/src/utils/safeJsonParse.test.js +112 -0
  1176. package/core-dist/src/utils/safeJsonParse.test.js.map +1 -0
  1177. package/core-dist/src/utils/safeJsonStringify.d.ts +13 -0
  1178. package/core-dist/src/utils/safeJsonStringify.js +25 -0
  1179. package/core-dist/src/utils/safeJsonStringify.js.map +1 -0
  1180. package/core-dist/src/utils/safeJsonStringify.test.d.ts +6 -0
  1181. package/core-dist/src/utils/safeJsonStringify.test.js +61 -0
  1182. package/core-dist/src/utils/safeJsonStringify.test.js.map +1 -0
  1183. package/core-dist/src/utils/schemaConverter.d.ts +15 -0
  1184. package/core-dist/src/utils/schemaConverter.js +109 -0
  1185. package/core-dist/src/utils/schemaConverter.js.map +1 -0
  1186. package/core-dist/src/utils/schemaConverter.test.d.ts +6 -0
  1187. package/core-dist/src/utils/schemaConverter.test.js +106 -0
  1188. package/core-dist/src/utils/schemaConverter.test.js.map +1 -0
  1189. package/core-dist/src/utils/schemaValidator.d.ts +16 -0
  1190. package/core-dist/src/utils/schemaValidator.js +123 -0
  1191. package/core-dist/src/utils/schemaValidator.js.map +1 -0
  1192. package/core-dist/src/utils/schemaValidator.test.d.ts +6 -0
  1193. package/core-dist/src/utils/schemaValidator.test.js +266 -0
  1194. package/core-dist/src/utils/schemaValidator.test.js.map +1 -0
  1195. package/core-dist/src/utils/secure-browser-launcher.d.ts +23 -0
  1196. package/core-dist/src/utils/secure-browser-launcher.js +165 -0
  1197. package/core-dist/src/utils/secure-browser-launcher.js.map +1 -0
  1198. package/core-dist/src/utils/secure-browser-launcher.test.d.ts +6 -0
  1199. package/core-dist/src/utils/secure-browser-launcher.test.js +149 -0
  1200. package/core-dist/src/utils/secure-browser-launcher.test.js.map +1 -0
  1201. package/core-dist/src/utils/shell-utils.d.ts +158 -0
  1202. package/core-dist/src/utils/shell-utils.js +739 -0
  1203. package/core-dist/src/utils/shell-utils.js.map +1 -0
  1204. package/core-dist/src/utils/shell-utils.test.d.ts +6 -0
  1205. package/core-dist/src/utils/shell-utils.test.js +466 -0
  1206. package/core-dist/src/utils/shell-utils.test.js.map +1 -0
  1207. package/core-dist/src/utils/shellReadOnlyChecker.d.ts +6 -0
  1208. package/core-dist/src/utils/shellReadOnlyChecker.js +290 -0
  1209. package/core-dist/src/utils/shellReadOnlyChecker.js.map +1 -0
  1210. package/core-dist/src/utils/shellReadOnlyChecker.test.d.ts +6 -0
  1211. package/core-dist/src/utils/shellReadOnlyChecker.test.js +157 -0
  1212. package/core-dist/src/utils/shellReadOnlyChecker.test.js.map +1 -0
  1213. package/core-dist/src/utils/subagentGenerator.d.ts +20 -0
  1214. package/core-dist/src/utils/subagentGenerator.js +120 -0
  1215. package/core-dist/src/utils/subagentGenerator.js.map +1 -0
  1216. package/core-dist/src/utils/subagentGenerator.test.d.ts +6 -0
  1217. package/core-dist/src/utils/subagentGenerator.test.js +135 -0
  1218. package/core-dist/src/utils/subagentGenerator.test.js.map +1 -0
  1219. package/core-dist/src/utils/summarizer.d.ts +25 -0
  1220. package/core-dist/src/utils/summarizer.js +53 -0
  1221. package/core-dist/src/utils/summarizer.js.map +1 -0
  1222. package/core-dist/src/utils/summarizer.test.d.ts +6 -0
  1223. package/core-dist/src/utils/summarizer.test.js +128 -0
  1224. package/core-dist/src/utils/summarizer.test.js.map +1 -0
  1225. package/core-dist/src/utils/symlink.d.ts +26 -0
  1226. package/core-dist/src/utils/symlink.js +43 -0
  1227. package/core-dist/src/utils/symlink.js.map +1 -0
  1228. package/core-dist/src/utils/systemEncoding.d.ts +40 -0
  1229. package/core-dist/src/utils/systemEncoding.js +160 -0
  1230. package/core-dist/src/utils/systemEncoding.js.map +1 -0
  1231. package/core-dist/src/utils/systemEncoding.test.d.ts +6 -0
  1232. package/core-dist/src/utils/systemEncoding.test.js +367 -0
  1233. package/core-dist/src/utils/systemEncoding.test.js.map +1 -0
  1234. package/core-dist/src/utils/terminalSerializer.d.ts +25 -0
  1235. package/core-dist/src/utils/terminalSerializer.js +432 -0
  1236. package/core-dist/src/utils/terminalSerializer.js.map +1 -0
  1237. package/core-dist/src/utils/terminalSerializer.test.d.ts +6 -0
  1238. package/core-dist/src/utils/terminalSerializer.test.js +176 -0
  1239. package/core-dist/src/utils/terminalSerializer.test.js.map +1 -0
  1240. package/core-dist/src/utils/testUtils.d.ts +29 -0
  1241. package/core-dist/src/utils/testUtils.js +70 -0
  1242. package/core-dist/src/utils/testUtils.js.map +1 -0
  1243. package/core-dist/src/utils/textUtils.d.ts +29 -0
  1244. package/core-dist/src/utils/textUtils.js +59 -0
  1245. package/core-dist/src/utils/textUtils.js.map +1 -0
  1246. package/core-dist/src/utils/textUtils.test.d.ts +6 -0
  1247. package/core-dist/src/utils/textUtils.test.js +91 -0
  1248. package/core-dist/src/utils/textUtils.test.js.map +1 -0
  1249. package/core-dist/src/utils/thoughtUtils.d.ts +23 -0
  1250. package/core-dist/src/utils/thoughtUtils.js +53 -0
  1251. package/core-dist/src/utils/thoughtUtils.js.map +1 -0
  1252. package/core-dist/src/utils/thoughtUtils.test.d.ts +6 -0
  1253. package/core-dist/src/utils/thoughtUtils.test.js +78 -0
  1254. package/core-dist/src/utils/thoughtUtils.test.js.map +1 -0
  1255. package/core-dist/src/utils/toml-to-markdown-converter.d.ts +22 -0
  1256. package/core-dist/src/utils/toml-to-markdown-converter.js +61 -0
  1257. package/core-dist/src/utils/toml-to-markdown-converter.js.map +1 -0
  1258. package/core-dist/src/utils/toml-to-markdown-converter.test.d.ts +6 -0
  1259. package/core-dist/src/utils/toml-to-markdown-converter.test.js +73 -0
  1260. package/core-dist/src/utils/toml-to-markdown-converter.test.js.map +1 -0
  1261. package/core-dist/src/utils/tool-utils.d.ts +22 -0
  1262. package/core-dist/src/utils/tool-utils.js +121 -0
  1263. package/core-dist/src/utils/tool-utils.js.map +1 -0
  1264. package/core-dist/src/utils/tool-utils.test.d.ts +6 -0
  1265. package/core-dist/src/utils/tool-utils.test.js +100 -0
  1266. package/core-dist/src/utils/tool-utils.test.js.map +1 -0
  1267. package/core-dist/src/utils/workspaceContext.d.ts +66 -0
  1268. package/core-dist/src/utils/workspaceContext.js +173 -0
  1269. package/core-dist/src/utils/workspaceContext.js.map +1 -0
  1270. package/core-dist/src/utils/workspaceContext.test.d.ts +6 -0
  1271. package/core-dist/src/utils/workspaceContext.test.js +313 -0
  1272. package/core-dist/src/utils/workspaceContext.test.js.map +1 -0
  1273. package/core-dist/src/utils/yaml-parser.d.ts +29 -0
  1274. package/core-dist/src/utils/yaml-parser.js +172 -0
  1275. package/core-dist/src/utils/yaml-parser.js.map +1 -0
  1276. package/core-dist/src/utils/yaml-parser.test.d.ts +6 -0
  1277. package/core-dist/src/utils/yaml-parser.test.js +170 -0
  1278. package/core-dist/src/utils/yaml-parser.test.js.map +1 -0
  1279. package/core-dist/tsconfig.tsbuildinfo +1 -0
  1280. package/package.json +3 -1
  1281. package/scripts/postinstall.cjs +102 -203
@@ -0,0 +1,677 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Qwen
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import crypto from 'crypto';
7
+ import path from 'node:path';
8
+ import { promises as fs } from 'node:fs';
9
+ import * as os from 'os';
10
+ import open from 'open';
11
+ import { EventEmitter } from 'events';
12
+ import { randomUUID } from 'node:crypto';
13
+ import { formatFetchErrorForUser } from '../utils/fetch.js';
14
+ import { createDebugLogger } from '../utils/debugLogger.js';
15
+ import { SharedTokenManager, TokenManagerError, TokenError, } from './sharedTokenManager.js';
16
+ const debugLogger = createDebugLogger('QWEN_OAUTH');
17
+ // OAuth Endpoints
18
+ const QWEN_OAUTH_BASE_URL = 'https://chat.qwen.ai';
19
+ const QWEN_OAUTH_DEVICE_CODE_ENDPOINT = `${QWEN_OAUTH_BASE_URL}/api/v1/oauth2/device/code`;
20
+ const QWEN_OAUTH_TOKEN_ENDPOINT = `${QWEN_OAUTH_BASE_URL}/api/v1/oauth2/token`;
21
+ // OAuth Client Configuration
22
+ const QWEN_OAUTH_CLIENT_ID = 'f0304373b74a44d2b584a3fb70ca9e56';
23
+ const QWEN_OAUTH_SCOPE = 'openid profile email model.completion';
24
+ const QWEN_OAUTH_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:device_code';
25
+ // File System Configuration
26
+ const QWEN_DIR = '.qwen';
27
+ const QWEN_CREDENTIAL_FILENAME = 'oauth_creds.json';
28
+ /**
29
+ * PKCE (Proof Key for Code Exchange) utilities
30
+ * Implements RFC 7636 - Proof Key for Code Exchange by OAuth Public Clients
31
+ */
32
+ /**
33
+ * Generate a random code verifier for PKCE
34
+ * @returns A random string of 43-128 characters
35
+ */
36
+ export function generateCodeVerifier() {
37
+ return crypto.randomBytes(32).toString('base64url');
38
+ }
39
+ /**
40
+ * Generate a code challenge from a code verifier using SHA-256
41
+ * @param codeVerifier The code verifier string
42
+ * @returns The code challenge string
43
+ */
44
+ export function generateCodeChallenge(codeVerifier) {
45
+ const hash = crypto.createHash('sha256');
46
+ hash.update(codeVerifier);
47
+ return hash.digest('base64url');
48
+ }
49
+ /**
50
+ * Generate PKCE code verifier and challenge pair
51
+ * @returns Object containing code_verifier and code_challenge
52
+ */
53
+ export function generatePKCEPair() {
54
+ const codeVerifier = generateCodeVerifier();
55
+ const codeChallenge = generateCodeChallenge(codeVerifier);
56
+ return { code_verifier: codeVerifier, code_challenge: codeChallenge };
57
+ }
58
+ /**
59
+ * Convert object to URL-encoded form data
60
+ * @param data The object to convert
61
+ * @returns URL-encoded string
62
+ */
63
+ function objectToUrlEncoded(data) {
64
+ return Object.keys(data)
65
+ .map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`)
66
+ .join('&');
67
+ }
68
+ /**
69
+ * Custom error class to indicate that credentials should be cleared
70
+ * This is thrown when a 400 error occurs during token refresh, indicating
71
+ * that the refresh token is expired or invalid
72
+ */
73
+ export class CredentialsClearRequiredError extends Error {
74
+ originalError;
75
+ constructor(message, originalError) {
76
+ super(message);
77
+ this.originalError = originalError;
78
+ this.name = 'CredentialsClearRequiredError';
79
+ }
80
+ }
81
+ /**
82
+ * Type guard to check if device authorization was successful
83
+ */
84
+ export function isDeviceAuthorizationSuccess(response) {
85
+ return 'device_code' in response;
86
+ }
87
+ /**
88
+ * Type guard to check if device token response was successful
89
+ */
90
+ export function isDeviceTokenSuccess(response) {
91
+ return ('access_token' in response &&
92
+ response.access_token !== null &&
93
+ response.access_token !== undefined &&
94
+ typeof response.access_token === 'string' &&
95
+ response.access_token.length > 0);
96
+ }
97
+ /**
98
+ * Type guard to check if device token response is pending
99
+ */
100
+ export function isDeviceTokenPending(response) {
101
+ return ('status' in response &&
102
+ response.status === 'pending');
103
+ }
104
+ /**
105
+ * Type guard to check if response is an error
106
+ */
107
+ export function isErrorResponse(response) {
108
+ return 'error' in response;
109
+ }
110
+ /**
111
+ * Qwen OAuth2 client implementation
112
+ */
113
+ export class QwenOAuth2Client {
114
+ credentials = {};
115
+ sharedManager;
116
+ constructor() {
117
+ this.sharedManager = SharedTokenManager.getInstance();
118
+ }
119
+ setCredentials(credentials) {
120
+ this.credentials = credentials;
121
+ }
122
+ getCredentials() {
123
+ return this.credentials;
124
+ }
125
+ async getAccessToken() {
126
+ try {
127
+ // Always use shared manager for consistency - this prevents race conditions
128
+ // between local credential state and shared state
129
+ const credentials = await this.sharedManager.getValidCredentials(this);
130
+ return { token: credentials.access_token };
131
+ }
132
+ catch (error) {
133
+ debugLogger.warn('Failed to get access token from shared manager:', error);
134
+ // Don't use fallback to local credentials to prevent race conditions
135
+ // All token management should go through SharedTokenManager for consistency
136
+ // This ensures single source of truth and prevents cross-session issues
137
+ return { token: undefined };
138
+ }
139
+ }
140
+ async requestDeviceAuthorization(options) {
141
+ const bodyData = {
142
+ client_id: QWEN_OAUTH_CLIENT_ID,
143
+ scope: options.scope,
144
+ code_challenge: options.code_challenge,
145
+ code_challenge_method: options.code_challenge_method,
146
+ };
147
+ const response = await fetch(QWEN_OAUTH_DEVICE_CODE_ENDPOINT, {
148
+ method: 'POST',
149
+ headers: {
150
+ 'Content-Type': 'application/x-www-form-urlencoded',
151
+ Accept: 'application/json',
152
+ 'x-request-id': randomUUID(),
153
+ },
154
+ body: objectToUrlEncoded(bodyData),
155
+ });
156
+ if (!response.ok) {
157
+ const errorData = await response.text();
158
+ throw new Error(`Device authorization failed: ${response.status} ${response.statusText}. Response: ${errorData}`);
159
+ }
160
+ const result = (await response.json());
161
+ debugLogger.debug('Device authorization result:', result);
162
+ // Check if the response indicates success
163
+ if (!isDeviceAuthorizationSuccess(result)) {
164
+ const errorData = result;
165
+ throw new Error(`Device authorization failed: ${errorData?.error || 'Unknown error'} - ${errorData?.error_description || 'No details provided'}`);
166
+ }
167
+ return result;
168
+ }
169
+ async pollDeviceToken(options) {
170
+ const bodyData = {
171
+ grant_type: QWEN_OAUTH_GRANT_TYPE,
172
+ client_id: QWEN_OAUTH_CLIENT_ID,
173
+ device_code: options.device_code,
174
+ code_verifier: options.code_verifier,
175
+ };
176
+ const response = await fetch(QWEN_OAUTH_TOKEN_ENDPOINT, {
177
+ method: 'POST',
178
+ headers: {
179
+ 'Content-Type': 'application/x-www-form-urlencoded',
180
+ Accept: 'application/json',
181
+ },
182
+ body: objectToUrlEncoded(bodyData),
183
+ });
184
+ if (!response.ok) {
185
+ // Read response body as text first (can only be read once)
186
+ const responseText = await response.text();
187
+ // Try to parse as JSON to check for OAuth RFC 8628 standard errors
188
+ let errorData = null;
189
+ try {
190
+ errorData = JSON.parse(responseText);
191
+ }
192
+ catch (_parseError) {
193
+ // If JSON parsing fails, use text response
194
+ const error = new Error(`Device token poll failed: ${response.status} ${response.statusText}. Response: ${responseText}`);
195
+ error.status = response.status;
196
+ throw error;
197
+ }
198
+ // According to OAuth RFC 8628, handle standard polling responses
199
+ if (response.status === 400 &&
200
+ errorData.error === 'authorization_pending') {
201
+ // User has not yet approved the authorization request. Continue polling.
202
+ return { status: 'pending' };
203
+ }
204
+ if (response.status === 429 && errorData.error === 'slow_down') {
205
+ // Client is polling too frequently. Return pending with slowDown flag.
206
+ return {
207
+ status: 'pending',
208
+ slowDown: true,
209
+ };
210
+ }
211
+ // Handle other 400 errors (access_denied, expired_token, etc.) as real errors
212
+ // For other errors, throw with proper error information
213
+ const error = new Error(`Device token poll failed: ${errorData.error || 'Unknown error'} - ${errorData.error_description}`);
214
+ error.status = response.status;
215
+ throw error;
216
+ }
217
+ return (await response.json());
218
+ }
219
+ async refreshAccessToken() {
220
+ if (!this.credentials.refresh_token) {
221
+ throw new Error('No refresh token available');
222
+ }
223
+ const bodyData = {
224
+ grant_type: 'refresh_token',
225
+ refresh_token: this.credentials.refresh_token,
226
+ client_id: QWEN_OAUTH_CLIENT_ID,
227
+ };
228
+ const response = await fetch(QWEN_OAUTH_TOKEN_ENDPOINT, {
229
+ method: 'POST',
230
+ headers: {
231
+ 'Content-Type': 'application/x-www-form-urlencoded',
232
+ Accept: 'application/json',
233
+ },
234
+ body: objectToUrlEncoded(bodyData),
235
+ });
236
+ if (!response.ok) {
237
+ const errorData = await response.text();
238
+ // Handle 400 errors which might indicate refresh token expiry
239
+ if (response.status === 400) {
240
+ await clearQwenCredentials();
241
+ throw new CredentialsClearRequiredError("Refresh token expired or invalid. Please use '/auth' to re-authenticate.", { status: response.status, response: errorData });
242
+ }
243
+ throw new Error(`Token refresh failed: ${response.status} ${response.statusText}. Response: ${errorData}`);
244
+ }
245
+ const responseData = (await response.json());
246
+ // Check if the response indicates success
247
+ if (isErrorResponse(responseData)) {
248
+ const errorData = responseData;
249
+ throw new Error(`Token refresh failed: ${errorData?.error || 'Unknown error'} - ${errorData?.error_description || 'No details provided'}`);
250
+ }
251
+ // Handle successful response
252
+ const tokenData = responseData;
253
+ const tokens = {
254
+ access_token: tokenData.access_token,
255
+ token_type: tokenData.token_type,
256
+ // Use new refresh token if provided, otherwise preserve existing one
257
+ refresh_token: tokenData.refresh_token || this.credentials.refresh_token,
258
+ resource_url: tokenData.resource_url, // Include resource_url if provided
259
+ expiry_date: Date.now() + tokenData.expires_in * 1000,
260
+ };
261
+ this.setCredentials(tokens);
262
+ // Note: File caching is now handled by SharedTokenManager
263
+ // to prevent cross-session token invalidation issues
264
+ return responseData;
265
+ }
266
+ }
267
+ export var QwenOAuth2Event;
268
+ (function (QwenOAuth2Event) {
269
+ QwenOAuth2Event["AuthUri"] = "auth-uri";
270
+ QwenOAuth2Event["AuthProgress"] = "auth-progress";
271
+ QwenOAuth2Event["AuthCancel"] = "auth-cancel";
272
+ })(QwenOAuth2Event || (QwenOAuth2Event = {}));
273
+ /**
274
+ * Global event emitter instance for QwenOAuth2 authentication events
275
+ */
276
+ export const qwenOAuth2Events = new EventEmitter();
277
+ export async function getQwenOAuthClient(config, options) {
278
+ const client = new QwenOAuth2Client();
279
+ // Use shared token manager to get valid credentials with cross-session synchronization
280
+ const sharedManager = SharedTokenManager.getInstance();
281
+ try {
282
+ // Try to get valid credentials from shared cache first
283
+ const credentials = await sharedManager.getValidCredentials(client);
284
+ client.setCredentials(credentials);
285
+ return client;
286
+ }
287
+ catch (error) {
288
+ // Handle specific token manager errors
289
+ if (error instanceof TokenManagerError) {
290
+ switch (error.type) {
291
+ case TokenError.NO_REFRESH_TOKEN:
292
+ debugLogger.debug('No refresh token available, proceeding with device flow');
293
+ break;
294
+ case TokenError.REFRESH_FAILED:
295
+ debugLogger.debug('Token refresh failed, proceeding with device flow');
296
+ break;
297
+ case TokenError.NETWORK_ERROR:
298
+ debugLogger.warn('Network error during token refresh, trying device flow');
299
+ break;
300
+ default:
301
+ debugLogger.warn('Token manager error:', error.message);
302
+ }
303
+ }
304
+ if (options?.requireCachedCredentials) {
305
+ throw new Error('Qwen OAuth credentials expired. Please use /auth to re-authenticate with qwen-oauth.');
306
+ }
307
+ // If we couldn't obtain valid credentials via SharedTokenManager, fall back to
308
+ // interactive device authorization (unless explicitly forbidden above).
309
+ const result = await authWithQwenDeviceFlow(client, config);
310
+ if (!result.success) {
311
+ // Only emit timeout event if the failure reason is actually timeout
312
+ // Other error types (401, 429, etc.) have already emitted their specific events
313
+ if (result.reason === 'timeout') {
314
+ qwenOAuth2Events.emit(QwenOAuth2Event.AuthProgress, 'timeout', 'Authentication timed out. Please try again or select a different authentication method.');
315
+ }
316
+ // Use detailed error message if available, otherwise use default based on reason
317
+ const errorMessage = result.message ||
318
+ (() => {
319
+ switch (result.reason) {
320
+ case 'timeout':
321
+ return 'Qwen OAuth authentication timed out';
322
+ case 'cancelled':
323
+ return 'Qwen OAuth authentication was cancelled by user';
324
+ case 'rate_limit':
325
+ return 'Too many request for Qwen OAuth authentication, please try again later.';
326
+ case 'error':
327
+ default:
328
+ return 'Qwen OAuth authentication failed';
329
+ }
330
+ })();
331
+ throw new Error(errorMessage);
332
+ }
333
+ return client;
334
+ }
335
+ }
336
+ /**
337
+ * Displays a formatted box with OAuth device authorization URL.
338
+ * Uses process.stderr.write() to ensure the auth URL is always visible to users,
339
+ * especially in non-interactive mode. Using stderr prevents corruption of
340
+ * structured JSON output (which goes to stdout) and follows the standard Unix
341
+ * convention of user-facing messages to stderr.
342
+ */
343
+ function showFallbackMessage(verificationUriComplete) {
344
+ const title = 'Qwen OAuth Device Authorization';
345
+ const url = verificationUriComplete;
346
+ const minWidth = 70;
347
+ const maxWidth = 80;
348
+ const boxWidth = Math.min(Math.max(title.length + 4, minWidth), maxWidth);
349
+ // Calculate the width needed for the box (account for padding)
350
+ const contentWidth = boxWidth - 4; // Subtract 2 spaces and 2 border chars
351
+ // Helper to wrap text to fit within box width
352
+ const wrapText = (text, width) => {
353
+ // For URLs, break at any character if too long
354
+ if (text.startsWith('http://') || text.startsWith('https://')) {
355
+ const lines = [];
356
+ for (let i = 0; i < text.length; i += width) {
357
+ lines.push(text.substring(i, i + width));
358
+ }
359
+ return lines;
360
+ }
361
+ // For regular text, break at word boundaries
362
+ const words = text.split(' ');
363
+ const lines = [];
364
+ let currentLine = '';
365
+ for (const word of words) {
366
+ if (currentLine.length + word.length + 1 <= width) {
367
+ currentLine += (currentLine ? ' ' : '') + word;
368
+ }
369
+ else {
370
+ if (currentLine) {
371
+ lines.push(currentLine);
372
+ }
373
+ currentLine = word.length > width ? word.substring(0, width) : word;
374
+ }
375
+ }
376
+ if (currentLine) {
377
+ lines.push(currentLine);
378
+ }
379
+ return lines;
380
+ };
381
+ // Build the box borders with title centered in top border
382
+ // Format: +--- Title ---+
383
+ const titleWithSpaces = ' ' + title + ' ';
384
+ const totalDashes = boxWidth - 2 - titleWithSpaces.length; // Subtract corners and title
385
+ const leftDashes = Math.floor(totalDashes / 2);
386
+ const rightDashes = totalDashes - leftDashes;
387
+ const topBorder = '+' +
388
+ '-'.repeat(leftDashes) +
389
+ titleWithSpaces +
390
+ '-'.repeat(rightDashes) +
391
+ '+';
392
+ const emptyLine = '|' + ' '.repeat(boxWidth - 2) + '|';
393
+ const bottomBorder = '+' + '-'.repeat(boxWidth - 2) + '+';
394
+ // Build content lines
395
+ const instructionLines = wrapText('Please visit the following URL in your browser to authorize:', contentWidth);
396
+ const urlLines = wrapText(url, contentWidth);
397
+ const waitingLine = 'Waiting for authorization to complete...';
398
+ // Write the box
399
+ process.stderr.write('\n' + topBorder + '\n');
400
+ process.stderr.write(emptyLine + '\n');
401
+ // Write instructions
402
+ for (const line of instructionLines) {
403
+ process.stderr.write('| ' + line + ' '.repeat(contentWidth - line.length) + ' |\n');
404
+ }
405
+ process.stderr.write(emptyLine + '\n');
406
+ // Write URL
407
+ for (const line of urlLines) {
408
+ process.stderr.write('| ' + line + ' '.repeat(contentWidth - line.length) + ' |\n');
409
+ }
410
+ process.stderr.write(emptyLine + '\n');
411
+ // Write waiting message
412
+ process.stderr.write('| ' + waitingLine + ' '.repeat(contentWidth - waitingLine.length) + ' |\n');
413
+ process.stderr.write(emptyLine + '\n');
414
+ process.stderr.write(bottomBorder + '\n\n');
415
+ }
416
+ async function authWithQwenDeviceFlow(client, config) {
417
+ let isCancelled = false;
418
+ // Set up cancellation listener
419
+ const cancelHandler = () => {
420
+ isCancelled = true;
421
+ };
422
+ qwenOAuth2Events.once(QwenOAuth2Event.AuthCancel, cancelHandler);
423
+ // Helper to check cancellation and return appropriate result
424
+ const checkCancellation = () => {
425
+ if (!isCancelled) {
426
+ return null;
427
+ }
428
+ const message = 'Authentication cancelled by user.';
429
+ debugLogger.debug('\n' + message);
430
+ qwenOAuth2Events.emit(QwenOAuth2Event.AuthProgress, 'error', message);
431
+ return { success: false, reason: 'cancelled', message };
432
+ };
433
+ // Helper to emit auth progress events
434
+ const emitAuthProgress = (status, message) => {
435
+ qwenOAuth2Events.emit(QwenOAuth2Event.AuthProgress, status, message);
436
+ };
437
+ // Helper to handle browser launch with error handling
438
+ const launchBrowser = async (url) => {
439
+ try {
440
+ const childProcess = await open(url);
441
+ // IMPORTANT: Attach an error handler to the returned child process.
442
+ // Without this, if `open` fails to spawn a process (e.g., `xdg-open` is not found
443
+ // in a minimal Docker container), it will emit an unhandled 'error' event,
444
+ // causing the entire Node.js process to crash.
445
+ if (childProcess) {
446
+ childProcess.on('error', (err) => {
447
+ debugLogger.debug('Browser launch failed:', err.message || err);
448
+ });
449
+ }
450
+ }
451
+ catch (err) {
452
+ debugLogger.debug('Failed to open browser:', err instanceof Error ? err.message : 'Unknown error');
453
+ }
454
+ };
455
+ try {
456
+ // Generate PKCE code verifier and challenge
457
+ const { code_verifier, code_challenge } = generatePKCEPair();
458
+ // Request device authorization
459
+ const deviceAuth = await client.requestDeviceAuthorization({
460
+ scope: QWEN_OAUTH_SCOPE,
461
+ code_challenge,
462
+ code_challenge_method: 'S256',
463
+ });
464
+ // Ensure we have a successful authorization response
465
+ if (!isDeviceAuthorizationSuccess(deviceAuth)) {
466
+ const errorData = deviceAuth;
467
+ throw new Error(`Device authorization failed: ${errorData?.error || 'Unknown error'} - ${errorData?.error_description || 'No details provided'}`);
468
+ }
469
+ // Emit device authorization event for UI integration immediately
470
+ qwenOAuth2Events.emit(QwenOAuth2Event.AuthUri, deviceAuth);
471
+ if (config.isBrowserLaunchSuppressed() || !config.isInteractive()) {
472
+ showFallbackMessage(deviceAuth.verification_uri_complete);
473
+ }
474
+ // Try to open browser if not suppressed
475
+ if (!config.isBrowserLaunchSuppressed()) {
476
+ await launchBrowser(deviceAuth.verification_uri_complete);
477
+ }
478
+ emitAuthProgress('polling', 'Waiting for authorization...');
479
+ debugLogger.debug('Waiting for authorization...\n');
480
+ // Poll for the token
481
+ let pollInterval = 2000; // 2 seconds, can be increased if slow_down is received
482
+ const maxAttempts = Math.ceil(deviceAuth.expires_in / (pollInterval / 1000));
483
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
484
+ // Check if authentication was cancelled
485
+ const cancellationResult = checkCancellation();
486
+ if (cancellationResult) {
487
+ return cancellationResult;
488
+ }
489
+ try {
490
+ debugLogger.debug('polling for token...');
491
+ const tokenResponse = await client.pollDeviceToken({
492
+ device_code: deviceAuth.device_code,
493
+ code_verifier,
494
+ });
495
+ // Check if the response is successful and contains token data
496
+ if (isDeviceTokenSuccess(tokenResponse)) {
497
+ const tokenData = tokenResponse;
498
+ // Convert to QwenCredentials format
499
+ const credentials = {
500
+ access_token: tokenData.access_token, // Safe to assert as non-null due to isDeviceTokenSuccess check
501
+ refresh_token: tokenData.refresh_token || undefined,
502
+ token_type: tokenData.token_type,
503
+ resource_url: tokenData.resource_url,
504
+ expiry_date: tokenData.expires_in
505
+ ? Date.now() + tokenData.expires_in * 1000
506
+ : undefined,
507
+ };
508
+ client.setCredentials(credentials);
509
+ // Cache the new tokens
510
+ await cacheQwenCredentials(credentials);
511
+ // IMPORTANT:
512
+ // SharedTokenManager maintains an in-memory cache and throttles file checks.
513
+ // If we only write the creds file here, a subsequent `getQwenOAuthClient()`
514
+ // call in the same process (within the throttle window) may not re-read the
515
+ // updated file and could incorrectly re-trigger device auth.
516
+ // Clearing the cache forces the next call to reload from disk.
517
+ try {
518
+ SharedTokenManager.getInstance().clearCache();
519
+ }
520
+ catch {
521
+ // In unit tests we sometimes mock SharedTokenManager.getInstance() with a
522
+ // minimal stub; cache invalidation is best-effort and should not break auth.
523
+ }
524
+ emitAuthProgress('success', 'Authentication successful! Access token obtained.');
525
+ debugLogger.debug('Authentication successful! Access token obtained.');
526
+ return { success: true };
527
+ }
528
+ // Check if the response is pending
529
+ if (isDeviceTokenPending(tokenResponse)) {
530
+ const pendingData = tokenResponse;
531
+ // Handle slow_down error by increasing poll interval
532
+ if (pendingData.slowDown) {
533
+ pollInterval = Math.min(pollInterval * 1.5, 10000); // Increase by 50%, max 10 seconds
534
+ debugLogger.debug(`\nServer requested to slow down, increasing poll interval to ${pollInterval}ms'`);
535
+ }
536
+ else {
537
+ pollInterval = 2000; // Reset to default interval
538
+ }
539
+ emitAuthProgress('polling', `Polling... (attempt ${attempt + 1}/${maxAttempts})`);
540
+ // Wait with cancellation check every 100ms
541
+ await new Promise((resolve) => {
542
+ const checkInterval = 100; // Check every 100ms
543
+ let elapsedTime = 0;
544
+ const intervalId = setInterval(() => {
545
+ elapsedTime += checkInterval;
546
+ // Check for cancellation during wait
547
+ if (isCancelled) {
548
+ clearInterval(intervalId);
549
+ resolve();
550
+ return;
551
+ }
552
+ // Complete wait when interval is reached
553
+ if (elapsedTime >= pollInterval) {
554
+ clearInterval(intervalId);
555
+ resolve();
556
+ return;
557
+ }
558
+ }, checkInterval);
559
+ });
560
+ // Check for cancellation after waiting
561
+ const cancellationResult = checkCancellation();
562
+ if (cancellationResult) {
563
+ return cancellationResult;
564
+ }
565
+ continue;
566
+ }
567
+ // Handle error response
568
+ if (isErrorResponse(tokenResponse)) {
569
+ const errorData = tokenResponse;
570
+ throw new Error(`Token polling failed: ${errorData?.error || 'Unknown error'} - ${errorData?.error_description || 'No details provided'}`);
571
+ }
572
+ }
573
+ catch (error) {
574
+ // Extract error information
575
+ const errorMessage = error instanceof Error ? error.message : String(error);
576
+ const statusCode = error instanceof Error
577
+ ? error.status
578
+ : null;
579
+ // Helper function to handle error and stop polling
580
+ const handleError = (reason, message, eventType = 'error') => {
581
+ emitAuthProgress(eventType, message);
582
+ return { success: false, reason, message };
583
+ };
584
+ // Check for cancellation first
585
+ const cancellationResult = checkCancellation();
586
+ if (cancellationResult) {
587
+ return cancellationResult;
588
+ }
589
+ // Handle credential caching failures - stop polling immediately
590
+ if (errorMessage.includes('Failed to cache credentials')) {
591
+ return handleError('error', errorMessage);
592
+ }
593
+ // Handle 401 Unauthorized - device code expired or invalid
594
+ if (errorMessage.includes('401') || statusCode === 401) {
595
+ return handleError('error', 'Device code expired or invalid, please restart the authorization process.');
596
+ }
597
+ // Handle 429 Too Many Requests - rate limiting
598
+ if (errorMessage.includes('429') || statusCode === 429) {
599
+ return handleError('rate_limit', 'Too many requests. The server is rate limiting our requests. Please select a different authentication method or try again later.', 'rate_limit');
600
+ }
601
+ const message = `Error polling for token: ${errorMessage}`;
602
+ emitAuthProgress('error', message);
603
+ await new Promise((resolve) => setTimeout(resolve, pollInterval));
604
+ }
605
+ }
606
+ const timeoutMessage = 'Authorization timeout, please restart the process.';
607
+ emitAuthProgress('timeout', timeoutMessage);
608
+ return { success: false, reason: 'timeout', message: timeoutMessage };
609
+ }
610
+ catch (error) {
611
+ const fullErrorMessage = formatFetchErrorForUser(error, {
612
+ url: QWEN_OAUTH_BASE_URL,
613
+ });
614
+ const message = `Device authorization flow failed: ${fullErrorMessage}`;
615
+ emitAuthProgress('error', message);
616
+ return { success: false, reason: 'error', message };
617
+ }
618
+ finally {
619
+ // Clean up event listener
620
+ qwenOAuth2Events.off(QwenOAuth2Event.AuthCancel, cancelHandler);
621
+ }
622
+ }
623
+ async function cacheQwenCredentials(credentials) {
624
+ const filePath = getQwenCachedCredentialPath();
625
+ try {
626
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
627
+ const credString = JSON.stringify(credentials, null, 2);
628
+ await fs.writeFile(filePath, credString);
629
+ }
630
+ catch (error) {
631
+ // Handle file system errors (e.g., EACCES permission denied)
632
+ const errorMessage = error instanceof Error ? error.message : String(error);
633
+ const errorCode = error instanceof Error && 'code' in error
634
+ ? error.code
635
+ : undefined;
636
+ if (errorCode === 'EACCES') {
637
+ throw new Error(`Failed to cache credentials: Permission denied (EACCES). Current user has no permission to access \`${filePath}\`. Please check permissions.`);
638
+ }
639
+ // Throw error for other file system failures
640
+ throw new Error(`Failed to cache credentials: error when creating folder \`${path.dirname(filePath)}\` and writing to \`${filePath}\`. ${errorMessage}. Please check permissions.`);
641
+ }
642
+ }
643
+ /**
644
+ * Clear cached Qwen credentials from disk
645
+ * This is useful when credentials have expired or need to be reset
646
+ */
647
+ export async function clearQwenCredentials() {
648
+ try {
649
+ const filePath = getQwenCachedCredentialPath();
650
+ await fs.unlink(filePath);
651
+ debugLogger.debug('Cached Qwen credentials cleared successfully.');
652
+ }
653
+ catch (error) {
654
+ // If file doesn't exist or can't be deleted, we consider it cleared
655
+ if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
656
+ // File doesn't exist, already cleared
657
+ return;
658
+ }
659
+ // Log other errors but don't throw - clearing credentials should be non-critical
660
+ debugLogger.warn('Warning: Failed to clear cached Qwen credentials:', error);
661
+ }
662
+ finally {
663
+ // Also clear SharedTokenManager in-memory cache to prevent stale credentials
664
+ // from being reused within the same process after the file is removed.
665
+ try {
666
+ SharedTokenManager.getInstance().clearCache();
667
+ }
668
+ catch {
669
+ // Best-effort; don't fail credential clearing if SharedTokenManager is mocked.
670
+ }
671
+ }
672
+ }
673
+ function getQwenCachedCredentialPath() {
674
+ return path.join(os.homedir(), QWEN_DIR, QWEN_CREDENTIAL_FILENAME);
675
+ }
676
+ export const clearCachedCredentialFile = clearQwenCredentials;
677
+ //# sourceMappingURL=qwenOAuth2.js.map