@qodo/sdk 0.13.4 → 2.0.0-next.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 (764) hide show
  1. package/LICENSE +31 -118
  2. package/README.md +133 -121
  3. package/bin/qodo-skills.mjs +13 -0
  4. package/bundled-skills/code-review/SKILL.md +41 -0
  5. package/bundled-skills/pr-summary/SKILL.md +59 -0
  6. package/bundled-skills/test-gen/SKILL.md +47 -0
  7. package/dist/auth/index.browser.d.ts +38 -0
  8. package/dist/auth/index.browser.d.ts.map +1 -0
  9. package/dist/auth/index.browser.js +62 -0
  10. package/dist/auth/index.browser.js.map +1 -0
  11. package/dist/auth/index.d.ts +44 -30
  12. package/dist/auth/index.d.ts.map +1 -1
  13. package/dist/auth/index.js +57 -110
  14. package/dist/auth/index.js.map +1 -1
  15. package/dist/client/AgentsClient.d.ts +33 -0
  16. package/dist/client/AgentsClient.d.ts.map +1 -0
  17. package/dist/client/AgentsClient.js +40 -0
  18. package/dist/client/AgentsClient.js.map +1 -0
  19. package/dist/client/ArtifactsClient.d.ts +43 -0
  20. package/dist/client/ArtifactsClient.d.ts.map +1 -0
  21. package/dist/client/ArtifactsClient.js +54 -0
  22. package/dist/client/ArtifactsClient.js.map +1 -0
  23. package/dist/client/BulletinClient.d.ts +45 -0
  24. package/dist/client/BulletinClient.d.ts.map +1 -0
  25. package/dist/client/BulletinClient.js +51 -0
  26. package/dist/client/BulletinClient.js.map +1 -0
  27. package/dist/client/InfoClient.d.ts +58 -0
  28. package/dist/client/InfoClient.d.ts.map +1 -0
  29. package/dist/client/InfoClient.js +135 -0
  30. package/dist/client/InfoClient.js.map +1 -0
  31. package/dist/client/PipelineClient.d.ts +162 -0
  32. package/dist/client/PipelineClient.d.ts.map +1 -0
  33. package/dist/client/PipelineClient.js +340 -0
  34. package/dist/client/PipelineClient.js.map +1 -0
  35. package/dist/client/QarRegistryClient.d.ts +396 -0
  36. package/dist/client/QarRegistryClient.d.ts.map +1 -0
  37. package/dist/client/QarRegistryClient.js +536 -0
  38. package/dist/client/QarRegistryClient.js.map +1 -0
  39. package/dist/client/QodoClient.d.ts +296 -0
  40. package/dist/client/QodoClient.d.ts.map +1 -0
  41. package/dist/client/QodoClient.js +803 -0
  42. package/dist/client/QodoClient.js.map +1 -0
  43. package/dist/client/SpecsClient.d.ts +121 -0
  44. package/dist/client/SpecsClient.d.ts.map +1 -0
  45. package/dist/client/SpecsClient.js +252 -0
  46. package/dist/client/SpecsClient.js.map +1 -0
  47. package/dist/client/StateClient.d.ts +35 -0
  48. package/dist/client/StateClient.d.ts.map +1 -0
  49. package/dist/client/StateClient.js +36 -0
  50. package/dist/client/StateClient.js.map +1 -0
  51. package/dist/client/TaskClient.d.ts +706 -0
  52. package/dist/client/TaskClient.d.ts.map +1 -0
  53. package/dist/client/TaskClient.js +2522 -0
  54. package/dist/client/TaskClient.js.map +1 -0
  55. package/dist/client/ToolClient.d.ts +278 -0
  56. package/dist/client/ToolClient.d.ts.map +1 -0
  57. package/dist/client/ToolClient.js +1115 -0
  58. package/dist/client/ToolClient.js.map +1 -0
  59. package/dist/client/a2a/index.d.ts +10 -0
  60. package/dist/client/a2a/index.d.ts.map +1 -0
  61. package/dist/client/a2a/index.js +9 -0
  62. package/dist/client/a2a/index.js.map +1 -0
  63. package/dist/client/a2a/registerA2A.d.ts +170 -0
  64. package/dist/client/a2a/registerA2A.d.ts.map +1 -0
  65. package/dist/client/a2a/registerA2A.js +85 -0
  66. package/dist/client/a2a/registerA2A.js.map +1 -0
  67. package/dist/client/connection.d.ts +800 -0
  68. package/dist/client/connection.d.ts.map +1 -0
  69. package/dist/client/connection.js +2020 -0
  70. package/dist/client/connection.js.map +1 -0
  71. package/dist/client/errors.d.ts +735 -0
  72. package/dist/client/errors.d.ts.map +1 -0
  73. package/dist/client/errors.js +921 -0
  74. package/dist/client/errors.js.map +1 -0
  75. package/dist/client/index.d.ts +26 -0
  76. package/dist/client/index.d.ts.map +1 -0
  77. package/dist/client/index.js +20 -0
  78. package/dist/client/index.js.map +1 -0
  79. package/dist/client/inlineGraph.d.ts +66 -0
  80. package/dist/client/inlineGraph.d.ts.map +1 -0
  81. package/dist/client/inlineGraph.js +500 -0
  82. package/dist/client/inlineGraph.js.map +1 -0
  83. package/dist/client/internal/thenable.d.ts +27 -0
  84. package/dist/client/internal/thenable.d.ts.map +1 -0
  85. package/dist/client/internal/thenable.js +31 -0
  86. package/dist/client/internal/thenable.js.map +1 -0
  87. package/dist/client/iterator.d.ts +32 -0
  88. package/dist/client/iterator.d.ts.map +1 -0
  89. package/dist/client/iterator.js +73 -0
  90. package/dist/client/iterator.js.map +1 -0
  91. package/dist/client/mcp/McpClientPool.browser.d.ts +76 -0
  92. package/dist/client/mcp/McpClientPool.browser.d.ts.map +1 -0
  93. package/dist/client/mcp/McpClientPool.browser.js +78 -0
  94. package/dist/client/mcp/McpClientPool.browser.js.map +1 -0
  95. package/dist/client/mcp/McpClientPool.d.ts +236 -0
  96. package/dist/client/mcp/McpClientPool.d.ts.map +1 -0
  97. package/dist/client/mcp/McpClientPool.js +585 -0
  98. package/dist/client/mcp/McpClientPool.js.map +1 -0
  99. package/dist/client/mcp/projection.d.ts +109 -0
  100. package/dist/client/mcp/projection.d.ts.map +1 -0
  101. package/dist/client/mcp/projection.js +446 -0
  102. package/dist/client/mcp/projection.js.map +1 -0
  103. package/dist/client/mcp/substituteEnv.browser.d.ts +18 -0
  104. package/dist/client/mcp/substituteEnv.browser.d.ts.map +1 -0
  105. package/dist/client/mcp/substituteEnv.browser.js +20 -0
  106. package/dist/client/mcp/substituteEnv.browser.js.map +1 -0
  107. package/dist/client/mcp/substituteEnv.d.ts +45 -0
  108. package/dist/client/mcp/substituteEnv.d.ts.map +1 -0
  109. package/dist/client/mcp/substituteEnv.js +63 -0
  110. package/dist/client/mcp/substituteEnv.js.map +1 -0
  111. package/dist/client/observers.d.ts +57 -0
  112. package/dist/client/observers.d.ts.map +1 -0
  113. package/dist/client/observers.js +203 -0
  114. package/dist/client/observers.js.map +1 -0
  115. package/dist/client/options.d.ts +269 -0
  116. package/dist/client/options.d.ts.map +1 -0
  117. package/dist/client/options.js +9 -0
  118. package/dist/client/options.js.map +1 -0
  119. package/dist/client/tools/_readlineApprovalPrompt.browser.d.ts +17 -0
  120. package/dist/client/tools/_readlineApprovalPrompt.browser.d.ts.map +1 -0
  121. package/dist/client/tools/_readlineApprovalPrompt.browser.js +24 -0
  122. package/dist/client/tools/_readlineApprovalPrompt.browser.js.map +1 -0
  123. package/dist/client/tools/_readlineApprovalPrompt.d.ts +33 -0
  124. package/dist/client/tools/_readlineApprovalPrompt.d.ts.map +1 -0
  125. package/dist/client/tools/_readlineApprovalPrompt.js +90 -0
  126. package/dist/client/tools/_readlineApprovalPrompt.js.map +1 -0
  127. package/dist/client/tools/approval.d.ts +280 -0
  128. package/dist/client/tools/approval.d.ts.map +1 -0
  129. package/dist/client/tools/approval.js +229 -0
  130. package/dist/client/tools/approval.js.map +1 -0
  131. package/dist/client/tools/bindFunctionToolDefs.d.ts +156 -0
  132. package/dist/client/tools/bindFunctionToolDefs.d.ts.map +1 -0
  133. package/dist/client/tools/bindFunctionToolDefs.js +360 -0
  134. package/dist/client/tools/bindFunctionToolDefs.js.map +1 -0
  135. package/dist/client/tools/defineFunctionTool.d.ts +277 -0
  136. package/dist/client/tools/defineFunctionTool.d.ts.map +1 -0
  137. package/dist/client/tools/defineFunctionTool.js +190 -0
  138. package/dist/client/tools/defineFunctionTool.js.map +1 -0
  139. package/dist/client/transport.browser.d.ts +20 -0
  140. package/dist/client/transport.browser.d.ts.map +1 -0
  141. package/dist/client/transport.browser.js +29 -0
  142. package/dist/client/transport.browser.js.map +1 -0
  143. package/dist/client/transport.d.ts +47 -0
  144. package/dist/client/transport.d.ts.map +1 -0
  145. package/dist/client/transport.js +102 -0
  146. package/dist/client/transport.js.map +1 -0
  147. package/dist/client/transport.shared.d.ts +30 -0
  148. package/dist/client/transport.shared.d.ts.map +1 -0
  149. package/dist/client/transport.shared.js +40 -0
  150. package/dist/client/transport.shared.js.map +1 -0
  151. package/dist/client/uuid.d.ts +32 -0
  152. package/dist/client/uuid.d.ts.map +1 -0
  153. package/dist/client/uuid.js +65 -0
  154. package/dist/client/uuid.js.map +1 -0
  155. package/dist/index.d.ts +88 -39
  156. package/dist/index.d.ts.map +1 -1
  157. package/dist/index.js +166 -43
  158. package/dist/index.js.map +1 -1
  159. package/dist/observability/attributes.d.ts +136 -0
  160. package/dist/observability/attributes.d.ts.map +1 -0
  161. package/dist/observability/attributes.js +184 -0
  162. package/dist/observability/attributes.js.map +1 -0
  163. package/dist/observability/index.d.ts +14 -0
  164. package/dist/observability/index.d.ts.map +1 -0
  165. package/dist/observability/index.js +11 -0
  166. package/dist/observability/index.js.map +1 -0
  167. package/dist/observability/resolveOTel.browser.d.ts +13 -0
  168. package/dist/observability/resolveOTel.browser.d.ts.map +1 -0
  169. package/dist/observability/resolveOTel.browser.js +14 -0
  170. package/dist/observability/resolveOTel.browser.js.map +1 -0
  171. package/dist/observability/resolveOTel.d.ts +28 -0
  172. package/dist/observability/resolveOTel.d.ts.map +1 -0
  173. package/dist/observability/resolveOTel.js +74 -0
  174. package/dist/observability/resolveOTel.js.map +1 -0
  175. package/dist/observability/spans.d.ts +198 -0
  176. package/dist/observability/spans.d.ts.map +1 -0
  177. package/dist/observability/spans.js +300 -0
  178. package/dist/observability/spans.js.map +1 -0
  179. package/dist/observability/traceContext.d.ts +51 -0
  180. package/dist/observability/traceContext.d.ts.map +1 -0
  181. package/dist/observability/traceContext.js +151 -0
  182. package/dist/observability/traceContext.js.map +1 -0
  183. package/dist/observability/transportMetrics.d.ts +58 -0
  184. package/dist/observability/transportMetrics.d.ts.map +1 -0
  185. package/dist/observability/transportMetrics.js +55 -0
  186. package/dist/observability/transportMetrics.js.map +1 -0
  187. package/dist/qar/agentSpec.d.ts +93 -0
  188. package/dist/qar/agentSpec.d.ts.map +1 -0
  189. package/dist/qar/agentSpec.js +184 -0
  190. package/dist/qar/agentSpec.js.map +1 -0
  191. package/dist/qar/clientEvents.d.ts +86 -0
  192. package/dist/qar/clientEvents.d.ts.map +1 -0
  193. package/dist/qar/clientEvents.js +36 -0
  194. package/dist/qar/clientEvents.js.map +1 -0
  195. package/dist/qar/envelopes.d.ts +227 -0
  196. package/dist/qar/envelopes.d.ts.map +1 -0
  197. package/dist/qar/envelopes.js +67 -0
  198. package/dist/qar/envelopes.js.map +1 -0
  199. package/dist/qar/generated/envelope.d.ts +332 -0
  200. package/dist/qar/generated/envelope.d.ts.map +1 -0
  201. package/dist/qar/generated/envelope.js +15 -0
  202. package/dist/qar/generated/envelope.js.map +1 -0
  203. package/dist/qar/generated/qar-info.d.ts +76 -0
  204. package/dist/qar/generated/qar-info.d.ts.map +1 -0
  205. package/dist/qar/generated/qar-info.js +15 -0
  206. package/dist/qar/generated/qar-info.js.map +1 -0
  207. package/dist/qar/generated/qodo-task-start-payload.d.ts +54 -0
  208. package/dist/qar/generated/qodo-task-start-payload.d.ts.map +1 -0
  209. package/dist/qar/generated/qodo-task-start-payload.js +15 -0
  210. package/dist/qar/generated/qodo-task-start-payload.js.map +1 -0
  211. package/dist/qar/ids.d.ts +19 -0
  212. package/dist/qar/ids.d.ts.map +1 -0
  213. package/dist/qar/ids.js +11 -0
  214. package/dist/qar/ids.js.map +1 -0
  215. package/dist/qar/index.d.ts +24 -0
  216. package/dist/qar/index.d.ts.map +1 -0
  217. package/dist/qar/index.js +16 -0
  218. package/dist/qar/index.js.map +1 -0
  219. package/dist/qar/info.d.ts +37 -0
  220. package/dist/qar/info.d.ts.map +1 -0
  221. package/dist/qar/info.js +17 -0
  222. package/dist/qar/info.js.map +1 -0
  223. package/dist/qar/json.d.ts +14 -0
  224. package/dist/qar/json.d.ts.map +1 -0
  225. package/dist/qar/json.js +9 -0
  226. package/dist/qar/json.js.map +1 -0
  227. package/dist/qar/payloads.d.ts +480 -0
  228. package/dist/qar/payloads.d.ts.map +1 -0
  229. package/dist/qar/payloads.js +37 -0
  230. package/dist/qar/payloads.js.map +1 -0
  231. package/dist/qar/specs.d.ts +604 -0
  232. package/dist/qar/specs.d.ts.map +1 -0
  233. package/dist/qar/specs.js +29 -0
  234. package/dist/qar/specs.js.map +1 -0
  235. package/dist/qar/taskEvents.d.ts +25 -0
  236. package/dist/qar/taskEvents.d.ts.map +1 -0
  237. package/dist/qar/taskEvents.js +22 -0
  238. package/dist/qar/taskEvents.js.map +1 -0
  239. package/dist/qar/trace.d.ts +12 -0
  240. package/dist/qar/trace.d.ts.map +1 -0
  241. package/dist/qar/trace.js +12 -0
  242. package/dist/qar/trace.js.map +1 -0
  243. package/dist/skills/activation.d.ts +177 -0
  244. package/dist/skills/activation.d.ts.map +1 -0
  245. package/dist/skills/activation.js +428 -0
  246. package/dist/skills/activation.js.map +1 -0
  247. package/dist/skills/cli/index.browser.d.ts +18 -0
  248. package/dist/skills/cli/index.browser.d.ts.map +1 -0
  249. package/dist/skills/cli/index.browser.js +27 -0
  250. package/dist/skills/cli/index.browser.js.map +1 -0
  251. package/dist/skills/cli/index.d.ts +37 -0
  252. package/dist/skills/cli/index.d.ts.map +1 -0
  253. package/dist/skills/cli/index.js +494 -0
  254. package/dist/skills/cli/index.js.map +1 -0
  255. package/dist/skills/events.d.ts +255 -0
  256. package/dist/skills/events.d.ts.map +1 -0
  257. package/dist/skills/events.js +224 -0
  258. package/dist/skills/events.js.map +1 -0
  259. package/dist/skills/index.d.ts +45 -0
  260. package/dist/skills/index.d.ts.map +1 -0
  261. package/dist/skills/index.js +34 -0
  262. package/dist/skills/index.js.map +1 -0
  263. package/dist/skills/inject.d.ts +57 -0
  264. package/dist/skills/inject.d.ts.map +1 -0
  265. package/dist/skills/inject.js +162 -0
  266. package/dist/skills/inject.js.map +1 -0
  267. package/dist/skills/lockfile.browser.d.ts +56 -0
  268. package/dist/skills/lockfile.browser.d.ts.map +1 -0
  269. package/dist/skills/lockfile.browser.js +55 -0
  270. package/dist/skills/lockfile.browser.js.map +1 -0
  271. package/dist/skills/lockfile.d.ts +137 -0
  272. package/dist/skills/lockfile.d.ts.map +1 -0
  273. package/dist/skills/lockfile.js +423 -0
  274. package/dist/skills/lockfile.js.map +1 -0
  275. package/dist/skills/manager.browser.d.ts +94 -0
  276. package/dist/skills/manager.browser.d.ts.map +1 -0
  277. package/dist/skills/manager.browser.js +159 -0
  278. package/dist/skills/manager.browser.js.map +1 -0
  279. package/dist/skills/manager.d.ts +362 -0
  280. package/dist/skills/manager.d.ts.map +1 -0
  281. package/dist/skills/manager.js +1386 -0
  282. package/dist/skills/manager.js.map +1 -0
  283. package/dist/skills/mcp/index.d.ts +15 -0
  284. package/dist/skills/mcp/index.d.ts.map +1 -0
  285. package/dist/skills/mcp/index.js +12 -0
  286. package/dist/skills/mcp/index.js.map +1 -0
  287. package/dist/skills/mcp/path.browser.d.ts +27 -0
  288. package/dist/skills/mcp/path.browser.d.ts.map +1 -0
  289. package/dist/skills/mcp/path.browser.js +33 -0
  290. package/dist/skills/mcp/path.browser.js.map +1 -0
  291. package/dist/skills/mcp/path.d.ts +57 -0
  292. package/dist/skills/mcp/path.d.ts.map +1 -0
  293. package/dist/skills/mcp/path.js +150 -0
  294. package/dist/skills/mcp/path.js.map +1 -0
  295. package/dist/skills/mcp/server.browser.d.ts +32 -0
  296. package/dist/skills/mcp/server.browser.d.ts.map +1 -0
  297. package/dist/skills/mcp/server.browser.js +53 -0
  298. package/dist/skills/mcp/server.browser.js.map +1 -0
  299. package/dist/skills/mcp/server.d.ts +144 -0
  300. package/dist/skills/mcp/server.d.ts.map +1 -0
  301. package/dist/skills/mcp/server.js +841 -0
  302. package/dist/skills/mcp/server.js.map +1 -0
  303. package/dist/skills/mcp/types.d.ts +72 -0
  304. package/dist/skills/mcp/types.d.ts.map +1 -0
  305. package/dist/skills/mcp/types.js +20 -0
  306. package/dist/skills/mcp/types.js.map +1 -0
  307. package/dist/skills/mcp/wireDefs.d.ts +58 -0
  308. package/dist/skills/mcp/wireDefs.d.ts.map +1 -0
  309. package/dist/skills/mcp/wireDefs.js +141 -0
  310. package/dist/skills/mcp/wireDefs.js.map +1 -0
  311. package/dist/skills/parser.d.ts +63 -0
  312. package/dist/skills/parser.d.ts.map +1 -0
  313. package/dist/skills/parser.js +755 -0
  314. package/dist/skills/parser.js.map +1 -0
  315. package/dist/skills/prefilter.d.ts +104 -0
  316. package/dist/skills/prefilter.d.ts.map +1 -0
  317. package/dist/skills/prefilter.js +398 -0
  318. package/dist/skills/prefilter.js.map +1 -0
  319. package/dist/skills/preprocess.d.ts +169 -0
  320. package/dist/skills/preprocess.d.ts.map +1 -0
  321. package/dist/skills/preprocess.js +535 -0
  322. package/dist/skills/preprocess.js.map +1 -0
  323. package/dist/skills/render.d.ts +83 -0
  324. package/dist/skills/render.d.ts.map +1 -0
  325. package/dist/skills/render.js +397 -0
  326. package/dist/skills/render.js.map +1 -0
  327. package/dist/skills/sources/index.browser.d.ts +29 -0
  328. package/dist/skills/sources/index.browser.d.ts.map +1 -0
  329. package/dist/skills/sources/index.browser.js +16 -0
  330. package/dist/skills/sources/index.browser.js.map +1 -0
  331. package/dist/skills/sources/index.d.ts +59 -0
  332. package/dist/skills/sources/index.d.ts.map +1 -0
  333. package/dist/skills/sources/index.js +471 -0
  334. package/dist/skills/sources/index.js.map +1 -0
  335. package/dist/skills/sources/walk.browser.d.ts +17 -0
  336. package/dist/skills/sources/walk.browser.d.ts.map +1 -0
  337. package/dist/skills/sources/walk.browser.js +19 -0
  338. package/dist/skills/sources/walk.browser.js.map +1 -0
  339. package/dist/skills/sources/walk.d.ts +68 -0
  340. package/dist/skills/sources/walk.d.ts.map +1 -0
  341. package/dist/skills/sources/walk.js +264 -0
  342. package/dist/skills/sources/walk.js.map +1 -0
  343. package/dist/skills/substitute.d.ts +87 -0
  344. package/dist/skills/substitute.d.ts.map +1 -0
  345. package/dist/skills/substitute.js +322 -0
  346. package/dist/skills/substitute.js.map +1 -0
  347. package/dist/skills/testing/SkillKit.browser.d.ts +62 -0
  348. package/dist/skills/testing/SkillKit.browser.d.ts.map +1 -0
  349. package/dist/skills/testing/SkillKit.browser.js +41 -0
  350. package/dist/skills/testing/SkillKit.browser.js.map +1 -0
  351. package/dist/skills/testing/SkillKit.d.ts +130 -0
  352. package/dist/skills/testing/SkillKit.d.ts.map +1 -0
  353. package/dist/skills/testing/SkillKit.js +316 -0
  354. package/dist/skills/testing/SkillKit.js.map +1 -0
  355. package/dist/skills/testing/index.d.ts +9 -0
  356. package/dist/skills/testing/index.d.ts.map +1 -0
  357. package/dist/skills/testing/index.js +8 -0
  358. package/dist/skills/testing/index.js.map +1 -0
  359. package/dist/skills/trust.d.ts +72 -0
  360. package/dist/skills/trust.d.ts.map +1 -0
  361. package/dist/skills/trust.js +183 -0
  362. package/dist/skills/trust.js.map +1 -0
  363. package/dist/skills/types.d.ts +627 -0
  364. package/dist/skills/types.d.ts.map +1 -0
  365. package/dist/skills/types.js +85 -0
  366. package/dist/skills/types.js.map +1 -0
  367. package/dist/skills/validator.d.ts +95 -0
  368. package/dist/skills/validator.d.ts.map +1 -0
  369. package/dist/skills/validator.js +486 -0
  370. package/dist/skills/validator.js.map +1 -0
  371. package/dist/tracing/PipelineTracer.d.ts +35 -22
  372. package/dist/tracing/PipelineTracer.d.ts.map +1 -1
  373. package/dist/tracing/PipelineTracer.js +106 -61
  374. package/dist/tracing/PipelineTracer.js.map +1 -1
  375. package/dist/tracing/SdkTracer.d.ts +63 -61
  376. package/dist/tracing/SdkTracer.d.ts.map +1 -1
  377. package/dist/tracing/SdkTracer.js +185 -177
  378. package/dist/tracing/SdkTracer.js.map +1 -1
  379. package/dist/tracing/index.d.ts +10 -1
  380. package/dist/tracing/index.d.ts.map +1 -1
  381. package/dist/tracing/index.js +9 -0
  382. package/dist/tracing/index.js.map +1 -1
  383. package/dist/tracing/types.d.ts +89 -16
  384. package/dist/tracing/types.d.ts.map +1 -1
  385. package/dist/tracing/types.js +17 -4
  386. package/dist/tracing/types.js.map +1 -1
  387. package/dist/types.d.ts +6 -1
  388. package/dist/types.d.ts.map +1 -1
  389. package/dist/types.js +4 -0
  390. package/dist/types.js.map +1 -1
  391. package/dist/version.d.ts.map +1 -1
  392. package/dist/version.js +10 -20
  393. package/dist/version.js.map +1 -1
  394. package/package.json +53 -39
  395. package/.claude/skills/qodo-agent/SKILL.md +0 -974
  396. package/.claude/skills/qodo-agent/assets/programmatic-agent.ts +0 -407
  397. package/.claude/skills/qodo-agent/references/builtin-tools.md +0 -342
  398. package/.claude/skills/qodo-agent/references/common-issues.md +0 -537
  399. package/bin/rg +0 -0
  400. package/dist/api/agent.d.ts +0 -105
  401. package/dist/api/agent.d.ts.map +0 -1
  402. package/dist/api/agent.js +0 -963
  403. package/dist/api/agent.js.map +0 -1
  404. package/dist/api/analytics.d.ts +0 -43
  405. package/dist/api/analytics.d.ts.map +0 -1
  406. package/dist/api/analytics.js +0 -163
  407. package/dist/api/analytics.js.map +0 -1
  408. package/dist/api/http.d.ts +0 -5
  409. package/dist/api/http.d.ts.map +0 -1
  410. package/dist/api/http.js +0 -62
  411. package/dist/api/http.js.map +0 -1
  412. package/dist/api/index.d.ts +0 -12
  413. package/dist/api/index.d.ts.map +0 -1
  414. package/dist/api/index.js +0 -17
  415. package/dist/api/index.js.map +0 -1
  416. package/dist/api/taskTracking.d.ts +0 -54
  417. package/dist/api/taskTracking.d.ts.map +0 -1
  418. package/dist/api/taskTracking.js +0 -208
  419. package/dist/api/taskTracking.js.map +0 -1
  420. package/dist/api/types.d.ts +0 -93
  421. package/dist/api/types.d.ts.map +0 -1
  422. package/dist/api/types.js +0 -2
  423. package/dist/api/types.js.map +0 -1
  424. package/dist/api/utils.d.ts +0 -8
  425. package/dist/api/utils.d.ts.map +0 -1
  426. package/dist/api/utils.js +0 -63
  427. package/dist/api/utils.js.map +0 -1
  428. package/dist/api/websocket.d.ts +0 -203
  429. package/dist/api/websocket.d.ts.map +0 -1
  430. package/dist/api/websocket.js +0 -1166
  431. package/dist/api/websocket.js.map +0 -1
  432. package/dist/bin/install-skill.d.ts +0 -14
  433. package/dist/bin/install-skill.d.ts.map +0 -1
  434. package/dist/bin/install-skill.js +0 -125
  435. package/dist/bin/install-skill.js.map +0 -1
  436. package/dist/bin/run-helpers.d.ts +0 -34
  437. package/dist/bin/run-helpers.d.ts.map +0 -1
  438. package/dist/bin/run-helpers.js +0 -186
  439. package/dist/bin/run-helpers.js.map +0 -1
  440. package/dist/bin/run.d.ts +0 -13
  441. package/dist/bin/run.d.ts.map +0 -1
  442. package/dist/bin/run.js +0 -57
  443. package/dist/bin/run.js.map +0 -1
  444. package/dist/clients/index.d.ts +0 -10
  445. package/dist/clients/index.d.ts.map +0 -1
  446. package/dist/clients/index.js +0 -8
  447. package/dist/clients/index.js.map +0 -1
  448. package/dist/clients/info/InfoClient.d.ts +0 -37
  449. package/dist/clients/info/InfoClient.d.ts.map +0 -1
  450. package/dist/clients/info/InfoClient.js +0 -69
  451. package/dist/clients/info/InfoClient.js.map +0 -1
  452. package/dist/clients/info/index.d.ts +0 -4
  453. package/dist/clients/info/index.d.ts.map +0 -1
  454. package/dist/clients/info/index.js +0 -2
  455. package/dist/clients/info/index.js.map +0 -1
  456. package/dist/clients/info/types.d.ts +0 -21
  457. package/dist/clients/info/types.d.ts.map +0 -1
  458. package/dist/clients/info/types.js +0 -2
  459. package/dist/clients/info/types.js.map +0 -1
  460. package/dist/clients/sessions/SessionsClient.d.ts +0 -34
  461. package/dist/clients/sessions/SessionsClient.d.ts.map +0 -1
  462. package/dist/clients/sessions/SessionsClient.js +0 -71
  463. package/dist/clients/sessions/SessionsClient.js.map +0 -1
  464. package/dist/clients/sessions/index.d.ts +0 -4
  465. package/dist/clients/sessions/index.d.ts.map +0 -1
  466. package/dist/clients/sessions/index.js +0 -2
  467. package/dist/clients/sessions/index.js.map +0 -1
  468. package/dist/clients/sessions/types.d.ts +0 -20
  469. package/dist/clients/sessions/types.d.ts.map +0 -1
  470. package/dist/clients/sessions/types.js +0 -2
  471. package/dist/clients/sessions/types.js.map +0 -1
  472. package/dist/clients/tools/ToolsClient.d.ts +0 -39
  473. package/dist/clients/tools/ToolsClient.d.ts.map +0 -1
  474. package/dist/clients/tools/ToolsClient.js +0 -95
  475. package/dist/clients/tools/ToolsClient.js.map +0 -1
  476. package/dist/clients/tools/index.d.ts +0 -4
  477. package/dist/clients/tools/index.d.ts.map +0 -1
  478. package/dist/clients/tools/index.js +0 -2
  479. package/dist/clients/tools/index.js.map +0 -1
  480. package/dist/clients/tools/types.d.ts +0 -14
  481. package/dist/clients/tools/types.d.ts.map +0 -1
  482. package/dist/clients/tools/types.js +0 -2
  483. package/dist/clients/tools/types.js.map +0 -1
  484. package/dist/config/ConfigManager.d.ts +0 -43
  485. package/dist/config/ConfigManager.d.ts.map +0 -1
  486. package/dist/config/ConfigManager.js +0 -472
  487. package/dist/config/ConfigManager.js.map +0 -1
  488. package/dist/config/index.d.ts +0 -6
  489. package/dist/config/index.d.ts.map +0 -1
  490. package/dist/config/index.js +0 -7
  491. package/dist/config/index.js.map +0 -1
  492. package/dist/config/urlConfig.d.ts +0 -15
  493. package/dist/config/urlConfig.d.ts.map +0 -1
  494. package/dist/config/urlConfig.js +0 -75
  495. package/dist/config/urlConfig.js.map +0 -1
  496. package/dist/constants/errors.d.ts +0 -2
  497. package/dist/constants/errors.d.ts.map +0 -1
  498. package/dist/constants/errors.js +0 -2
  499. package/dist/constants/errors.js.map +0 -1
  500. package/dist/constants/index.d.ts +0 -7
  501. package/dist/constants/index.d.ts.map +0 -1
  502. package/dist/constants/index.js +0 -11
  503. package/dist/constants/index.js.map +0 -1
  504. package/dist/constants/tools.d.ts +0 -4
  505. package/dist/constants/tools.d.ts.map +0 -1
  506. package/dist/constants/tools.js +0 -4
  507. package/dist/constants/tools.js.map +0 -1
  508. package/dist/constants/versions.d.ts +0 -2
  509. package/dist/constants/versions.d.ts.map +0 -1
  510. package/dist/constants/versions.js +0 -2
  511. package/dist/constants/versions.js.map +0 -1
  512. package/dist/context/buildUserContext.d.ts +0 -18
  513. package/dist/context/buildUserContext.d.ts.map +0 -1
  514. package/dist/context/buildUserContext.js +0 -34
  515. package/dist/context/buildUserContext.js.map +0 -1
  516. package/dist/context/index.d.ts +0 -9
  517. package/dist/context/index.d.ts.map +0 -1
  518. package/dist/context/index.js +0 -9
  519. package/dist/context/index.js.map +0 -1
  520. package/dist/context/messageManager.d.ts +0 -42
  521. package/dist/context/messageManager.d.ts.map +0 -1
  522. package/dist/context/messageManager.js +0 -322
  523. package/dist/context/messageManager.js.map +0 -1
  524. package/dist/context/taskFocus.d.ts +0 -2
  525. package/dist/context/taskFocus.d.ts.map +0 -1
  526. package/dist/context/taskFocus.js +0 -26
  527. package/dist/context/taskFocus.js.map +0 -1
  528. package/dist/context/userInput.d.ts +0 -3
  529. package/dist/context/userInput.d.ts.map +0 -1
  530. package/dist/context/userInput.js +0 -20
  531. package/dist/context/userInput.js.map +0 -1
  532. package/dist/mcp/MCPManager.d.ts +0 -109
  533. package/dist/mcp/MCPManager.d.ts.map +0 -1
  534. package/dist/mcp/MCPManager.js +0 -592
  535. package/dist/mcp/MCPManager.js.map +0 -1
  536. package/dist/mcp/approvedTools.d.ts +0 -4
  537. package/dist/mcp/approvedTools.d.ts.map +0 -1
  538. package/dist/mcp/approvedTools.js +0 -19
  539. package/dist/mcp/approvedTools.js.map +0 -1
  540. package/dist/mcp/baseServer.d.ts +0 -75
  541. package/dist/mcp/baseServer.d.ts.map +0 -1
  542. package/dist/mcp/baseServer.js +0 -107
  543. package/dist/mcp/baseServer.js.map +0 -1
  544. package/dist/mcp/builtinServers.d.ts +0 -15
  545. package/dist/mcp/builtinServers.d.ts.map +0 -1
  546. package/dist/mcp/builtinServers.js +0 -141
  547. package/dist/mcp/builtinServers.js.map +0 -1
  548. package/dist/mcp/dynamicBEServer.d.ts +0 -20
  549. package/dist/mcp/dynamicBEServer.d.ts.map +0 -1
  550. package/dist/mcp/dynamicBEServer.js +0 -52
  551. package/dist/mcp/dynamicBEServer.js.map +0 -1
  552. package/dist/mcp/index.d.ts +0 -18
  553. package/dist/mcp/index.d.ts.map +0 -1
  554. package/dist/mcp/index.js +0 -23
  555. package/dist/mcp/index.js.map +0 -1
  556. package/dist/mcp/mcpInitialization.d.ts +0 -2
  557. package/dist/mcp/mcpInitialization.d.ts.map +0 -1
  558. package/dist/mcp/mcpInitialization.js +0 -56
  559. package/dist/mcp/mcpInitialization.js.map +0 -1
  560. package/dist/mcp/servers/filesystem.d.ts +0 -44
  561. package/dist/mcp/servers/filesystem.d.ts.map +0 -1
  562. package/dist/mcp/servers/filesystem.js +0 -776
  563. package/dist/mcp/servers/filesystem.js.map +0 -1
  564. package/dist/mcp/servers/git.d.ts +0 -18
  565. package/dist/mcp/servers/git.d.ts.map +0 -1
  566. package/dist/mcp/servers/git.js +0 -441
  567. package/dist/mcp/servers/git.js.map +0 -1
  568. package/dist/mcp/servers/ripgrep.d.ts +0 -39
  569. package/dist/mcp/servers/ripgrep.d.ts.map +0 -1
  570. package/dist/mcp/servers/ripgrep.js +0 -550
  571. package/dist/mcp/servers/ripgrep.js.map +0 -1
  572. package/dist/mcp/servers/shell.d.ts +0 -20
  573. package/dist/mcp/servers/shell.d.ts.map +0 -1
  574. package/dist/mcp/servers/shell.js +0 -519
  575. package/dist/mcp/servers/shell.js.map +0 -1
  576. package/dist/mcp/serversRegistry.d.ts +0 -55
  577. package/dist/mcp/serversRegistry.d.ts.map +0 -1
  578. package/dist/mcp/serversRegistry.js +0 -416
  579. package/dist/mcp/serversRegistry.js.map +0 -1
  580. package/dist/mcp/toolProcessor.d.ts +0 -82
  581. package/dist/mcp/toolProcessor.d.ts.map +0 -1
  582. package/dist/mcp/toolProcessor.js +0 -392
  583. package/dist/mcp/toolProcessor.js.map +0 -1
  584. package/dist/mcp/types.d.ts +0 -29
  585. package/dist/mcp/types.d.ts.map +0 -1
  586. package/dist/mcp/types.js +0 -2
  587. package/dist/mcp/types.js.map +0 -1
  588. package/dist/messages/index.d.ts +0 -8
  589. package/dist/messages/index.d.ts.map +0 -1
  590. package/dist/messages/index.js +0 -7
  591. package/dist/messages/index.js.map +0 -1
  592. package/dist/messages/openai.d.ts +0 -26
  593. package/dist/messages/openai.d.ts.map +0 -1
  594. package/dist/messages/openai.js +0 -55
  595. package/dist/messages/openai.js.map +0 -1
  596. package/dist/messages/types.d.ts +0 -73
  597. package/dist/messages/types.d.ts.map +0 -1
  598. package/dist/messages/types.js +0 -78
  599. package/dist/messages/types.js.map +0 -1
  600. package/dist/parser/index.d.ts +0 -72
  601. package/dist/parser/index.d.ts.map +0 -1
  602. package/dist/parser/index.js +0 -967
  603. package/dist/parser/index.js.map +0 -1
  604. package/dist/parser/types.d.ts +0 -153
  605. package/dist/parser/types.d.ts.map +0 -1
  606. package/dist/parser/types.js +0 -6
  607. package/dist/parser/types.js.map +0 -1
  608. package/dist/parser/utils.d.ts +0 -18
  609. package/dist/parser/utils.d.ts.map +0 -1
  610. package/dist/parser/utils.js +0 -64
  611. package/dist/parser/utils.js.map +0 -1
  612. package/dist/sdk/QodoSDK.d.ts +0 -218
  613. package/dist/sdk/QodoSDK.d.ts.map +0 -1
  614. package/dist/sdk/QodoSDK.js +0 -1115
  615. package/dist/sdk/QodoSDK.js.map +0 -1
  616. package/dist/sdk/artifacts.d.ts +0 -156
  617. package/dist/sdk/artifacts.d.ts.map +0 -1
  618. package/dist/sdk/artifacts.js +0 -166
  619. package/dist/sdk/artifacts.js.map +0 -1
  620. package/dist/sdk/bootstrap.d.ts +0 -16
  621. package/dist/sdk/bootstrap.d.ts.map +0 -1
  622. package/dist/sdk/bootstrap.js +0 -28
  623. package/dist/sdk/bootstrap.js.map +0 -1
  624. package/dist/sdk/builders.d.ts +0 -54
  625. package/dist/sdk/builders.d.ts.map +0 -1
  626. package/dist/sdk/builders.js +0 -117
  627. package/dist/sdk/builders.js.map +0 -1
  628. package/dist/sdk/defaults.d.ts +0 -11
  629. package/dist/sdk/defaults.d.ts.map +0 -1
  630. package/dist/sdk/defaults.js +0 -39
  631. package/dist/sdk/defaults.js.map +0 -1
  632. package/dist/sdk/discovery.d.ts +0 -2
  633. package/dist/sdk/discovery.d.ts.map +0 -1
  634. package/dist/sdk/discovery.js +0 -25
  635. package/dist/sdk/discovery.js.map +0 -1
  636. package/dist/sdk/events.d.ts +0 -269
  637. package/dist/sdk/events.d.ts.map +0 -1
  638. package/dist/sdk/events.js +0 -69
  639. package/dist/sdk/events.js.map +0 -1
  640. package/dist/sdk/exit-expression.d.ts +0 -13
  641. package/dist/sdk/exit-expression.d.ts.map +0 -1
  642. package/dist/sdk/exit-expression.js +0 -35
  643. package/dist/sdk/exit-expression.js.map +0 -1
  644. package/dist/sdk/index.d.ts +0 -17
  645. package/dist/sdk/index.d.ts.map +0 -1
  646. package/dist/sdk/index.js +0 -17
  647. package/dist/sdk/index.js.map +0 -1
  648. package/dist/sdk/middleware.d.ts +0 -59
  649. package/dist/sdk/middleware.d.ts.map +0 -1
  650. package/dist/sdk/middleware.js +0 -69
  651. package/dist/sdk/middleware.js.map +0 -1
  652. package/dist/sdk/pipeline/PipelineBuilder.d.ts +0 -79
  653. package/dist/sdk/pipeline/PipelineBuilder.d.ts.map +0 -1
  654. package/dist/sdk/pipeline/PipelineBuilder.js +0 -129
  655. package/dist/sdk/pipeline/PipelineBuilder.js.map +0 -1
  656. package/dist/sdk/pipeline/PipelineRunner.d.ts +0 -28
  657. package/dist/sdk/pipeline/PipelineRunner.d.ts.map +0 -1
  658. package/dist/sdk/pipeline/PipelineRunner.js +0 -326
  659. package/dist/sdk/pipeline/PipelineRunner.js.map +0 -1
  660. package/dist/sdk/pipeline/compiler.d.ts +0 -24
  661. package/dist/sdk/pipeline/compiler.d.ts.map +0 -1
  662. package/dist/sdk/pipeline/compiler.js +0 -199
  663. package/dist/sdk/pipeline/compiler.js.map +0 -1
  664. package/dist/sdk/pipeline/declarative.d.ts +0 -34
  665. package/dist/sdk/pipeline/declarative.d.ts.map +0 -1
  666. package/dist/sdk/pipeline/declarative.js +0 -9
  667. package/dist/sdk/pipeline/declarative.js.map +0 -1
  668. package/dist/sdk/pipeline/index.d.ts +0 -20
  669. package/dist/sdk/pipeline/index.d.ts.map +0 -1
  670. package/dist/sdk/pipeline/index.js +0 -19
  671. package/dist/sdk/pipeline/index.js.map +0 -1
  672. package/dist/sdk/pipeline/types.d.ts +0 -93
  673. package/dist/sdk/pipeline/types.d.ts.map +0 -1
  674. package/dist/sdk/pipeline/types.js +0 -10
  675. package/dist/sdk/pipeline/types.js.map +0 -1
  676. package/dist/sdk/policies.d.ts +0 -163
  677. package/dist/sdk/policies.d.ts.map +0 -1
  678. package/dist/sdk/policies.js +0 -243
  679. package/dist/sdk/policies.js.map +0 -1
  680. package/dist/sdk/runner/AgentRunner.d.ts +0 -22
  681. package/dist/sdk/runner/AgentRunner.d.ts.map +0 -1
  682. package/dist/sdk/runner/AgentRunner.js +0 -222
  683. package/dist/sdk/runner/AgentRunner.js.map +0 -1
  684. package/dist/sdk/runner/finalize.d.ts +0 -56
  685. package/dist/sdk/runner/finalize.d.ts.map +0 -1
  686. package/dist/sdk/runner/finalize.js +0 -155
  687. package/dist/sdk/runner/finalize.js.map +0 -1
  688. package/dist/sdk/runner/formats.d.ts +0 -7
  689. package/dist/sdk/runner/formats.d.ts.map +0 -1
  690. package/dist/sdk/runner/formats.js +0 -76
  691. package/dist/sdk/runner/formats.js.map +0 -1
  692. package/dist/sdk/runner/index.d.ts +0 -9
  693. package/dist/sdk/runner/index.d.ts.map +0 -1
  694. package/dist/sdk/runner/index.js +0 -9
  695. package/dist/sdk/runner/index.js.map +0 -1
  696. package/dist/sdk/runner/progress.d.ts +0 -3
  697. package/dist/sdk/runner/progress.d.ts.map +0 -1
  698. package/dist/sdk/runner/progress.js +0 -16
  699. package/dist/sdk/runner/progress.js.map +0 -1
  700. package/dist/sdk/schemas.d.ts +0 -72
  701. package/dist/sdk/schemas.d.ts.map +0 -1
  702. package/dist/sdk/schemas.js +0 -282
  703. package/dist/sdk/schemas.js.map +0 -1
  704. package/dist/sdk/trigger-context.d.ts +0 -24
  705. package/dist/sdk/trigger-context.d.ts.map +0 -1
  706. package/dist/sdk/trigger-context.js +0 -136
  707. package/dist/sdk/trigger-context.js.map +0 -1
  708. package/dist/session/SessionContext.d.ts +0 -89
  709. package/dist/session/SessionContext.d.ts.map +0 -1
  710. package/dist/session/SessionContext.js +0 -410
  711. package/dist/session/SessionContext.js.map +0 -1
  712. package/dist/session/environment.d.ts +0 -52
  713. package/dist/session/environment.d.ts.map +0 -1
  714. package/dist/session/environment.js +0 -27
  715. package/dist/session/environment.js.map +0 -1
  716. package/dist/session/history.d.ts +0 -18
  717. package/dist/session/history.d.ts.map +0 -1
  718. package/dist/session/history.js +0 -68
  719. package/dist/session/history.js.map +0 -1
  720. package/dist/session/index.d.ts +0 -10
  721. package/dist/session/index.d.ts.map +0 -1
  722. package/dist/session/index.js +0 -9
  723. package/dist/session/index.js.map +0 -1
  724. package/dist/session/serverData.d.ts +0 -38
  725. package/dist/session/serverData.d.ts.map +0 -1
  726. package/dist/session/serverData.js +0 -261
  727. package/dist/session/serverData.js.map +0 -1
  728. package/dist/tracing/pipelineHelpers.d.ts +0 -29
  729. package/dist/tracing/pipelineHelpers.d.ts.map +0 -1
  730. package/dist/tracing/pipelineHelpers.js +0 -224
  731. package/dist/tracing/pipelineHelpers.js.map +0 -1
  732. package/dist/tracking/Tracker.d.ts +0 -55
  733. package/dist/tracking/Tracker.d.ts.map +0 -1
  734. package/dist/tracking/Tracker.js +0 -217
  735. package/dist/tracking/Tracker.js.map +0 -1
  736. package/dist/tracking/index.d.ts +0 -8
  737. package/dist/tracking/index.d.ts.map +0 -1
  738. package/dist/tracking/index.js +0 -8
  739. package/dist/tracking/index.js.map +0 -1
  740. package/dist/tracking/schemas.d.ts +0 -292
  741. package/dist/tracking/schemas.d.ts.map +0 -1
  742. package/dist/tracking/schemas.js +0 -91
  743. package/dist/tracking/schemas.js.map +0 -1
  744. package/dist/utils/extractSetFlags.d.ts +0 -6
  745. package/dist/utils/extractSetFlags.d.ts.map +0 -1
  746. package/dist/utils/extractSetFlags.js +0 -16
  747. package/dist/utils/extractSetFlags.js.map +0 -1
  748. package/dist/utils/formatTimeAgo.d.ts +0 -2
  749. package/dist/utils/formatTimeAgo.d.ts.map +0 -1
  750. package/dist/utils/formatTimeAgo.js +0 -20
  751. package/dist/utils/formatTimeAgo.js.map +0 -1
  752. package/dist/utils/index.d.ts +0 -12
  753. package/dist/utils/index.d.ts.map +0 -1
  754. package/dist/utils/index.js +0 -12
  755. package/dist/utils/index.js.map +0 -1
  756. package/dist/utils/machineId.d.ts +0 -14
  757. package/dist/utils/machineId.d.ts.map +0 -1
  758. package/dist/utils/machineId.js +0 -66
  759. package/dist/utils/machineId.js.map +0 -1
  760. package/dist/utils/pathUtils.d.ts +0 -22
  761. package/dist/utils/pathUtils.d.ts.map +0 -1
  762. package/dist/utils/pathUtils.js +0 -54
  763. package/dist/utils/pathUtils.js.map +0 -1
  764. package/scripts/download-ripgrep.js +0 -269
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inlineGraph.js","sourceRoot":"","sources":["../../src/client/inlineGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,8BAA8B,GAE/B,MAAM,aAAa,CAAC;AAOrB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAQhD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,IAAmC;IAEnC,0EAA0E;IAC1E,sEAAsE;IACtE,qEAAqE;IACrE,yEAAyE;IACzE,uEAAuE;IACvE,2EAA2E;IAC3E,sEAAsE;IACtE,kDAAkD;IAClD,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAsB,EACtB,IAA8C,EAC9C,OAAwB;IAExB,MAAM,QAAQ,GAAmC,EAAE,CAAC;IAEpD,sEAAsE;IACtE,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,8BAA8B,CAAC;YACvC;gBACE,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,EAAE;gBACR,OAAO,EACL,+DAA+D;oBAC/D,sEAAsE;aACzE;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnB,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,EAAE,QAAQ,CAAC;IACpC,wBAAwB;IACxB,uEAAuE;IACvE,sEAAsE;IACtE,4EAA4E;IAC5E,yDAAyD;IACzD,kEAAkE;IAClE,mDAAmD;IACnD,MAAM,QAAQ,GACZ,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;QACtD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC;QACtC,CAAC,CAAC,CAAC,YAAY,IAAI,YAAY,IAAI,8BAA8B,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAEhC,0EAA0E;IAC1E,oEAAoE;IACpE,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,8BAA8B,CAAC;YACvC;gBACE,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EACL,qEAAqE;oBACrE,8DAA8D;aACjE;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,CAAC;IAElD,+CAA+C;IAC/C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,oCAAoC;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,yEAAyE;IACzE,2CAA2C;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,sEAAsE;SAChF,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B;IAC9B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,mBAAmB;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,0EAA0E;IAC1E,2DAA2D;IAC3D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,qDAAqD;aAC/D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,IACE,KAAK,CAAC,KAAK,KAAK,SAAS;QACzB,KAAK,CAAC,KAAK,KAAK,EAAE;QAClB,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAC/B,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU,KAAK,CAAC,KAAK,gCAAgC;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,wCAAwC;IACxC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,UAAU,GAAG,OAAO;gBAC1B,OAAO,EAAE,cAAc,IAAI,CAAC,IAAI,gCAAgC;aACjE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,UAAU,GAAG,KAAK;gBACxB,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,gCAAgC;aAC7D,CAAC,CAAC;QACL,CAAC;QACD,sEAAsE;QACtE,sEAAsE;QACtE,IACE,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3B,IAAI,CAAC,QAAQ,KAAK,IAAI;YACtB,UAAU,IAAI,IAAI,CAAC,QAAQ;YAC3B,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC1C,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,UAAU,GAAG,oBAAoB;gBACvC,OAAO,EAAE,2BAA2B,IAAI,CAAC,QAAQ,CAAC,QAAQ,gCAAgC;aAC3F,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,8DAA8D;IAC9D,qEAAqE;IACrE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,wBAAwB;QACjE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,UAAU,GAAG,EAAE;gBACrB,OAAO,EAAE,kDAAkD,IAAI,CAAC,EAAE,WAChE,MAAM,IAAI,cACZ,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;YAC5E,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,UAAU,GAAG,OAAO;gBAC1B,OAAO,EAAE,mBAAmB,IAAI,CAAC,IAAI,oDAAoD;aAC1F,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,0EAA0E;IAC1E,gEAAgE;IAChE,oEAAoE;IACpE,wEAAwE;IACxE,6DAA6D;IAC7D,gEAAgE;IAChE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,SAAS;QACxC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,WAAW,IAAI,qBAAqB;gBAC1C,OAAO,EACL,mBAAmB,IAAI,oDAAoD;oBAC3E,4FAA4F;aAC/F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,+EAA+E;IAC/E,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,2BAA2B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;aACzD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,sEAAsE;IACtE,qDAAqD;IACrD,IACE,KAAK,CAAC,KAAK,KAAK,SAAS;QACzB,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,EACjD,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,eAAe,KAAK,+BAA+B,QAAQ,EAAE;aACvE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,qEAAqE;IACrE,sEAAsE;IACtE,kCAAkC;IAClC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,SAAS;QACxC,IAAI,CAAC;YACH,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,8BAA8B,EAAE,CAAC;gBAClD,KAAK,MAAM,YAAY,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC;wBACZ,OAAO,EAAE,YAAY,CAAC,OAAO;wBAC7B,IAAI,EAAE,WAAW,IAAI,QAAQ,YAAY,CAAC,IAAI,EAAE;wBAChD,OAAO,EAAE,YAAY,CAAC,OAAO;qBAC9B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,KAAiC;IAEjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,MAAM,KAAK,GAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACnC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,4BAA4B;YACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,wEAAwE;YACxE,yDAAyD;YACzD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7C,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,SAAS;gBACtD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChC,gEAAgE;gBAChE,kEAAkE;gBAClE,+DAA+D;gBAC/D,0BAA0B;gBAC1B,IAAI,MAAM,KAAK,SAAS;oBAAE,SAAS;gBACnC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;gBACvB,IAAI,GAAG,GAAG,IAAI;oBAAE,IAAI,GAAG,GAAG,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAChB,QAA6B,EAC7B,KAAiC;IAEjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QACjE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC;IAChB,MAAM,IAAI,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,QAAQ;QAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,yEAAyE;IACzE,0EAA0E;IAC1E,qEAAqE;IACrE,sEAAsE;IACtE,wEAAwE;IACxE,oEAAoE;IACpE,sEAAsE;IACtE,uCAAuC;IACvC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,GAAW,EAAY,EAAE;QAC1D,MAAM,IAAI,GAAa,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,GAAuB,GAAG,CAAC;QACrC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAChD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK;YAAE,SAAS;QAExC,MAAM,KAAK,GAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;YACrC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3B,KAAK,CAAC,GAAG,EAAE,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC5B,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACb,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,IAA8B;IAE9B,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACd,IAAI,CAAC,IAAI,KAAK,WAAW,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,IAA8B;IAE9B,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACd,IAAI,CAAC,IAAI,KAAK,WAAW,CAC1B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,qBAAqB,CAAC,MAAe;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChE,0DAA0D;IAC1D,8DAA8D;IAC9D,MAAM,GAAG,GAAG,MAA2C,CAAC;IACxD,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC;IAChC,MAAM,KAAK,GACT,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;QACvC,CAAC,CAAE,OAAyC,CAAC,MAAM;QACnD,CAAC,CAAC,MAAM,CAAC;IACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAA0C,CAAC;IACvD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,OAAO,GAAI,KAA2C,CAAC,OAAO,CAAC;IACrE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,SAAS,GAAI,OAAuC,CAAC,IAAI,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC7D,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Canonical `isThenable` for the SDK's "consumer-supplied async function
3
+ * survives sync-loop dispatch" pattern.
4
+ *
5
+ * Used everywhere a consumer-registered handler runs inside a sync `for`
6
+ * loop and may return a Promise (or rejection-bearing thenable) — the
7
+ * caller chains `.then(undefined, onReject)` so a rejection lands on the
8
+ * SDK's `[@qodo/sdk]` breadcrumb channel rather than escaping as a
9
+ * process-level `unhandledRejection`.
10
+ *
11
+ * **Why a separate module:** two earlier copies (one in
12
+ * `src/client/observers.ts`, one inlined in `src/client/ToolClient.ts`)
13
+ * diverged — the ToolClient copy accepted only `typeof === 'object'`,
14
+ * missing callable thenables (a function with a `.then` property, valid
15
+ * per the Promises/A+ spec). One canonical implementation removes the
16
+ * "diverging mirror" maintenance trap.
17
+ *
18
+ * **Why callable thenables matter:** they're rare in TypeScript code
19
+ * (the type system makes them awkward to construct), but valid JS code
20
+ * can produce them via `Object.assign(() => {}, { then: ... })` or
21
+ * via `class extends Function`. Without the function-arm check, such
22
+ * a handler would have its rejection treated as "not a Promise" and
23
+ * fall through the sync `try/catch` only, leaving any rejection
24
+ * unhandled.
25
+ */
26
+ export declare function isThenable(value: unknown): value is PromiseLike<unknown>;
27
+ //# sourceMappingURL=thenable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thenable.d.ts","sourceRoot":"","sources":["../../../src/client/internal/thenable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAMxE"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Canonical `isThenable` for the SDK's "consumer-supplied async function
3
+ * survives sync-loop dispatch" pattern.
4
+ *
5
+ * Used everywhere a consumer-registered handler runs inside a sync `for`
6
+ * loop and may return a Promise (or rejection-bearing thenable) — the
7
+ * caller chains `.then(undefined, onReject)` so a rejection lands on the
8
+ * SDK's `[@qodo/sdk]` breadcrumb channel rather than escaping as a
9
+ * process-level `unhandledRejection`.
10
+ *
11
+ * **Why a separate module:** two earlier copies (one in
12
+ * `src/client/observers.ts`, one inlined in `src/client/ToolClient.ts`)
13
+ * diverged — the ToolClient copy accepted only `typeof === 'object'`,
14
+ * missing callable thenables (a function with a `.then` property, valid
15
+ * per the Promises/A+ spec). One canonical implementation removes the
16
+ * "diverging mirror" maintenance trap.
17
+ *
18
+ * **Why callable thenables matter:** they're rare in TypeScript code
19
+ * (the type system makes them awkward to construct), but valid JS code
20
+ * can produce them via `Object.assign(() => {}, { then: ... })` or
21
+ * via `class extends Function`. Without the function-arm check, such
22
+ * a handler would have its rejection treated as "not a Promise" and
23
+ * fall through the sync `try/catch` only, leaving any rejection
24
+ * unhandled.
25
+ */
26
+ export function isThenable(value) {
27
+ return (value !== null &&
28
+ (typeof value === 'object' || typeof value === 'function') &&
29
+ typeof value.then === 'function');
30
+ }
31
+ //# sourceMappingURL=thenable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thenable.js","sourceRoot":"","sources":["../../../src/client/internal/thenable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAC1D,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU,CACzD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * `AsyncQueue<T>` — buffered async iterator helper.
3
+ *
4
+ * Producers `push` values; consumers `await next()` to receive them. Producers
5
+ * call `close()` on clean termination or `fail(err)` on transport-level error.
6
+ *
7
+ * Single-consumer by design — every QAR task subscription owns one queue. If
8
+ * you need fan-out, make N queues and push to each.
9
+ */
10
+ export declare class AsyncQueue<T> {
11
+ private readonly buffer;
12
+ private readonly waiters;
13
+ private closed;
14
+ private terminalError;
15
+ /** Push a value to the queue. No-op once the queue is closed. */
16
+ push(value: T): void;
17
+ /**
18
+ * Mark the queue terminated cleanly. Pending and future `next()` calls
19
+ * resolve with `{ done: true }` once the buffer drains.
20
+ */
21
+ close(): void;
22
+ /**
23
+ * Mark the queue terminated with an error. The next `next()` call (or any
24
+ * pending one) rejects with `err`.
25
+ */
26
+ fail(err: Error): void;
27
+ /** Whether the queue has been closed (cleanly or via `fail`). */
28
+ get isClosed(): boolean;
29
+ /** Pull the next value. Resolves on push, rejects on fail, terminates on close+drain. */
30
+ next(): Promise<IteratorResult<T>>;
31
+ }
32
+ //# sourceMappingURL=iterator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterator.d.ts","sourceRoot":"","sources":["../../src/client/iterator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,qBAAa,UAAU,CAAC,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAsB;IAE3C,iEAAiE;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAU3B;;;OAGG;IACI,KAAK,IAAI,IAAI;IAQpB;;;OAGG;IACI,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAS7B,iEAAiE;IACjE,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,yFAAyF;IAClF,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAe1C"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * `AsyncQueue<T>` — buffered async iterator helper.
3
+ *
4
+ * Producers `push` values; consumers `await next()` to receive them. Producers
5
+ * call `close()` on clean termination or `fail(err)` on transport-level error.
6
+ *
7
+ * Single-consumer by design — every QAR task subscription owns one queue. If
8
+ * you need fan-out, make N queues and push to each.
9
+ */
10
+ export class AsyncQueue {
11
+ buffer = [];
12
+ waiters = [];
13
+ closed = false;
14
+ terminalError = null;
15
+ /** Push a value to the queue. No-op once the queue is closed. */
16
+ push(value) {
17
+ if (this.closed)
18
+ return;
19
+ const waiter = this.waiters.shift();
20
+ if (waiter !== undefined) {
21
+ waiter.resolve({ value, done: false });
22
+ }
23
+ else {
24
+ this.buffer.push(value);
25
+ }
26
+ }
27
+ /**
28
+ * Mark the queue terminated cleanly. Pending and future `next()` calls
29
+ * resolve with `{ done: true }` once the buffer drains.
30
+ */
31
+ close() {
32
+ if (this.closed)
33
+ return;
34
+ this.closed = true;
35
+ for (const waiter of this.waiters.splice(0)) {
36
+ waiter.resolve({ value: undefined, done: true });
37
+ }
38
+ }
39
+ /**
40
+ * Mark the queue terminated with an error. The next `next()` call (or any
41
+ * pending one) rejects with `err`.
42
+ */
43
+ fail(err) {
44
+ if (this.closed)
45
+ return;
46
+ this.closed = true;
47
+ this.terminalError = err;
48
+ for (const waiter of this.waiters.splice(0)) {
49
+ waiter.reject(err);
50
+ }
51
+ }
52
+ /** Whether the queue has been closed (cleanly or via `fail`). */
53
+ get isClosed() {
54
+ return this.closed;
55
+ }
56
+ /** Pull the next value. Resolves on push, rejects on fail, terminates on close+drain. */
57
+ next() {
58
+ if (this.buffer.length > 0) {
59
+ const value = this.buffer.shift();
60
+ return Promise.resolve({ value, done: false });
61
+ }
62
+ if (this.closed) {
63
+ if (this.terminalError !== null) {
64
+ return Promise.reject(this.terminalError);
65
+ }
66
+ return Promise.resolve({ value: undefined, done: true });
67
+ }
68
+ return new Promise((resolve, reject) => {
69
+ this.waiters.push({ resolve, reject });
70
+ });
71
+ }
72
+ }
73
+ //# sourceMappingURL=iterator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterator.js","sourceRoot":"","sources":["../../src/client/iterator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,OAAO,UAAU;IACJ,MAAM,GAAQ,EAAE,CAAC;IACjB,OAAO,GAAgB,EAAE,CAAC;IACnC,MAAM,GAAG,KAAK,CAAC;IACf,aAAa,GAAiB,IAAI,CAAC;IAE3C,iEAAiE;IAC1D,IAAI,CAAC,KAAQ;QAClB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,IAAI,CAAC,GAAU;QACpB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,yFAAyF;IAClF,IAAI;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAO,CAAC;YACvC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Browser stub for `McpClientPool`. The real pool statically imports
3
+ * `@modelcontextprotocol/sdk/client/stdio.js`, which pulls Node-only
4
+ * `node:process` + `node:stream` + `child_process` into the import
5
+ * graph. Bundlers under `--platform=browser` can't resolve those, so
6
+ * the browser export of `@qodo/sdk` swaps in this stub.
7
+ *
8
+ * The stub keeps the same `register` / `ready` / `callTool` / `listTools`
9
+ * / `removeAndClose` / `resolveMcpForTool` / `dispose` surface so
10
+ * `QarRegistryClient`'s typing is preserved across both bundles. Every
11
+ * non-sdk transport register call throws synchronously with a typed
12
+ * error pointing at the cause; the in-process `'sdk'` config never
13
+ * reaches the pool (per `QarRegistryClient.registerMcp`), so consumers
14
+ * wiring only `transport: 'sdk'` in browser are unaffected.
15
+ *
16
+ * Browser support for remote MCP transports is a future-work item —
17
+ * it requires a fetch-based Streamable HTTP transport that doesn't
18
+ * pull stdio + child_process into the static import graph.
19
+ */
20
+ import type { RemoteSseMcpConfig, RemoteStreamableHttpMcpConfig, StdioMcpConfig } from '../QarRegistryClient.js';
21
+ /**
22
+ * Mirror of the Node-side {@link PoolableMcpConfig} so the typed pool
23
+ * surface is identical across bundles. Browser register always throws —
24
+ * the type narrow keeps consumer call sites lined up with the Node
25
+ * pool's signature.
26
+ */
27
+ export type PoolableMcpConfig = StdioMcpConfig | RemoteStreamableHttpMcpConfig | RemoteSseMcpConfig;
28
+ /** Mirror of the Node-side `ToolListEntry` so the typed surface lines up. */
29
+ export interface ToolListEntry {
30
+ readonly name: string;
31
+ readonly description?: string;
32
+ readonly inputSchema?: {
33
+ readonly [key: string]: unknown;
34
+ };
35
+ }
36
+ /**
37
+ * Mirror of the Node-side {@link PreparedEntry}. Browser `prepareEntry`
38
+ * never returns one (it throws), but the type is kept for source-level
39
+ * parity so `QarRegistryClient.registerMcp` typechecks identically
40
+ * against both pool implementations.
41
+ */
42
+ export interface PreparedEntry {
43
+ readonly client: never;
44
+ readonly transport: never;
45
+ readonly transportLabel: 'remote-streamable-http' | 'remote-sse' | 'stdio';
46
+ }
47
+ export declare class McpClientPool {
48
+ /**
49
+ * The Node pool's two-phase commit (`prepareEntry` + `commitEntry`) is
50
+ * called by `QarRegistryClient.registerMcp` for every non-`sdk`
51
+ * config. The browser stub MUST mirror that surface or browser-bundle
52
+ * consumers registering a remote MCP would crash with `prepareEntry
53
+ * is not a function` before reaching `register`. Both phases throw
54
+ * the same typed error as the legacy single-call `register` so the
55
+ * consumer-facing failure shape is identical.
56
+ */
57
+ prepareEntry(name: string, config: PoolableMcpConfig): PreparedEntry;
58
+ commitEntry(name: string, _prepared: PreparedEntry): void;
59
+ register(name: string, config: PoolableMcpConfig): void;
60
+ ready(_name: string): Promise<void>;
61
+ listTools(_name: string): Promise<readonly ToolListEntry[] | undefined>;
62
+ callTool(name: string, toolName: string, _args: {
63
+ readonly [key: string]: unknown;
64
+ }): Promise<{
65
+ readonly [key: string]: unknown;
66
+ }>;
67
+ resolveMcpForTool(_toolNameOrPrefixed: string): {
68
+ readonly mcpName: string;
69
+ readonly toolName: string;
70
+ } | undefined;
71
+ removeAndClose(_name: string): void;
72
+ waitForCatalogsToSettle(_timeoutMs?: number): Promise<void>;
73
+ dispose(): Promise<void>;
74
+ _hasEntry(_name: string): boolean;
75
+ }
76
+ //# sourceMappingURL=McpClientPool.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpClientPool.browser.d.ts","sourceRoot":"","sources":["../../../src/client/mcp/McpClientPool.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,6BAA6B,GAC7B,kBAAkB,CAAC;AAEvB,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAC5D;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,wBAAwB,GAAG,YAAY,GAAG,OAAO,CAAC;CAC5E;AAED,qBAAa,aAAa;IACxB;;;;;;;;OAQG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,aAAa;IASpE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAYzD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IASjD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAIvE,QAAQ,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GACzC,OAAO,CAAC;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IASxC,iBAAiB,CACtB,mBAAmB,EAAE,MAAM,GAC1B;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAI/D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGzC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Browser stub for `McpClientPool`. The real pool statically imports
3
+ * `@modelcontextprotocol/sdk/client/stdio.js`, which pulls Node-only
4
+ * `node:process` + `node:stream` + `child_process` into the import
5
+ * graph. Bundlers under `--platform=browser` can't resolve those, so
6
+ * the browser export of `@qodo/sdk` swaps in this stub.
7
+ *
8
+ * The stub keeps the same `register` / `ready` / `callTool` / `listTools`
9
+ * / `removeAndClose` / `resolveMcpForTool` / `dispose` surface so
10
+ * `QarRegistryClient`'s typing is preserved across both bundles. Every
11
+ * non-sdk transport register call throws synchronously with a typed
12
+ * error pointing at the cause; the in-process `'sdk'` config never
13
+ * reaches the pool (per `QarRegistryClient.registerMcp`), so consumers
14
+ * wiring only `transport: 'sdk'` in browser are unaffected.
15
+ *
16
+ * Browser support for remote MCP transports is a future-work item —
17
+ * it requires a fetch-based Streamable HTTP transport that doesn't
18
+ * pull stdio + child_process into the static import graph.
19
+ */
20
+ import { QodoMcpClientError } from '../errors.js';
21
+ export class McpClientPool {
22
+ /**
23
+ * The Node pool's two-phase commit (`prepareEntry` + `commitEntry`) is
24
+ * called by `QarRegistryClient.registerMcp` for every non-`sdk`
25
+ * config. The browser stub MUST mirror that surface or browser-bundle
26
+ * consumers registering a remote MCP would crash with `prepareEntry
27
+ * is not a function` before reaching `register`. Both phases throw
28
+ * the same typed error as the legacy single-call `register` so the
29
+ * consumer-facing failure shape is identical.
30
+ */
31
+ prepareEntry(name, config) {
32
+ throw new QodoMcpClientError(name, config.transport, `Remote / stdio MCP transports are not supported in the browser bundle (transport='${config.transport}'). ` +
33
+ `Run on Node, or use 'transport: \"sdk\"' for in-process MCPs.`);
34
+ }
35
+ commitEntry(name, _prepared) {
36
+ // Defensive — `prepareEntry` always throws in the browser, so a
37
+ // well-formed call site (registerMcp's two-phase commit) never
38
+ // reaches this. Hand-rolled callers (tests, advanced consumers)
39
+ // that bypass `prepareEntry` get a parallel typed error.
40
+ throw new QodoMcpClientError(name, '(browser)', `Remote / stdio MCP commitEntry is not supported in the browser bundle (called for '${name}').`);
41
+ }
42
+ register(name, config) {
43
+ throw new QodoMcpClientError(name, config.transport, `Remote / stdio MCP transports are not supported in the browser bundle (transport='${config.transport}'). ` +
44
+ `Run on Node, or use 'transport: \"sdk\"' for in-process MCPs.`);
45
+ }
46
+ async ready(_name) {
47
+ // Symmetric with the Node pool: ready is a no-op for unknown names.
48
+ // Browser pool is always "empty"; this never rejects.
49
+ return undefined;
50
+ }
51
+ async listTools(_name) {
52
+ return undefined;
53
+ }
54
+ async callTool(name, toolName, _args) {
55
+ throw new QodoMcpClientError(name, '(browser)', `Remote / stdio MCP transports are not supported in the browser bundle ` +
56
+ `(callTool('${toolName}') on MCP '${name}').`);
57
+ }
58
+ resolveMcpForTool(_toolNameOrPrefixed) {
59
+ return undefined;
60
+ }
61
+ removeAndClose(_name) {
62
+ // No-op — register always throws, so no entries to drop.
63
+ }
64
+ async waitForCatalogsToSettle(_timeoutMs) {
65
+ // Browser stub holds no entries; nothing to wait on. The Node pool's
66
+ // implementation pre-fetches the catalog on connect; here there's no
67
+ // connect to populate from. Return immediately so the bridge's
68
+ // bare-name fallback doesn't stall.
69
+ return undefined;
70
+ }
71
+ async dispose() {
72
+ // No-op.
73
+ }
74
+ _hasEntry(_name) {
75
+ return false;
76
+ }
77
+ }
78
+ //# sourceMappingURL=McpClientPool.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpClientPool.browser.js","sourceRoot":"","sources":["../../../src/client/mcp/McpClientPool.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAqClD,MAAM,OAAO,aAAa;IACxB;;;;;;;;OAQG;IACI,YAAY,CAAC,IAAY,EAAE,MAAyB;QACzD,MAAM,IAAI,kBAAkB,CAC1B,IAAI,EACJ,MAAM,CAAC,SAAS,EAChB,qFAAqF,MAAM,CAAC,SAAS,MAAM;YACzG,+DAA+D,CAClE,CAAC;IACJ,CAAC;IAEM,WAAW,CAAC,IAAY,EAAE,SAAwB;QACvD,gEAAgE;QAChE,+DAA+D;QAC/D,gEAAgE;QAChE,yDAAyD;QACzD,MAAM,IAAI,kBAAkB,CAC1B,IAAI,EACJ,WAAW,EACX,sFAAsF,IAAI,KAAK,CAChG,CAAC;IACJ,CAAC;IAEM,QAAQ,CAAC,IAAY,EAAE,MAAyB;QACrD,MAAM,IAAI,kBAAkB,CAC1B,IAAI,EACJ,MAAM,CAAC,SAAS,EAChB,qFAAqF,MAAM,CAAC,SAAS,MAAM;YACzG,+DAA+D,CAClE,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,KAAa;QAC9B,oEAAoE;QACpE,sDAAsD;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,KAAa;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,IAAY,EACZ,QAAgB,EAChB,KAA0C;QAE1C,MAAM,IAAI,kBAAkB,CAC1B,IAAI,EACJ,WAAW,EACX,wEAAwE;YACtE,cAAc,QAAQ,cAAc,IAAI,KAAK,CAChD,CAAC;IACJ,CAAC;IAEM,iBAAiB,CACtB,mBAA2B;QAE3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,cAAc,CAAC,KAAa;QACjC,yDAAyD;IAC3D,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,UAAmB;QACtD,qEAAqE;QACrE,qEAAqE;QACrE,+DAA+D;QAC/D,oCAAoC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,SAAS;IACX,CAAC;IAEM,SAAS,CAAC,KAAa;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,236 @@
1
+ /**
2
+ * `McpClientPool` — owns the connected `@modelcontextprotocol/sdk` `Client`
3
+ * instances for remote (Streamable HTTP / SSE) and stdio MCPs registered via
4
+ * `client.qar.registerMcp`. The SDK does not invent a wheel here — every
5
+ * piece of MCP protocol mechanics (JSON-RPC framing, initialize handshake,
6
+ * capability negotiation, tool listing, tool invocation) is owned by the
7
+ * canonical MCP TypeScript SDK; this pool is the thin facade that maps the
8
+ * SDK's `McpConfig` discriminator onto the right `Transport` constructor,
9
+ * holds the live `Client`, and dispatches `callTool` round-trips.
10
+ *
11
+ * **Lifecycle.**
12
+ * - `register(name, config)` is sync — it instantiates the right transport
13
+ * + `Client`, kicks off `client.connect(transport)` in the background,
14
+ * and stores the in-flight `Promise<void>` so `ready(name)` /
15
+ * `callTool(...)` can await it. Errors during connect surface as a
16
+ * typed {@link QodoMcpClientError} on the first awaited call.
17
+ * - `removeAndClose(name)` is fire-and-forget — closes the underlying
18
+ * `Client` if connected, awaits the in-flight connect if any, and
19
+ * drops the entry. Idempotent.
20
+ * - `dispose()` closes every entry in parallel. Called from
21
+ * `QodoClient.disconnect()`.
22
+ *
23
+ * **Tool catalog.** Each entry caches the result of `Client.listTools()`
24
+ * during connect. `resolveMcpForTool(name)` lets the SDK's generic
25
+ * `tool.request` bridge map a `ToolCall.name` string onto the owning MCP
26
+ * — accepting both bare names (`'search_qodo_documentation'`) and
27
+ * server-prefixed forms (`'qodo-docs.search_qodo_documentation'`,
28
+ * `'qodo-docs:search_qodo_documentation'`, `'qodo-docs/...'`). The
29
+ * prefix form is verified against the registered MCP set, but the suffix
30
+ * is not validated against the cached catalog — `callTool` round-trips
31
+ * the canonical "unknown tool" surface from the MCP itself.
32
+ *
33
+ * **Header substitution.** `${ENV_VAR}` references inside header values
34
+ * (and stdio `env` map values) are resolved against `process.env` at
35
+ * connect time. Preserved verbatim from SDK1's `mcpServers` ergonomic.
36
+ *
37
+ * **No backwards-compat shims.** This is the 2.x clean-slate path —
38
+ * the SDK does not adapt SDK1 configs at runtime. Consumers wiring
39
+ * SDK1 configs map them onto the new transport names at the call
40
+ * site.
41
+ */
42
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
43
+ import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
44
+ import type { RemoteSseMcpConfig, RemoteStreamableHttpMcpConfig, StdioMcpConfig } from '../QarRegistryClient.js';
45
+ /**
46
+ * Pool-internal canonical shape — what the pool's `prepareEntry` and
47
+ * `register` accept. Excludes both the in-process `'sdk'` config (which
48
+ * never reaches the pool) AND the SDK1 URL-only ergonomic
49
+ * (`UrlOnlyMcpConfig` — normalized to `'remote-streamable-http'` by
50
+ * `QarRegistryClient.registerMcp` before reaching the pool). Keeping the
51
+ * type narrow here means `prepareEntry` doesn't have to defensively
52
+ * branch on the consumer-side ergonomic.
53
+ */
54
+ export type PoolableMcpConfig = StdioMcpConfig | RemoteStreamableHttpMcpConfig | RemoteSseMcpConfig;
55
+ /**
56
+ * Output of {@link McpClientPool.prepareEntry} — the synchronously-
57
+ * constructed `Client` + `Transport` pair that hasn't been fired up yet.
58
+ * Pass to {@link McpClientPool.commitEntry} to install + start the
59
+ * background connect. Discarding a prepared entry without committing
60
+ * leaks nothing — neither side has any I/O bound to it yet.
61
+ */
62
+ export interface PreparedEntry {
63
+ readonly client: Client;
64
+ readonly transport: Transport;
65
+ readonly transportLabel: 'remote-streamable-http' | 'remote-sse' | 'stdio';
66
+ }
67
+ /**
68
+ * Tool catalog entry — mirrors the MCP SDK's `Tool` shape, kept narrow.
69
+ *
70
+ * The fields beyond `name` flow through to the MCP projection layer's
71
+ * `DiscoveredMcpTool` (consumer-facing Shape C filter input) and on into
72
+ * the projected `FunctionToolDef` shipped to QAR. `inputSchema` is the
73
+ * JSON Schema for call arguments; `outputSchema` mirrors the MCP
74
+ * 2025-06-18 addition and is `undefined` on older servers; `annotations`
75
+ * carries the upstream advisory hints (`readOnlyHint`, `destructiveHint`,
76
+ * `idempotentHint`, `openWorldHint`, `title`).
77
+ */
78
+ export interface ToolListEntry {
79
+ readonly name: string;
80
+ readonly description?: string;
81
+ readonly inputSchema?: {
82
+ readonly [key: string]: unknown;
83
+ };
84
+ readonly outputSchema?: {
85
+ readonly [key: string]: unknown;
86
+ };
87
+ readonly annotations?: {
88
+ readonly title?: string;
89
+ readonly readOnlyHint?: boolean;
90
+ readonly destructiveHint?: boolean;
91
+ readonly idempotentHint?: boolean;
92
+ readonly openWorldHint?: boolean;
93
+ };
94
+ }
95
+ export declare class McpClientPool {
96
+ private readonly entries;
97
+ /**
98
+ * Register a remote / stdio MCP. Sync — the actual `Client.connect` runs
99
+ * in the background; the `entry.connect` promise is the seam every
100
+ * dependent surface (`ready`, `callTool`, `listTools`) awaits.
101
+ *
102
+ * **Atomic register.** {@link prepareEntry} constructs the `Client` +
103
+ * `Transport` (throws synchronously on bad URL) and stores no state;
104
+ * {@link commitEntry} installs the prepared entry into the pool and
105
+ * fires the background connect. Callers needing to sequence the
106
+ * prepare-then-commit cycle around their own state mutations should use
107
+ * the two-phase form (`QarRegistryClient.registerMcp` does this so a
108
+ * synchronous prepare throw never leaves the registry / pool / count
109
+ * out of sync). The single-call form is kept for ad-hoc callers
110
+ * (tests, future direct-pool consumers) — it just runs prepare +
111
+ * commit in sequence.
112
+ *
113
+ * Throws synchronously on the supported discriminators only (the
114
+ * `transport: 'sdk'` case never reaches here — `QarRegistryClient` routes
115
+ * those through the in-process handler). On any other discriminator the
116
+ * caller already passed a typescript-impossible shape; surface a runtime
117
+ * error rather than silently storing a never-callable entry.
118
+ */
119
+ register(name: string, config: PoolableMcpConfig): void;
120
+ /**
121
+ * Two-phase commit, phase 1 — construct `Client` + `Transport` without
122
+ * mutating pool state. Throws synchronously on bad URL / unsupported
123
+ * transport. Cheap to discard if the caller's surrounding validation
124
+ * fails after this returns: nothing is fired up yet.
125
+ */
126
+ prepareEntry(name: string, config: PoolableMcpConfig): PreparedEntry;
127
+ /**
128
+ * Two-phase commit, phase 2 — install the prepared entry into the pool
129
+ * and fire the background connect. Never throws (the only failure mode
130
+ * was synchronous and already surfaced from {@link prepareEntry}).
131
+ * Overwrites any same-named entry without closing it; callers wanting
132
+ * close-then-replace semantics should call {@link removeAndClose}
133
+ * before this.
134
+ */
135
+ commitEntry(name: string, prepared: PreparedEntry): void;
136
+ /**
137
+ * Resolve when the MCP's connect + tool-catalog pre-fetch have finished.
138
+ * Resolves immediately for unknown names (mirrors the idempotency posture
139
+ * of `removeAndClose`); rejects with `QodoMcpClientError` if connect
140
+ * failed.
141
+ */
142
+ ready(name: string): Promise<void>;
143
+ /**
144
+ * Return the cached tool catalog. Awaits any in-flight connect.
145
+ * `undefined` for unknown names; throws `QodoMcpClientError` when the
146
+ * pool entry was closed before catalog resolution.
147
+ */
148
+ listTools(name: string): Promise<readonly ToolListEntry[] | undefined>;
149
+ /**
150
+ * Invoke `Client.callTool` against the named MCP. Awaits any in-flight
151
+ * connect. Errors:
152
+ * - Unknown MCP name → `QodoMcpClientError` (consumer registered the
153
+ * name with `transport: 'sdk'`, then asked the pool to dispatch —
154
+ * shouldn't happen via the SDK's own bridge, but defensive).
155
+ * - Connect failure → `QodoMcpClientError` (propagated from the
156
+ * stored `entry.connect` Promise).
157
+ * - `callTool` transport failure → `QodoMcpToolError` with the
158
+ * underlying error on `.cause`.
159
+ * - MCP envelope `isError: true` → `QodoMcpToolError` with `mcpResult`
160
+ * populated so callers can read the per-content array.
161
+ */
162
+ callTool(name: string, toolName: string, args: {
163
+ readonly [key: string]: unknown;
164
+ }): Promise<{
165
+ readonly [key: string]: unknown;
166
+ }>;
167
+ /**
168
+ * Resolve a `ToolCall.name` string to the owning MCP + bare tool name.
169
+ * Prefix forms (`mcp.tool`, `mcp:tool`, `mcp/tool`) win over bare-name
170
+ * scanning when the prefix matches a registered MCP — disambiguates
171
+ * collisions when two MCPs advertise the same tool. Bare matching
172
+ * scans in registration order.
173
+ */
174
+ resolveMcpForTool(toolNameOrPrefixed: string): {
175
+ readonly mcpName: string;
176
+ readonly toolName: string;
177
+ } | undefined;
178
+ /**
179
+ * Close + drop the named entry. Idempotent on unknown names. Awaits the
180
+ * in-flight connect (best-effort — a still-connecting client must be
181
+ * given the chance to land before its `close()` works correctly) but
182
+ * never rethrows: close errors are logged via `console.error` with the
183
+ * `[@qodo/sdk]` breadcrumb prefix so structured-logging consumers see
184
+ * them, but the calling surface (`unregisterMcp`, `replace: true` flow,
185
+ * `dispose`) keeps its sync-ish contract.
186
+ */
187
+ removeAndClose(name: string): void;
188
+ /**
189
+ * Close every entry. Awaitable so `QodoClient.disconnect()` can sequence
190
+ * MCP teardown ahead of the WS close span's completion (the connect
191
+ * promises are awaited; close calls run in parallel).
192
+ */
193
+ dispose(): Promise<void>;
194
+ /**
195
+ * Await every pending MCP's `connect + listTools` cycle. Used by the
196
+ * `tool.request` bridge before falling back to "unresolved" so a tool
197
+ * call arriving immediately after `registerMcp` (before the background
198
+ * connect populates the cached catalog) doesn't race-lose against a
199
+ * legitimate bare-name lookup.
200
+ *
201
+ * Failures on a per-MCP `connect` are swallowed (the resolver only
202
+ * needs the catalog to populate or fail definitively; it doesn't care
203
+ * about the failure mode — the next dispatch will surface the typed
204
+ * error via {@link callTool}). Resolves quickly when every entry
205
+ * already has a populated `tools` field.
206
+ *
207
+ * `timeoutMs` bounds the wait so a slow / unreachable MCP doesn't
208
+ * strand the dispatch hot path. If catalog population doesn't complete
209
+ * within the budget the resolver proceeds with whatever it currently
210
+ * has (typically: marks the call unresolved → bridge emits a
211
+ * deterministic error response). Default 250ms — short enough to keep
212
+ * the dispatch latency contract, long enough that a fast LAN MCP
213
+ * populates well inside the window.
214
+ */
215
+ waitForCatalogsToSettle(timeoutMs?: number): Promise<void>;
216
+ private buildTransport;
217
+ private buildStreamableHttpTransport;
218
+ private buildSseTransport;
219
+ private buildStdioTransport;
220
+ private startConnect;
221
+ /**
222
+ * Tool-catalog refresh helper. Re-fires `client.listTools()` against
223
+ * the same pool entry and replaces the cached catalog if the entry
224
+ * is still the one we're filling (identity check). Used by the
225
+ * `notifications/tools/list_changed` handler installed in
226
+ * {@link startConnect}.
227
+ *
228
+ * Identity-checked twice: once to find the entry before the round-
229
+ * trip (so a fast `removeAndClose` between notification and refresh
230
+ * skips the call entirely), and once after to avoid corrupting a
231
+ * post-replace entry with the prior client's results. Same pattern
232
+ * as the initial connect-time pre-fetch.
233
+ */
234
+ private refreshToolsForEntry;
235
+ }
236
+ //# sourceMappingURL=McpClientPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpClientPool.d.ts","sourceRoot":"","sources":["../../../src/client/mcp/McpClientPool.ts"],"names":[],"mappings":"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"}