@zyycn/claudex 1.0.3-fork.0cb3e59

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 (456) hide show
  1. package/LICENSE.md +5 -0
  2. package/README.md +515 -0
  3. package/bin/claudex.js +40 -0
  4. package/dist/chunk-00xcm9ma.js +21933 -0
  5. package/dist/chunk-02gx6hwz.js +655 -0
  6. package/dist/chunk-06saje2v.js +39 -0
  7. package/dist/chunk-0731m51q.js +8 -0
  8. package/dist/chunk-08gaq1e6.js +253 -0
  9. package/dist/chunk-0dc7sstd.js +112 -0
  10. package/dist/chunk-0et2fwnm.js +169 -0
  11. package/dist/chunk-0fzmdbg5.js +216 -0
  12. package/dist/chunk-0gby1zjm.js +98 -0
  13. package/dist/chunk-0npyf61x.js +91 -0
  14. package/dist/chunk-0paqc2yw.js +15 -0
  15. package/dist/chunk-0phtbe2q.js +458 -0
  16. package/dist/chunk-0q2xkmse.js +58 -0
  17. package/dist/chunk-0sdqeyab.js +116 -0
  18. package/dist/chunk-0vkfrmqm.js +690 -0
  19. package/dist/chunk-0xjaqda8.js +1124 -0
  20. package/dist/chunk-0zqd56e7.js +86 -0
  21. package/dist/chunk-1141xmr4.js +8 -0
  22. package/dist/chunk-13n2g124.js +83 -0
  23. package/dist/chunk-14jv3jm7.js +17 -0
  24. package/dist/chunk-17ke93s2.js +91 -0
  25. package/dist/chunk-1bwnpgmv.js +644 -0
  26. package/dist/chunk-1cbn5kxf.js +7 -0
  27. package/dist/chunk-1h2famwb.js +49 -0
  28. package/dist/chunk-1j23x6pe.js +198 -0
  29. package/dist/chunk-1vh98qr0.js +4521 -0
  30. package/dist/chunk-1xkekb9y.js +19 -0
  31. package/dist/chunk-238g70xa.js +36 -0
  32. package/dist/chunk-2534gszj.js +95 -0
  33. package/dist/chunk-27xc1csx.js +104 -0
  34. package/dist/chunk-29heyb0a.js +654 -0
  35. package/dist/chunk-2a42s11t.js +412 -0
  36. package/dist/chunk-2eykm0j0.js +20 -0
  37. package/dist/chunk-2fwze72g.js +24 -0
  38. package/dist/chunk-2gzv8nrw.js +205 -0
  39. package/dist/chunk-2jhpjejz.js +605 -0
  40. package/dist/chunk-2k995y2x.js +880 -0
  41. package/dist/chunk-2m0wm5mn.js +756 -0
  42. package/dist/chunk-2nayx6q1.js +63 -0
  43. package/dist/chunk-2remehvd.js +6110 -0
  44. package/dist/chunk-2t1frg13.js +716 -0
  45. package/dist/chunk-2t3vw4tx.js +22820 -0
  46. package/dist/chunk-2tfdd2x0.js +95 -0
  47. package/dist/chunk-2yneprmc.js +87 -0
  48. package/dist/chunk-2zcggr61.js +33312 -0
  49. package/dist/chunk-30rst83v.js +168 -0
  50. package/dist/chunk-328dhq0p.js +208 -0
  51. package/dist/chunk-32q1kp1y.js +197 -0
  52. package/dist/chunk-32remjv9.js +5020 -0
  53. package/dist/chunk-3322z7nj.js +250 -0
  54. package/dist/chunk-35wnmznv.js +339 -0
  55. package/dist/chunk-36zeg659.js +90 -0
  56. package/dist/chunk-38700exh.js +42 -0
  57. package/dist/chunk-3c25bcsw.js +17 -0
  58. package/dist/chunk-3h8a89gy.js +46 -0
  59. package/dist/chunk-3nk79af8.js +8 -0
  60. package/dist/chunk-3peatsdv.js +41 -0
  61. package/dist/chunk-3vs3nm7w.js +31 -0
  62. package/dist/chunk-3w6s9m5w.js +16 -0
  63. package/dist/chunk-3xba7r34.js +469 -0
  64. package/dist/chunk-41fv13be.js +131 -0
  65. package/dist/chunk-44fpr6jq.js +434 -0
  66. package/dist/chunk-46bzfjbb.js +83 -0
  67. package/dist/chunk-46xsszyy.js +154 -0
  68. package/dist/chunk-483649rh.js +3418 -0
  69. package/dist/chunk-48nen4vg.js +41634 -0
  70. package/dist/chunk-495d85x1.js +8066 -0
  71. package/dist/chunk-4f6xmap7.js +153 -0
  72. package/dist/chunk-4g3v8y12.js +23 -0
  73. package/dist/chunk-4j2pg3ms.js +338 -0
  74. package/dist/chunk-4jm600zv.js +13 -0
  75. package/dist/chunk-4ka7s9ee.js +115 -0
  76. package/dist/chunk-4q95g821.js +460 -0
  77. package/dist/chunk-4qz9vbs1.js +349 -0
  78. package/dist/chunk-4t19tx5p.js +109 -0
  79. package/dist/chunk-4zfkzkt6.js +37 -0
  80. package/dist/chunk-4zjtn4vd.js +108 -0
  81. package/dist/chunk-50f017g0.js +849 -0
  82. package/dist/chunk-51kecgmn.js +168 -0
  83. package/dist/chunk-54ea16pv.js +155 -0
  84. package/dist/chunk-54ycqnh3.js +275 -0
  85. package/dist/chunk-55wgxwa9.js +13877 -0
  86. package/dist/chunk-56jgazae.js +28 -0
  87. package/dist/chunk-5bfzxa5p.js +300 -0
  88. package/dist/chunk-5eecpt8g.js +173807 -0
  89. package/dist/chunk-5j35ewt6.js +277 -0
  90. package/dist/chunk-5wrm5rwf.js +202 -0
  91. package/dist/chunk-5zrajk5c.js +328 -0
  92. package/dist/chunk-63grvbnw.js +373 -0
  93. package/dist/chunk-65s8h28p.js +123 -0
  94. package/dist/chunk-66pc6ar2.js +229 -0
  95. package/dist/chunk-6bd8brc4.js +48 -0
  96. package/dist/chunk-6dj5t602.js +341 -0
  97. package/dist/chunk-6g31pd6r.js +535 -0
  98. package/dist/chunk-6gr3c3w9.js +378 -0
  99. package/dist/chunk-6n15fb31.js +130 -0
  100. package/dist/chunk-6n2qgm9v.js +8 -0
  101. package/dist/chunk-6p9kb0sw.js +281 -0
  102. package/dist/chunk-6tq2v3rk.js +186 -0
  103. package/dist/chunk-6va3sq9g.js +500 -0
  104. package/dist/chunk-6vkpgtyn.js +101 -0
  105. package/dist/chunk-6w5bpt04.js +267 -0
  106. package/dist/chunk-73rpbt04.js +1947 -0
  107. package/dist/chunk-74bkpcta.js +850 -0
  108. package/dist/chunk-758rh65t.js +223 -0
  109. package/dist/chunk-760252na.js +101 -0
  110. package/dist/chunk-76xdyehq.js +84 -0
  111. package/dist/chunk-7739pg2c.js +4261 -0
  112. package/dist/chunk-78ja94ve.js +400 -0
  113. package/dist/chunk-7aw745vx.js +40175 -0
  114. package/dist/chunk-7e6ahfxz.js +61 -0
  115. package/dist/chunk-7m2nd8da.js +110 -0
  116. package/dist/chunk-7mmew3dp.js +54 -0
  117. package/dist/chunk-7mw85a2s.js +1155 -0
  118. package/dist/chunk-7q18p7bc.js +288 -0
  119. package/dist/chunk-7q237ftq.js +1585 -0
  120. package/dist/chunk-7wm5s02e.js +216 -0
  121. package/dist/chunk-7xyswgjh.js +8 -0
  122. package/dist/chunk-7zaxrfnt.js +42 -0
  123. package/dist/chunk-83hfzbx3.js +10 -0
  124. package/dist/chunk-83y7b98g.js +421 -0
  125. package/dist/chunk-85tc0rn1.js +212 -0
  126. package/dist/chunk-869898a3.js +765 -0
  127. package/dist/chunk-89f4afyz.js +117 -0
  128. package/dist/chunk-8bedvdm1.js +32 -0
  129. package/dist/chunk-8hq5kk3y.js +44 -0
  130. package/dist/chunk-8hw9w1wm.js +3446 -0
  131. package/dist/chunk-8k6q5mnn.js +26 -0
  132. package/dist/chunk-8ktxqpch.js +3060 -0
  133. package/dist/chunk-8ma0b3en.js +674 -0
  134. package/dist/chunk-8qmmgwm9.js +269 -0
  135. package/dist/chunk-8rjvjb5t.js +779 -0
  136. package/dist/chunk-8tnsngw2.js +31 -0
  137. package/dist/chunk-8y12jxg8.js +10 -0
  138. package/dist/chunk-8ymf4e6z.js +48 -0
  139. package/dist/chunk-90wp6wez.js +10510 -0
  140. package/dist/chunk-91q08khb.js +5954 -0
  141. package/dist/chunk-93mnvd83.js +274 -0
  142. package/dist/chunk-988f7f5d.js +192 -0
  143. package/dist/chunk-9c2way1p.js +106 -0
  144. package/dist/chunk-9gbamk79.js +93 -0
  145. package/dist/chunk-9k27xdmg.js +542 -0
  146. package/dist/chunk-9k2drwej.js +106 -0
  147. package/dist/chunk-9mh799n8.js +319 -0
  148. package/dist/chunk-9vqxfdra.js +102 -0
  149. package/dist/chunk-9x5zgy22.js +12 -0
  150. package/dist/chunk-a4zg3cnt.js +90 -0
  151. package/dist/chunk-a6xzz4qc.js +60 -0
  152. package/dist/chunk-a7rt19gv.js +2645 -0
  153. package/dist/chunk-a8ejc632.js +3094 -0
  154. package/dist/chunk-a8x7bb4n.js +372 -0
  155. package/dist/chunk-a900qr4e.js +120 -0
  156. package/dist/chunk-a9pjza30.js +128 -0
  157. package/dist/chunk-a9vdeb6y.js +258 -0
  158. package/dist/chunk-a9zh40sj.js +48 -0
  159. package/dist/chunk-aa3rx320.js +26840 -0
  160. package/dist/chunk-ab89rmm2.js +155 -0
  161. package/dist/chunk-aj6461xm.js +284 -0
  162. package/dist/chunk-any9980a.js +69 -0
  163. package/dist/chunk-ar1vk71q.js +220 -0
  164. package/dist/chunk-ar42apnb.js +692 -0
  165. package/dist/chunk-ass81j08.js +245 -0
  166. package/dist/chunk-b3r6mj2e.js +306 -0
  167. package/dist/chunk-b4wg70y1.js +54 -0
  168. package/dist/chunk-b75fzr8e.js +969 -0
  169. package/dist/chunk-b7cywkg9.js +908 -0
  170. package/dist/chunk-b8x1gk3y.js +1299 -0
  171. package/dist/chunk-b9kme9pv.js +38 -0
  172. package/dist/chunk-bc8tzdm6.js +98 -0
  173. package/dist/chunk-bf2yj476.js +523 -0
  174. package/dist/chunk-bjqw6798.js +328 -0
  175. package/dist/chunk-bm1qb16p.js +17 -0
  176. package/dist/chunk-bqfnp99q.js +477 -0
  177. package/dist/chunk-bt6pjwk8.js +53 -0
  178. package/dist/chunk-bvp4dgm4.js +182 -0
  179. package/dist/chunk-bxqv04xx.js +69 -0
  180. package/dist/chunk-c0hb3epj.js +1556 -0
  181. package/dist/chunk-c7ctgdbk.js +225 -0
  182. package/dist/chunk-cdz5yb0r.js +57 -0
  183. package/dist/chunk-cfv996bs.js +22 -0
  184. package/dist/chunk-cgfdkzhb.js +12 -0
  185. package/dist/chunk-ckj99whh.js +93 -0
  186. package/dist/chunk-cs5excdt.js +10476 -0
  187. package/dist/chunk-ctw3ccd6.js +584 -0
  188. package/dist/chunk-cveeqv76.js +91 -0
  189. package/dist/chunk-czensfac.js +476 -0
  190. package/dist/chunk-czvztj44.js +224 -0
  191. package/dist/chunk-d1r095gm.js +699 -0
  192. package/dist/chunk-d1x7cza8.js +445 -0
  193. package/dist/chunk-d3vvfd8r.js +106 -0
  194. package/dist/chunk-d9kz373t.js +122 -0
  195. package/dist/chunk-d9y2zh54.js +463 -0
  196. package/dist/chunk-ddz739ks.js +441 -0
  197. package/dist/chunk-de4kzjb1.js +1552 -0
  198. package/dist/chunk-dgqrcy74.js +48 -0
  199. package/dist/chunk-dnh7jtpb.js +37 -0
  200. package/dist/chunk-ds5nkfg0.js +1095 -0
  201. package/dist/chunk-dstxhxsx.js +121 -0
  202. package/dist/chunk-dv1wfr85.js +6373 -0
  203. package/dist/chunk-e5pntxye.js +37 -0
  204. package/dist/chunk-e77n3wgc.js +765 -0
  205. package/dist/chunk-e7ksgwbq.js +120 -0
  206. package/dist/chunk-ebkahz1j.js +24 -0
  207. package/dist/chunk-eebcvtbb.js +1646 -0
  208. package/dist/chunk-ehtwnxpg.js +1591 -0
  209. package/dist/chunk-eqp1rfft.js +17 -0
  210. package/dist/chunk-ewadzrm8.js +103 -0
  211. package/dist/chunk-ewhachv2.js +120 -0
  212. package/dist/chunk-excnajfs.js +108 -0
  213. package/dist/chunk-ez6gfswn.js +348 -0
  214. package/dist/chunk-ezf1ppbj.js +208 -0
  215. package/dist/chunk-f58ec6xk.js +91 -0
  216. package/dist/chunk-f5ma3nh5.js +3436 -0
  217. package/dist/chunk-f7q4yc1j.js +675 -0
  218. package/dist/chunk-f7qqfve4.js +160 -0
  219. package/dist/chunk-f9yjwf9r.js +1322 -0
  220. package/dist/chunk-fbpftpf0.js +69 -0
  221. package/dist/chunk-fbv4apne.js +51 -0
  222. package/dist/chunk-fd7nt73r.js +117 -0
  223. package/dist/chunk-ffk8cg49.js +61 -0
  224. package/dist/chunk-fpcjbens.js +184 -0
  225. package/dist/chunk-fvt4y30r.js +1319 -0
  226. package/dist/chunk-fyc5fepv.js +10 -0
  227. package/dist/chunk-g0j0t6qk.js +26 -0
  228. package/dist/chunk-g338npwr.js +1061 -0
  229. package/dist/chunk-g3t0act8.js +8 -0
  230. package/dist/chunk-gj2rs1h5.js +182 -0
  231. package/dist/chunk-gmaybtrd.js +726 -0
  232. package/dist/chunk-gmpyhcdr.js +567 -0
  233. package/dist/chunk-gq0kzj2c.js +195 -0
  234. package/dist/chunk-gq1sc60w.js +5398 -0
  235. package/dist/chunk-gr76xkdb.js +266 -0
  236. package/dist/chunk-gv0tqhg0.js +118 -0
  237. package/dist/chunk-gvx0ghfc.js +156 -0
  238. package/dist/chunk-gyj242zr.js +20 -0
  239. package/dist/chunk-gz4etn3r.js +102 -0
  240. package/dist/chunk-gzzfhtdv.js +7189 -0
  241. package/dist/chunk-h0qngp9w.js +157 -0
  242. package/dist/chunk-h0rbjg6x.js +55 -0
  243. package/dist/chunk-h20nxmw7.js +97 -0
  244. package/dist/chunk-h2bvdmje.js +111 -0
  245. package/dist/chunk-h5r7m7ze.js +727 -0
  246. package/dist/chunk-h6he4c34.js +71 -0
  247. package/dist/chunk-h8k6be74.js +528 -0
  248. package/dist/chunk-h9xcymwn.js +71 -0
  249. package/dist/chunk-hakdhagh.js +16606 -0
  250. package/dist/chunk-hdwqy5n7.js +146 -0
  251. package/dist/chunk-hgba8zda.js +16453 -0
  252. package/dist/chunk-hgfabxva.js +713 -0
  253. package/dist/chunk-hh7cmy4k.js +20 -0
  254. package/dist/chunk-hhwvfv1c.js +2337 -0
  255. package/dist/chunk-hhxc0wcy.js +103 -0
  256. package/dist/chunk-hj63t9sr.js +92 -0
  257. package/dist/chunk-hjd7rv7x.js +108 -0
  258. package/dist/chunk-hk9xz7gk.js +118 -0
  259. package/dist/chunk-hp1dhvmv.js +74 -0
  260. package/dist/chunk-hqmz36b3.js +552 -0
  261. package/dist/chunk-hzhe8ygc.js +547 -0
  262. package/dist/chunk-j2k4p94p.js +55 -0
  263. package/dist/chunk-j3a4p81y.js +184 -0
  264. package/dist/chunk-j5hc27hv.js +444 -0
  265. package/dist/chunk-j64ga6ta.js +8035 -0
  266. package/dist/chunk-jce5r25x.js +18 -0
  267. package/dist/chunk-jcyvmtj2.js +160 -0
  268. package/dist/chunk-jd32zbps.js +15 -0
  269. package/dist/chunk-jdgeec04.js +4249 -0
  270. package/dist/chunk-jgyff58b.js +258 -0
  271. package/dist/chunk-jjr5r7w7.js +92 -0
  272. package/dist/chunk-jn0mpjqf.js +333 -0
  273. package/dist/chunk-jnhkref0.js +30 -0
  274. package/dist/chunk-jpggn642.js +432 -0
  275. package/dist/chunk-jpp9dqv4.js +6956 -0
  276. package/dist/chunk-jx817w05.js +11 -0
  277. package/dist/chunk-jxtre36y.js +40 -0
  278. package/dist/chunk-jzmz18nn.js +65 -0
  279. package/dist/chunk-k0p9w03v.js +4957 -0
  280. package/dist/chunk-k0zwdngv.js +490 -0
  281. package/dist/chunk-k2aj61ee.js +27 -0
  282. package/dist/chunk-k8w1ezmk.js +90 -0
  283. package/dist/chunk-kcsn5yw7.js +44 -0
  284. package/dist/chunk-kdqsfmc5.js +196 -0
  285. package/dist/chunk-ke1tnbrn.js +377 -0
  286. package/dist/chunk-kjzy2qna.js +107 -0
  287. package/dist/chunk-kpm9svs6.js +95 -0
  288. package/dist/chunk-kwekc97v.js +18 -0
  289. package/dist/chunk-ky45jk6r.js +3205 -0
  290. package/dist/chunk-m0t8da6q.js +117 -0
  291. package/dist/chunk-m2j40h9c.js +9200 -0
  292. package/dist/chunk-mbaff8kf.js +146 -0
  293. package/dist/chunk-mhgvx0zj.js +73 -0
  294. package/dist/chunk-mk4gn915.js +470 -0
  295. package/dist/chunk-mt25echc.js +6157 -0
  296. package/dist/chunk-mt5bv97a.js +438 -0
  297. package/dist/chunk-mx28h61f.js +1147 -0
  298. package/dist/chunk-mzxce5mm.js +88 -0
  299. package/dist/chunk-n0qaeaa5.js +256 -0
  300. package/dist/chunk-n2pzg3mt.js +59 -0
  301. package/dist/chunk-n5k4xha0.js +32 -0
  302. package/dist/chunk-n7ttdtk0.js +641 -0
  303. package/dist/chunk-nc0gdh9t.js +606 -0
  304. package/dist/chunk-nj17bhkh.js +125 -0
  305. package/dist/chunk-nka1g8f4.js +773 -0
  306. package/dist/chunk-nnzxefrw.js +87 -0
  307. package/dist/chunk-nq0fxyxh.js +752 -0
  308. package/dist/chunk-nswvw0j4.js +473 -0
  309. package/dist/chunk-nt837qt9.js +21 -0
  310. package/dist/chunk-nw5zdpcj.js +802 -0
  311. package/dist/chunk-nwsmn6zm.js +15 -0
  312. package/dist/chunk-p2816w9z.js +1486 -0
  313. package/dist/chunk-p2d5nh3g.js +342 -0
  314. package/dist/chunk-p331ghzg.js +391 -0
  315. package/dist/chunk-p664cp33.js +99 -0
  316. package/dist/chunk-pak5mb7s.js +42 -0
  317. package/dist/chunk-pe6w0anj.js +780 -0
  318. package/dist/chunk-pkm43mwf.js +282 -0
  319. package/dist/chunk-pm3ng0bm.js +70 -0
  320. package/dist/chunk-pmsp9ed2.js +34 -0
  321. package/dist/chunk-ppwjyveh.js +8 -0
  322. package/dist/chunk-ps49ymvj.js +43 -0
  323. package/dist/chunk-pwwa7s62.js +11 -0
  324. package/dist/chunk-py5y9jh1.js +38 -0
  325. package/dist/chunk-pyesx3a8.js +140 -0
  326. package/dist/chunk-q0q2tsae.js +63 -0
  327. package/dist/chunk-q0sq5qtt.js +606 -0
  328. package/dist/chunk-q1by1vax.js +54 -0
  329. package/dist/chunk-q25bjaev.js +15 -0
  330. package/dist/chunk-q2hty1hy.js +61 -0
  331. package/dist/chunk-q7bxdsfd.js +22 -0
  332. package/dist/chunk-qbt1tq74.js +145 -0
  333. package/dist/chunk-qetzwv5m.js +28 -0
  334. package/dist/chunk-qnfx3qtx.js +617 -0
  335. package/dist/chunk-qp2qdcda.js +100 -0
  336. package/dist/chunk-qqfa0dqg.js +2343 -0
  337. package/dist/chunk-qz2x630m.js +49145 -0
  338. package/dist/chunk-r3ecyyb3.js +642 -0
  339. package/dist/chunk-r3pxqd84.js +89 -0
  340. package/dist/chunk-r53sxdq1.js +513 -0
  341. package/dist/chunk-r6b58y3x.js +17 -0
  342. package/dist/chunk-r6dahdmd.js +62 -0
  343. package/dist/chunk-r9xapwyb.js +745 -0
  344. package/dist/chunk-ra06qpba.js +132 -0
  345. package/dist/chunk-raq35wpc.js +1922 -0
  346. package/dist/chunk-raqgs410.js +116 -0
  347. package/dist/chunk-res15ktd.js +18 -0
  348. package/dist/chunk-rgwhsqte.js +348 -0
  349. package/dist/chunk-rn0v1hk8.js +34 -0
  350. package/dist/chunk-rtgznsee.js +43 -0
  351. package/dist/chunk-rtt7r7pp.js +93 -0
  352. package/dist/chunk-rwqp8zag.js +539 -0
  353. package/dist/chunk-ryydxc3f.js +931 -0
  354. package/dist/chunk-rzeekzsp.js +87 -0
  355. package/dist/chunk-s3pzvdss.js +50 -0
  356. package/dist/chunk-s4c5a2td.js +40 -0
  357. package/dist/chunk-s5n2qgaz.js +258 -0
  358. package/dist/chunk-s87dt0fj.js +1493 -0
  359. package/dist/chunk-sbbj6ta3.js +1711 -0
  360. package/dist/chunk-sc47b62f.js +165 -0
  361. package/dist/chunk-sd36yzx8.js +954 -0
  362. package/dist/chunk-sdj9b9wh.js +782 -0
  363. package/dist/chunk-shb6nvk6.js +27 -0
  364. package/dist/chunk-sn49y8be.js +99 -0
  365. package/dist/chunk-sp8wb67m.js +703 -0
  366. package/dist/chunk-sxa8b5t8.js +124 -0
  367. package/dist/chunk-szj5wvdy.js +28 -0
  368. package/dist/chunk-szqvjwww.js +96 -0
  369. package/dist/chunk-t0rgmccj.js +39 -0
  370. package/dist/chunk-t311b37r.js +163 -0
  371. package/dist/chunk-t3360k46.js +75 -0
  372. package/dist/chunk-t63re27d.js +38 -0
  373. package/dist/chunk-t6j5es92.js +134 -0
  374. package/dist/chunk-tag6m3ab.js +308 -0
  375. package/dist/chunk-tdgkxc3j.js +287 -0
  376. package/dist/chunk-tgw8v0sq.js +98 -0
  377. package/dist/chunk-th93qf0c.js +93 -0
  378. package/dist/chunk-tjk56vh8.js +81 -0
  379. package/dist/chunk-ts2p6bv1.js +224 -0
  380. package/dist/chunk-ttk5dzz8.js +25 -0
  381. package/dist/chunk-v073zhk5.js +40 -0
  382. package/dist/chunk-v1kzp02e.js +785 -0
  383. package/dist/chunk-v78fj8by.js +145 -0
  384. package/dist/chunk-v90xv5n9.js +157 -0
  385. package/dist/chunk-v9nt9zq6.js +648 -0
  386. package/dist/chunk-v9smspw2.js +4301 -0
  387. package/dist/chunk-vd3bb2zh.js +173 -0
  388. package/dist/chunk-vest0y6x.js +3830 -0
  389. package/dist/chunk-vf5sd1nq.js +12 -0
  390. package/dist/chunk-vhjx5fag.js +56 -0
  391. package/dist/chunk-vqk1n5qr.js +63 -0
  392. package/dist/chunk-vqn6x094.js +229 -0
  393. package/dist/chunk-vqvd3qz0.js +151 -0
  394. package/dist/chunk-vs89tkvk.js +92 -0
  395. package/dist/chunk-vtapv44m.js +165 -0
  396. package/dist/chunk-vyjeh50y.js +2149 -0
  397. package/dist/chunk-w100pzs6.js +41 -0
  398. package/dist/chunk-w2yzntwd.js +826 -0
  399. package/dist/chunk-w62fme7p.js +86 -0
  400. package/dist/chunk-w7993vfy.js +71 -0
  401. package/dist/chunk-w8gahavr.js +496 -0
  402. package/dist/chunk-wc4aza46.js +79 -0
  403. package/dist/chunk-wewayn8z.js +1016 -0
  404. package/dist/chunk-weydtrhz.js +791 -0
  405. package/dist/chunk-wfz0qffj.js +3939 -0
  406. package/dist/chunk-wgcssf6v.js +722 -0
  407. package/dist/chunk-whkhe74c.js +266 -0
  408. package/dist/chunk-wn2268qd.js +335 -0
  409. package/dist/chunk-wq5q81g4.js +1582 -0
  410. package/dist/chunk-wrhhmkf7.js +16 -0
  411. package/dist/chunk-wspjz9er.js +214 -0
  412. package/dist/chunk-wtpx8wcx.js +1874 -0
  413. package/dist/chunk-wyp16717.js +302 -0
  414. package/dist/chunk-wzpdet3m.js +843 -0
  415. package/dist/chunk-x0ypwxsz.js +104 -0
  416. package/dist/chunk-x67ffx2k.js +270 -0
  417. package/dist/chunk-x6r4v44b.js +8 -0
  418. package/dist/chunk-x8b7vft8.js +132 -0
  419. package/dist/chunk-x9k4fdvw.js +32 -0
  420. package/dist/chunk-xbsf7t5r.js +173 -0
  421. package/dist/chunk-xbtacp2f.js +4389 -0
  422. package/dist/chunk-xffq0yyv.js +79 -0
  423. package/dist/chunk-xm1c1mzd.js +56 -0
  424. package/dist/chunk-xq4cfvpn.js +213 -0
  425. package/dist/chunk-xq9wsyp9.js +48 -0
  426. package/dist/chunk-xqy6f112.js +277 -0
  427. package/dist/chunk-xsq9ae7x.js +90 -0
  428. package/dist/chunk-xszk7n10.js +14358 -0
  429. package/dist/chunk-xv3era3s.js +8 -0
  430. package/dist/chunk-xy0ep5zm.js +118 -0
  431. package/dist/chunk-xzxf08w0.js +247 -0
  432. package/dist/chunk-y1784krc.js +19 -0
  433. package/dist/chunk-y4cvymbk.js +2838 -0
  434. package/dist/chunk-y88sk42h.js +388 -0
  435. package/dist/chunk-y953qcc7.js +66 -0
  436. package/dist/chunk-ycgvqt42.js +178 -0
  437. package/dist/chunk-ycpq7mn5.js +644 -0
  438. package/dist/chunk-yfb6k7aw.js +94 -0
  439. package/dist/chunk-yp69m4qn.js +94 -0
  440. package/dist/chunk-ysvwcdav.js +9300 -0
  441. package/dist/chunk-ytvzxnx2.js +862 -0
  442. package/dist/chunk-ywxd4qw4.js +22 -0
  443. package/dist/chunk-yysj6sxt.js +336 -0
  444. package/dist/chunk-z2dp53wn.js +17 -0
  445. package/dist/chunk-zagmz9sy.js +247 -0
  446. package/dist/chunk-zbpm3xad.js +998 -0
  447. package/dist/chunk-zc6g0qqe.js +29 -0
  448. package/dist/chunk-zfavvrhe.js +753 -0
  449. package/dist/chunk-zk2wsm7d.js +15 -0
  450. package/dist/chunk-zrw9ava1.js +1391 -0
  451. package/dist/chunk-zsfxha74.js +17655 -0
  452. package/dist/chunk-ztmjzgq7.js +524 -0
  453. package/dist/chunk-zx7pgp71.js +20 -0
  454. package/dist/chunk-zz9km6hr.js +127 -0
  455. package/dist/cli.js +92 -0
  456. package/package.json +36 -0
@@ -0,0 +1,1874 @@
1
+ // @bun
2
+ import {
3
+ MCPRemoteServerMenu,
4
+ MCPStdioServerMenu,
5
+ MCPToolDetailView,
6
+ MCPToolListView,
7
+ PluginSettings,
8
+ init_MCPRemoteServerMenu,
9
+ init_MCPStdioServerMenu,
10
+ init_MCPToolDetailView,
11
+ init_MCPToolListView,
12
+ init_PluginSettings
13
+ } from "./chunk-cs5excdt.js";
14
+ import"./chunk-50f017g0.js";
15
+ import {
16
+ init_MCPConnectionManager,
17
+ useMcpReconnect,
18
+ useMcpToggleEnabled
19
+ } from "./chunk-v9nt9zq6.js";
20
+ import"./chunk-6va3sq9g.js";
21
+ import"./chunk-ab89rmm2.js";
22
+ import"./chunk-1bwnpgmv.js";
23
+ import"./chunk-328dhq0p.js";
24
+ import"./chunk-jpggn642.js";
25
+ import"./chunk-a8x7bb4n.js";
26
+ import {
27
+ McpParsingWarnings,
28
+ init_McpParsingWarnings
29
+ } from "./chunk-rgwhsqte.js";
30
+ import"./chunk-0et2fwnm.js";
31
+ import {
32
+ AuthenticationCancelledError,
33
+ ClaudeAuthProvider,
34
+ Select,
35
+ Spinner,
36
+ describeMcpConfigFilePath,
37
+ extractAgentMcpServers,
38
+ filterToolsByServer,
39
+ init_AppState,
40
+ init_CustomSelect,
41
+ init_Spinner,
42
+ init_auth,
43
+ init_utils,
44
+ performMCPOAuthFlow,
45
+ useAppState,
46
+ useAppStateStore
47
+ } from "./chunk-5eecpt8g.js";
48
+ import {
49
+ getSessionIngressAuthToken,
50
+ init_sessionIngressAuth
51
+ } from "./chunk-czvztj44.js";
52
+ import"./chunk-46xsszyy.js";
53
+ import"./chunk-2zcggr61.js";
54
+ import"./chunk-q0q2tsae.js";
55
+ import"./chunk-t0rgmccj.js";
56
+ import {
57
+ Byline,
58
+ ConfigurableShortcutHint,
59
+ Dialog,
60
+ KeyboardShortcutHint,
61
+ init_Byline,
62
+ init_ConfigurableShortcutHint,
63
+ init_Dialog,
64
+ init_KeyboardShortcutHint
65
+ } from "./chunk-d9y2zh54.js";
66
+ import"./chunk-2gzv8nrw.js";
67
+ import"./chunk-ehtwnxpg.js";
68
+ import"./chunk-xffq0yyv.js";
69
+ import"./chunk-02gx6hwz.js";
70
+ import"./chunk-vhjx5fag.js";
71
+ import"./chunk-w2yzntwd.js";
72
+ import"./chunk-kdqsfmc5.js";
73
+ import"./chunk-j5hc27hv.js";
74
+ import"./chunk-cgfdkzhb.js";
75
+ import"./chunk-0fzmdbg5.js";
76
+ import"./chunk-sn49y8be.js";
77
+ import"./chunk-9gbamk79.js";
78
+ import"./chunk-8rjvjb5t.js";
79
+ import"./chunk-gv0tqhg0.js";
80
+ import {
81
+ init_useKeybinding,
82
+ useKeybinding,
83
+ useKeybindings
84
+ } from "./chunk-nw5zdpcj.js";
85
+ import {
86
+ Link,
87
+ ThemedBox_default,
88
+ ThemedText,
89
+ color,
90
+ init_ink,
91
+ require_compiler_runtime,
92
+ useTheme
93
+ } from "./chunk-aa3rx320.js";
94
+ import"./chunk-7m2nd8da.js";
95
+ import"./chunk-ps49ymvj.js";
96
+ import {
97
+ require_jsx_dev_runtime,
98
+ require_react
99
+ } from "./chunk-g338npwr.js";
100
+ import"./chunk-n2pzg3mt.js";
101
+ import"./chunk-zk2wsm7d.js";
102
+ import"./chunk-tdgkxc3j.js";
103
+ import"./chunk-7e6ahfxz.js";
104
+ import"./chunk-zrw9ava1.js";
105
+ import"./chunk-mx28h61f.js";
106
+ import {
107
+ capitalize,
108
+ init_stringUtils,
109
+ plural
110
+ } from "./chunk-hgba8zda.js";
111
+ import"./chunk-eebcvtbb.js";
112
+ import"./chunk-xq4cfvpn.js";
113
+ import"./chunk-4qz9vbs1.js";
114
+ import"./chunk-gmaybtrd.js";
115
+ import"./chunk-b75fzr8e.js";
116
+ import"./chunk-g0j0t6qk.js";
117
+ import"./chunk-3c25bcsw.js";
118
+ import"./chunk-nj17bhkh.js";
119
+ import"./chunk-55wgxwa9.js";
120
+ import"./chunk-vqk1n5qr.js";
121
+ import"./chunk-4jm600zv.js";
122
+ import"./chunk-wn2268qd.js";
123
+ import"./chunk-vqvd3qz0.js";
124
+ import"./chunk-f5ma3nh5.js";
125
+ import"./chunk-qz2x630m.js";
126
+ import"./chunk-d9kz373t.js";
127
+ import"./chunk-p2816w9z.js";
128
+ import"./chunk-v9smspw2.js";
129
+ import"./chunk-v1kzp02e.js";
130
+ import"./chunk-0vkfrmqm.js";
131
+ import"./chunk-0xjaqda8.js";
132
+ import"./chunk-res15ktd.js";
133
+ import"./chunk-wgcssf6v.js";
134
+ import"./chunk-cdz5yb0r.js";
135
+ import"./chunk-h0rbjg6x.js";
136
+ import"./chunk-dstxhxsx.js";
137
+ import"./chunk-b8x1gk3y.js";
138
+ import"./chunk-9k2drwej.js";
139
+ import"./chunk-qnfx3qtx.js";
140
+ import"./chunk-fbpftpf0.js";
141
+ import"./chunk-3vs3nm7w.js";
142
+ import {
143
+ figures_default,
144
+ init_figures
145
+ } from "./chunk-gzzfhtdv.js";
146
+ import"./chunk-yysj6sxt.js";
147
+ import"./chunk-8tnsngw2.js";
148
+ import"./chunk-8bedvdm1.js";
149
+ import"./chunk-7wm5s02e.js";
150
+ import {
151
+ init_debug,
152
+ isDebugMode
153
+ } from "./chunk-sbbj6ta3.js";
154
+ import"./chunk-fbv4apne.js";
155
+ import"./chunk-raqgs410.js";
156
+ import"./chunk-qqfa0dqg.js";
157
+ import"./chunk-hqmz36b3.js";
158
+ import"./chunk-4g3v8y12.js";
159
+ import"./chunk-7739pg2c.js";
160
+ import"./chunk-xszk7n10.js";
161
+ import"./chunk-sdj9b9wh.js";
162
+ import {
163
+ __esm,
164
+ __toESM
165
+ } from "./chunk-qp2qdcda.js";
166
+
167
+ // src/components/mcp/MCPAgentServerMenu.tsx
168
+ function MCPAgentServerMenu({
169
+ agentServer,
170
+ onCancel,
171
+ onComplete
172
+ }) {
173
+ const [theme] = useTheme();
174
+ const [isAuthenticating, setIsAuthenticating] = import_react.useState(false);
175
+ const [error, setError] = import_react.useState(null);
176
+ const [authorizationUrl, setAuthorizationUrl] = import_react.useState(null);
177
+ const authAbortControllerRef = import_react.useRef(null);
178
+ import_react.useEffect(() => () => authAbortControllerRef.current?.abort(), []);
179
+ const handleEscCancel = import_react.useCallback(() => {
180
+ if (isAuthenticating) {
181
+ authAbortControllerRef.current?.abort();
182
+ authAbortControllerRef.current = null;
183
+ setIsAuthenticating(false);
184
+ setAuthorizationUrl(null);
185
+ }
186
+ }, [isAuthenticating]);
187
+ useKeybinding("confirm:no", handleEscCancel, {
188
+ context: "Confirmation",
189
+ isActive: isAuthenticating
190
+ });
191
+ const handleAuthenticate = import_react.useCallback(async () => {
192
+ if (!agentServer.needsAuth || !agentServer.url) {
193
+ return;
194
+ }
195
+ setIsAuthenticating(true);
196
+ setError(null);
197
+ const controller = new AbortController;
198
+ authAbortControllerRef.current = controller;
199
+ try {
200
+ const tempConfig = {
201
+ type: agentServer.transport,
202
+ url: agentServer.url
203
+ };
204
+ await performMCPOAuthFlow(agentServer.name, tempConfig, setAuthorizationUrl, controller.signal);
205
+ onComplete?.(`Authentication successful for ${agentServer.name}. The server will connect when the agent runs.`);
206
+ } catch (err) {
207
+ if (err instanceof Error && !(err instanceof AuthenticationCancelledError)) {
208
+ setError(err.message);
209
+ }
210
+ } finally {
211
+ setIsAuthenticating(false);
212
+ authAbortControllerRef.current = null;
213
+ }
214
+ }, [agentServer, onComplete]);
215
+ const capitalizedServerName = capitalize(String(agentServer.name));
216
+ if (isAuthenticating) {
217
+ return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
218
+ flexDirection: "column",
219
+ gap: 1,
220
+ padding: 1,
221
+ children: [
222
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
223
+ color: "claude",
224
+ children: [
225
+ "Authenticating with ",
226
+ agentServer.name,
227
+ "\u2026"
228
+ ]
229
+ }, undefined, true, undefined, this),
230
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
231
+ children: [
232
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Spinner, {}, undefined, false, undefined, this),
233
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
234
+ children: " A browser window will open for authentication"
235
+ }, undefined, false, undefined, this)
236
+ ]
237
+ }, undefined, true, undefined, this),
238
+ authorizationUrl && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
239
+ flexDirection: "column",
240
+ children: [
241
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
242
+ dimColor: true,
243
+ children: "If your browser doesn't open automatically, copy this URL manually:"
244
+ }, undefined, false, undefined, this),
245
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Link, {
246
+ url: authorizationUrl
247
+ }, undefined, false, undefined, this)
248
+ ]
249
+ }, undefined, true, undefined, this),
250
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
251
+ marginLeft: 3,
252
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
253
+ dimColor: true,
254
+ children: [
255
+ "Return here after authenticating in your browser.",
256
+ " ",
257
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ConfigurableShortcutHint, {
258
+ action: "confirm:no",
259
+ context: "Confirmation",
260
+ fallback: "Esc",
261
+ description: "go back"
262
+ }, undefined, false, undefined, this)
263
+ ]
264
+ }, undefined, true, undefined, this)
265
+ }, undefined, false, undefined, this)
266
+ ]
267
+ }, undefined, true, undefined, this);
268
+ }
269
+ const menuOptions = [];
270
+ if (agentServer.needsAuth) {
271
+ menuOptions.push({
272
+ label: agentServer.isAuthenticated ? "Re-authenticate" : "Authenticate",
273
+ value: "auth"
274
+ });
275
+ }
276
+ menuOptions.push({
277
+ label: "Back",
278
+ value: "back"
279
+ });
280
+ return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Dialog, {
281
+ title: `${capitalizedServerName} MCP Server`,
282
+ subtitle: "agent-only",
283
+ onCancel,
284
+ inputGuide: (exitState) => exitState.pending ? /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
285
+ children: [
286
+ "Press ",
287
+ exitState.keyName,
288
+ " again to exit"
289
+ ]
290
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Byline, {
291
+ children: [
292
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(KeyboardShortcutHint, {
293
+ shortcut: "\u2191\u2193",
294
+ action: "navigate"
295
+ }, undefined, false, undefined, this),
296
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(KeyboardShortcutHint, {
297
+ shortcut: "Enter",
298
+ action: "confirm"
299
+ }, undefined, false, undefined, this),
300
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ConfigurableShortcutHint, {
301
+ action: "confirm:no",
302
+ context: "Confirmation",
303
+ fallback: "Esc",
304
+ description: "go back"
305
+ }, undefined, false, undefined, this)
306
+ ]
307
+ }, undefined, true, undefined, this),
308
+ children: [
309
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
310
+ flexDirection: "column",
311
+ gap: 0,
312
+ children: [
313
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
314
+ children: [
315
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
316
+ bold: true,
317
+ children: "Type: "
318
+ }, undefined, false, undefined, this),
319
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
320
+ dimColor: true,
321
+ children: agentServer.transport
322
+ }, undefined, false, undefined, this)
323
+ ]
324
+ }, undefined, true, undefined, this),
325
+ agentServer.url && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
326
+ children: [
327
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
328
+ bold: true,
329
+ children: "URL: "
330
+ }, undefined, false, undefined, this),
331
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
332
+ dimColor: true,
333
+ children: agentServer.url
334
+ }, undefined, false, undefined, this)
335
+ ]
336
+ }, undefined, true, undefined, this),
337
+ agentServer.command && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
338
+ children: [
339
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
340
+ bold: true,
341
+ children: "Command: "
342
+ }, undefined, false, undefined, this),
343
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
344
+ dimColor: true,
345
+ children: agentServer.command
346
+ }, undefined, false, undefined, this)
347
+ ]
348
+ }, undefined, true, undefined, this),
349
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
350
+ children: [
351
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
352
+ bold: true,
353
+ children: "Used by: "
354
+ }, undefined, false, undefined, this),
355
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
356
+ dimColor: true,
357
+ children: agentServer.sourceAgents.join(", ")
358
+ }, undefined, false, undefined, this)
359
+ ]
360
+ }, undefined, true, undefined, this),
361
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
362
+ marginTop: 1,
363
+ children: [
364
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
365
+ bold: true,
366
+ children: "Status: "
367
+ }, undefined, false, undefined, this),
368
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
369
+ children: [
370
+ color("inactive", theme)(figures_default.radioOff),
371
+ " not connected (agent-only)"
372
+ ]
373
+ }, undefined, true, undefined, this)
374
+ ]
375
+ }, undefined, true, undefined, this),
376
+ agentServer.needsAuth && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
377
+ children: [
378
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
379
+ bold: true,
380
+ children: "Auth: "
381
+ }, undefined, false, undefined, this),
382
+ agentServer.isAuthenticated ? /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
383
+ children: [
384
+ color("success", theme)(figures_default.tick),
385
+ " authenticated"
386
+ ]
387
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
388
+ children: [
389
+ color("warning", theme)(figures_default.triangleUpOutline),
390
+ " may need authentication"
391
+ ]
392
+ }, undefined, true, undefined, this)
393
+ ]
394
+ }, undefined, true, undefined, this)
395
+ ]
396
+ }, undefined, true, undefined, this),
397
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
398
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
399
+ dimColor: true,
400
+ children: "This server connects only when running the agent."
401
+ }, undefined, false, undefined, this)
402
+ }, undefined, false, undefined, this),
403
+ error && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
404
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
405
+ color: "error",
406
+ children: [
407
+ "Error: ",
408
+ error
409
+ ]
410
+ }, undefined, true, undefined, this)
411
+ }, undefined, false, undefined, this),
412
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
413
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Select, {
414
+ options: menuOptions,
415
+ onChange: async (value) => {
416
+ switch (value) {
417
+ case "auth":
418
+ await handleAuthenticate();
419
+ break;
420
+ case "back":
421
+ onCancel();
422
+ break;
423
+ }
424
+ },
425
+ onCancel
426
+ }, undefined, false, undefined, this)
427
+ }, undefined, false, undefined, this)
428
+ ]
429
+ }, undefined, true, undefined, this);
430
+ }
431
+ var import_react, jsx_dev_runtime;
432
+ var init_MCPAgentServerMenu = __esm(() => {
433
+ init_figures();
434
+ init_ink();
435
+ init_useKeybinding();
436
+ init_auth();
437
+ init_stringUtils();
438
+ init_ConfigurableShortcutHint();
439
+ init_CustomSelect();
440
+ init_Byline();
441
+ init_Dialog();
442
+ init_KeyboardShortcutHint();
443
+ init_Spinner();
444
+ import_react = __toESM(require_react(), 1);
445
+ jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
446
+ });
447
+
448
+ // src/components/mcp/MCPListPanel.tsx
449
+ function getScopeHeading(scope) {
450
+ switch (scope) {
451
+ case "project":
452
+ return {
453
+ label: "Project MCPs",
454
+ path: describeMcpConfigFilePath(scope)
455
+ };
456
+ case "user":
457
+ return {
458
+ label: "User MCPs",
459
+ path: describeMcpConfigFilePath(scope)
460
+ };
461
+ case "local":
462
+ return {
463
+ label: "Local MCPs",
464
+ path: describeMcpConfigFilePath(scope)
465
+ };
466
+ case "enterprise":
467
+ return {
468
+ label: "Enterprise MCPs"
469
+ };
470
+ case "dynamic":
471
+ return {
472
+ label: "Built-in MCPs",
473
+ path: "always available"
474
+ };
475
+ default:
476
+ return {
477
+ label: scope
478
+ };
479
+ }
480
+ }
481
+ function groupServersByScope(serverList) {
482
+ const groups = new Map;
483
+ for (const server of serverList) {
484
+ const scope = server.scope;
485
+ if (!groups.has(scope)) {
486
+ groups.set(scope, []);
487
+ }
488
+ groups.get(scope).push(server);
489
+ }
490
+ for (const [, groupServers] of groups) {
491
+ groupServers.sort((a, b) => a.name.localeCompare(b.name));
492
+ }
493
+ return groups;
494
+ }
495
+ function MCPListPanel(t0) {
496
+ const $ = import_compiler_runtime.c(78);
497
+ const {
498
+ servers,
499
+ agentServers: t1,
500
+ onSelectServer,
501
+ onSelectAgentServer,
502
+ onComplete
503
+ } = t0;
504
+ let t2;
505
+ if ($[0] !== t1) {
506
+ t2 = t1 === undefined ? [] : t1;
507
+ $[0] = t1;
508
+ $[1] = t2;
509
+ } else {
510
+ t2 = $[1];
511
+ }
512
+ const agentServers = t2;
513
+ const [theme] = useTheme();
514
+ const [selectedIndex, setSelectedIndex] = import_react2.useState(0);
515
+ let t3;
516
+ if ($[2] !== servers) {
517
+ const regularServers = servers.filter(_temp);
518
+ t3 = groupServersByScope(regularServers);
519
+ $[2] = servers;
520
+ $[3] = t3;
521
+ } else {
522
+ t3 = $[3];
523
+ }
524
+ const serversByScope = t3;
525
+ let t4;
526
+ if ($[4] !== servers) {
527
+ t4 = servers.filter(_temp2).sort(_temp3);
528
+ $[4] = servers;
529
+ $[5] = t4;
530
+ } else {
531
+ t4 = $[5];
532
+ }
533
+ const claudeAiServers = t4;
534
+ let t5;
535
+ if ($[6] !== serversByScope) {
536
+ t5 = (serversByScope.get("dynamic") ?? []).sort(_temp4);
537
+ $[6] = serversByScope;
538
+ $[7] = t5;
539
+ } else {
540
+ t5 = $[7];
541
+ }
542
+ const dynamicServers = t5;
543
+ let t6;
544
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
545
+ t6 = getScopeHeading("dynamic");
546
+ $[8] = t6;
547
+ } else {
548
+ t6 = $[8];
549
+ }
550
+ const dynamicHeading = t6;
551
+ let items;
552
+ if ($[9] !== agentServers || $[10] !== claudeAiServers || $[11] !== dynamicServers || $[12] !== serversByScope) {
553
+ items = [];
554
+ for (const scope of SCOPE_ORDER) {
555
+ const scopeServers = serversByScope.get(scope) ?? [];
556
+ for (const server of scopeServers) {
557
+ items.push({
558
+ type: "server",
559
+ server
560
+ });
561
+ }
562
+ }
563
+ for (const server_0 of claudeAiServers) {
564
+ items.push({
565
+ type: "server",
566
+ server: server_0
567
+ });
568
+ }
569
+ for (const agentServer of agentServers) {
570
+ items.push({
571
+ type: "agent-server",
572
+ agentServer
573
+ });
574
+ }
575
+ for (const server_1 of dynamicServers) {
576
+ items.push({
577
+ type: "server",
578
+ server: server_1
579
+ });
580
+ }
581
+ $[9] = agentServers;
582
+ $[10] = claudeAiServers;
583
+ $[11] = dynamicServers;
584
+ $[12] = serversByScope;
585
+ $[13] = items;
586
+ } else {
587
+ items = $[13];
588
+ }
589
+ const selectableItems = items;
590
+ let t7;
591
+ if ($[14] !== onComplete) {
592
+ t7 = () => {
593
+ onComplete("MCP dialog dismissed", {
594
+ display: "system"
595
+ });
596
+ };
597
+ $[14] = onComplete;
598
+ $[15] = t7;
599
+ } else {
600
+ t7 = $[15];
601
+ }
602
+ const handleCancel = t7;
603
+ let t8;
604
+ if ($[16] !== onSelectAgentServer || $[17] !== onSelectServer || $[18] !== selectableItems || $[19] !== selectedIndex) {
605
+ t8 = () => {
606
+ const item = selectableItems[selectedIndex];
607
+ if (!item) {
608
+ return;
609
+ }
610
+ if (item.type === "server") {
611
+ onSelectServer(item.server);
612
+ } else {
613
+ if (item.type === "agent-server" && onSelectAgentServer) {
614
+ onSelectAgentServer(item.agentServer);
615
+ }
616
+ }
617
+ };
618
+ $[16] = onSelectAgentServer;
619
+ $[17] = onSelectServer;
620
+ $[18] = selectableItems;
621
+ $[19] = selectedIndex;
622
+ $[20] = t8;
623
+ } else {
624
+ t8 = $[20];
625
+ }
626
+ const handleSelect = t8;
627
+ let t10;
628
+ let t9;
629
+ if ($[21] !== selectableItems) {
630
+ t9 = () => setSelectedIndex((prev) => prev === 0 ? selectableItems.length - 1 : prev - 1);
631
+ t10 = () => setSelectedIndex((prev_0) => prev_0 === selectableItems.length - 1 ? 0 : prev_0 + 1);
632
+ $[21] = selectableItems;
633
+ $[22] = t10;
634
+ $[23] = t9;
635
+ } else {
636
+ t10 = $[22];
637
+ t9 = $[23];
638
+ }
639
+ let t11;
640
+ if ($[24] !== handleCancel || $[25] !== handleSelect || $[26] !== t10 || $[27] !== t9) {
641
+ t11 = {
642
+ "confirm:previous": t9,
643
+ "confirm:next": t10,
644
+ "confirm:yes": handleSelect,
645
+ "confirm:no": handleCancel
646
+ };
647
+ $[24] = handleCancel;
648
+ $[25] = handleSelect;
649
+ $[26] = t10;
650
+ $[27] = t9;
651
+ $[28] = t11;
652
+ } else {
653
+ t11 = $[28];
654
+ }
655
+ let t12;
656
+ if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
657
+ t12 = {
658
+ context: "Confirmation"
659
+ };
660
+ $[29] = t12;
661
+ } else {
662
+ t12 = $[29];
663
+ }
664
+ useKeybindings(t11, t12);
665
+ let t13;
666
+ if ($[30] !== selectableItems) {
667
+ t13 = (server_2) => selectableItems.findIndex((item_0) => item_0.type === "server" && item_0.server === server_2);
668
+ $[30] = selectableItems;
669
+ $[31] = t13;
670
+ } else {
671
+ t13 = $[31];
672
+ }
673
+ const getServerIndex = t13;
674
+ let t14;
675
+ if ($[32] !== selectableItems) {
676
+ t14 = (agentServer_0) => selectableItems.findIndex((item_1) => item_1.type === "agent-server" && item_1.agentServer === agentServer_0);
677
+ $[32] = selectableItems;
678
+ $[33] = t14;
679
+ } else {
680
+ t14 = $[33];
681
+ }
682
+ const getAgentServerIndex = t14;
683
+ let t15;
684
+ if ($[34] === Symbol.for("react.memo_cache_sentinel")) {
685
+ t15 = isDebugMode();
686
+ $[34] = t15;
687
+ } else {
688
+ t15 = $[34];
689
+ }
690
+ const debugMode = t15;
691
+ let t16;
692
+ if ($[35] !== servers) {
693
+ t16 = servers.some(_temp5);
694
+ $[35] = servers;
695
+ $[36] = t16;
696
+ } else {
697
+ t16 = $[36];
698
+ }
699
+ const hasFailedClients = t16;
700
+ if (servers.length === 0 && agentServers.length === 0) {
701
+ return null;
702
+ }
703
+ let t17;
704
+ if ($[37] !== getServerIndex || $[38] !== selectedIndex || $[39] !== theme) {
705
+ t17 = (server_3) => {
706
+ const index = getServerIndex(server_3);
707
+ const isSelected = selectedIndex === index;
708
+ let statusIcon;
709
+ let statusText;
710
+ if (server_3.client.type === "disabled") {
711
+ statusIcon = color("inactive", theme)(figures_default.radioOff);
712
+ statusText = "disabled";
713
+ } else {
714
+ if (server_3.client.type === "connected") {
715
+ statusIcon = color("success", theme)(figures_default.tick);
716
+ statusText = "connected";
717
+ } else {
718
+ if (server_3.client.type === "pending") {
719
+ statusIcon = color("inactive", theme)(figures_default.radioOff);
720
+ const {
721
+ reconnectAttempt,
722
+ maxReconnectAttempts
723
+ } = server_3.client;
724
+ if (reconnectAttempt && maxReconnectAttempts) {
725
+ statusText = `reconnecting (${reconnectAttempt}/${maxReconnectAttempts})\u2026`;
726
+ } else {
727
+ statusText = "connecting\u2026";
728
+ }
729
+ } else {
730
+ if (server_3.client.type === "needs-auth") {
731
+ statusIcon = color("warning", theme)(figures_default.triangleUpOutline);
732
+ statusText = "needs authentication";
733
+ } else {
734
+ statusIcon = color("error", theme)(figures_default.cross);
735
+ statusText = "failed";
736
+ }
737
+ }
738
+ }
739
+ }
740
+ return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
741
+ children: [
742
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
743
+ color: isSelected ? "suggestion" : undefined,
744
+ children: isSelected ? `${figures_default.pointer} ` : " "
745
+ }, undefined, false, undefined, this),
746
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
747
+ color: isSelected ? "suggestion" : undefined,
748
+ children: server_3.name
749
+ }, undefined, false, undefined, this),
750
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
751
+ dimColor: !isSelected,
752
+ children: [
753
+ " \xB7 ",
754
+ statusIcon,
755
+ " "
756
+ ]
757
+ }, undefined, true, undefined, this),
758
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
759
+ dimColor: !isSelected,
760
+ children: statusText
761
+ }, undefined, false, undefined, this)
762
+ ]
763
+ }, `${server_3.name}-${index}`, true, undefined, this);
764
+ };
765
+ $[37] = getServerIndex;
766
+ $[38] = selectedIndex;
767
+ $[39] = theme;
768
+ $[40] = t17;
769
+ } else {
770
+ t17 = $[40];
771
+ }
772
+ const renderServerItem = t17;
773
+ let t18;
774
+ if ($[41] !== getAgentServerIndex || $[42] !== selectedIndex || $[43] !== theme) {
775
+ t18 = (agentServer_1) => {
776
+ const index_0 = getAgentServerIndex(agentServer_1);
777
+ const isSelected_0 = selectedIndex === index_0;
778
+ const statusIcon_0 = agentServer_1.needsAuth ? color("warning", theme)(figures_default.triangleUpOutline) : color("inactive", theme)(figures_default.radioOff);
779
+ const statusText_0 = agentServer_1.needsAuth ? "may need auth" : "agent-only";
780
+ return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
781
+ children: [
782
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
783
+ color: isSelected_0 ? "suggestion" : undefined,
784
+ children: isSelected_0 ? `${figures_default.pointer} ` : " "
785
+ }, undefined, false, undefined, this),
786
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
787
+ color: isSelected_0 ? "suggestion" : undefined,
788
+ children: agentServer_1.name
789
+ }, undefined, false, undefined, this),
790
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
791
+ dimColor: !isSelected_0,
792
+ children: [
793
+ " \xB7 ",
794
+ statusIcon_0,
795
+ " "
796
+ ]
797
+ }, undefined, true, undefined, this),
798
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
799
+ dimColor: !isSelected_0,
800
+ children: statusText_0
801
+ }, undefined, false, undefined, this)
802
+ ]
803
+ }, `agent-${agentServer_1.name}-${index_0}`, true, undefined, this);
804
+ };
805
+ $[41] = getAgentServerIndex;
806
+ $[42] = selectedIndex;
807
+ $[43] = theme;
808
+ $[44] = t18;
809
+ } else {
810
+ t18 = $[44];
811
+ }
812
+ const renderAgentServerItem = t18;
813
+ const totalServers = servers.length + agentServers.length;
814
+ let t19;
815
+ if ($[45] === Symbol.for("react.memo_cache_sentinel")) {
816
+ t19 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(McpParsingWarnings, {}, undefined, false, undefined, this);
817
+ $[45] = t19;
818
+ } else {
819
+ t19 = $[45];
820
+ }
821
+ let t20;
822
+ if ($[46] !== totalServers) {
823
+ t20 = plural(totalServers, "server");
824
+ $[46] = totalServers;
825
+ $[47] = t20;
826
+ } else {
827
+ t20 = $[47];
828
+ }
829
+ const t21 = `${totalServers} ${t20}`;
830
+ let t22;
831
+ if ($[48] !== renderServerItem || $[49] !== serversByScope) {
832
+ t22 = SCOPE_ORDER.map((scope_0) => {
833
+ const scopeServers_0 = serversByScope.get(scope_0);
834
+ if (!scopeServers_0 || scopeServers_0.length === 0) {
835
+ return null;
836
+ }
837
+ const heading = getScopeHeading(scope_0);
838
+ return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
839
+ flexDirection: "column",
840
+ marginBottom: 1,
841
+ children: [
842
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
843
+ paddingLeft: 2,
844
+ children: [
845
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
846
+ bold: true,
847
+ children: heading.label
848
+ }, undefined, false, undefined, this),
849
+ heading.path && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
850
+ dimColor: true,
851
+ children: [
852
+ " (",
853
+ heading.path,
854
+ ")"
855
+ ]
856
+ }, undefined, true, undefined, this)
857
+ ]
858
+ }, undefined, true, undefined, this),
859
+ scopeServers_0.map((server_4) => renderServerItem(server_4))
860
+ ]
861
+ }, scope_0, true, undefined, this);
862
+ });
863
+ $[48] = renderServerItem;
864
+ $[49] = serversByScope;
865
+ $[50] = t22;
866
+ } else {
867
+ t22 = $[50];
868
+ }
869
+ let t23;
870
+ if ($[51] !== claudeAiServers || $[52] !== renderServerItem) {
871
+ t23 = claudeAiServers.length > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
872
+ flexDirection: "column",
873
+ marginBottom: 1,
874
+ children: [
875
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
876
+ paddingLeft: 2,
877
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
878
+ bold: true,
879
+ children: "claude.ai"
880
+ }, undefined, false, undefined, this)
881
+ }, undefined, false, undefined, this),
882
+ claudeAiServers.map((server_5) => renderServerItem(server_5))
883
+ ]
884
+ }, undefined, true, undefined, this);
885
+ $[51] = claudeAiServers;
886
+ $[52] = renderServerItem;
887
+ $[53] = t23;
888
+ } else {
889
+ t23 = $[53];
890
+ }
891
+ let t24;
892
+ if ($[54] !== agentServers || $[55] !== renderAgentServerItem) {
893
+ t24 = agentServers.length > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
894
+ flexDirection: "column",
895
+ marginBottom: 1,
896
+ children: [
897
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
898
+ paddingLeft: 2,
899
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
900
+ bold: true,
901
+ children: "Agent MCPs"
902
+ }, undefined, false, undefined, this)
903
+ }, undefined, false, undefined, this),
904
+ [...new Set(agentServers.flatMap(_temp6))].map((agentName) => /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
905
+ flexDirection: "column",
906
+ marginTop: 1,
907
+ children: [
908
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
909
+ paddingLeft: 2,
910
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
911
+ dimColor: true,
912
+ children: [
913
+ "@",
914
+ agentName
915
+ ]
916
+ }, undefined, true, undefined, this)
917
+ }, undefined, false, undefined, this),
918
+ agentServers.filter((s_3) => s_3.sourceAgents.includes(agentName)).map((agentServer_2) => renderAgentServerItem(agentServer_2))
919
+ ]
920
+ }, agentName, true, undefined, this))
921
+ ]
922
+ }, undefined, true, undefined, this);
923
+ $[54] = agentServers;
924
+ $[55] = renderAgentServerItem;
925
+ $[56] = t24;
926
+ } else {
927
+ t24 = $[56];
928
+ }
929
+ let t25;
930
+ if ($[57] !== dynamicServers || $[58] !== renderServerItem) {
931
+ t25 = dynamicServers.length > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
932
+ flexDirection: "column",
933
+ marginBottom: 1,
934
+ children: [
935
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
936
+ paddingLeft: 2,
937
+ children: [
938
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
939
+ bold: true,
940
+ children: dynamicHeading.label
941
+ }, undefined, false, undefined, this),
942
+ dynamicHeading.path && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
943
+ dimColor: true,
944
+ children: [
945
+ " (",
946
+ dynamicHeading.path,
947
+ ")"
948
+ ]
949
+ }, undefined, true, undefined, this)
950
+ ]
951
+ }, undefined, true, undefined, this),
952
+ dynamicServers.map((server_6) => renderServerItem(server_6))
953
+ ]
954
+ }, undefined, true, undefined, this);
955
+ $[57] = dynamicServers;
956
+ $[58] = renderServerItem;
957
+ $[59] = t25;
958
+ } else {
959
+ t25 = $[59];
960
+ }
961
+ let t26;
962
+ if ($[60] !== hasFailedClients) {
963
+ t26 = hasFailedClients && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
964
+ dimColor: true,
965
+ children: debugMode ? "\u203B Error logs shown inline with --debug" : "\u203B Run claude --debug to see error logs"
966
+ }, undefined, false, undefined, this);
967
+ $[60] = hasFailedClients;
968
+ $[61] = t26;
969
+ } else {
970
+ t26 = $[61];
971
+ }
972
+ let t27;
973
+ if ($[62] === Symbol.for("react.memo_cache_sentinel")) {
974
+ t27 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
975
+ dimColor: true,
976
+ children: [
977
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Link, {
978
+ url: "https://code.claude.com/docs/en/mcp",
979
+ children: "https://code.claude.com/docs/en/mcp"
980
+ }, undefined, false, undefined, this),
981
+ " ",
982
+ "for help"
983
+ ]
984
+ }, undefined, true, undefined, this);
985
+ $[62] = t27;
986
+ } else {
987
+ t27 = $[62];
988
+ }
989
+ let t28;
990
+ if ($[63] !== t26) {
991
+ t28 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
992
+ flexDirection: "column",
993
+ children: [
994
+ t26,
995
+ t27
996
+ ]
997
+ }, undefined, true, undefined, this);
998
+ $[63] = t26;
999
+ $[64] = t28;
1000
+ } else {
1001
+ t28 = $[64];
1002
+ }
1003
+ let t29;
1004
+ if ($[65] !== t22 || $[66] !== t23 || $[67] !== t24 || $[68] !== t25 || $[69] !== t28) {
1005
+ t29 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
1006
+ flexDirection: "column",
1007
+ children: [
1008
+ t22,
1009
+ t23,
1010
+ t24,
1011
+ t25,
1012
+ t28
1013
+ ]
1014
+ }, undefined, true, undefined, this);
1015
+ $[65] = t22;
1016
+ $[66] = t23;
1017
+ $[67] = t24;
1018
+ $[68] = t25;
1019
+ $[69] = t28;
1020
+ $[70] = t29;
1021
+ } else {
1022
+ t29 = $[70];
1023
+ }
1024
+ let t30;
1025
+ if ($[71] !== handleCancel || $[72] !== t21 || $[73] !== t29) {
1026
+ t30 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Dialog, {
1027
+ title: "Manage MCP servers",
1028
+ subtitle: t21,
1029
+ onCancel: handleCancel,
1030
+ hideInputGuide: true,
1031
+ children: t29
1032
+ }, undefined, false, undefined, this);
1033
+ $[71] = handleCancel;
1034
+ $[72] = t21;
1035
+ $[73] = t29;
1036
+ $[74] = t30;
1037
+ } else {
1038
+ t30 = $[74];
1039
+ }
1040
+ let t31;
1041
+ if ($[75] === Symbol.for("react.memo_cache_sentinel")) {
1042
+ t31 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
1043
+ paddingX: 1,
1044
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
1045
+ dimColor: true,
1046
+ italic: true,
1047
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Byline, {
1048
+ children: [
1049
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(KeyboardShortcutHint, {
1050
+ shortcut: "\u2191\u2193",
1051
+ action: "navigate"
1052
+ }, undefined, false, undefined, this),
1053
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(KeyboardShortcutHint, {
1054
+ shortcut: "Enter",
1055
+ action: "confirm"
1056
+ }, undefined, false, undefined, this),
1057
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ConfigurableShortcutHint, {
1058
+ action: "confirm:no",
1059
+ context: "Confirmation",
1060
+ fallback: "Esc",
1061
+ description: "cancel"
1062
+ }, undefined, false, undefined, this)
1063
+ ]
1064
+ }, undefined, true, undefined, this)
1065
+ }, undefined, false, undefined, this)
1066
+ }, undefined, false, undefined, this);
1067
+ $[75] = t31;
1068
+ } else {
1069
+ t31 = $[75];
1070
+ }
1071
+ let t32;
1072
+ if ($[76] !== t30) {
1073
+ t32 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
1074
+ flexDirection: "column",
1075
+ children: [
1076
+ t19,
1077
+ t30,
1078
+ t31
1079
+ ]
1080
+ }, undefined, true, undefined, this);
1081
+ $[76] = t30;
1082
+ $[77] = t32;
1083
+ } else {
1084
+ t32 = $[77];
1085
+ }
1086
+ return t32;
1087
+ }
1088
+ function _temp6(s_2) {
1089
+ return s_2.sourceAgents;
1090
+ }
1091
+ function _temp5(s_1) {
1092
+ return s_1.client.type === "failed";
1093
+ }
1094
+ function _temp4(a_0, b_0) {
1095
+ return a_0.name.localeCompare(b_0.name);
1096
+ }
1097
+ function _temp3(a, b) {
1098
+ return a.name.localeCompare(b.name);
1099
+ }
1100
+ function _temp2(s_0) {
1101
+ return s_0.client.config.type === "claudeai-proxy";
1102
+ }
1103
+ function _temp(s) {
1104
+ return s.client.config.type !== "claudeai-proxy";
1105
+ }
1106
+ var import_compiler_runtime, import_react2, jsx_dev_runtime2, SCOPE_ORDER;
1107
+ var init_MCPListPanel = __esm(() => {
1108
+ init_figures();
1109
+ init_ink();
1110
+ init_useKeybinding();
1111
+ init_utils();
1112
+ init_debug();
1113
+ init_stringUtils();
1114
+ init_ConfigurableShortcutHint();
1115
+ init_Byline();
1116
+ init_Dialog();
1117
+ init_KeyboardShortcutHint();
1118
+ init_McpParsingWarnings();
1119
+ import_compiler_runtime = __toESM(require_compiler_runtime(), 1);
1120
+ import_react2 = __toESM(require_react(), 1);
1121
+ jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
1122
+ SCOPE_ORDER = ["project", "local", "user", "enterprise"];
1123
+ });
1124
+
1125
+ // src/components/mcp/MCPReconnect.tsx
1126
+ function MCPReconnect(t0) {
1127
+ const $ = import_compiler_runtime2.c(25);
1128
+ const {
1129
+ serverName,
1130
+ onComplete
1131
+ } = t0;
1132
+ const [theme] = useTheme();
1133
+ const store = useAppStateStore();
1134
+ const reconnectMcpServer = useMcpReconnect();
1135
+ const [isReconnecting, setIsReconnecting] = import_react3.useState(true);
1136
+ const [error, setError] = import_react3.useState(null);
1137
+ let t1;
1138
+ let t2;
1139
+ if ($[0] !== onComplete || $[1] !== reconnectMcpServer || $[2] !== serverName || $[3] !== store) {
1140
+ t1 = () => {
1141
+ const attemptReconnect = async function attemptReconnect2() {
1142
+ try {
1143
+ const server = store.getState().mcp.clients.find((c) => c.name === serverName);
1144
+ if (!server) {
1145
+ setError(`MCP server "${serverName}" not found`);
1146
+ setIsReconnecting(false);
1147
+ onComplete(`MCP server "${serverName}" not found`);
1148
+ return;
1149
+ }
1150
+ const result = await reconnectMcpServer(serverName);
1151
+ bb43:
1152
+ switch (result.client.type) {
1153
+ case "connected": {
1154
+ setIsReconnecting(false);
1155
+ onComplete(`Successfully reconnected to ${serverName}`);
1156
+ break bb43;
1157
+ }
1158
+ case "needs-auth": {
1159
+ setError(`${serverName} requires authentication`);
1160
+ setIsReconnecting(false);
1161
+ onComplete(`${serverName} requires authentication. Use /mcp to authenticate.`);
1162
+ break bb43;
1163
+ }
1164
+ case "pending":
1165
+ case "failed":
1166
+ case "disabled": {
1167
+ setError(`Failed to reconnect to ${serverName}`);
1168
+ setIsReconnecting(false);
1169
+ onComplete(`Failed to reconnect to ${serverName}`);
1170
+ }
1171
+ }
1172
+ } catch (t3) {
1173
+ const err = t3;
1174
+ const errorMessage = err instanceof Error ? err.message : String(err);
1175
+ setError(errorMessage);
1176
+ setIsReconnecting(false);
1177
+ onComplete(`Error: ${errorMessage}`);
1178
+ }
1179
+ };
1180
+ attemptReconnect();
1181
+ };
1182
+ t2 = [serverName, reconnectMcpServer, store, onComplete];
1183
+ $[0] = onComplete;
1184
+ $[1] = reconnectMcpServer;
1185
+ $[2] = serverName;
1186
+ $[3] = store;
1187
+ $[4] = t1;
1188
+ $[5] = t2;
1189
+ } else {
1190
+ t1 = $[4];
1191
+ t2 = $[5];
1192
+ }
1193
+ import_react3.useEffect(t1, t2);
1194
+ if (isReconnecting) {
1195
+ let t3;
1196
+ if ($[6] !== serverName) {
1197
+ t3 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1198
+ color: "text",
1199
+ children: [
1200
+ "Reconnecting to ",
1201
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1202
+ bold: true,
1203
+ children: serverName
1204
+ }, undefined, false, undefined, this)
1205
+ ]
1206
+ }, undefined, true, undefined, this);
1207
+ $[6] = serverName;
1208
+ $[7] = t3;
1209
+ } else {
1210
+ t3 = $[7];
1211
+ }
1212
+ let t4;
1213
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
1214
+ t4 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1215
+ children: [
1216
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Spinner, {}, undefined, false, undefined, this),
1217
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1218
+ children: " Establishing connection to MCP server"
1219
+ }, undefined, false, undefined, this)
1220
+ ]
1221
+ }, undefined, true, undefined, this);
1222
+ $[8] = t4;
1223
+ } else {
1224
+ t4 = $[8];
1225
+ }
1226
+ let t5;
1227
+ if ($[9] !== t3) {
1228
+ t5 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1229
+ flexDirection: "column",
1230
+ gap: 1,
1231
+ padding: 1,
1232
+ children: [
1233
+ t3,
1234
+ t4
1235
+ ]
1236
+ }, undefined, true, undefined, this);
1237
+ $[9] = t3;
1238
+ $[10] = t5;
1239
+ } else {
1240
+ t5 = $[10];
1241
+ }
1242
+ return t5;
1243
+ }
1244
+ if (error) {
1245
+ let t3;
1246
+ if ($[11] !== theme) {
1247
+ t3 = color("error", theme)(figures_default.cross);
1248
+ $[11] = theme;
1249
+ $[12] = t3;
1250
+ } else {
1251
+ t3 = $[12];
1252
+ }
1253
+ let t4;
1254
+ if ($[13] !== t3) {
1255
+ t4 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1256
+ children: [
1257
+ t3,
1258
+ " "
1259
+ ]
1260
+ }, undefined, true, undefined, this);
1261
+ $[13] = t3;
1262
+ $[14] = t4;
1263
+ } else {
1264
+ t4 = $[14];
1265
+ }
1266
+ let t5;
1267
+ if ($[15] !== serverName) {
1268
+ t5 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1269
+ color: "error",
1270
+ children: [
1271
+ "Failed to reconnect to ",
1272
+ serverName
1273
+ ]
1274
+ }, undefined, true, undefined, this);
1275
+ $[15] = serverName;
1276
+ $[16] = t5;
1277
+ } else {
1278
+ t5 = $[16];
1279
+ }
1280
+ let t6;
1281
+ if ($[17] !== t4 || $[18] !== t5) {
1282
+ t6 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1283
+ children: [
1284
+ t4,
1285
+ t5
1286
+ ]
1287
+ }, undefined, true, undefined, this);
1288
+ $[17] = t4;
1289
+ $[18] = t5;
1290
+ $[19] = t6;
1291
+ } else {
1292
+ t6 = $[19];
1293
+ }
1294
+ let t7;
1295
+ if ($[20] !== error) {
1296
+ t7 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1297
+ dimColor: true,
1298
+ children: [
1299
+ "Error: ",
1300
+ error
1301
+ ]
1302
+ }, undefined, true, undefined, this);
1303
+ $[20] = error;
1304
+ $[21] = t7;
1305
+ } else {
1306
+ t7 = $[21];
1307
+ }
1308
+ let t8;
1309
+ if ($[22] !== t6 || $[23] !== t7) {
1310
+ t8 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1311
+ flexDirection: "column",
1312
+ gap: 1,
1313
+ padding: 1,
1314
+ children: [
1315
+ t6,
1316
+ t7
1317
+ ]
1318
+ }, undefined, true, undefined, this);
1319
+ $[22] = t6;
1320
+ $[23] = t7;
1321
+ $[24] = t8;
1322
+ } else {
1323
+ t8 = $[24];
1324
+ }
1325
+ return t8;
1326
+ }
1327
+ return null;
1328
+ }
1329
+ var import_compiler_runtime2, import_react3, jsx_dev_runtime3;
1330
+ var init_MCPReconnect = __esm(() => {
1331
+ init_figures();
1332
+ init_ink();
1333
+ init_MCPConnectionManager();
1334
+ init_AppState();
1335
+ init_Spinner();
1336
+ import_compiler_runtime2 = __toESM(require_compiler_runtime(), 1);
1337
+ import_react3 = __toESM(require_react(), 1);
1338
+ jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
1339
+ });
1340
+
1341
+ // src/components/mcp/MCPSettings.tsx
1342
+ function MCPSettings(t0) {
1343
+ const $ = import_compiler_runtime3.c(66);
1344
+ const {
1345
+ onComplete
1346
+ } = t0;
1347
+ const mcp = useAppState(_temp7);
1348
+ const agentDefinitions = useAppState(_temp22);
1349
+ const mcpClients = mcp.clients;
1350
+ let t1;
1351
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
1352
+ t1 = {
1353
+ type: "list"
1354
+ };
1355
+ $[0] = t1;
1356
+ } else {
1357
+ t1 = $[0];
1358
+ }
1359
+ const [viewState, setViewState] = import_react4.default.useState(t1);
1360
+ let t2;
1361
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
1362
+ t2 = [];
1363
+ $[1] = t2;
1364
+ } else {
1365
+ t2 = $[1];
1366
+ }
1367
+ const [servers, setServers] = import_react4.default.useState(t2);
1368
+ let t3;
1369
+ if ($[2] !== agentDefinitions.allAgents) {
1370
+ t3 = extractAgentMcpServers(agentDefinitions.allAgents);
1371
+ $[2] = agentDefinitions.allAgents;
1372
+ $[3] = t3;
1373
+ } else {
1374
+ t3 = $[3];
1375
+ }
1376
+ const agentMcpServers = t3;
1377
+ let t4;
1378
+ if ($[4] !== mcpClients) {
1379
+ t4 = mcpClients.filter(_temp32).sort(_temp42);
1380
+ $[4] = mcpClients;
1381
+ $[5] = t4;
1382
+ } else {
1383
+ t4 = $[5];
1384
+ }
1385
+ const filteredClients = t4;
1386
+ let t5;
1387
+ let t6;
1388
+ if ($[6] !== filteredClients || $[7] !== mcp.tools) {
1389
+ t5 = () => {
1390
+ let cancelled = false;
1391
+ const prepareServers = async function prepareServers2() {
1392
+ const serverInfos = await Promise.all(filteredClients.map(async (client_0) => {
1393
+ const scope = client_0.config.scope;
1394
+ const isSSE = client_0.config.type === "sse";
1395
+ const isHTTP = client_0.config.type === "http";
1396
+ const isClaudeAIProxy = client_0.config.type === "claudeai-proxy";
1397
+ let isAuthenticated = undefined;
1398
+ if (isSSE || isHTTP) {
1399
+ const authProvider = new ClaudeAuthProvider(client_0.name, client_0.config);
1400
+ const tokens = await authProvider.tokens();
1401
+ const hasSessionAuth = getSessionIngressAuthToken() !== null && client_0.type === "connected";
1402
+ const hasToolsAndConnected = client_0.type === "connected" && filterToolsByServer(mcp.tools, client_0.name).length > 0;
1403
+ isAuthenticated = Boolean(tokens) || hasSessionAuth || hasToolsAndConnected;
1404
+ }
1405
+ const baseInfo = {
1406
+ name: client_0.name,
1407
+ client: client_0,
1408
+ scope
1409
+ };
1410
+ if (isClaudeAIProxy) {
1411
+ return {
1412
+ ...baseInfo,
1413
+ transport: "claudeai-proxy",
1414
+ isAuthenticated: false,
1415
+ config: client_0.config
1416
+ };
1417
+ } else {
1418
+ if (isSSE) {
1419
+ return {
1420
+ ...baseInfo,
1421
+ transport: "sse",
1422
+ isAuthenticated,
1423
+ config: client_0.config
1424
+ };
1425
+ } else {
1426
+ if (isHTTP) {
1427
+ return {
1428
+ ...baseInfo,
1429
+ transport: "http",
1430
+ isAuthenticated,
1431
+ config: client_0.config
1432
+ };
1433
+ } else {
1434
+ return {
1435
+ ...baseInfo,
1436
+ transport: "stdio",
1437
+ config: client_0.config
1438
+ };
1439
+ }
1440
+ }
1441
+ }
1442
+ }));
1443
+ if (cancelled) {
1444
+ return;
1445
+ }
1446
+ setServers(serverInfos);
1447
+ };
1448
+ prepareServers();
1449
+ return () => {
1450
+ cancelled = true;
1451
+ };
1452
+ };
1453
+ t6 = [filteredClients, mcp.tools];
1454
+ $[6] = filteredClients;
1455
+ $[7] = mcp.tools;
1456
+ $[8] = t5;
1457
+ $[9] = t6;
1458
+ } else {
1459
+ t5 = $[8];
1460
+ t6 = $[9];
1461
+ }
1462
+ import_react4.default.useEffect(t5, t6);
1463
+ let t7;
1464
+ let t8;
1465
+ if ($[10] !== agentMcpServers.length || $[11] !== filteredClients.length || $[12] !== onComplete || $[13] !== servers.length) {
1466
+ t7 = () => {
1467
+ if (servers.length === 0 && filteredClients.length > 0) {
1468
+ return;
1469
+ }
1470
+ if (servers.length === 0 && agentMcpServers.length === 0) {
1471
+ onComplete("No MCP servers configured. Please run /doctor if this is unexpected. Otherwise, run `claude mcp --help` or visit https://code.claude.com/docs/en/mcp to learn more.");
1472
+ }
1473
+ };
1474
+ t8 = [servers.length, filteredClients.length, agentMcpServers.length, onComplete];
1475
+ $[10] = agentMcpServers.length;
1476
+ $[11] = filteredClients.length;
1477
+ $[12] = onComplete;
1478
+ $[13] = servers.length;
1479
+ $[14] = t7;
1480
+ $[15] = t8;
1481
+ } else {
1482
+ t7 = $[14];
1483
+ t8 = $[15];
1484
+ }
1485
+ import_react4.useEffect(t7, t8);
1486
+ switch (viewState.type) {
1487
+ case "list": {
1488
+ let t10;
1489
+ let t9;
1490
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
1491
+ t9 = (server) => setViewState({
1492
+ type: "server-menu",
1493
+ server
1494
+ });
1495
+ t10 = (agentServer) => setViewState({
1496
+ type: "agent-server-menu",
1497
+ agentServer
1498
+ });
1499
+ $[16] = t10;
1500
+ $[17] = t9;
1501
+ } else {
1502
+ t10 = $[16];
1503
+ t9 = $[17];
1504
+ }
1505
+ let t11;
1506
+ if ($[18] !== agentMcpServers || $[19] !== onComplete || $[20] !== servers || $[21] !== viewState.defaultTab) {
1507
+ t11 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPListPanel, {
1508
+ servers,
1509
+ agentServers: agentMcpServers,
1510
+ onSelectServer: t9,
1511
+ onSelectAgentServer: t10,
1512
+ onComplete,
1513
+ defaultTab: viewState.defaultTab
1514
+ }, undefined, false, undefined, this);
1515
+ $[18] = agentMcpServers;
1516
+ $[19] = onComplete;
1517
+ $[20] = servers;
1518
+ $[21] = viewState.defaultTab;
1519
+ $[22] = t11;
1520
+ } else {
1521
+ t11 = $[22];
1522
+ }
1523
+ return t11;
1524
+ }
1525
+ case "server-menu": {
1526
+ let t9;
1527
+ if ($[23] !== mcp.tools || $[24] !== viewState.server.name) {
1528
+ t9 = filterToolsByServer(mcp.tools, viewState.server.name);
1529
+ $[23] = mcp.tools;
1530
+ $[24] = viewState.server.name;
1531
+ $[25] = t9;
1532
+ } else {
1533
+ t9 = $[25];
1534
+ }
1535
+ const serverTools_0 = t9;
1536
+ const defaultTab = viewState.server.transport === "claudeai-proxy" ? "claude.ai" : "Claude Code";
1537
+ if (viewState.server.transport === "stdio") {
1538
+ let t10;
1539
+ if ($[26] !== viewState.server) {
1540
+ t10 = () => setViewState({
1541
+ type: "server-tools",
1542
+ server: viewState.server
1543
+ });
1544
+ $[26] = viewState.server;
1545
+ $[27] = t10;
1546
+ } else {
1547
+ t10 = $[27];
1548
+ }
1549
+ let t11;
1550
+ if ($[28] !== defaultTab) {
1551
+ t11 = () => setViewState({
1552
+ type: "list",
1553
+ defaultTab
1554
+ });
1555
+ $[28] = defaultTab;
1556
+ $[29] = t11;
1557
+ } else {
1558
+ t11 = $[29];
1559
+ }
1560
+ let t12;
1561
+ if ($[30] !== onComplete || $[31] !== serverTools_0.length || $[32] !== t10 || $[33] !== t11 || $[34] !== viewState.server) {
1562
+ t12 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPStdioServerMenu, {
1563
+ server: viewState.server,
1564
+ serverToolsCount: serverTools_0.length,
1565
+ onViewTools: t10,
1566
+ onCancel: t11,
1567
+ onComplete
1568
+ }, undefined, false, undefined, this);
1569
+ $[30] = onComplete;
1570
+ $[31] = serverTools_0.length;
1571
+ $[32] = t10;
1572
+ $[33] = t11;
1573
+ $[34] = viewState.server;
1574
+ $[35] = t12;
1575
+ } else {
1576
+ t12 = $[35];
1577
+ }
1578
+ return t12;
1579
+ } else {
1580
+ let t10;
1581
+ if ($[36] !== viewState.server) {
1582
+ t10 = () => setViewState({
1583
+ type: "server-tools",
1584
+ server: viewState.server
1585
+ });
1586
+ $[36] = viewState.server;
1587
+ $[37] = t10;
1588
+ } else {
1589
+ t10 = $[37];
1590
+ }
1591
+ let t11;
1592
+ if ($[38] !== defaultTab) {
1593
+ t11 = () => setViewState({
1594
+ type: "list",
1595
+ defaultTab
1596
+ });
1597
+ $[38] = defaultTab;
1598
+ $[39] = t11;
1599
+ } else {
1600
+ t11 = $[39];
1601
+ }
1602
+ let t12;
1603
+ if ($[40] !== onComplete || $[41] !== serverTools_0.length || $[42] !== t10 || $[43] !== t11 || $[44] !== viewState.server) {
1604
+ t12 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPRemoteServerMenu, {
1605
+ server: viewState.server,
1606
+ serverToolsCount: serverTools_0.length,
1607
+ onViewTools: t10,
1608
+ onCancel: t11,
1609
+ onComplete
1610
+ }, undefined, false, undefined, this);
1611
+ $[40] = onComplete;
1612
+ $[41] = serverTools_0.length;
1613
+ $[42] = t10;
1614
+ $[43] = t11;
1615
+ $[44] = viewState.server;
1616
+ $[45] = t12;
1617
+ } else {
1618
+ t12 = $[45];
1619
+ }
1620
+ return t12;
1621
+ }
1622
+ }
1623
+ case "server-tools": {
1624
+ let t10;
1625
+ let t9;
1626
+ if ($[46] !== viewState.server) {
1627
+ t9 = (_, index) => setViewState({
1628
+ type: "server-tool-detail",
1629
+ server: viewState.server,
1630
+ toolIndex: index
1631
+ });
1632
+ t10 = () => setViewState({
1633
+ type: "server-menu",
1634
+ server: viewState.server
1635
+ });
1636
+ $[46] = viewState.server;
1637
+ $[47] = t10;
1638
+ $[48] = t9;
1639
+ } else {
1640
+ t10 = $[47];
1641
+ t9 = $[48];
1642
+ }
1643
+ let t11;
1644
+ if ($[49] !== t10 || $[50] !== t9 || $[51] !== viewState.server) {
1645
+ t11 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPToolListView, {
1646
+ server: viewState.server,
1647
+ onSelectTool: t9,
1648
+ onBack: t10
1649
+ }, undefined, false, undefined, this);
1650
+ $[49] = t10;
1651
+ $[50] = t9;
1652
+ $[51] = viewState.server;
1653
+ $[52] = t11;
1654
+ } else {
1655
+ t11 = $[52];
1656
+ }
1657
+ return t11;
1658
+ }
1659
+ case "server-tool-detail": {
1660
+ let t9;
1661
+ if ($[53] !== mcp.tools || $[54] !== viewState.server.name) {
1662
+ t9 = filterToolsByServer(mcp.tools, viewState.server.name);
1663
+ $[53] = mcp.tools;
1664
+ $[54] = viewState.server.name;
1665
+ $[55] = t9;
1666
+ } else {
1667
+ t9 = $[55];
1668
+ }
1669
+ const serverTools = t9;
1670
+ const tool = serverTools[viewState.toolIndex];
1671
+ if (!tool) {
1672
+ setViewState({
1673
+ type: "server-tools",
1674
+ server: viewState.server
1675
+ });
1676
+ return null;
1677
+ }
1678
+ let t10;
1679
+ if ($[56] !== viewState.server) {
1680
+ t10 = () => setViewState({
1681
+ type: "server-tools",
1682
+ server: viewState.server
1683
+ });
1684
+ $[56] = viewState.server;
1685
+ $[57] = t10;
1686
+ } else {
1687
+ t10 = $[57];
1688
+ }
1689
+ let t11;
1690
+ if ($[58] !== t10 || $[59] !== tool || $[60] !== viewState.server) {
1691
+ t11 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPToolDetailView, {
1692
+ tool,
1693
+ server: viewState.server,
1694
+ onBack: t10
1695
+ }, undefined, false, undefined, this);
1696
+ $[58] = t10;
1697
+ $[59] = tool;
1698
+ $[60] = viewState.server;
1699
+ $[61] = t11;
1700
+ } else {
1701
+ t11 = $[61];
1702
+ }
1703
+ return t11;
1704
+ }
1705
+ case "agent-server-menu": {
1706
+ let t9;
1707
+ if ($[62] === Symbol.for("react.memo_cache_sentinel")) {
1708
+ t9 = () => setViewState({
1709
+ type: "list",
1710
+ defaultTab: "Agents"
1711
+ });
1712
+ $[62] = t9;
1713
+ } else {
1714
+ t9 = $[62];
1715
+ }
1716
+ let t10;
1717
+ if ($[63] !== onComplete || $[64] !== viewState.agentServer) {
1718
+ t10 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPAgentServerMenu, {
1719
+ agentServer: viewState.agentServer,
1720
+ onCancel: t9,
1721
+ onComplete
1722
+ }, undefined, false, undefined, this);
1723
+ $[63] = onComplete;
1724
+ $[64] = viewState.agentServer;
1725
+ $[65] = t10;
1726
+ } else {
1727
+ t10 = $[65];
1728
+ }
1729
+ return t10;
1730
+ }
1731
+ }
1732
+ }
1733
+ function _temp42(a, b) {
1734
+ return a.name.localeCompare(b.name);
1735
+ }
1736
+ function _temp32(client) {
1737
+ return client.name !== "ide";
1738
+ }
1739
+ function _temp22(s_0) {
1740
+ return s_0.agentDefinitions;
1741
+ }
1742
+ function _temp7(s) {
1743
+ return s.mcp;
1744
+ }
1745
+ var import_compiler_runtime3, import_react4, jsx_dev_runtime4;
1746
+ var init_MCPSettings = __esm(() => {
1747
+ init_auth();
1748
+ init_utils();
1749
+ init_AppState();
1750
+ init_sessionIngressAuth();
1751
+ init_MCPAgentServerMenu();
1752
+ init_MCPListPanel();
1753
+ init_MCPRemoteServerMenu();
1754
+ init_MCPStdioServerMenu();
1755
+ init_MCPToolDetailView();
1756
+ init_MCPToolListView();
1757
+ import_compiler_runtime3 = __toESM(require_compiler_runtime(), 1);
1758
+ import_react4 = __toESM(require_react(), 1);
1759
+ jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
1760
+ });
1761
+
1762
+ // src/components/mcp/index.ts
1763
+ var init_mcp = __esm(() => {
1764
+ init_MCPAgentServerMenu();
1765
+ init_MCPListPanel();
1766
+ init_MCPReconnect();
1767
+ init_MCPRemoteServerMenu();
1768
+ init_MCPSettings();
1769
+ init_MCPStdioServerMenu();
1770
+ init_MCPToolDetailView();
1771
+ init_MCPToolListView();
1772
+ });
1773
+
1774
+ // src/commands/mcp/mcp.tsx
1775
+ function MCPToggle(t0) {
1776
+ const $ = import_compiler_runtime4.c(7);
1777
+ const {
1778
+ action,
1779
+ target,
1780
+ onComplete
1781
+ } = t0;
1782
+ const mcpClients = useAppState(_temp9);
1783
+ const toggleMcpServer = useMcpToggleEnabled();
1784
+ const didRun = import_react5.useRef(false);
1785
+ let t1;
1786
+ let t2;
1787
+ if ($[0] !== action || $[1] !== mcpClients || $[2] !== onComplete || $[3] !== target || $[4] !== toggleMcpServer) {
1788
+ t1 = () => {
1789
+ if (didRun.current) {
1790
+ return;
1791
+ }
1792
+ didRun.current = true;
1793
+ const isEnabling = action === "enable";
1794
+ const clients = mcpClients.filter(_temp23);
1795
+ const toToggle = target === "all" ? clients.filter((c_0) => isEnabling ? c_0.type === "disabled" : c_0.type !== "disabled") : clients.filter((c_1) => c_1.name === target);
1796
+ if (toToggle.length === 0) {
1797
+ onComplete(target === "all" ? `All MCP servers are already ${isEnabling ? "enabled" : "disabled"}` : `MCP server "${target}" not found`);
1798
+ return;
1799
+ }
1800
+ for (const s_0 of toToggle) {
1801
+ toggleMcpServer(s_0.name);
1802
+ }
1803
+ onComplete(target === "all" ? `${isEnabling ? "Enabled" : "Disabled"} ${toToggle.length} MCP server(s)` : `MCP server "${target}" ${isEnabling ? "enabled" : "disabled"}`);
1804
+ };
1805
+ t2 = [action, target, mcpClients, toggleMcpServer, onComplete];
1806
+ $[0] = action;
1807
+ $[1] = mcpClients;
1808
+ $[2] = onComplete;
1809
+ $[3] = target;
1810
+ $[4] = toggleMcpServer;
1811
+ $[5] = t1;
1812
+ $[6] = t2;
1813
+ } else {
1814
+ t1 = $[5];
1815
+ t2 = $[6];
1816
+ }
1817
+ import_react5.useEffect(t1, t2);
1818
+ return null;
1819
+ }
1820
+ function _temp23(c) {
1821
+ return c.name !== "ide";
1822
+ }
1823
+ function _temp9(s) {
1824
+ return s.mcp.clients;
1825
+ }
1826
+ async function call(onDone, _context, args) {
1827
+ if (args) {
1828
+ const parts = args.trim().split(/\s+/);
1829
+ if (parts[0] === "no-redirect") {
1830
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPSettings, {
1831
+ onComplete: onDone
1832
+ }, undefined, false, undefined, this);
1833
+ }
1834
+ if (parts[0] === "reconnect" && parts[1]) {
1835
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPReconnect, {
1836
+ serverName: parts.slice(1).join(" "),
1837
+ onComplete: onDone
1838
+ }, undefined, false, undefined, this);
1839
+ }
1840
+ if (parts[0] === "enable" || parts[0] === "disable") {
1841
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPToggle, {
1842
+ action: parts[0],
1843
+ target: parts.length > 1 ? parts.slice(1).join(" ") : "all",
1844
+ onComplete: onDone
1845
+ }, undefined, false, undefined, this);
1846
+ }
1847
+ }
1848
+ if (process.env.USER_TYPE === "ant") {
1849
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(PluginSettings, {
1850
+ onComplete: onDone,
1851
+ args: "manage",
1852
+ showMcpRedirectMessage: true
1853
+ }, undefined, false, undefined, this);
1854
+ }
1855
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPSettings, {
1856
+ onComplete: onDone
1857
+ }, undefined, false, undefined, this);
1858
+ }
1859
+ var import_compiler_runtime4, import_react5, jsx_dev_runtime5;
1860
+ var init_mcp2 = __esm(() => {
1861
+ init_mcp();
1862
+ init_MCPReconnect();
1863
+ init_MCPConnectionManager();
1864
+ init_AppState();
1865
+ init_PluginSettings();
1866
+ import_compiler_runtime4 = __toESM(require_compiler_runtime(), 1);
1867
+ import_react5 = __toESM(require_react(), 1);
1868
+ jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
1869
+ });
1870
+ init_mcp2();
1871
+
1872
+ export {
1873
+ call
1874
+ };