@zyycn/claudex 1.0.3-fork.3767904

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 (441) hide show
  1. package/LICENSE.md +5 -0
  2. package/README.md +468 -0
  3. package/bin/claudex.js +40 -0
  4. package/dist/chunk-028383m5.js +654 -0
  5. package/dist/chunk-03metnxx.js +83 -0
  6. package/dist/chunk-06saje2v.js +39 -0
  7. package/dist/chunk-0731m51q.js +8 -0
  8. package/dist/chunk-0b8kwsg7.js +1322 -0
  9. package/dist/chunk-0ef5aqfn.js +266 -0
  10. package/dist/chunk-0paqc2yw.js +15 -0
  11. package/dist/chunk-0q2xkmse.js +58 -0
  12. package/dist/chunk-0vkfrmqm.js +690 -0
  13. package/dist/chunk-0xjaqda8.js +1124 -0
  14. package/dist/chunk-0xkvxzm1.js +788 -0
  15. package/dist/chunk-1141xmr4.js +8 -0
  16. package/dist/chunk-16egjxjg.js +606 -0
  17. package/dist/chunk-197ypc6t.js +281 -0
  18. package/dist/chunk-1bznajh9.js +87 -0
  19. package/dist/chunk-1c04yf47.js +98 -0
  20. package/dist/chunk-1cbn5kxf.js +7 -0
  21. package/dist/chunk-1ed0q5rg.js +825 -0
  22. package/dist/chunk-1h2famwb.js +49 -0
  23. package/dist/chunk-1pq0cspt.js +5393 -0
  24. package/dist/chunk-1vsjpj70.js +584 -0
  25. package/dist/chunk-1xkekb9y.js +19 -0
  26. package/dist/chunk-1zmd9pc1.js +98 -0
  27. package/dist/chunk-21tvhhzh.js +470 -0
  28. package/dist/chunk-238g70xa.js +36 -0
  29. package/dist/chunk-27xc1csx.js +104 -0
  30. package/dist/chunk-28eznw6x.js +266 -0
  31. package/dist/chunk-29pq2e6e.js +162 -0
  32. package/dist/chunk-2a42s11t.js +412 -0
  33. package/dist/chunk-2degyn49.js +696 -0
  34. package/dist/chunk-2eykm0j0.js +20 -0
  35. package/dist/chunk-2gzv8nrw.js +205 -0
  36. package/dist/chunk-2k995y2x.js +880 -0
  37. package/dist/chunk-2nayx6q1.js +63 -0
  38. package/dist/chunk-2nhwtayn.js +285 -0
  39. package/dist/chunk-2pfz17d6.js +89 -0
  40. package/dist/chunk-2q98zgr7.js +120 -0
  41. package/dist/chunk-2r6p51j7.js +40 -0
  42. package/dist/chunk-2t3vw4tx.js +22820 -0
  43. package/dist/chunk-30rst83v.js +168 -0
  44. package/dist/chunk-34c7ey17.js +155 -0
  45. package/dist/chunk-34sv2j2s.js +690 -0
  46. package/dist/chunk-37jrk2jd.js +117 -0
  47. package/dist/chunk-38700exh.js +42 -0
  48. package/dist/chunk-38qkmq6a.js +274 -0
  49. package/dist/chunk-3b00105q.js +17 -0
  50. package/dist/chunk-3b6pmmxx.js +195 -0
  51. package/dist/chunk-3bbk64vc.js +8966 -0
  52. package/dist/chunk-3c25bcsw.js +17 -0
  53. package/dist/chunk-3cdajpj8.js +90 -0
  54. package/dist/chunk-3cr1nha2.js +198 -0
  55. package/dist/chunk-3d9rvrf3.js +103 -0
  56. package/dist/chunk-3dzknnm6.js +38 -0
  57. package/dist/chunk-3es29zn5.js +105 -0
  58. package/dist/chunk-3h8a89gy.js +46 -0
  59. package/dist/chunk-3pfbtkm1.js +105 -0
  60. package/dist/chunk-3pka9vsd.js +129 -0
  61. package/dist/chunk-3raf9w1p.js +115 -0
  62. package/dist/chunk-3vs3nm7w.js +31 -0
  63. package/dist/chunk-3w31rhxj.js +98 -0
  64. package/dist/chunk-3w6s9m5w.js +16 -0
  65. package/dist/chunk-3ze6jmfd.js +74 -0
  66. package/dist/chunk-40er4qb4.js +202 -0
  67. package/dist/chunk-40nmwkst.js +2838 -0
  68. package/dist/chunk-42ytstxy.js +109 -0
  69. package/dist/chunk-44fpr6jq.js +434 -0
  70. package/dist/chunk-495d85x1.js +8066 -0
  71. package/dist/chunk-49eehs1a.js +165 -0
  72. package/dist/chunk-4bfhat6k.js +89 -0
  73. package/dist/chunk-4cfef3e8.js +602 -0
  74. package/dist/chunk-4g3v8y12.js +23 -0
  75. package/dist/chunk-4jm600zv.js +13 -0
  76. package/dist/chunk-4n6x67m0.js +88 -0
  77. package/dist/chunk-4qz9vbs1.js +349 -0
  78. package/dist/chunk-4r4hb7td.js +564 -0
  79. package/dist/chunk-4tabtkpc.js +496 -0
  80. package/dist/chunk-4yd15ach.js +84 -0
  81. package/dist/chunk-4zfkzkt6.js +37 -0
  82. package/dist/chunk-50kxdgx6.js +255 -0
  83. package/dist/chunk-55wgxwa9.js +13877 -0
  84. package/dist/chunk-56jgazae.js +28 -0
  85. package/dist/chunk-56xwtm1c.js +229 -0
  86. package/dist/chunk-5nvye4tw.js +69 -0
  87. package/dist/chunk-5qe9gb40.js +99 -0
  88. package/dist/chunk-5vx14htd.js +87 -0
  89. package/dist/chunk-5y1tah98.js +756 -0
  90. package/dist/chunk-64wxa5zw.js +810 -0
  91. package/dist/chunk-65s8h28p.js +123 -0
  92. package/dist/chunk-6bd8brc4.js +48 -0
  93. package/dist/chunk-6dec7yq0.js +79 -0
  94. package/dist/chunk-6dj5t602.js +341 -0
  95. package/dist/chunk-6ghjp8m8.js +87 -0
  96. package/dist/chunk-6gr3c3w9.js +378 -0
  97. package/dist/chunk-6n2qgm9v.js +8 -0
  98. package/dist/chunk-6tq2v3rk.js +186 -0
  99. package/dist/chunk-6v4a0yqc.js +299 -0
  100. package/dist/chunk-73rpbt04.js +1947 -0
  101. package/dist/chunk-760252na.js +101 -0
  102. package/dist/chunk-7739pg2c.js +4261 -0
  103. package/dist/chunk-7956bsy7.js +85 -0
  104. package/dist/chunk-7aw745vx.js +40175 -0
  105. package/dist/chunk-7e6ahfxz.js +61 -0
  106. package/dist/chunk-7en5fc51.js +263 -0
  107. package/dist/chunk-7gf30dzb.js +184 -0
  108. package/dist/chunk-7kpp8d5g.js +644 -0
  109. package/dist/chunk-7m2nd8da.js +110 -0
  110. package/dist/chunk-7wb627p2.js +418 -0
  111. package/dist/chunk-7wm5s02e.js +216 -0
  112. package/dist/chunk-7x9kyp5a.js +780 -0
  113. package/dist/chunk-7zaxrfnt.js +42 -0
  114. package/dist/chunk-808756xy.js +348 -0
  115. package/dist/chunk-819jqhcr.js +192 -0
  116. package/dist/chunk-83hfzbx3.js +10 -0
  117. package/dist/chunk-83myqqga.js +642 -0
  118. package/dist/chunk-84xggq3w.js +713 -0
  119. package/dist/chunk-85n4mydq.js +100 -0
  120. package/dist/chunk-86czeeyf.js +38 -0
  121. package/dist/chunk-8aww16wk.js +26840 -0
  122. package/dist/chunk-8bedvdm1.js +32 -0
  123. package/dist/chunk-8hq5kk3y.js +44 -0
  124. package/dist/chunk-8jmc7234.js +3198 -0
  125. package/dist/chunk-8jq1r68j.js +5946 -0
  126. package/dist/chunk-8mtb0zzs.js +40 -0
  127. package/dist/chunk-8qm7hxn7.js +27 -0
  128. package/dist/chunk-8tnsngw2.js +31 -0
  129. package/dist/chunk-8y0qvap3.js +333 -0
  130. package/dist/chunk-8y12jxg8.js +10 -0
  131. package/dist/chunk-8ymf4e6z.js +48 -0
  132. package/dist/chunk-90c8d4yc.js +1549 -0
  133. package/dist/chunk-90wp6wez.js +10510 -0
  134. package/dist/chunk-97q4f0d5.js +160 -0
  135. package/dist/chunk-9gbamk79.js +93 -0
  136. package/dist/chunk-9k2drwej.js +106 -0
  137. package/dist/chunk-9nta4x35.js +726 -0
  138. package/dist/chunk-9v90tzwk.js +175 -0
  139. package/dist/chunk-a8ejc632.js +3094 -0
  140. package/dist/chunk-a8fvd2bk.js +224 -0
  141. package/dist/chunk-a8pyxxmz.js +374 -0
  142. package/dist/chunk-a9vdeb6y.js +258 -0
  143. package/dist/chunk-a9zh40sj.js +48 -0
  144. package/dist/chunk-abmaztjr.js +157 -0
  145. package/dist/chunk-actwcnvp.js +69 -0
  146. package/dist/chunk-acy41n63.js +339 -0
  147. package/dist/chunk-ah8ppcb2.js +176 -0
  148. package/dist/chunk-aj276jn4.js +95 -0
  149. package/dist/chunk-ajs4f0bc.js +4521 -0
  150. package/dist/chunk-as7vh4kb.js +140 -0
  151. package/dist/chunk-atjpyqps.js +250 -0
  152. package/dist/chunk-azzv8k3w.js +724 -0
  153. package/dist/chunk-b2k6rctr.js +225 -0
  154. package/dist/chunk-b3e5kx55.js +602 -0
  155. package/dist/chunk-b4wg70y1.js +54 -0
  156. package/dist/chunk-b5x836wt.js +114 -0
  157. package/dist/chunk-b75fzr8e.js +969 -0
  158. package/dist/chunk-b8m6vy4x.js +86 -0
  159. package/dist/chunk-b8x1gk3y.js +1299 -0
  160. package/dist/chunk-bjqw6798.js +328 -0
  161. package/dist/chunk-bm1qb16p.js +17 -0
  162. package/dist/chunk-bpkdecb4.js +267 -0
  163. package/dist/chunk-bqfnp99q.js +477 -0
  164. package/dist/chunk-bvp4dgm4.js +182 -0
  165. package/dist/chunk-bwwtzjsw.js +28 -0
  166. package/dist/chunk-by7f0myv.js +91 -0
  167. package/dist/chunk-by9nr4w6.js +442 -0
  168. package/dist/chunk-c2nsc73g.js +1579 -0
  169. package/dist/chunk-c5dc5tw8.js +275 -0
  170. package/dist/chunk-cdz5yb0r.js +57 -0
  171. package/dist/chunk-cfv996bs.js +22 -0
  172. package/dist/chunk-cgfdkzhb.js +12 -0
  173. package/dist/chunk-cjxa22k7.js +438 -0
  174. package/dist/chunk-crkef7n3.js +10476 -0
  175. package/dist/chunk-cssdmv6r.js +127 -0
  176. package/dist/chunk-d69y9a95.js +1316 -0
  177. package/dist/chunk-d6qpsqd1.js +91 -0
  178. package/dist/chunk-d6rxfmhy.js +4389 -0
  179. package/dist/chunk-d88jf4t3.js +525 -0
  180. package/dist/chunk-d8ksq0y0.js +26 -0
  181. package/dist/chunk-d9kz373t.js +122 -0
  182. package/dist/chunk-ddk0ak7r.js +63 -0
  183. package/dist/chunk-ddqs9xnj.js +173 -0
  184. package/dist/chunk-detc4mva.js +99 -0
  185. package/dist/chunk-dfg36kvt.js +691 -0
  186. package/dist/chunk-dgqrcy74.js +48 -0
  187. package/dist/chunk-dhd6zm3z.js +1095 -0
  188. package/dist/chunk-dnh7jtpb.js +37 -0
  189. package/dist/chunk-dq9afpqh.js +432 -0
  190. package/dist/chunk-dqqfd54g.js +672 -0
  191. package/dist/chunk-dstxhxsx.js +121 -0
  192. package/dist/chunk-dv1wfr85.js +6373 -0
  193. package/dist/chunk-dw5yr66c.js +109 -0
  194. package/dist/chunk-dx6pnab5.js +56 -0
  195. package/dist/chunk-dz5j8gp2.js +66 -0
  196. package/dist/chunk-e5pntxye.js +37 -0
  197. package/dist/chunk-ec2tspnc.js +253 -0
  198. package/dist/chunk-eebcvtbb.js +1646 -0
  199. package/dist/chunk-egentr97.js +328 -0
  200. package/dist/chunk-ehtwnxpg.js +1591 -0
  201. package/dist/chunk-en4dwrtx.js +674 -0
  202. package/dist/chunk-enjbm16s.js +212 -0
  203. package/dist/chunk-epf7hfx9.js +130 -0
  204. package/dist/chunk-eqp1rfft.js +17 -0
  205. package/dist/chunk-er596fa7.js +246 -0
  206. package/dist/chunk-ewadzrm8.js +103 -0
  207. package/dist/chunk-ey1kf1m1.js +96 -0
  208. package/dist/chunk-f2xj33w0.js +59 -0
  209. package/dist/chunk-f5ma3nh5.js +3436 -0
  210. package/dist/chunk-f8vjkfqy.js +169 -0
  211. package/dist/chunk-fbpftpf0.js +69 -0
  212. package/dist/chunk-fbv4apne.js +51 -0
  213. package/dist/chunk-fka484jr.js +142 -0
  214. package/dist/chunk-fmkhaba7.js +1585 -0
  215. package/dist/chunk-fny8kwbq.js +88 -0
  216. package/dist/chunk-fvjqz54k.js +297 -0
  217. package/dist/chunk-fxdk70se.js +457 -0
  218. package/dist/chunk-fyc5fepv.js +10 -0
  219. package/dist/chunk-fytfjpnf.js +400 -0
  220. package/dist/chunk-fz99t69n.js +152 -0
  221. package/dist/chunk-g0j0t6qk.js +26 -0
  222. package/dist/chunk-g338npwr.js +1061 -0
  223. package/dist/chunk-g3t0act8.js +8 -0
  224. package/dist/chunk-g5xn13xx.js +143 -0
  225. package/dist/chunk-gc1s3jhh.js +40767 -0
  226. package/dist/chunk-gd397pcz.js +54 -0
  227. package/dist/chunk-gee88a3c.js +2642 -0
  228. package/dist/chunk-gmwkf29y.js +372 -0
  229. package/dist/chunk-gsxnne70.js +6106 -0
  230. package/dist/chunk-gv0tqhg0.js +118 -0
  231. package/dist/chunk-gx25wmv5.js +71 -0
  232. package/dist/chunk-gyj242zr.js +20 -0
  233. package/dist/chunk-gzzfhtdv.js +7189 -0
  234. package/dist/chunk-h0qngp9w.js +157 -0
  235. package/dist/chunk-h0rbjg6x.js +55 -0
  236. package/dist/chunk-h0xeqdrp.js +258 -0
  237. package/dist/chunk-h5f90qy3.js +220 -0
  238. package/dist/chunk-hakdhagh.js +16606 -0
  239. package/dist/chunk-hamj71dy.js +40 -0
  240. package/dist/chunk-hbrqcjwt.js +2334 -0
  241. package/dist/chunk-heg1nmw6.js +16 -0
  242. package/dist/chunk-hh7cmy4k.js +20 -0
  243. package/dist/chunk-hhxj3n5k.js +153 -0
  244. package/dist/chunk-hk9xz7gk.js +118 -0
  245. package/dist/chunk-hmxkx429.js +108 -0
  246. package/dist/chunk-hq6y1jbc.js +89 -0
  247. package/dist/chunk-hqmz36b3.js +552 -0
  248. package/dist/chunk-hrqdc2z6.js +208 -0
  249. package/dist/chunk-hzhe8ygc.js +547 -0
  250. package/dist/chunk-j0xd989k.js +655 -0
  251. package/dist/chunk-j2k4p94p.js +55 -0
  252. package/dist/chunk-j3a4p81y.js +184 -0
  253. package/dist/chunk-j5hc27hv.js +444 -0
  254. package/dist/chunk-j64ga6ta.js +8035 -0
  255. package/dist/chunk-janw82mh.js +1864 -0
  256. package/dist/chunk-jce5r25x.js +18 -0
  257. package/dist/chunk-jd32zbps.js +15 -0
  258. package/dist/chunk-jdgeec04.js +4249 -0
  259. package/dist/chunk-jgpqexxb.js +83 -0
  260. package/dist/chunk-jja22ke5.js +81 -0
  261. package/dist/chunk-jm91zc2r.js +102 -0
  262. package/dist/chunk-jnhkref0.js +30 -0
  263. package/dist/chunk-jrhwm6kh.js +1556 -0
  264. package/dist/chunk-jttemgp6.js +532 -0
  265. package/dist/chunk-jtx453jx.js +281 -0
  266. package/dist/chunk-jwft70vy.js +476 -0
  267. package/dist/chunk-jx817w05.js +11 -0
  268. package/dist/chunk-jzmz18nn.js +65 -0
  269. package/dist/chunk-k0p9w03v.js +4957 -0
  270. package/dist/chunk-k0ymf9zj.js +113 -0
  271. package/dist/chunk-k1tve81h.js +345 -0
  272. package/dist/chunk-k2bkmhp4.js +385 -0
  273. package/dist/chunk-k2qkkhf9.js +463 -0
  274. package/dist/chunk-k542zrk6.js +88 -0
  275. package/dist/chunk-kez03ppq.js +490 -0
  276. package/dist/chunk-kgmzdyrz.js +242 -0
  277. package/dist/chunk-khs0jvy0.js +216 -0
  278. package/dist/chunk-kr244txf.js +306 -0
  279. package/dist/chunk-ksawj46w.js +536 -0
  280. package/dist/chunk-kwekc97v.js +18 -0
  281. package/dist/chunk-kz6f106c.js +6956 -0
  282. package/dist/chunk-kzmfv2aw.js +745 -0
  283. package/dist/chunk-m26pp852.js +87 -0
  284. package/dist/chunk-m4pma84k.js +2057 -0
  285. package/dist/chunk-mfp30vsr.js +458 -0
  286. package/dist/chunk-mjn6p2km.js +92 -0
  287. package/dist/chunk-mk6tjz0j.js +469 -0
  288. package/dist/chunk-mqcwefg3.js +105 -0
  289. package/dist/chunk-mqm3kg01.js +61 -0
  290. package/dist/chunk-mt25echc.js +6157 -0
  291. package/dist/chunk-mw9ve19d.js +277 -0
  292. package/dist/chunk-mxt2wn9a.js +131 -0
  293. package/dist/chunk-n0qaeaa5.js +256 -0
  294. package/dist/chunk-n154ybpk.js +1919 -0
  295. package/dist/chunk-n2ktrmm8.js +62 -0
  296. package/dist/chunk-n59gj2nk.js +438 -0
  297. package/dist/chunk-n7ttdtk0.js +641 -0
  298. package/dist/chunk-nb9z2xs5.js +128 -0
  299. package/dist/chunk-nh8ssb02.js +88 -0
  300. package/dist/chunk-nj17bhkh.js +125 -0
  301. package/dist/chunk-njmw3yt4.js +173564 -0
  302. package/dist/chunk-njwzgb7j.js +61 -0
  303. package/dist/chunk-nka1g8f4.js +773 -0
  304. package/dist/chunk-nq0fxyxh.js +752 -0
  305. package/dist/chunk-nt837qt9.js +21 -0
  306. package/dist/chunk-nwsmn6zm.js +15 -0
  307. package/dist/chunk-nx4e896a.js +208 -0
  308. package/dist/chunk-p2816w9z.js +1486 -0
  309. package/dist/chunk-p2d5nh3g.js +342 -0
  310. package/dist/chunk-p331ghzg.js +391 -0
  311. package/dist/chunk-p4qrpz5a.js +99 -0
  312. package/dist/chunk-p8syd69s.js +47 -0
  313. package/dist/chunk-pdyq9kvn.js +83 -0
  314. package/dist/chunk-pkb4qnmq.js +1391 -0
  315. package/dist/chunk-pkcx8qa3.js +154 -0
  316. package/dist/chunk-pmsp9ed2.js +34 -0
  317. package/dist/chunk-pnmh6v4t.js +373 -0
  318. package/dist/chunk-ps49ymvj.js +43 -0
  319. package/dist/chunk-pwwa7s62.js +11 -0
  320. package/dist/chunk-pxy618ae.js +714 -0
  321. package/dist/chunk-py5y9jh1.js +38 -0
  322. package/dist/chunk-pzz93fck.js +173 -0
  323. package/dist/chunk-q25bjaev.js +15 -0
  324. package/dist/chunk-q756tpn6.js +765 -0
  325. package/dist/chunk-qbt1tq74.js +145 -0
  326. package/dist/chunk-qkkj0em0.js +104 -0
  327. package/dist/chunk-qnfx3qtx.js +617 -0
  328. package/dist/chunk-qp2qdcda.js +100 -0
  329. package/dist/chunk-qpkxg63w.js +160 -0
  330. package/dist/chunk-qqfa0dqg.js +2343 -0
  331. package/dist/chunk-qsd1r4pm.js +9300 -0
  332. package/dist/chunk-qseetcxd.js +908 -0
  333. package/dist/chunk-qvt2hjv0.js +849 -0
  334. package/dist/chunk-qxdv72g8.js +93 -0
  335. package/dist/chunk-qy0vwqgp.js +194 -0
  336. package/dist/chunk-qz2x630m.js +49145 -0
  337. package/dist/chunk-qzqagb7y.js +87 -0
  338. package/dist/chunk-r14xvkat.js +641 -0
  339. package/dist/chunk-r6b58y3x.js +17 -0
  340. package/dist/chunk-r6z6t5wr.js +97 -0
  341. package/dist/chunk-r855fz3z.js +41 -0
  342. package/dist/chunk-raqgs410.js +116 -0
  343. package/dist/chunk-rd5rdsdz.js +95 -0
  344. package/dist/chunk-renve22b.js +524 -0
  345. package/dist/chunk-res7qrc9.js +820 -0
  346. package/dist/chunk-rk7ns7gp.js +220 -0
  347. package/dist/chunk-rm0q8bwx.js +271 -0
  348. package/dist/chunk-rm56f6q8.js +41 -0
  349. package/dist/chunk-rn0v1hk8.js +34 -0
  350. package/dist/chunk-rrxeqt07.js +73 -0
  351. package/dist/chunk-rvgeep5b.js +117 -0
  352. package/dist/chunk-rx4c84ah.js +86 -0
  353. package/dist/chunk-s3pzvdss.js +50 -0
  354. package/dist/chunk-s5vqcxp0.js +54 -0
  355. package/dist/chunk-s88vzmek.js +542 -0
  356. package/dist/chunk-sazb7y67.js +279 -0
  357. package/dist/chunk-sbbj6ta3.js +1711 -0
  358. package/dist/chunk-sd36yzx8.js +954 -0
  359. package/dist/chunk-sdj9b9wh.js +782 -0
  360. package/dist/chunk-shb6nvk6.js +27 -0
  361. package/dist/chunk-szj5wvdy.js +28 -0
  362. package/dist/chunk-t0rgmccj.js +39 -0
  363. package/dist/chunk-t1jh3jk8.js +3036 -0
  364. package/dist/chunk-t3360k46.js +75 -0
  365. package/dist/chunk-t3h6pwp3.js +112 -0
  366. package/dist/chunk-t5ymtx9c.js +1493 -0
  367. package/dist/chunk-t6p76a55.js +120 -0
  368. package/dist/chunk-t7fdh24y.js +648 -0
  369. package/dist/chunk-texzbcna.js +716 -0
  370. package/dist/chunk-tjw7n4me.js +21933 -0
  371. package/dist/chunk-tjyhp966.js +24 -0
  372. package/dist/chunk-tnd5xbeh.js +802 -0
  373. package/dist/chunk-trfa7dbr.js +998 -0
  374. package/dist/chunk-ts2p6bv1.js +224 -0
  375. package/dist/chunk-tssr3fyd.js +287 -0
  376. package/dist/chunk-ttk5dzz8.js +25 -0
  377. package/dist/chunk-tvhjre1h.js +316 -0
  378. package/dist/chunk-txndc2j2.js +70 -0
  379. package/dist/chunk-v1kzp02e.js +785 -0
  380. package/dist/chunk-v2pc6h28.js +32 -0
  381. package/dist/chunk-v78fj8by.js +145 -0
  382. package/dist/chunk-v90xv5n9.js +157 -0
  383. package/dist/chunk-v9smspw2.js +4301 -0
  384. package/dist/chunk-vest0y6x.js +3830 -0
  385. package/dist/chunk-vf5sd1nq.js +12 -0
  386. package/dist/chunk-vhjx5fag.js +56 -0
  387. package/dist/chunk-vjtbtamj.js +165 -0
  388. package/dist/chunk-vkkay00s.js +229 -0
  389. package/dist/chunk-vqc05a0b.js +121 -0
  390. package/dist/chunk-vqk1n5qr.js +63 -0
  391. package/dist/chunk-vqvd3qz0.js +151 -0
  392. package/dist/chunk-vtp96y1a.js +90 -0
  393. package/dist/chunk-vyjeh50y.js +2149 -0
  394. package/dist/chunk-vz6s9tzt.js +43 -0
  395. package/dist/chunk-w3agqtpz.js +42 -0
  396. package/dist/chunk-w3dz905t.js +22 -0
  397. package/dist/chunk-w8yw30sd.js +15 -0
  398. package/dist/chunk-wa6b7bv9.js +467 -0
  399. package/dist/chunk-wb36q47x.js +128 -0
  400. package/dist/chunk-wbnv75aa.js +114 -0
  401. package/dist/chunk-wcepsp07.js +1013 -0
  402. package/dist/chunk-wecrhvf7.js +247 -0
  403. package/dist/chunk-wfz0qffj.js +3939 -0
  404. package/dist/chunk-wgcssf6v.js +722 -0
  405. package/dist/chunk-wn2268qd.js +335 -0
  406. package/dist/chunk-wtr5hjf7.js +3443 -0
  407. package/dist/chunk-wzpdet3m.js +843 -0
  408. package/dist/chunk-x0328bb5.js +305 -0
  409. package/dist/chunk-x5psxyg8.js +20 -0
  410. package/dist/chunk-x8b7vft8.js +132 -0
  411. package/dist/chunk-x8n22y7f.js +5017 -0
  412. package/dist/chunk-xq4cfvpn.js +213 -0
  413. package/dist/chunk-xqdvndvx.js +3394 -0
  414. package/dist/chunk-xrv9qadt.js +44 -0
  415. package/dist/chunk-xsq9ae7x.js +90 -0
  416. package/dist/chunk-xszk7n10.js +14358 -0
  417. package/dist/chunk-xx6h50zt.js +338 -0
  418. package/dist/chunk-y1784krc.js +19 -0
  419. package/dist/chunk-yfcsc3s4.js +153 -0
  420. package/dist/chunk-yngvgvqm.js +103 -0
  421. package/dist/chunk-yntm0ebf.js +500 -0
  422. package/dist/chunk-yw9xqzna.js +71 -0
  423. package/dist/chunk-ywxd4qw4.js +22 -0
  424. package/dist/chunk-yysj6sxt.js +336 -0
  425. package/dist/chunk-yzhxz894.js +32 -0
  426. package/dist/chunk-yztq1rhb.js +60 -0
  427. package/dist/chunk-z06751ss.js +16386 -0
  428. package/dist/chunk-z2dp53wn.js +17 -0
  429. package/dist/chunk-z5cvbngc.js +520 -0
  430. package/dist/chunk-z6vf0bdm.js +101 -0
  431. package/dist/chunk-zbqfbyfb.js +247 -0
  432. package/dist/chunk-zc6g0qqe.js +29 -0
  433. package/dist/chunk-zj863fgn.js +92 -0
  434. package/dist/chunk-zjd1m23p.js +1152 -0
  435. package/dist/chunk-zk2wsm7d.js +15 -0
  436. package/dist/chunk-zmwhk0zy.js +750 -0
  437. package/dist/chunk-zpywc76a.js +862 -0
  438. package/dist/chunk-zqm995gk.js +71 -0
  439. package/dist/chunk-zsfxha74.js +17655 -0
  440. package/dist/cli.js +89 -0
  441. package/package.json +36 -0
@@ -0,0 +1,724 @@
1
+ // @bun
2
+ import {
3
+ cliError,
4
+ cliOk
5
+ } from "./chunk-z2dp53wn.js";
6
+ import {
7
+ AppStateProvider,
8
+ KeybindingSetup,
9
+ SelectMulti,
10
+ addMcpConfig,
11
+ clearMcpClientConfig,
12
+ clearServerTokensFromLocalStorage,
13
+ connectToServer,
14
+ describeMcpConfigFilePath,
15
+ ensureConfigScope,
16
+ getAllMcpConfigs,
17
+ getMcpClientConfig,
18
+ getMcpConfigByName,
19
+ getMcpConfigsByScope,
20
+ getMcpServerConnectionBatchSize,
21
+ getScopeLabel,
22
+ gracefulShutdown,
23
+ init_AppState,
24
+ init_KeybindingProviderSetup,
25
+ init_SelectMulti,
26
+ init_auth,
27
+ init_client,
28
+ init_config as init_config2,
29
+ init_gracefulShutdown,
30
+ init_utils,
31
+ readClientSecret,
32
+ removeMcpConfig,
33
+ saveMcpClientSecret
34
+ } from "./chunk-njmw3yt4.js";
35
+ import"./chunk-j0xd989k.js";
36
+ import"./chunk-t0rgmccj.js";
37
+ import"./chunk-a8fvd2bk.js";
38
+ import"./chunk-pkcx8qa3.js";
39
+ import"./chunk-er596fa7.js";
40
+ import"./chunk-ddk0ak7r.js";
41
+ import {
42
+ Byline,
43
+ ConfigurableShortcutHint,
44
+ Dialog,
45
+ KeyboardShortcutHint,
46
+ init_Byline,
47
+ init_ConfigurableShortcutHint,
48
+ init_Dialog,
49
+ init_KeyboardShortcutHint
50
+ } from "./chunk-k2qkkhf9.js";
51
+ import"./chunk-ehtwnxpg.js";
52
+ import"./chunk-vhjx5fag.js";
53
+ import"./chunk-1ed0q5rg.js";
54
+ import {
55
+ init_p_map,
56
+ pMap
57
+ } from "./chunk-2gzv8nrw.js";
58
+ import"./chunk-j5hc27hv.js";
59
+ import"./chunk-cgfdkzhb.js";
60
+ import"./chunk-khs0jvy0.js";
61
+ import"./chunk-p4qrpz5a.js";
62
+ import"./chunk-9gbamk79.js";
63
+ import"./chunk-pxy618ae.js";
64
+ import"./chunk-gv0tqhg0.js";
65
+ import"./chunk-tnd5xbeh.js";
66
+ import {
67
+ ThemedBox_default,
68
+ ThemedText,
69
+ color,
70
+ init_ink,
71
+ render,
72
+ require_compiler_runtime,
73
+ useTheme
74
+ } from "./chunk-8aww16wk.js";
75
+ import"./chunk-7m2nd8da.js";
76
+ import"./chunk-ps49ymvj.js";
77
+ import {
78
+ require_jsx_dev_runtime,
79
+ require_react
80
+ } from "./chunk-g338npwr.js";
81
+ import"./chunk-f2xj33w0.js";
82
+ import"./chunk-zk2wsm7d.js";
83
+ import"./chunk-tssr3fyd.js";
84
+ import"./chunk-7e6ahfxz.js";
85
+ import"./chunk-pkb4qnmq.js";
86
+ import {
87
+ getCurrentProjectConfig,
88
+ getGlobalConfig,
89
+ init_config1 as init_config,
90
+ init_stringUtils,
91
+ plural,
92
+ saveCurrentProjectConfig
93
+ } from "./chunk-z06751ss.js";
94
+ import {
95
+ init_json,
96
+ safeParseJSON
97
+ } from "./chunk-eebcvtbb.js";
98
+ import"./chunk-xq4cfvpn.js";
99
+ import"./chunk-4qz9vbs1.js";
100
+ import"./chunk-9nta4x35.js";
101
+ import"./chunk-b75fzr8e.js";
102
+ import"./chunk-g0j0t6qk.js";
103
+ import"./chunk-3c25bcsw.js";
104
+ import {
105
+ getPlatform,
106
+ init_platform
107
+ } from "./chunk-nj17bhkh.js";
108
+ import"./chunk-55wgxwa9.js";
109
+ import"./chunk-vqk1n5qr.js";
110
+ import"./chunk-4jm600zv.js";
111
+ import"./chunk-wn2268qd.js";
112
+ import"./chunk-vqvd3qz0.js";
113
+ import"./chunk-f5ma3nh5.js";
114
+ import"./chunk-qz2x630m.js";
115
+ import"./chunk-d9kz373t.js";
116
+ import"./chunk-p2816w9z.js";
117
+ import"./chunk-v9smspw2.js";
118
+ import"./chunk-v1kzp02e.js";
119
+ import"./chunk-0vkfrmqm.js";
120
+ import"./chunk-0xjaqda8.js";
121
+ import"./chunk-w8yw30sd.js";
122
+ import"./chunk-wgcssf6v.js";
123
+ import"./chunk-cdz5yb0r.js";
124
+ import {
125
+ init_analytics,
126
+ logEvent
127
+ } from "./chunk-h0rbjg6x.js";
128
+ import"./chunk-dstxhxsx.js";
129
+ import"./chunk-b8x1gk3y.js";
130
+ import"./chunk-9k2drwej.js";
131
+ import"./chunk-qnfx3qtx.js";
132
+ import"./chunk-fbpftpf0.js";
133
+ import"./chunk-3vs3nm7w.js";
134
+ import"./chunk-gzzfhtdv.js";
135
+ import"./chunk-yysj6sxt.js";
136
+ import"./chunk-8tnsngw2.js";
137
+ import"./chunk-8bedvdm1.js";
138
+ import"./chunk-7wm5s02e.js";
139
+ import {
140
+ init_errors,
141
+ isFsInaccessible
142
+ } from "./chunk-sbbj6ta3.js";
143
+ import {
144
+ init_process,
145
+ writeToStdout
146
+ } from "./chunk-fbv4apne.js";
147
+ import"./chunk-raqgs410.js";
148
+ import"./chunk-qqfa0dqg.js";
149
+ import"./chunk-hqmz36b3.js";
150
+ import"./chunk-4g3v8y12.js";
151
+ import"./chunk-7739pg2c.js";
152
+ import"./chunk-xszk7n10.js";
153
+ import"./chunk-sdj9b9wh.js";
154
+ import {
155
+ __require,
156
+ __toESM
157
+ } from "./chunk-qp2qdcda.js";
158
+
159
+ // src/cli/handlers/mcp.tsx
160
+ init_p_map();
161
+ import { stat } from "fs/promises";
162
+ import { cwd } from "process";
163
+
164
+ // src/components/MCPServerDesktopImportDialog.tsx
165
+ init_gracefulShutdown();
166
+ init_process();
167
+ init_ink();
168
+ init_config2();
169
+ init_stringUtils();
170
+ init_ConfigurableShortcutHint();
171
+ init_SelectMulti();
172
+ init_Byline();
173
+ init_Dialog();
174
+ init_KeyboardShortcutHint();
175
+ var import_compiler_runtime = __toESM(require_compiler_runtime(), 1);
176
+ var import_react = __toESM(require_react(), 1);
177
+ var jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
178
+ function MCPServerDesktopImportDialog(t0) {
179
+ const $ = import_compiler_runtime.c(36);
180
+ const {
181
+ servers,
182
+ scope,
183
+ onDone
184
+ } = t0;
185
+ let t1;
186
+ if ($[0] !== servers) {
187
+ t1 = Object.keys(servers);
188
+ $[0] = servers;
189
+ $[1] = t1;
190
+ } else {
191
+ t1 = $[1];
192
+ }
193
+ const serverNames = t1;
194
+ let t2;
195
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
196
+ t2 = {};
197
+ $[2] = t2;
198
+ } else {
199
+ t2 = $[2];
200
+ }
201
+ const [existingServers, setExistingServers] = import_react.useState(t2);
202
+ let t3;
203
+ let t4;
204
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
205
+ t3 = () => {
206
+ getAllMcpConfigs().then((t52) => {
207
+ const {
208
+ servers: servers_0
209
+ } = t52;
210
+ return setExistingServers(servers_0);
211
+ });
212
+ };
213
+ t4 = [];
214
+ $[3] = t3;
215
+ $[4] = t4;
216
+ } else {
217
+ t3 = $[3];
218
+ t4 = $[4];
219
+ }
220
+ import_react.useEffect(t3, t4);
221
+ let t5;
222
+ if ($[5] !== existingServers || $[6] !== serverNames) {
223
+ t5 = serverNames.filter((name) => existingServers[name] !== undefined);
224
+ $[5] = existingServers;
225
+ $[6] = serverNames;
226
+ $[7] = t5;
227
+ } else {
228
+ t5 = $[7];
229
+ }
230
+ const collisions = t5;
231
+ const onSubmit = async function onSubmit2(selectedServers) {
232
+ let importedCount = 0;
233
+ for (const serverName of selectedServers) {
234
+ const serverConfig = servers[serverName];
235
+ if (serverConfig) {
236
+ let finalName = serverName;
237
+ if (existingServers[finalName] !== undefined) {
238
+ let counter = 1;
239
+ while (existingServers[`${serverName}_${counter}`] !== undefined) {
240
+ counter++;
241
+ }
242
+ finalName = `${serverName}_${counter}`;
243
+ }
244
+ await addMcpConfig(finalName, serverConfig, scope);
245
+ importedCount++;
246
+ }
247
+ }
248
+ done(importedCount);
249
+ };
250
+ const [theme] = useTheme();
251
+ let t6;
252
+ if ($[8] !== onDone || $[9] !== scope || $[10] !== theme) {
253
+ t6 = (importedCount_0) => {
254
+ if (importedCount_0 > 0) {
255
+ writeToStdout(`
256
+ ${color("success", theme)(`Successfully imported ${importedCount_0} MCP ${plural(importedCount_0, "server")} to ${scope} config.`)}
257
+ `);
258
+ } else {
259
+ writeToStdout(`
260
+ No servers were imported.`);
261
+ }
262
+ onDone();
263
+ gracefulShutdown();
264
+ };
265
+ $[8] = onDone;
266
+ $[9] = scope;
267
+ $[10] = theme;
268
+ $[11] = t6;
269
+ } else {
270
+ t6 = $[11];
271
+ }
272
+ const done = t6;
273
+ let t7;
274
+ if ($[12] !== done) {
275
+ t7 = () => {
276
+ done(0);
277
+ };
278
+ $[12] = done;
279
+ $[13] = t7;
280
+ } else {
281
+ t7 = $[13];
282
+ }
283
+ const handleEscCancel = t7;
284
+ const t8 = serverNames.length;
285
+ let t9;
286
+ if ($[14] !== serverNames.length) {
287
+ t9 = plural(serverNames.length, "server");
288
+ $[14] = serverNames.length;
289
+ $[15] = t9;
290
+ } else {
291
+ t9 = $[15];
292
+ }
293
+ const t10 = `Found ${t8} MCP ${t9} in Claude Desktop.`;
294
+ let t11;
295
+ if ($[16] !== collisions.length) {
296
+ t11 = collisions.length > 0 && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
297
+ color: "warning",
298
+ children: "Note: Some servers already exist with the same name. If selected, they will be imported with a numbered suffix."
299
+ }, undefined, false, undefined, this);
300
+ $[16] = collisions.length;
301
+ $[17] = t11;
302
+ } else {
303
+ t11 = $[17];
304
+ }
305
+ let t12;
306
+ if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
307
+ t12 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
308
+ children: "Please select the servers you want to import:"
309
+ }, undefined, false, undefined, this);
310
+ $[18] = t12;
311
+ } else {
312
+ t12 = $[18];
313
+ }
314
+ let t13;
315
+ let t14;
316
+ if ($[19] !== collisions || $[20] !== serverNames) {
317
+ t13 = serverNames.map((server) => ({
318
+ label: `${server}${collisions.includes(server) ? " (already exists)" : ""}`,
319
+ value: server
320
+ }));
321
+ t14 = serverNames.filter((name_0) => !collisions.includes(name_0));
322
+ $[19] = collisions;
323
+ $[20] = serverNames;
324
+ $[21] = t13;
325
+ $[22] = t14;
326
+ } else {
327
+ t13 = $[21];
328
+ t14 = $[22];
329
+ }
330
+ let t15;
331
+ if ($[23] !== handleEscCancel || $[24] !== onSubmit || $[25] !== t13 || $[26] !== t14) {
332
+ t15 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(SelectMulti, {
333
+ options: t13,
334
+ defaultValue: t14,
335
+ onSubmit,
336
+ onCancel: handleEscCancel,
337
+ hideIndexes: true
338
+ }, undefined, false, undefined, this);
339
+ $[23] = handleEscCancel;
340
+ $[24] = onSubmit;
341
+ $[25] = t13;
342
+ $[26] = t14;
343
+ $[27] = t15;
344
+ } else {
345
+ t15 = $[27];
346
+ }
347
+ let t16;
348
+ if ($[28] !== handleEscCancel || $[29] !== t10 || $[30] !== t11 || $[31] !== t15) {
349
+ t16 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Dialog, {
350
+ title: "Import MCP Servers from Claude Desktop",
351
+ subtitle: t10,
352
+ color: "success",
353
+ onCancel: handleEscCancel,
354
+ hideInputGuide: true,
355
+ children: [
356
+ t11,
357
+ t12,
358
+ t15
359
+ ]
360
+ }, undefined, true, undefined, this);
361
+ $[28] = handleEscCancel;
362
+ $[29] = t10;
363
+ $[30] = t11;
364
+ $[31] = t15;
365
+ $[32] = t16;
366
+ } else {
367
+ t16 = $[32];
368
+ }
369
+ let t17;
370
+ if ($[33] === Symbol.for("react.memo_cache_sentinel")) {
371
+ t17 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
372
+ paddingX: 1,
373
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
374
+ dimColor: true,
375
+ italic: true,
376
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Byline, {
377
+ children: [
378
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(KeyboardShortcutHint, {
379
+ shortcut: "Space",
380
+ action: "select"
381
+ }, undefined, false, undefined, this),
382
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(KeyboardShortcutHint, {
383
+ shortcut: "Enter",
384
+ action: "confirm"
385
+ }, undefined, false, undefined, this),
386
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ConfigurableShortcutHint, {
387
+ action: "confirm:no",
388
+ context: "Confirmation",
389
+ fallback: "Esc",
390
+ description: "cancel"
391
+ }, undefined, false, undefined, this)
392
+ ]
393
+ }, undefined, true, undefined, this)
394
+ }, undefined, false, undefined, this)
395
+ }, undefined, false, undefined, this);
396
+ $[33] = t17;
397
+ } else {
398
+ t17 = $[33];
399
+ }
400
+ let t18;
401
+ if ($[34] !== t16) {
402
+ t18 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(jsx_dev_runtime.Fragment, {
403
+ children: [
404
+ t16,
405
+ t17
406
+ ]
407
+ }, undefined, true, undefined, this);
408
+ $[34] = t16;
409
+ $[35] = t18;
410
+ } else {
411
+ t18 = $[35];
412
+ }
413
+ return t18;
414
+ }
415
+
416
+ // src/cli/handlers/mcp.tsx
417
+ init_ink();
418
+ init_KeybindingProviderSetup();
419
+ init_analytics();
420
+ init_auth();
421
+ init_client();
422
+ init_config2();
423
+ init_utils();
424
+ init_AppState();
425
+ init_config();
426
+ init_errors();
427
+ init_gracefulShutdown();
428
+ init_json();
429
+ init_platform();
430
+ var jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
431
+ async function checkMcpServerHealth(name, server) {
432
+ try {
433
+ const result = await connectToServer(name, server);
434
+ if (result.type === "connected") {
435
+ return "\u2713 Connected";
436
+ } else if (result.type === "needs-auth") {
437
+ return "! Needs authentication";
438
+ } else {
439
+ return "\u2717 Failed to connect";
440
+ }
441
+ } catch (_error) {
442
+ return "\u2717 Connection error";
443
+ }
444
+ }
445
+ async function mcpServeHandler({
446
+ debug,
447
+ verbose
448
+ }) {
449
+ const providedCwd = cwd();
450
+ logEvent("tengu_mcp_start", {});
451
+ try {
452
+ await stat(providedCwd);
453
+ } catch (error) {
454
+ if (isFsInaccessible(error)) {
455
+ cliError(`Error: Directory ${providedCwd} does not exist`);
456
+ }
457
+ throw error;
458
+ }
459
+ try {
460
+ const {
461
+ setup
462
+ } = await import("./chunk-34sv2j2s.js");
463
+ await setup(providedCwd, "default", false, false, undefined, false);
464
+ const {
465
+ startMCPServer
466
+ } = await import("./chunk-2degyn49.js");
467
+ await startMCPServer(providedCwd, debug ?? false, verbose ?? false);
468
+ } catch (error) {
469
+ cliError(`Error: Failed to start MCP server: ${error}`);
470
+ }
471
+ }
472
+ async function mcpRemoveHandler(name, options) {
473
+ const serverBeforeRemoval = getMcpConfigByName(name);
474
+ const cleanupSecureStorage = () => {
475
+ if (serverBeforeRemoval && (serverBeforeRemoval.type === "sse" || serverBeforeRemoval.type === "http")) {
476
+ clearServerTokensFromLocalStorage(name, serverBeforeRemoval);
477
+ clearMcpClientConfig(name, serverBeforeRemoval);
478
+ }
479
+ };
480
+ try {
481
+ if (options.scope) {
482
+ const scope = ensureConfigScope(options.scope);
483
+ logEvent("tengu_mcp_delete", {
484
+ name,
485
+ scope
486
+ });
487
+ await removeMcpConfig(name, scope);
488
+ cleanupSecureStorage();
489
+ process.stdout.write(`Removed MCP server ${name} from ${scope} config
490
+ `);
491
+ cliOk(`File modified: ${describeMcpConfigFilePath(scope)}`);
492
+ }
493
+ const projectConfig = getCurrentProjectConfig();
494
+ const globalConfig = getGlobalConfig();
495
+ const {
496
+ servers: projectServers
497
+ } = getMcpConfigsByScope("project");
498
+ const mcpJsonExists = !!projectServers[name];
499
+ const scopes = [];
500
+ if (projectConfig.mcpServers?.[name])
501
+ scopes.push("local");
502
+ if (mcpJsonExists)
503
+ scopes.push("project");
504
+ if (globalConfig.mcpServers?.[name])
505
+ scopes.push("user");
506
+ if (scopes.length === 0) {
507
+ cliError(`No MCP server found with name: "${name}"`);
508
+ } else if (scopes.length === 1) {
509
+ const scope = scopes[0];
510
+ logEvent("tengu_mcp_delete", {
511
+ name,
512
+ scope
513
+ });
514
+ await removeMcpConfig(name, scope);
515
+ cleanupSecureStorage();
516
+ process.stdout.write(`Removed MCP server "${name}" from ${scope} config
517
+ `);
518
+ cliOk(`File modified: ${describeMcpConfigFilePath(scope)}`);
519
+ } else {
520
+ process.stderr.write(`MCP server "${name}" exists in multiple scopes:
521
+ `);
522
+ scopes.forEach((scope) => {
523
+ process.stderr.write(` - ${getScopeLabel(scope)} (${describeMcpConfigFilePath(scope)})
524
+ `);
525
+ });
526
+ process.stderr.write(`
527
+ To remove from a specific scope, use:
528
+ `);
529
+ scopes.forEach((scope) => {
530
+ process.stderr.write(` claude mcp remove "${name}" -s ${scope}
531
+ `);
532
+ });
533
+ cliError();
534
+ }
535
+ } catch (error) {
536
+ cliError(error.message);
537
+ }
538
+ }
539
+ async function mcpListHandler() {
540
+ logEvent("tengu_mcp_list", {});
541
+ const {
542
+ servers: configs
543
+ } = await getAllMcpConfigs();
544
+ if (Object.keys(configs).length === 0) {
545
+ console.log("No MCP servers configured. Use `claude mcp add` to add a server.");
546
+ } else {
547
+ console.log(`Checking MCP server health...
548
+ `);
549
+ const entries = Object.entries(configs);
550
+ const results = await pMap(entries, async ([name, server]) => ({
551
+ name,
552
+ server,
553
+ status: await checkMcpServerHealth(name, server)
554
+ }), {
555
+ concurrency: getMcpServerConnectionBatchSize()
556
+ });
557
+ for (const {
558
+ name,
559
+ server,
560
+ status
561
+ } of results) {
562
+ if (server.type === "sse") {
563
+ console.log(`${name}: ${server.url} (SSE) - ${status}`);
564
+ } else if (server.type === "http") {
565
+ console.log(`${name}: ${server.url} (HTTP) - ${status}`);
566
+ } else if (server.type === "claudeai-proxy") {
567
+ console.log(`${name}: ${server.url} - ${status}`);
568
+ } else if (!server.type || server.type === "stdio") {
569
+ const args = Array.isArray(server.args) ? server.args : [];
570
+ console.log(`${name}: ${server.command} ${args.join(" ")} - ${status}`);
571
+ }
572
+ }
573
+ }
574
+ await gracefulShutdown(0);
575
+ }
576
+ async function mcpGetHandler(name) {
577
+ logEvent("tengu_mcp_get", {
578
+ name
579
+ });
580
+ const server = getMcpConfigByName(name);
581
+ if (!server) {
582
+ cliError(`No MCP server found with name: ${name}`);
583
+ }
584
+ console.log(`${name}:`);
585
+ console.log(` Scope: ${getScopeLabel(server.scope)}`);
586
+ const status = await checkMcpServerHealth(name, server);
587
+ console.log(` Status: ${status}`);
588
+ if (server.type === "sse") {
589
+ console.log(` Type: sse`);
590
+ console.log(` URL: ${server.url}`);
591
+ if (server.headers) {
592
+ console.log(" Headers:");
593
+ for (const [key, value] of Object.entries(server.headers)) {
594
+ console.log(` ${key}: ${value}`);
595
+ }
596
+ }
597
+ if (server.oauth?.clientId || server.oauth?.callbackPort) {
598
+ const parts = [];
599
+ if (server.oauth.clientId) {
600
+ parts.push("client_id configured");
601
+ const clientConfig = getMcpClientConfig(name, server);
602
+ if (clientConfig?.clientSecret)
603
+ parts.push("client_secret configured");
604
+ }
605
+ if (server.oauth.callbackPort)
606
+ parts.push(`callback_port ${server.oauth.callbackPort}`);
607
+ console.log(` OAuth: ${parts.join(", ")}`);
608
+ }
609
+ } else if (server.type === "http") {
610
+ console.log(` Type: http`);
611
+ console.log(` URL: ${server.url}`);
612
+ if (server.headers) {
613
+ console.log(" Headers:");
614
+ for (const [key, value] of Object.entries(server.headers)) {
615
+ console.log(` ${key}: ${value}`);
616
+ }
617
+ }
618
+ if (server.oauth?.clientId || server.oauth?.callbackPort) {
619
+ const parts = [];
620
+ if (server.oauth.clientId) {
621
+ parts.push("client_id configured");
622
+ const clientConfig = getMcpClientConfig(name, server);
623
+ if (clientConfig?.clientSecret)
624
+ parts.push("client_secret configured");
625
+ }
626
+ if (server.oauth.callbackPort)
627
+ parts.push(`callback_port ${server.oauth.callbackPort}`);
628
+ console.log(` OAuth: ${parts.join(", ")}`);
629
+ }
630
+ } else if (server.type === "stdio") {
631
+ console.log(` Type: stdio`);
632
+ console.log(` Command: ${server.command}`);
633
+ const args = Array.isArray(server.args) ? server.args : [];
634
+ console.log(` Args: ${args.join(" ")}`);
635
+ if (server.env) {
636
+ console.log(" Environment:");
637
+ for (const [key, value] of Object.entries(server.env)) {
638
+ console.log(` ${key}=${value}`);
639
+ }
640
+ }
641
+ }
642
+ console.log(`
643
+ To remove this server, run: claude mcp remove "${name}" -s ${server.scope}`);
644
+ await gracefulShutdown(0);
645
+ }
646
+ async function mcpAddJsonHandler(name, json, options) {
647
+ try {
648
+ const scope = ensureConfigScope(options.scope);
649
+ const parsedJson = safeParseJSON(json);
650
+ const needsSecret = options.clientSecret && parsedJson && typeof parsedJson === "object" && "type" in parsedJson && (parsedJson.type === "sse" || parsedJson.type === "http") && "url" in parsedJson && typeof parsedJson.url === "string" && "oauth" in parsedJson && parsedJson.oauth && typeof parsedJson.oauth === "object" && "clientId" in parsedJson.oauth;
651
+ const clientSecret = needsSecret ? await readClientSecret() : undefined;
652
+ await addMcpConfig(name, parsedJson, scope);
653
+ const transportType = parsedJson && typeof parsedJson === "object" && "type" in parsedJson ? String(parsedJson.type || "stdio") : "stdio";
654
+ if (clientSecret && parsedJson && typeof parsedJson === "object" && "type" in parsedJson && (parsedJson.type === "sse" || parsedJson.type === "http") && "url" in parsedJson && typeof parsedJson.url === "string") {
655
+ saveMcpClientSecret(name, {
656
+ type: parsedJson.type,
657
+ url: parsedJson.url
658
+ }, clientSecret);
659
+ }
660
+ logEvent("tengu_mcp_add", {
661
+ scope,
662
+ source: "json",
663
+ type: transportType
664
+ });
665
+ cliOk(`Added ${transportType} MCP server ${name} to ${scope} config`);
666
+ } catch (error) {
667
+ cliError(error.message);
668
+ }
669
+ }
670
+ async function mcpAddFromDesktopHandler(options) {
671
+ try {
672
+ const scope = ensureConfigScope(options.scope);
673
+ const platform = getPlatform();
674
+ logEvent("tengu_mcp_add", {
675
+ scope,
676
+ platform,
677
+ source: "desktop"
678
+ });
679
+ const {
680
+ readClaudeDesktopMcpServers
681
+ } = await import("./chunk-65s8h28p.js");
682
+ const servers = await readClaudeDesktopMcpServers();
683
+ if (Object.keys(servers).length === 0) {
684
+ cliOk("No MCP servers found in Claude Desktop configuration or configuration file does not exist.");
685
+ }
686
+ const {
687
+ unmount
688
+ } = await render(/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(AppStateProvider, {
689
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(KeybindingSetup, {
690
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(MCPServerDesktopImportDialog, {
691
+ servers,
692
+ scope,
693
+ onDone: () => {
694
+ unmount();
695
+ }
696
+ }, undefined, false, undefined, this)
697
+ }, undefined, false, undefined, this)
698
+ }, undefined, false, undefined, this), {
699
+ exitOnCtrlC: true
700
+ });
701
+ } catch (error) {
702
+ cliError(error.message);
703
+ }
704
+ }
705
+ async function mcpResetChoicesHandler() {
706
+ logEvent("tengu_mcp_reset_mcpjson_choices", {});
707
+ saveCurrentProjectConfig((current) => ({
708
+ ...current,
709
+ enabledMcpjsonServers: [],
710
+ disabledMcpjsonServers: [],
711
+ enableAllProjectMcpServers: false
712
+ }));
713
+ cliOk(`All project-scoped (.mcp.json) server approvals and rejections have been reset.
714
+ You will be prompted for approval next time you start Claude Code.`);
715
+ }
716
+ export {
717
+ mcpServeHandler,
718
+ mcpResetChoicesHandler,
719
+ mcpRemoveHandler,
720
+ mcpListHandler,
721
+ mcpGetHandler,
722
+ mcpAddJsonHandler,
723
+ mcpAddFromDesktopHandler
724
+ };