claude-code-best 1.0.3 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/README.md +104 -369
  2. package/dist/{chunk-5wxspfct.js → chunk-01qzvbp3.js} +8 -2
  3. package/dist/chunk-053bj0m0.js +247 -0
  4. package/dist/chunk-05tt9tt1.js +653 -0
  5. package/dist/chunk-06sq1vz3.js +403 -0
  6. package/dist/chunk-07069jq1.js +30 -0
  7. package/dist/chunk-0dac8msw.js +135 -0
  8. package/dist/{chunk-52n4py3b.js → chunk-0ja0y3at.js} +6 -6
  9. package/dist/chunk-0jzdwbdc.js +14 -0
  10. package/dist/chunk-0nrq46nf.js +313 -0
  11. package/dist/chunk-0qz705wz.js +192 -0
  12. package/dist/{chunk-by7ezad6.js → chunk-0rn4v8sg.js} +42 -28
  13. package/dist/{chunk-1cbn5kxf.js → chunk-0rpb2bdp.js} +3 -2
  14. package/dist/{chunk-zz21rvr7.js → chunk-127cmycn.js} +8 -5
  15. package/dist/chunk-12vk6z7z.js +109 -0
  16. package/dist/chunk-15y014gg.js +102 -0
  17. package/dist/{chunk-44fpr6jq.js → chunk-168xb8v1.js} +4 -2
  18. package/dist/{chunk-8fmbf525.js → chunk-16bnxyz0.js} +1 -1
  19. package/dist/{chunk-wsqhnjj3.js → chunk-1atfzck5.js} +24 -24
  20. package/dist/chunk-1cbhkqxg.js +310 -0
  21. package/dist/chunk-1csq8bf1.js +295 -0
  22. package/dist/{chunk-0e1xsncc.js → chunk-1cwdhk7a.js} +1 -1
  23. package/dist/{chunk-36k3f7pn.js → chunk-1ebqpwhn.js} +79 -59
  24. package/dist/{chunk-ap2a2er6.js → chunk-1mh5vt6v.js} +102 -80
  25. package/dist/chunk-1qf125vg.js +123 -0
  26. package/dist/{chunk-fcz5eche.js → chunk-1sp6713v.js} +139 -170
  27. package/dist/{chunk-d18z9pna.js → chunk-1thgdca1.js} +2 -2
  28. package/dist/chunk-1z1gfx2c.js +443 -0
  29. package/dist/{chunk-7z8j9qfn.js → chunk-21z7acxh.js} +3 -3
  30. package/dist/chunk-229pcf6p.js +509 -0
  31. package/dist/chunk-238g70xa.js +1 -1
  32. package/dist/{chunk-vpb723tx.js → chunk-23ad5t92.js} +5 -5
  33. package/dist/chunk-28043j1k.js +68 -0
  34. package/dist/chunk-299r6d9v.js +141 -0
  35. package/dist/{chunk-5r3ak65p.js → chunk-2bw5nqsw.js} +4 -4
  36. package/dist/chunk-2mxstrx5.js +445 -0
  37. package/dist/{chunk-w2z5pqd3.js → chunk-2q39ej51.js} +6 -6
  38. package/dist/chunk-2qwgfjcj.js +5370 -0
  39. package/dist/chunk-2ss23j0q.js +3587 -0
  40. package/dist/{chunk-k9c3888e.js → chunk-2wvxddsg.js} +9 -7
  41. package/dist/chunk-2x2aznpc.js +134 -0
  42. package/dist/{chunk-bqq4zamw.js → chunk-2ys5wcxk.js} +3 -3
  43. package/dist/{chunk-2kbk09sb.js → chunk-3cvcwgsr.js} +79 -59
  44. package/dist/{chunk-rs45skes.js → chunk-3xv7rjsy.js} +15 -11
  45. package/dist/chunk-42x5tjk2.js +42 -0
  46. package/dist/{chunk-n78qmqpq.js → chunk-436r0x2n.js} +8 -8
  47. package/dist/{chunk-k3vpzx3c.js → chunk-44q4jkwa.js} +27 -67
  48. package/dist/{chunk-qnbdekts.js → chunk-44w22kyx.js} +111 -132
  49. package/dist/{chunk-7m2nd8da.js → chunk-46fcr28b.js} +31 -10
  50. package/dist/{chunk-wm2f2f1z.js → chunk-474y75ga.js} +2 -2
  51. package/dist/{chunk-6fkwz9yk.js → chunk-478rpnqm.js} +8 -8
  52. package/dist/chunk-48w0df8a.js +32 -0
  53. package/dist/chunk-4cp6193g.js +9076 -0
  54. package/dist/chunk-4d0de73v.js +436 -0
  55. package/dist/chunk-4eecm90d.js +1030 -0
  56. package/dist/{chunk-jfv3zczw.js → chunk-4f4ccg1h.js} +10 -115
  57. package/dist/chunk-4h102wt5.js +65 -0
  58. package/dist/{chunk-6n2qgm9v.js → chunk-4hv90qcz.js} +1 -1
  59. package/dist/{chunk-4gj6zzg1.js → chunk-4jcqmf9w.js} +43 -29
  60. package/dist/{chunk-067wa5sn.js → chunk-4kk7vxed.js} +8 -6
  61. package/dist/chunk-4nspekjp.js +69 -0
  62. package/dist/chunk-4xmb7bvy.js +125 -0
  63. package/dist/{chunk-nrp9yaq6.js → chunk-4xy0c1dz.js} +16 -12
  64. package/dist/{chunk-77g09znh.js → chunk-53c9gb9c.js} +23 -16
  65. package/dist/{chunk-03nqtgyr.js → chunk-53zsn91p.js} +42 -30
  66. package/dist/{chunk-gkrx7ptx.js → chunk-548g1d6z.js} +113 -114
  67. package/dist/chunk-559yvwh1.js +63 -0
  68. package/dist/chunk-5a6ahhvy.js +594 -0
  69. package/dist/{chunk-h2j4t3fk.js → chunk-5c6man70.js} +9692 -17630
  70. package/dist/chunk-5hb5ev7b.js +74 -0
  71. package/dist/{chunk-hx2tr4ep.js → chunk-5z28bqne.js} +34 -475
  72. package/dist/{chunk-p7g7pf3f.js → chunk-61ahbn23.js} +8 -6
  73. package/dist/chunk-64c1avct.js +13 -0
  74. package/dist/{chunk-0sb5scxx.js → chunk-652wnf1z.js} +5 -5
  75. package/dist/{chunk-1w361mz1.js → chunk-66jkaz3q.js} +109 -213
  76. package/dist/{chunk-q25bjaev.js → chunk-677as3nh.js} +2 -2
  77. package/dist/chunk-68ksfahx.js +386 -0
  78. package/dist/{chunk-xs0hwvpa.js → chunk-68pfxvxt.js} +14 -9
  79. package/dist/{chunk-epmheefa.js → chunk-69hys77v.js} +8 -8
  80. package/dist/{chunk-404wc7d4.js → chunk-6ayqcq3h.js} +126 -119
  81. package/dist/chunk-6kpbgc5w.js +23 -0
  82. package/dist/chunk-6mpsxxsf.js +362 -0
  83. package/dist/chunk-6nze0g86.js +119 -0
  84. package/dist/{chunk-v1mgv1et.js → chunk-6p4cyhb3.js} +4 -3
  85. package/dist/{chunk-w2qfgzzh.js → chunk-6t62dbnb.js} +61 -100
  86. package/dist/chunk-6t87a3q6.js +2842 -0
  87. package/dist/{chunk-q6av622g.js → chunk-6xana182.js} +18 -13
  88. package/dist/{chunk-fpf4cgbt.js → chunk-7bfach0x.js} +9 -9
  89. package/dist/{chunk-g6e1ab2k.js → chunk-7f1ggjr2.js} +81 -61
  90. package/dist/chunk-7fxjmmfw.js +1172 -0
  91. package/dist/{chunk-ckcagq32.js → chunk-7gqf9wej.js} +5 -5
  92. package/dist/chunk-7j3dkjqq.js +38 -0
  93. package/dist/chunk-7ns74x0q.js +475 -0
  94. package/dist/chunk-7qmknpkq.js +272 -0
  95. package/dist/chunk-7rzepn9c.js +83 -0
  96. package/dist/chunk-7tdcwje9.js +68 -0
  97. package/dist/{chunk-201dvaa3.js → chunk-8201tnhf.js} +11 -5
  98. package/dist/{chunk-dv1wfr85.js → chunk-8225arm6.js} +5 -4
  99. package/dist/chunk-822wfv88.js +70 -0
  100. package/dist/chunk-837tm8ht.js +183 -0
  101. package/dist/chunk-8a2ajt5d.js +878 -0
  102. package/dist/{chunk-drv8qvwz.js → chunk-8bymxfn4.js} +43 -29
  103. package/dist/chunk-8cwbzk7h.js +118 -0
  104. package/dist/chunk-8d0ev0m2.js +111 -0
  105. package/dist/chunk-8g5pe1gr.js +37 -0
  106. package/dist/{chunk-g0j0t6qk.js → chunk-8g747a8x.js} +1 -1
  107. package/dist/chunk-8kfwb79z.js +436 -0
  108. package/dist/{chunk-xyqr1cww.js → chunk-8me0yq6v.js} +12 -12
  109. package/dist/{chunk-qdrwxg3e.js → chunk-8n8285ax.js} +91 -71
  110. package/dist/{chunk-sdj9b9wh.js → chunk-8pn8tvgg.js} +9 -154
  111. package/dist/{chunk-ha0xq3e9.js → chunk-8qhr4n77.js} +64 -106
  112. package/dist/{chunk-fpjzr5jj.js → chunk-8s9bbk3r.js} +62 -45
  113. package/dist/{chunk-e3g8q4cn.js → chunk-905d2hee.js} +10 -8
  114. package/dist/{chunk-3psth3ez.js → chunk-91xq5y4a.js} +9 -9
  115. package/dist/{chunk-rq1kckze.js → chunk-93xsyzsp.js} +1 -1
  116. package/dist/chunk-99pmbfqp.js +230 -0
  117. package/dist/chunk-9f14bkn9.js +33068 -0
  118. package/dist/{chunk-ex978bsn.js → chunk-9m78gjpd.js} +1 -1
  119. package/dist/{chunk-hpwa620w.js → chunk-9pm2d2gv.js} +251 -306
  120. package/dist/chunk-a136cvvz.js +27 -0
  121. package/dist/{chunk-n5t9m8h9.js → chunk-a1bjde7d.js} +7 -7
  122. package/dist/chunk-a2evk7n1.js +168 -0
  123. package/dist/{chunk-6heqkcjx.js → chunk-a3k4w4cm.js} +42 -28
  124. package/dist/chunk-a3mcc1sb.js +1403 -0
  125. package/dist/{chunk-8hq5kk3y.js → chunk-a4twdmhf.js} +3 -2
  126. package/dist/chunk-a8eaey19.js +66 -0
  127. package/dist/chunk-abkb5pw6.js +426 -0
  128. package/dist/chunk-ae76ded0.js +30 -0
  129. package/dist/{chunk-2v1br2x0.js → chunk-agx5w9ce.js} +14 -8
  130. package/dist/chunk-ah46h8rp.js +70 -0
  131. package/dist/chunk-aj3azy6z.js +409 -0
  132. package/dist/chunk-an6z4rzv.js +158 -0
  133. package/dist/{chunk-r6b58y3x.js → chunk-ase86y73.js} +1 -3
  134. package/dist/{chunk-e6s36z54.js → chunk-avfjb6pd.js} +17 -557
  135. package/dist/{chunk-1hhdpn3t.js → chunk-az5x70pn.js} +8 -5
  136. package/dist/{chunk-91gk0g2y.js → chunk-b6rg3egp.js} +33 -18
  137. package/dist/chunk-b73r6ngr.js +125 -0
  138. package/dist/{chunk-8bedvdm1.js → chunk-b81hd3m6.js} +1 -1
  139. package/dist/{chunk-ebfsjcvm.js → chunk-b9mhpc0v.js} +3 -3
  140. package/dist/chunk-b9ndqcdv.js +139 -0
  141. package/dist/{chunk-w7wgpqcp.js → chunk-bd8zk9tn.js} +7 -7
  142. package/dist/chunk-bdy6n17s.js +343 -0
  143. package/dist/{chunk-s8y2tfzf.js → chunk-bf1j3azq.js} +156 -119
  144. package/dist/{chunk-j5j6nrfq.js → chunk-bfcet2mw.js} +2 -2
  145. package/dist/{chunk-jy35mvy3.js → chunk-bmjmrk76.js} +7 -7
  146. package/dist/{chunk-ra0r65nx.js → chunk-bsj8e2mb.js} +11 -11
  147. package/dist/{chunk-jce5r25x.js → chunk-bt64sq5y.js} +5 -4
  148. package/dist/{chunk-vyc0rjyx.js → chunk-bwg7582d.js} +1 -1
  149. package/dist/{chunk-3be7ka25.js → chunk-bxcfz5gy.js} +1 -1
  150. package/dist/{chunk-7wm1rjfm.js → chunk-c1k9tg7h.js} +518 -810
  151. package/dist/{chunk-qwvrkydc.js → chunk-c5pxerks.js} +13 -11
  152. package/dist/chunk-c6sjhj89.js +1284 -0
  153. package/dist/{chunk-brcnd1j0.js → chunk-c9q0phsg.js} +9 -6
  154. package/dist/chunk-caj0ab74.js +129 -0
  155. package/dist/chunk-chsyvavm.js +3435 -0
  156. package/dist/chunk-cjpt035a.js +269 -0
  157. package/dist/chunk-cmcbatgz.js +147 -0
  158. package/dist/chunk-cnsj3vq2.js +35 -0
  159. package/dist/chunk-cqjmxeqv.js +269 -0
  160. package/dist/{chunk-cdz5yb0r.js → chunk-crmjpsqe.js} +13 -2
  161. package/dist/{chunk-2mcp388c.js → chunk-cvb1v08x.js} +38 -32
  162. package/dist/{chunk-w0r5627q.js → chunk-cxhvyf7c.js} +234 -363
  163. package/dist/{chunk-s0wvh65m.js → chunk-cxx0e4nv.js} +1343 -2839
  164. package/dist/chunk-cy2hswr1.js +15 -0
  165. package/dist/{chunk-g9q2cznf.js → chunk-cy6ezb6j.js} +125994 -138958
  166. package/dist/{chunk-ks0m9njy.js → chunk-d2jekryq.js} +8 -8
  167. package/dist/chunk-d4mdda98.js +94 -0
  168. package/dist/{chunk-hgtf13es.js → chunk-d6ve5pze.js} +10 -10
  169. package/dist/{chunk-55wgxwa9.js → chunk-d7886r6a.js} +6928 -6935
  170. package/dist/{chunk-4bgz02m1.js → chunk-d83tmb5h.js} +87 -64
  171. package/dist/{chunk-hdwh7ncw.js → chunk-d8meetqc.js} +84 -63
  172. package/dist/{chunk-128nh5j9.js → chunk-d8r0q4ps.js} +547 -866
  173. package/dist/chunk-d95k8xkm.js +84 -0
  174. package/dist/chunk-dd4m7t1v.js +112 -0
  175. package/dist/{chunk-rcdpvnxh.js → chunk-dekbr08w.js} +24 -20
  176. package/dist/{chunk-cvge4pvp.js → chunk-dk8287aa.js} +1 -1
  177. package/dist/chunk-dm3n2qgd.js +24 -0
  178. package/dist/{chunk-b0105v1f.js → chunk-dmxte86x.js} +3 -3
  179. package/dist/{chunk-zkmxtgc3.js → chunk-dqvwn28p.js} +19 -15
  180. package/dist/chunk-drkm8yx2.js +34 -0
  181. package/dist/chunk-dsbewdgm.js +148 -0
  182. package/dist/{chunk-w7h2yphx.js → chunk-dwekpr47.js} +2 -2
  183. package/dist/{chunk-hg776v69.js → chunk-e3299veq.js} +16 -68
  184. package/dist/{chunk-wqpr7002.js → chunk-e5hcyxae.js} +132 -18
  185. package/dist/chunk-e7h0nd5w.js +106 -0
  186. package/dist/{chunk-7qwme3ab.js → chunk-eaemyebz.js} +5 -5
  187. package/dist/{chunk-hjhc4cpt.js → chunk-edzkkadh.js} +2 -2
  188. package/dist/chunk-em99fnet.js +128 -0
  189. package/dist/{chunk-hfzj1m07.js → chunk-epyaq1z0.js} +13 -4
  190. package/dist/{chunk-r8f13sz1.js → chunk-eqmkajs4.js} +102 -195
  191. package/dist/{chunk-gax0fcbx.js → chunk-ergam9ft.js} +5 -5
  192. package/dist/chunk-es2fdse0.js +63 -0
  193. package/dist/{chunk-grdvmq7q.js → chunk-esn3tgm2.js} +8 -6
  194. package/dist/{chunk-ptmcaxqn.js → chunk-et8ybmt2.js} +9 -7
  195. package/dist/chunk-ew9rp41b.js +300 -0
  196. package/dist/{chunk-dvfb4qwt.js → chunk-ewx6xfzb.js} +2 -2
  197. package/dist/chunk-eyjtbtt0.js +137 -0
  198. package/dist/chunk-f0jd2p9n.js +797 -0
  199. package/dist/{chunk-vzqrbsd1.js → chunk-f69rgsm2.js} +5 -5
  200. package/dist/{chunk-45kxdsp8.js → chunk-f6rbj3gz.js} +17 -12
  201. package/dist/chunk-fbhyqxdg.js +1182 -0
  202. package/dist/chunk-feyzykye.js +10 -0
  203. package/dist/chunk-ffhejx56.js +107 -0
  204. package/dist/{chunk-cpe70sxw.js → chunk-fhx6nt2a.js} +42 -28
  205. package/dist/chunk-fkkysfev.js +158 -0
  206. package/dist/chunk-fn510gqw.js +216 -0
  207. package/dist/chunk-ftsg8bjm.js +117 -0
  208. package/dist/{chunk-s39js2d3.js → chunk-fyts9grb.js} +2 -2
  209. package/dist/{chunk-bjqw6798.js → chunk-fz0ch109.js} +6 -5
  210. package/dist/{chunk-q1e6pzwh.js → chunk-g1jarkx9.js} +38 -8
  211. package/dist/chunk-g9f19ttm.js +15 -0
  212. package/dist/chunk-g9qte35t.js +341 -0
  213. package/dist/chunk-gaav53dc.js +105 -0
  214. package/dist/chunk-gfx3cwrk.js +75 -0
  215. package/dist/chunk-gk2d1x2a.js +946 -0
  216. package/dist/chunk-gkbat1p9.js +121 -0
  217. package/dist/{chunk-cg43nnpk.js → chunk-gmnyk2t8.js} +8 -6
  218. package/dist/{chunk-m23b51r2.js → chunk-gnmdprq3.js} +191 -338
  219. package/dist/{chunk-bq6x1ehp.js → chunk-gpz0ddyz.js} +8 -8
  220. package/dist/{chunk-yt6z8030.js → chunk-gv1csnc3.js} +217 -355
  221. package/dist/{chunk-nx6nds18.js → chunk-gv37c8ax.js} +3 -3
  222. package/dist/{chunk-h6c8cms4.js → chunk-gzr2601k.js} +10 -10
  223. package/dist/{chunk-2tkt52mz.js → chunk-h3pda469.js} +37 -82
  224. package/dist/{chunk-qqfa0dqg.js → chunk-h4b85amj.js} +20 -32
  225. package/dist/chunk-h5zv78zq.js +352 -0
  226. package/dist/{chunk-2x3gmbws.js → chunk-h7edytkc.js} +5 -5
  227. package/dist/{chunk-as261f01.js → chunk-ha0wbzc3.js} +13 -11
  228. package/dist/{chunk-nxsh6de2.js → chunk-hcgkak1j.js} +20 -125
  229. package/dist/{chunk-tjaqa99q.js → chunk-hezj20qy.js} +3 -3
  230. package/dist/{chunk-7ahman84.js → chunk-hf85ht0m.js} +2 -2
  231. package/dist/{chunk-w0hx9v3y.js → chunk-ht1nfygk.js} +42 -28
  232. package/dist/chunk-j316jjby.js +108 -0
  233. package/dist/chunk-j3fge71v.js +115 -0
  234. package/dist/{chunk-v4h5psgs.js → chunk-j4x0t6k2.js} +46 -31
  235. package/dist/{chunk-9gbamk79.js → chunk-j5bth84e.js} +5 -1
  236. package/dist/chunk-j783d5af.js +134 -0
  237. package/dist/chunk-j7pbwf9x.js +108 -0
  238. package/dist/{chunk-rf2w4x97.js → chunk-j8rnrm5n.js} +120 -142
  239. package/dist/{chunk-vratq94g.js → chunk-j9gxwbe3.js} +1 -1
  240. package/dist/{chunk-3r24h7t6.js → chunk-jaaxk89e.js} +1 -1
  241. package/dist/{chunk-y47cg3kz.js → chunk-jaew3662.js} +18 -13
  242. package/dist/{chunk-q1txr206.js → chunk-jbbj16w2.js} +128 -185
  243. package/dist/chunk-jerew25v.js +148 -0
  244. package/dist/{chunk-v399mzxk.js → chunk-jf0p00fz.js} +2 -2
  245. package/dist/{chunk-97r68x5g.js → chunk-jfsah2w3.js} +1065 -1762
  246. package/dist/{chunk-av73dywf.js → chunk-jna2tcvj.js} +8 -8
  247. package/dist/{chunk-yym1e1dr.js → chunk-jng0mb4r.js} +10 -10
  248. package/dist/chunk-jrrmwfp4.js +66 -0
  249. package/dist/{chunk-0rc2rn3b.js → chunk-jt6fa514.js} +14 -12
  250. package/dist/chunk-jvkyx1b7.js +911 -0
  251. package/dist/{chunk-41xeh3t9.js → chunk-jy6c07wa.js} +4 -4
  252. package/dist/chunk-k1fvb16y.js +269 -0
  253. package/dist/{chunk-bqfnp99q.js → chunk-k3s4yk22.js} +1 -1
  254. package/dist/{chunk-madfgr3n.js → chunk-k46gxg21.js} +68 -8
  255. package/dist/chunk-k8wwyz2t.js +110 -0
  256. package/dist/{chunk-mnx3wyv4.js → chunk-ka3fdfyb.js} +83 -62
  257. package/dist/{chunk-k5c8ssc6.js → chunk-ka4x7mhn.js} +42 -28
  258. package/dist/chunk-kb99zpps.js +216 -0
  259. package/dist/{chunk-1dyeexvn.js → chunk-kd3mmsd2.js} +4 -4
  260. package/dist/{chunk-1xkekb9y.js → chunk-kfd89dsd.js} +5 -3
  261. package/dist/{chunk-g7fxbqsc.js → chunk-km1wcchx.js} +87 -68
  262. package/dist/{chunk-248szg6m.js → chunk-kmhwx18d.js} +3 -3
  263. package/dist/{chunk-pabnr66n.js → chunk-kq91dwkq.js} +8 -6
  264. package/dist/chunk-m17m84b7.js +111 -0
  265. package/dist/chunk-m1a0s9fd.js +1070 -0
  266. package/dist/{chunk-jafes477.js → chunk-m2bcpk8j.js} +4 -3
  267. package/dist/{chunk-t0brxw87.js → chunk-m7jtn7dk.js} +80 -60
  268. package/dist/chunk-mq2mgyt9.js +103 -0
  269. package/dist/chunk-msv3w4qp.js +1811 -0
  270. package/dist/chunk-mx28h61f.js +1147 -0
  271. package/dist/{chunk-wf7yz2j0.js → chunk-mxe1f4jg.js} +13 -11
  272. package/dist/{chunk-n5crdyay.js → chunk-mzwjvfr2.js} +137 -124
  273. package/dist/{chunk-gf96dtb6.js → chunk-n2n0sq7r.js} +71 -77
  274. package/dist/{chunk-m06q12hg.js → chunk-n8mpqdje.js} +1 -1
  275. package/dist/chunk-n9e984ba.js +132 -0
  276. package/dist/chunk-netzwgv1.js +154 -0
  277. package/dist/{chunk-xszk7n10.js → chunk-nh3cd07f.js} +1 -1
  278. package/dist/chunk-njrz6mbe.js +66 -0
  279. package/dist/{chunk-sb2sew2f.js → chunk-nv7pfr7k.js} +2 -2
  280. package/dist/{chunk-g9xf7jc4.js → chunk-nwd8pb55.js} +85 -65
  281. package/dist/{chunk-5hva0tsg.js → chunk-p2yv7m0g.js} +6 -6
  282. package/dist/chunk-p5t2vy90.js +259 -0
  283. package/dist/{chunk-zk2wsm7d.js → chunk-p7vkh4wx.js} +2 -2
  284. package/dist/{chunk-da4ve9t5.js → chunk-p8crqj70.js} +10 -10
  285. package/dist/{chunk-02y0y853.js → chunk-pcngtzr8.js} +12 -6
  286. package/dist/{chunk-3vpqaqc6.js → chunk-pdjem6h1.js} +53 -71
  287. package/dist/{chunk-7rgwp44r.js → chunk-pmxdzjq0.js} +11 -9
  288. package/dist/{chunk-3s5r02ps.js → chunk-pnkcecq2.js} +31 -57
  289. package/dist/{chunk-zsfxha74.js → chunk-pshjyzq4.js} +8 -7
  290. package/dist/chunk-pt1yj9zf.js +107 -0
  291. package/dist/{chunk-rxwb7b78.js → chunk-py6b9d5b.js} +2331 -4219
  292. package/dist/chunk-q7n8d91g.js +67 -0
  293. package/dist/{chunk-e5pntxye.js → chunk-q7tpyeb3.js} +6 -4
  294. package/dist/{chunk-7ymfj7m3.js → chunk-q82r31er.js} +1 -1
  295. package/dist/chunk-qajrkk97.js +298 -0
  296. package/dist/chunk-qbrh24cn.js +119 -0
  297. package/dist/chunk-qd9ntz7c.js +230 -0
  298. package/dist/chunk-qfr5tcd5.js +2537 -0
  299. package/dist/chunk-qpzfmkct.js +456 -0
  300. package/dist/{chunk-ywxd4qw4.js → chunk-qtfc6wdh.js} +2 -5
  301. package/dist/chunk-r032587e.js +83 -0
  302. package/dist/chunk-r2k2jy0y.js +51 -0
  303. package/dist/{chunk-8mqwac85.js → chunk-r4dnnggx.js} +22 -16
  304. package/dist/{chunk-5wnn3t3a.js → chunk-r5n8fvw0.js} +7 -7
  305. package/dist/{chunk-pxvatg16.js → chunk-r7kh03er.js} +231 -190
  306. package/dist/{chunk-z4wtem3z.js → chunk-rfs0mfg8.js} +147 -151
  307. package/dist/{chunk-hrzerbfw.js → chunk-rgbbtszq.js} +14 -14
  308. package/dist/{chunk-ctw5jwcd.js → chunk-rkak3kjw.js} +10 -10
  309. package/dist/chunk-rp568bfw.js +111 -0
  310. package/dist/chunk-rtv718sv.js +146 -0
  311. package/dist/{chunk-8d5eyjse.js → chunk-rvkvehat.js} +5284 -3093
  312. package/dist/chunk-s1baskk7.js +14 -0
  313. package/dist/{chunk-tse7q7k1.js → chunk-s1eb67v3.js} +79 -59
  314. package/dist/{chunk-7rn4t7tx.js → chunk-s59kx26r.js} +87 -64
  315. package/dist/chunk-s6yk6m3b.js +109 -0
  316. package/dist/{chunk-bsk44136.js → chunk-sca71yv8.js} +11 -9
  317. package/dist/chunk-sfrwm87k.js +151 -0
  318. package/dist/chunk-sgaknx21.js +123 -0
  319. package/dist/{chunk-4y62603j.js → chunk-snyaz093.js} +9 -15
  320. package/dist/{chunk-ytg914ra.js → chunk-sq8wkk3z.js} +1 -3
  321. package/dist/chunk-sxqj7s2h.js +54 -0
  322. package/dist/chunk-t2m6cjp1.js +264 -0
  323. package/dist/chunk-t6hmvb6k.js +1021 -0
  324. package/dist/chunk-t72x960a.js +125 -0
  325. package/dist/chunk-t9kashay.js +440 -0
  326. package/dist/chunk-t9wzf009.js +151 -0
  327. package/dist/chunk-ta1dgyj1.js +154 -0
  328. package/dist/chunk-tavxhayf.js +149 -0
  329. package/dist/{chunk-2tw2ve8h.js → chunk-tcdv4gp8.js} +18 -12
  330. package/dist/chunk-td3b74vm.js +362 -0
  331. package/dist/{chunk-mt25echc.js → chunk-tezak8rx.js} +1 -1
  332. package/dist/chunk-tgcw0rzx.js +262 -0
  333. package/dist/{chunk-9rcbyag3.js → chunk-tmdbrszg.js} +2 -2
  334. package/dist/{chunk-avwewk4v.js → chunk-v17qee2y.js} +12 -8
  335. package/dist/{chunk-njtjmsx7.js → chunk-v1jd31dw.js} +2 -2
  336. package/dist/chunk-var1et7e.js +66 -0
  337. package/dist/{chunk-j5zq8axt.js → chunk-ve9wswz4.js} +7 -131
  338. package/dist/{chunk-hqmz36b3.js → chunk-vf612n57.js} +21 -101
  339. package/dist/chunk-vfhabc5j.js +109 -0
  340. package/dist/{chunk-wszmas1q.js → chunk-vgy0w6tt.js} +2 -2
  341. package/dist/chunk-vh02fvz1.js +375 -0
  342. package/dist/{chunk-jz6sqm8m.js → chunk-vm935era.js} +1083 -881
  343. package/dist/{chunk-e7393td6.js → chunk-vtb8z6as.js} +14 -9
  344. package/dist/chunk-w2kf9sxn.js +115 -0
  345. package/dist/chunk-w7trx259.js +132 -0
  346. package/dist/chunk-w92b262y.js +1072 -0
  347. package/dist/chunk-w9zqjhvm.js +103 -0
  348. package/dist/{chunk-0he1tqj5.js → chunk-wb2fvy1k.js} +81 -61
  349. package/dist/chunk-ws2d81aj.js +123 -0
  350. package/dist/{chunk-k808gmhk.js → chunk-wssgdcck.js} +2 -2
  351. package/dist/{chunk-t9z6njcr.js → chunk-wtycm8km.js} +9 -9
  352. package/dist/chunk-wz0d8mna.js +108 -0
  353. package/dist/chunk-x01wtn3p.js +144 -0
  354. package/dist/{chunk-ze747xz6.js → chunk-x2sp7rcv.js} +73 -105
  355. package/dist/{chunk-7vtykt4v.js → chunk-xbprynsc.js} +18 -46
  356. package/dist/{chunk-p196v9d0.js → chunk-xext3y2y.js} +8 -6
  357. package/dist/{chunk-r66hz8j6.js → chunk-xycy3c8q.js} +15 -12
  358. package/dist/{chunk-npv8q5qr.js → chunk-y01ys1vm.js} +25 -74
  359. package/dist/{chunk-spqaamnc.js → chunk-y78t50v0.js} +2 -2
  360. package/dist/chunk-y9bgt2k1.js +78 -0
  361. package/dist/{chunk-j8rw3m89.js → chunk-ydm0nfsv.js} +6 -6
  362. package/dist/{chunk-3cn070p7.js → chunk-yetebjek.js} +291 -502
  363. package/dist/chunk-ym5r3jnk.js +2007 -0
  364. package/dist/chunk-ysks0ewj.js +237 -0
  365. package/dist/chunk-yv3evkgg.js +68 -0
  366. package/dist/chunk-yw79dz62.js +164 -0
  367. package/dist/{chunk-ea18z8vr.js → chunk-yy59gvs4.js} +159 -183
  368. package/dist/{chunk-def1dc97.js → chunk-yyax4hdg.js} +10 -8
  369. package/dist/chunk-yzx3mhfd.js +110 -0
  370. package/dist/chunk-z0q85m5f.js +108 -0
  371. package/dist/chunk-z1bs6d7k.js +24 -0
  372. package/dist/chunk-z6e5jp2w.js +119 -0
  373. package/dist/chunk-z7ssqvt6.js +6886 -0
  374. package/dist/chunk-z95yxwyb.js +61 -0
  375. package/dist/{chunk-5a3cw988.js → chunk-z9aqj026.js} +5 -5
  376. package/dist/chunk-zc6dxhk9.js +169 -0
  377. package/dist/{chunk-2t3vw4tx.js → chunk-ze6zvkg6.js} +10 -10
  378. package/dist/{chunk-t0rgmccj.js → chunk-zejm280k.js} +1 -1
  379. package/dist/chunk-zfapazzd.js +37 -0
  380. package/dist/chunk-zj4fqmnc.js +219 -0
  381. package/dist/chunk-zkrpbswn.js +1608 -0
  382. package/dist/chunk-zktbb38m.js +112 -0
  383. package/dist/{chunk-2mcrd0rj.js → chunk-zptcqa7t.js} +92 -71
  384. package/dist/{chunk-a3csma98.js → chunk-zvnsjbt8.js} +1 -1
  385. package/dist/chunk-zwaanw8y.js +110 -0
  386. package/dist/{chunk-g3t0act8.js → chunk-zzm33q8x.js} +1 -1
  387. package/dist/{chunk-3gqdqmzb.js → chunk-zzzc1ead.js} +17 -12
  388. package/dist/cli.js +39 -10
  389. package/dist/download-ripgrep.js +24821 -0
  390. package/dist/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
  391. package/dist/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
  392. package/dist/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
  393. package/dist/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
  394. package/dist/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
  395. package/dist/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
  396. package/package.json +25 -15
  397. package/scripts/download-ripgrep.ts +335 -0
  398. package/scripts/postinstall.cjs +319 -0
  399. package/dist/chunk-07ysf2mw.js +0 -184
  400. package/dist/chunk-0ewgfms5.js +0 -117
  401. package/dist/chunk-165b9y9k.js +0 -70
  402. package/dist/chunk-17g3drrw.js +0 -121
  403. package/dist/chunk-1jv1ckhg.js +0 -1152
  404. package/dist/chunk-1pxd1xfp.js +0 -103
  405. package/dist/chunk-1tzexy7d.js +0 -258
  406. package/dist/chunk-271zt54b.js +0 -1871
  407. package/dist/chunk-2a27tvzp.js +0 -281
  408. package/dist/chunk-2g1zxpt7.js +0 -2833
  409. package/dist/chunk-2jb48txn.js +0 -98
  410. package/dist/chunk-2kc13eta.js +0 -88
  411. package/dist/chunk-2tme3s1c.js +0 -114
  412. package/dist/chunk-4491abz9.js +0 -99
  413. package/dist/chunk-4dfmgx6h.js +0 -69
  414. package/dist/chunk-4fbyr2hm.js +0 -279
  415. package/dist/chunk-5dsvtbwb.js +0 -87
  416. package/dist/chunk-5t59fqg3.js +0 -127
  417. package/dist/chunk-60nc5bh3.js +0 -1579
  418. package/dist/chunk-6dcq96a3.js +0 -128
  419. package/dist/chunk-6tm5941a.js +0 -152
  420. package/dist/chunk-79zmgkg5.js +0 -750
  421. package/dist/chunk-7d35rxr3.js +0 -69
  422. package/dist/chunk-7enxknwt.js +0 -442
  423. package/dist/chunk-7j0wpf4m.js +0 -89
  424. package/dist/chunk-7q6pjeyp.js +0 -1493
  425. package/dist/chunk-7whgbwhx.js +0 -584
  426. package/dist/chunk-9egdc8n4.js +0 -463
  427. package/dist/chunk-9rr0wepz.js +0 -56
  428. package/dist/chunk-ajp7hmws.js +0 -422
  429. package/dist/chunk-bm1qb16p.js +0 -17
  430. package/dist/chunk-bmvzacx5.js +0 -998
  431. package/dist/chunk-bw093kge.js +0 -129
  432. package/dist/chunk-c4q9x8t2.js +0 -105
  433. package/dist/chunk-c6421kme.js +0 -54
  434. package/dist/chunk-cdajcgne.js +0 -195
  435. package/dist/chunk-ch8avrbh.js +0 -86
  436. package/dist/chunk-chkyv40s.js +0 -2642
  437. package/dist/chunk-d049dd11.js +0 -348
  438. package/dist/chunk-d7tw94h4.js +0 -114
  439. package/dist/chunk-daeav7vb.js +0 -418
  440. package/dist/chunk-dxnv8hfn.js +0 -536
  441. package/dist/chunk-dy3tzxgq.js +0 -91
  442. package/dist/chunk-exy9bnjf.js +0 -212
  443. package/dist/chunk-f1f3dmd5.js +0 -713
  444. package/dist/chunk-f7yg1atj.js +0 -47
  445. package/dist/chunk-fakajzny.js +0 -372
  446. package/dist/chunk-ftrm87vt.js +0 -467
  447. package/dist/chunk-ftsp0cj3.js +0 -105
  448. package/dist/chunk-fv7hhcns.js +0 -345
  449. package/dist/chunk-fvcwxb8x.js +0 -83
  450. package/dist/chunk-g00hs992.js +0 -90
  451. package/dist/chunk-g5fpkpeg.js +0 -520
  452. package/dist/chunk-g9qyg278.js +0 -88
  453. package/dist/chunk-gkjdjqfs.js +0 -112
  454. package/dist/chunk-gqk545se.js +0 -6107
  455. package/dist/chunk-gyj242zr.js +0 -20
  456. package/dist/chunk-gzmjp1eb.js +0 -696
  457. package/dist/chunk-hbh17tng.js +0 -1013
  458. package/dist/chunk-hdfzyzk4.js +0 -85
  459. package/dist/chunk-hdtb5jce.js +0 -101
  460. package/dist/chunk-j99mjxam.js +0 -220
  461. package/dist/chunk-jaqg0k7h.js +0 -271
  462. package/dist/chunk-jdew773m.js +0 -115
  463. package/dist/chunk-jjsx6t78.js +0 -169
  464. package/dist/chunk-jpr8js4w.js +0 -328
  465. package/dist/chunk-jx817w05.js +0 -11
  466. package/dist/chunk-k0g3jve7.js +0 -89
  467. package/dist/chunk-k1g3g183.js +0 -128
  468. package/dist/chunk-k1p54aq6.js +0 -54
  469. package/dist/chunk-kexj9c6y.js +0 -5398
  470. package/dist/chunk-kgg1gq3t.js +0 -113
  471. package/dist/chunk-kwkrek4t.js +0 -95
  472. package/dist/chunk-m4gcjpj3.js +0 -103
  473. package/dist/chunk-m6rk1r6q.js +0 -194
  474. package/dist/chunk-mb2xmb0d.js +0 -53
  475. package/dist/chunk-mv1pbf3a.js +0 -297
  476. package/dist/chunk-my7r0cca.js +0 -469
  477. package/dist/chunk-nprycdaa.js +0 -525
  478. package/dist/chunk-p2pztr2r.js +0 -104
  479. package/dist/chunk-p68nf56z.js +0 -92
  480. package/dist/chunk-p6pc9xrz.js +0 -3443
  481. package/dist/chunk-p7skftb4.js +0 -108
  482. package/dist/chunk-pa2235xc.js +0 -160
  483. package/dist/chunk-pmzbyaat.js +0 -99
  484. package/dist/chunk-pqzk7nbh.js +0 -91
  485. package/dist/chunk-pvvew193.js +0 -802
  486. package/dist/chunk-pvx0x5zm.js +0 -2057
  487. package/dist/chunk-py77warv.js +0 -66
  488. package/dist/chunk-q43gccx5.js +0 -92
  489. package/dist/chunk-rse6x10x.js +0 -89
  490. package/dist/chunk-rxdhy7ve.js +0 -131
  491. package/dist/chunk-scb48p4v.js +0 -496
  492. package/dist/chunk-sjqtqj35.js +0 -28
  493. package/dist/chunk-sq0wf7jj.js +0 -1919
  494. package/dist/chunk-sy1hkkty.js +0 -400
  495. package/dist/chunk-sy9jf9v2.js +0 -109
  496. package/dist/chunk-t2km9bn3.js +0 -87
  497. package/dist/chunk-t4afbt2j.js +0 -88
  498. package/dist/chunk-t4c5qtdc.js +0 -42
  499. package/dist/chunk-t94jxd0x.js +0 -100
  500. package/dist/chunk-tb2g2bba.js +0 -192
  501. package/dist/chunk-tdpvdzbf.js +0 -97
  502. package/dist/chunk-tf4dw2e2.js +0 -142
  503. package/dist/chunk-tp40437d.js +0 -90
  504. package/dist/chunk-vabm7x8v.js +0 -61
  505. package/dist/chunk-veaq13qy.js +0 -490
  506. package/dist/chunk-vmz3wcnv.js +0 -641
  507. package/dist/chunk-vsgv16zj.js +0 -756
  508. package/dist/chunk-vxa0avb0.js +0 -105
  509. package/dist/chunk-x14dq3v1.js +0 -722
  510. package/dist/chunk-x6bg700t.js +0 -88
  511. package/dist/chunk-x8b7vft8.js +0 -132
  512. package/dist/chunk-xmdcxa8r.js +0 -374
  513. package/dist/chunk-y42a2xmv.js +0 -1316
  514. package/dist/chunk-y56ckcf8.js +0 -44
  515. package/dist/chunk-ybgghjqa.js +0 -602
  516. package/dist/chunk-zacq47b2.js +0 -84
  517. package/dist/chunk-zv3hxg5y.js +0 -267
  518. package/dist/chunk-zw2x3xxq.js +0 -96
  519. package/dist/chunk-zyf9epwn.js +0 -642
  520. package/dist/{chunk-whvdag1y.js → chunk-3bfs3x0h.js} +9 -9
  521. package/dist/{chunk-27xc1csx.js → chunk-dggvswz1.js} +3 -3
  522. package/dist/{chunk-0wftg29n.js → chunk-f9nt10jh.js} +3 -3
@@ -1,1871 +0,0 @@
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-rxwb7b78.js";
14
- import"./chunk-wf7yz2j0.js";
15
- import {
16
- init_MCPConnectionManager,
17
- useMcpReconnect,
18
- useMcpToggleEnabled
19
- } from "./chunk-3s5r02ps.js";
20
- import"./chunk-as261f01.js";
21
- import"./chunk-ptmcaxqn.js";
22
- import"./chunk-k9c3888e.js";
23
- import"./chunk-n78qmqpq.js";
24
- import"./chunk-j5zq8axt.js";
25
- import"./chunk-fakajzny.js";
26
- import {
27
- McpParsingWarnings,
28
- init_McpParsingWarnings
29
- } from "./chunk-d049dd11.js";
30
- import"./chunk-jjsx6t78.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-g9q2cznf.js";
48
- import {
49
- getSessionIngressAuthToken,
50
- init_sessionIngressAuth
51
- } from "./chunk-q1e6pzwh.js";
52
- import"./chunk-201dvaa3.js";
53
- import"./chunk-248szg6m.js";
54
- import"./chunk-t0rgmccj.js";
55
- import"./chunk-def1dc97.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-9egdc8n4.js";
66
- import"./chunk-ehtwnxpg.js";
67
- import"./chunk-b0105v1f.js";
68
- import"./chunk-hgtf13es.js";
69
- import"./chunk-3be7ka25.js";
70
- import"./chunk-rcdpvnxh.js";
71
- import"./chunk-2gzv8nrw.js";
72
- import"./chunk-45kxdsp8.js";
73
- import"./chunk-cgfdkzhb.js";
74
- import"./chunk-madfgr3n.js";
75
- import"./chunk-pmzbyaat.js";
76
- import"./chunk-9gbamk79.js";
77
- import"./chunk-ha0xq3e9.js";
78
- import"./chunk-hfzj1m07.js";
79
- import {
80
- init_useKeybinding,
81
- useKeybinding,
82
- useKeybindings
83
- } from "./chunk-pvvew193.js";
84
- import {
85
- Link,
86
- ThemedBox_default,
87
- ThemedText,
88
- color,
89
- init_ink,
90
- require_compiler_runtime,
91
- useTheme
92
- } from "./chunk-8d5eyjse.js";
93
- import"./chunk-7m2nd8da.js";
94
- import"./chunk-ps49ymvj.js";
95
- import {
96
- require_jsx_dev_runtime,
97
- require_react
98
- } from "./chunk-g338npwr.js";
99
- import"./chunk-2v1br2x0.js";
100
- import"./chunk-zk2wsm7d.js";
101
- import"./chunk-zkmxtgc3.js";
102
- import"./chunk-m06q12hg.js";
103
- import"./chunk-grdvmq7q.js";
104
- import {
105
- capitalize,
106
- init_stringUtils,
107
- plural
108
- } from "./chunk-7wm1rjfm.js";
109
- import"./chunk-e3g8q4cn.js";
110
- import"./chunk-ctw5jwcd.js";
111
- import"./chunk-vratq94g.js";
112
- import"./chunk-5hva0tsg.js";
113
- import"./chunk-0e1xsncc.js";
114
- import"./chunk-g0j0t6qk.js";
115
- import"./chunk-3c25bcsw.js";
116
- import"./chunk-tjaqa99q.js";
117
- import"./chunk-55wgxwa9.js";
118
- import"./chunk-spqaamnc.js";
119
- import"./chunk-4jm600zv.js";
120
- import"./chunk-w2z5pqd3.js";
121
- import"./chunk-7ymfj7m3.js";
122
- import"./chunk-f5ma3nh5.js";
123
- import"./chunk-qz2x630m.js";
124
- import"./chunk-cvge4pvp.js";
125
- import"./chunk-p2816w9z.js";
126
- import"./chunk-v9smspw2.js";
127
- import"./chunk-v1kzp02e.js";
128
- import"./chunk-0vkfrmqm.js";
129
- import"./chunk-0xjaqda8.js";
130
- import"./chunk-x14dq3v1.js";
131
- import"./chunk-cdz5yb0r.js";
132
- import"./chunk-h0rbjg6x.js";
133
- import"./chunk-7z8j9qfn.js";
134
- import"./chunk-hrzerbfw.js";
135
- import"./chunk-d18z9pna.js";
136
- import"./chunk-qnfx3qtx.js";
137
- import"./chunk-hjhc4cpt.js";
138
- import"./chunk-vyc0rjyx.js";
139
- import {
140
- figures_default,
141
- init_figures
142
- } from "./chunk-hx2tr4ep.js";
143
- import"./chunk-p7g7pf3f.js";
144
- import"./chunk-8tnsngw2.js";
145
- import"./chunk-8bedvdm1.js";
146
- import"./chunk-7wm5s02e.js";
147
- import {
148
- init_debug,
149
- isDebugMode
150
- } from "./chunk-nxsh6de2.js";
151
- import"./chunk-fbv4apne.js";
152
- import"./chunk-3r24h7t6.js";
153
- import"./chunk-qqfa0dqg.js";
154
- import"./chunk-hqmz36b3.js";
155
- import"./chunk-4g3v8y12.js";
156
- import"./chunk-7739pg2c.js";
157
- import"./chunk-xszk7n10.js";
158
- import"./chunk-sdj9b9wh.js";
159
- import {
160
- __esm,
161
- __toESM
162
- } from "./chunk-qp2qdcda.js";
163
-
164
- // src/components/mcp/MCPAgentServerMenu.tsx
165
- function MCPAgentServerMenu({
166
- agentServer,
167
- onCancel,
168
- onComplete
169
- }) {
170
- const [theme] = useTheme();
171
- const [isAuthenticating, setIsAuthenticating] = import_react.useState(false);
172
- const [error, setError] = import_react.useState(null);
173
- const [authorizationUrl, setAuthorizationUrl] = import_react.useState(null);
174
- const authAbortControllerRef = import_react.useRef(null);
175
- import_react.useEffect(() => () => authAbortControllerRef.current?.abort(), []);
176
- const handleEscCancel = import_react.useCallback(() => {
177
- if (isAuthenticating) {
178
- authAbortControllerRef.current?.abort();
179
- authAbortControllerRef.current = null;
180
- setIsAuthenticating(false);
181
- setAuthorizationUrl(null);
182
- }
183
- }, [isAuthenticating]);
184
- useKeybinding("confirm:no", handleEscCancel, {
185
- context: "Confirmation",
186
- isActive: isAuthenticating
187
- });
188
- const handleAuthenticate = import_react.useCallback(async () => {
189
- if (!agentServer.needsAuth || !agentServer.url) {
190
- return;
191
- }
192
- setIsAuthenticating(true);
193
- setError(null);
194
- const controller = new AbortController;
195
- authAbortControllerRef.current = controller;
196
- try {
197
- const tempConfig = {
198
- type: agentServer.transport,
199
- url: agentServer.url
200
- };
201
- await performMCPOAuthFlow(agentServer.name, tempConfig, setAuthorizationUrl, controller.signal);
202
- onComplete?.(`Authentication successful for ${agentServer.name}. The server will connect when the agent runs.`);
203
- } catch (err) {
204
- if (err instanceof Error && !(err instanceof AuthenticationCancelledError)) {
205
- setError(err.message);
206
- }
207
- } finally {
208
- setIsAuthenticating(false);
209
- authAbortControllerRef.current = null;
210
- }
211
- }, [agentServer, onComplete]);
212
- const capitalizedServerName = capitalize(String(agentServer.name));
213
- if (isAuthenticating) {
214
- return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
215
- flexDirection: "column",
216
- gap: 1,
217
- padding: 1,
218
- children: [
219
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
220
- color: "claude",
221
- children: [
222
- "Authenticating with ",
223
- agentServer.name,
224
- "\u2026"
225
- ]
226
- }, undefined, true, undefined, this),
227
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
228
- children: [
229
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Spinner, {}, undefined, false, undefined, this),
230
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
231
- children: " A browser window will open for authentication"
232
- }, undefined, false, undefined, this)
233
- ]
234
- }, undefined, true, undefined, this),
235
- authorizationUrl && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
236
- flexDirection: "column",
237
- children: [
238
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
239
- dimColor: true,
240
- children: "If your browser doesn't open automatically, copy this URL manually:"
241
- }, undefined, false, undefined, this),
242
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Link, {
243
- url: authorizationUrl
244
- }, undefined, false, undefined, this)
245
- ]
246
- }, undefined, true, undefined, this),
247
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
248
- marginLeft: 3,
249
- children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
250
- dimColor: true,
251
- children: [
252
- "Return here after authenticating in your browser.",
253
- " ",
254
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ConfigurableShortcutHint, {
255
- action: "confirm:no",
256
- context: "Confirmation",
257
- fallback: "Esc",
258
- description: "go back"
259
- }, undefined, false, undefined, this)
260
- ]
261
- }, undefined, true, undefined, this)
262
- }, undefined, false, undefined, this)
263
- ]
264
- }, undefined, true, undefined, this);
265
- }
266
- const menuOptions = [];
267
- if (agentServer.needsAuth) {
268
- menuOptions.push({
269
- label: agentServer.isAuthenticated ? "Re-authenticate" : "Authenticate",
270
- value: "auth"
271
- });
272
- }
273
- menuOptions.push({
274
- label: "Back",
275
- value: "back"
276
- });
277
- return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Dialog, {
278
- title: `${capitalizedServerName} MCP Server`,
279
- subtitle: "agent-only",
280
- onCancel,
281
- inputGuide: (exitState) => exitState.pending ? /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
282
- children: [
283
- "Press ",
284
- exitState.keyName,
285
- " again to exit"
286
- ]
287
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Byline, {
288
- children: [
289
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(KeyboardShortcutHint, {
290
- shortcut: "\u2191\u2193",
291
- action: "navigate"
292
- }, undefined, false, undefined, this),
293
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(KeyboardShortcutHint, {
294
- shortcut: "Enter",
295
- action: "confirm"
296
- }, undefined, false, undefined, this),
297
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ConfigurableShortcutHint, {
298
- action: "confirm:no",
299
- context: "Confirmation",
300
- fallback: "Esc",
301
- description: "go back"
302
- }, undefined, false, undefined, this)
303
- ]
304
- }, undefined, true, undefined, this),
305
- children: [
306
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
307
- flexDirection: "column",
308
- gap: 0,
309
- children: [
310
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
311
- children: [
312
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
313
- bold: true,
314
- children: "Type: "
315
- }, undefined, false, undefined, this),
316
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
317
- dimColor: true,
318
- children: agentServer.transport
319
- }, undefined, false, undefined, this)
320
- ]
321
- }, undefined, true, undefined, this),
322
- agentServer.url && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
323
- children: [
324
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
325
- bold: true,
326
- children: "URL: "
327
- }, undefined, false, undefined, this),
328
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
329
- dimColor: true,
330
- children: agentServer.url
331
- }, undefined, false, undefined, this)
332
- ]
333
- }, undefined, true, undefined, this),
334
- agentServer.command && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
335
- children: [
336
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
337
- bold: true,
338
- children: "Command: "
339
- }, undefined, false, undefined, this),
340
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
341
- dimColor: true,
342
- children: agentServer.command
343
- }, undefined, false, undefined, this)
344
- ]
345
- }, undefined, true, undefined, this),
346
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
347
- children: [
348
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
349
- bold: true,
350
- children: "Used by: "
351
- }, undefined, false, undefined, this),
352
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
353
- dimColor: true,
354
- children: agentServer.sourceAgents.join(", ")
355
- }, undefined, false, undefined, this)
356
- ]
357
- }, undefined, true, undefined, this),
358
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
359
- marginTop: 1,
360
- children: [
361
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
362
- bold: true,
363
- children: "Status: "
364
- }, undefined, false, undefined, this),
365
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
366
- children: [
367
- color("inactive", theme)(figures_default.radioOff),
368
- " not connected (agent-only)"
369
- ]
370
- }, undefined, true, undefined, this)
371
- ]
372
- }, undefined, true, undefined, this),
373
- agentServer.needsAuth && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
374
- children: [
375
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
376
- bold: true,
377
- children: "Auth: "
378
- }, undefined, false, undefined, this),
379
- agentServer.isAuthenticated ? /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
380
- children: [
381
- color("success", theme)(figures_default.tick),
382
- " authenticated"
383
- ]
384
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
385
- children: [
386
- color("warning", theme)(figures_default.triangleUpOutline),
387
- " may need authentication"
388
- ]
389
- }, undefined, true, undefined, this)
390
- ]
391
- }, undefined, true, undefined, this)
392
- ]
393
- }, undefined, true, undefined, this),
394
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
395
- children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
396
- dimColor: true,
397
- children: "This server connects only when running the agent."
398
- }, undefined, false, undefined, this)
399
- }, undefined, false, undefined, this),
400
- error && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
401
- children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
402
- color: "error",
403
- children: [
404
- "Error: ",
405
- error
406
- ]
407
- }, undefined, true, undefined, this)
408
- }, undefined, false, undefined, this),
409
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
410
- children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Select, {
411
- options: menuOptions,
412
- onChange: async (value) => {
413
- switch (value) {
414
- case "auth":
415
- await handleAuthenticate();
416
- break;
417
- case "back":
418
- onCancel();
419
- break;
420
- }
421
- },
422
- onCancel
423
- }, undefined, false, undefined, this)
424
- }, undefined, false, undefined, this)
425
- ]
426
- }, undefined, true, undefined, this);
427
- }
428
- var import_react, jsx_dev_runtime;
429
- var init_MCPAgentServerMenu = __esm(() => {
430
- init_figures();
431
- init_ink();
432
- init_useKeybinding();
433
- init_auth();
434
- init_stringUtils();
435
- init_ConfigurableShortcutHint();
436
- init_CustomSelect();
437
- init_Byline();
438
- init_Dialog();
439
- init_KeyboardShortcutHint();
440
- init_Spinner();
441
- import_react = __toESM(require_react(), 1);
442
- jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
443
- });
444
-
445
- // src/components/mcp/MCPListPanel.tsx
446
- function getScopeHeading(scope) {
447
- switch (scope) {
448
- case "project":
449
- return {
450
- label: "Project MCPs",
451
- path: describeMcpConfigFilePath(scope)
452
- };
453
- case "user":
454
- return {
455
- label: "User MCPs",
456
- path: describeMcpConfigFilePath(scope)
457
- };
458
- case "local":
459
- return {
460
- label: "Local MCPs",
461
- path: describeMcpConfigFilePath(scope)
462
- };
463
- case "enterprise":
464
- return {
465
- label: "Enterprise MCPs"
466
- };
467
- case "dynamic":
468
- return {
469
- label: "Built-in MCPs",
470
- path: "always available"
471
- };
472
- default:
473
- return {
474
- label: scope
475
- };
476
- }
477
- }
478
- function groupServersByScope(serverList) {
479
- const groups = new Map;
480
- for (const server of serverList) {
481
- const scope = server.scope;
482
- if (!groups.has(scope)) {
483
- groups.set(scope, []);
484
- }
485
- groups.get(scope).push(server);
486
- }
487
- for (const [, groupServers] of groups) {
488
- groupServers.sort((a, b) => a.name.localeCompare(b.name));
489
- }
490
- return groups;
491
- }
492
- function MCPListPanel(t0) {
493
- const $ = import_compiler_runtime.c(78);
494
- const {
495
- servers,
496
- agentServers: t1,
497
- onSelectServer,
498
- onSelectAgentServer,
499
- onComplete
500
- } = t0;
501
- let t2;
502
- if ($[0] !== t1) {
503
- t2 = t1 === undefined ? [] : t1;
504
- $[0] = t1;
505
- $[1] = t2;
506
- } else {
507
- t2 = $[1];
508
- }
509
- const agentServers = t2;
510
- const [theme] = useTheme();
511
- const [selectedIndex, setSelectedIndex] = import_react2.useState(0);
512
- let t3;
513
- if ($[2] !== servers) {
514
- const regularServers = servers.filter(_temp);
515
- t3 = groupServersByScope(regularServers);
516
- $[2] = servers;
517
- $[3] = t3;
518
- } else {
519
- t3 = $[3];
520
- }
521
- const serversByScope = t3;
522
- let t4;
523
- if ($[4] !== servers) {
524
- t4 = servers.filter(_temp2).sort(_temp3);
525
- $[4] = servers;
526
- $[5] = t4;
527
- } else {
528
- t4 = $[5];
529
- }
530
- const claudeAiServers = t4;
531
- let t5;
532
- if ($[6] !== serversByScope) {
533
- t5 = (serversByScope.get("dynamic") ?? []).sort(_temp4);
534
- $[6] = serversByScope;
535
- $[7] = t5;
536
- } else {
537
- t5 = $[7];
538
- }
539
- const dynamicServers = t5;
540
- let t6;
541
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
542
- t6 = getScopeHeading("dynamic");
543
- $[8] = t6;
544
- } else {
545
- t6 = $[8];
546
- }
547
- const dynamicHeading = t6;
548
- let items;
549
- if ($[9] !== agentServers || $[10] !== claudeAiServers || $[11] !== dynamicServers || $[12] !== serversByScope) {
550
- items = [];
551
- for (const scope of SCOPE_ORDER) {
552
- const scopeServers = serversByScope.get(scope) ?? [];
553
- for (const server of scopeServers) {
554
- items.push({
555
- type: "server",
556
- server
557
- });
558
- }
559
- }
560
- for (const server_0 of claudeAiServers) {
561
- items.push({
562
- type: "server",
563
- server: server_0
564
- });
565
- }
566
- for (const agentServer of agentServers) {
567
- items.push({
568
- type: "agent-server",
569
- agentServer
570
- });
571
- }
572
- for (const server_1 of dynamicServers) {
573
- items.push({
574
- type: "server",
575
- server: server_1
576
- });
577
- }
578
- $[9] = agentServers;
579
- $[10] = claudeAiServers;
580
- $[11] = dynamicServers;
581
- $[12] = serversByScope;
582
- $[13] = items;
583
- } else {
584
- items = $[13];
585
- }
586
- const selectableItems = items;
587
- let t7;
588
- if ($[14] !== onComplete) {
589
- t7 = () => {
590
- onComplete("MCP dialog dismissed", {
591
- display: "system"
592
- });
593
- };
594
- $[14] = onComplete;
595
- $[15] = t7;
596
- } else {
597
- t7 = $[15];
598
- }
599
- const handleCancel = t7;
600
- let t8;
601
- if ($[16] !== onSelectAgentServer || $[17] !== onSelectServer || $[18] !== selectableItems || $[19] !== selectedIndex) {
602
- t8 = () => {
603
- const item = selectableItems[selectedIndex];
604
- if (!item) {
605
- return;
606
- }
607
- if (item.type === "server") {
608
- onSelectServer(item.server);
609
- } else {
610
- if (item.type === "agent-server" && onSelectAgentServer) {
611
- onSelectAgentServer(item.agentServer);
612
- }
613
- }
614
- };
615
- $[16] = onSelectAgentServer;
616
- $[17] = onSelectServer;
617
- $[18] = selectableItems;
618
- $[19] = selectedIndex;
619
- $[20] = t8;
620
- } else {
621
- t8 = $[20];
622
- }
623
- const handleSelect = t8;
624
- let t10;
625
- let t9;
626
- if ($[21] !== selectableItems) {
627
- t9 = () => setSelectedIndex((prev) => prev === 0 ? selectableItems.length - 1 : prev - 1);
628
- t10 = () => setSelectedIndex((prev_0) => prev_0 === selectableItems.length - 1 ? 0 : prev_0 + 1);
629
- $[21] = selectableItems;
630
- $[22] = t10;
631
- $[23] = t9;
632
- } else {
633
- t10 = $[22];
634
- t9 = $[23];
635
- }
636
- let t11;
637
- if ($[24] !== handleCancel || $[25] !== handleSelect || $[26] !== t10 || $[27] !== t9) {
638
- t11 = {
639
- "confirm:previous": t9,
640
- "confirm:next": t10,
641
- "confirm:yes": handleSelect,
642
- "confirm:no": handleCancel
643
- };
644
- $[24] = handleCancel;
645
- $[25] = handleSelect;
646
- $[26] = t10;
647
- $[27] = t9;
648
- $[28] = t11;
649
- } else {
650
- t11 = $[28];
651
- }
652
- let t12;
653
- if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
654
- t12 = {
655
- context: "Confirmation"
656
- };
657
- $[29] = t12;
658
- } else {
659
- t12 = $[29];
660
- }
661
- useKeybindings(t11, t12);
662
- let t13;
663
- if ($[30] !== selectableItems) {
664
- t13 = (server_2) => selectableItems.findIndex((item_0) => item_0.type === "server" && item_0.server === server_2);
665
- $[30] = selectableItems;
666
- $[31] = t13;
667
- } else {
668
- t13 = $[31];
669
- }
670
- const getServerIndex = t13;
671
- let t14;
672
- if ($[32] !== selectableItems) {
673
- t14 = (agentServer_0) => selectableItems.findIndex((item_1) => item_1.type === "agent-server" && item_1.agentServer === agentServer_0);
674
- $[32] = selectableItems;
675
- $[33] = t14;
676
- } else {
677
- t14 = $[33];
678
- }
679
- const getAgentServerIndex = t14;
680
- let t15;
681
- if ($[34] === Symbol.for("react.memo_cache_sentinel")) {
682
- t15 = isDebugMode();
683
- $[34] = t15;
684
- } else {
685
- t15 = $[34];
686
- }
687
- const debugMode = t15;
688
- let t16;
689
- if ($[35] !== servers) {
690
- t16 = servers.some(_temp5);
691
- $[35] = servers;
692
- $[36] = t16;
693
- } else {
694
- t16 = $[36];
695
- }
696
- const hasFailedClients = t16;
697
- if (servers.length === 0 && agentServers.length === 0) {
698
- return null;
699
- }
700
- let t17;
701
- if ($[37] !== getServerIndex || $[38] !== selectedIndex || $[39] !== theme) {
702
- t17 = (server_3) => {
703
- const index = getServerIndex(server_3);
704
- const isSelected = selectedIndex === index;
705
- let statusIcon;
706
- let statusText;
707
- if (server_3.client.type === "disabled") {
708
- statusIcon = color("inactive", theme)(figures_default.radioOff);
709
- statusText = "disabled";
710
- } else {
711
- if (server_3.client.type === "connected") {
712
- statusIcon = color("success", theme)(figures_default.tick);
713
- statusText = "connected";
714
- } else {
715
- if (server_3.client.type === "pending") {
716
- statusIcon = color("inactive", theme)(figures_default.radioOff);
717
- const {
718
- reconnectAttempt,
719
- maxReconnectAttempts
720
- } = server_3.client;
721
- if (reconnectAttempt && maxReconnectAttempts) {
722
- statusText = `reconnecting (${reconnectAttempt}/${maxReconnectAttempts})\u2026`;
723
- } else {
724
- statusText = "connecting\u2026";
725
- }
726
- } else {
727
- if (server_3.client.type === "needs-auth") {
728
- statusIcon = color("warning", theme)(figures_default.triangleUpOutline);
729
- statusText = "needs authentication";
730
- } else {
731
- statusIcon = color("error", theme)(figures_default.cross);
732
- statusText = "failed";
733
- }
734
- }
735
- }
736
- }
737
- return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
738
- children: [
739
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
740
- color: isSelected ? "suggestion" : undefined,
741
- children: isSelected ? `${figures_default.pointer} ` : " "
742
- }, undefined, false, undefined, this),
743
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
744
- color: isSelected ? "suggestion" : undefined,
745
- children: server_3.name
746
- }, undefined, false, undefined, this),
747
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
748
- dimColor: !isSelected,
749
- children: [
750
- " \xB7 ",
751
- statusIcon,
752
- " "
753
- ]
754
- }, undefined, true, undefined, this),
755
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
756
- dimColor: !isSelected,
757
- children: statusText
758
- }, undefined, false, undefined, this)
759
- ]
760
- }, `${server_3.name}-${index}`, true, undefined, this);
761
- };
762
- $[37] = getServerIndex;
763
- $[38] = selectedIndex;
764
- $[39] = theme;
765
- $[40] = t17;
766
- } else {
767
- t17 = $[40];
768
- }
769
- const renderServerItem = t17;
770
- let t18;
771
- if ($[41] !== getAgentServerIndex || $[42] !== selectedIndex || $[43] !== theme) {
772
- t18 = (agentServer_1) => {
773
- const index_0 = getAgentServerIndex(agentServer_1);
774
- const isSelected_0 = selectedIndex === index_0;
775
- const statusIcon_0 = agentServer_1.needsAuth ? color("warning", theme)(figures_default.triangleUpOutline) : color("inactive", theme)(figures_default.radioOff);
776
- const statusText_0 = agentServer_1.needsAuth ? "may need auth" : "agent-only";
777
- return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
778
- children: [
779
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
780
- color: isSelected_0 ? "suggestion" : undefined,
781
- children: isSelected_0 ? `${figures_default.pointer} ` : " "
782
- }, undefined, false, undefined, this),
783
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
784
- color: isSelected_0 ? "suggestion" : undefined,
785
- children: agentServer_1.name
786
- }, undefined, false, undefined, this),
787
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
788
- dimColor: !isSelected_0,
789
- children: [
790
- " \xB7 ",
791
- statusIcon_0,
792
- " "
793
- ]
794
- }, undefined, true, undefined, this),
795
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
796
- dimColor: !isSelected_0,
797
- children: statusText_0
798
- }, undefined, false, undefined, this)
799
- ]
800
- }, `agent-${agentServer_1.name}-${index_0}`, true, undefined, this);
801
- };
802
- $[41] = getAgentServerIndex;
803
- $[42] = selectedIndex;
804
- $[43] = theme;
805
- $[44] = t18;
806
- } else {
807
- t18 = $[44];
808
- }
809
- const renderAgentServerItem = t18;
810
- const totalServers = servers.length + agentServers.length;
811
- let t19;
812
- if ($[45] === Symbol.for("react.memo_cache_sentinel")) {
813
- t19 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(McpParsingWarnings, {}, undefined, false, undefined, this);
814
- $[45] = t19;
815
- } else {
816
- t19 = $[45];
817
- }
818
- let t20;
819
- if ($[46] !== totalServers) {
820
- t20 = plural(totalServers, "server");
821
- $[46] = totalServers;
822
- $[47] = t20;
823
- } else {
824
- t20 = $[47];
825
- }
826
- const t21 = `${totalServers} ${t20}`;
827
- let t22;
828
- if ($[48] !== renderServerItem || $[49] !== serversByScope) {
829
- t22 = SCOPE_ORDER.map((scope_0) => {
830
- const scopeServers_0 = serversByScope.get(scope_0);
831
- if (!scopeServers_0 || scopeServers_0.length === 0) {
832
- return null;
833
- }
834
- const heading = getScopeHeading(scope_0);
835
- return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
836
- flexDirection: "column",
837
- marginBottom: 1,
838
- children: [
839
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
840
- paddingLeft: 2,
841
- children: [
842
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
843
- bold: true,
844
- children: heading.label
845
- }, undefined, false, undefined, this),
846
- heading.path && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
847
- dimColor: true,
848
- children: [
849
- " (",
850
- heading.path,
851
- ")"
852
- ]
853
- }, undefined, true, undefined, this)
854
- ]
855
- }, undefined, true, undefined, this),
856
- scopeServers_0.map((server_4) => renderServerItem(server_4))
857
- ]
858
- }, scope_0, true, undefined, this);
859
- });
860
- $[48] = renderServerItem;
861
- $[49] = serversByScope;
862
- $[50] = t22;
863
- } else {
864
- t22 = $[50];
865
- }
866
- let t23;
867
- if ($[51] !== claudeAiServers || $[52] !== renderServerItem) {
868
- t23 = claudeAiServers.length > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
869
- flexDirection: "column",
870
- marginBottom: 1,
871
- children: [
872
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
873
- paddingLeft: 2,
874
- children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
875
- bold: true,
876
- children: "claude.ai"
877
- }, undefined, false, undefined, this)
878
- }, undefined, false, undefined, this),
879
- claudeAiServers.map((server_5) => renderServerItem(server_5))
880
- ]
881
- }, undefined, true, undefined, this);
882
- $[51] = claudeAiServers;
883
- $[52] = renderServerItem;
884
- $[53] = t23;
885
- } else {
886
- t23 = $[53];
887
- }
888
- let t24;
889
- if ($[54] !== agentServers || $[55] !== renderAgentServerItem) {
890
- t24 = agentServers.length > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
891
- flexDirection: "column",
892
- marginBottom: 1,
893
- children: [
894
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
895
- paddingLeft: 2,
896
- children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
897
- bold: true,
898
- children: "Agent MCPs"
899
- }, undefined, false, undefined, this)
900
- }, undefined, false, undefined, this),
901
- [...new Set(agentServers.flatMap(_temp6))].map((agentName) => /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
902
- flexDirection: "column",
903
- marginTop: 1,
904
- children: [
905
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
906
- paddingLeft: 2,
907
- children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
908
- dimColor: true,
909
- children: [
910
- "@",
911
- agentName
912
- ]
913
- }, undefined, true, undefined, this)
914
- }, undefined, false, undefined, this),
915
- agentServers.filter((s_3) => s_3.sourceAgents.includes(agentName)).map((agentServer_2) => renderAgentServerItem(agentServer_2))
916
- ]
917
- }, agentName, true, undefined, this))
918
- ]
919
- }, undefined, true, undefined, this);
920
- $[54] = agentServers;
921
- $[55] = renderAgentServerItem;
922
- $[56] = t24;
923
- } else {
924
- t24 = $[56];
925
- }
926
- let t25;
927
- if ($[57] !== dynamicServers || $[58] !== renderServerItem) {
928
- t25 = dynamicServers.length > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
929
- flexDirection: "column",
930
- marginBottom: 1,
931
- children: [
932
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
933
- paddingLeft: 2,
934
- children: [
935
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
936
- bold: true,
937
- children: dynamicHeading.label
938
- }, undefined, false, undefined, this),
939
- dynamicHeading.path && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
940
- dimColor: true,
941
- children: [
942
- " (",
943
- dynamicHeading.path,
944
- ")"
945
- ]
946
- }, undefined, true, undefined, this)
947
- ]
948
- }, undefined, true, undefined, this),
949
- dynamicServers.map((server_6) => renderServerItem(server_6))
950
- ]
951
- }, undefined, true, undefined, this);
952
- $[57] = dynamicServers;
953
- $[58] = renderServerItem;
954
- $[59] = t25;
955
- } else {
956
- t25 = $[59];
957
- }
958
- let t26;
959
- if ($[60] !== hasFailedClients) {
960
- t26 = hasFailedClients && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
961
- dimColor: true,
962
- children: debugMode ? "\u203B Error logs shown inline with --debug" : "\u203B Run claude --debug to see error logs"
963
- }, undefined, false, undefined, this);
964
- $[60] = hasFailedClients;
965
- $[61] = t26;
966
- } else {
967
- t26 = $[61];
968
- }
969
- let t27;
970
- if ($[62] === Symbol.for("react.memo_cache_sentinel")) {
971
- t27 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
972
- dimColor: true,
973
- children: [
974
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Link, {
975
- url: "https://code.claude.com/docs/en/mcp",
976
- children: "https://code.claude.com/docs/en/mcp"
977
- }, undefined, false, undefined, this),
978
- " ",
979
- "for help"
980
- ]
981
- }, undefined, true, undefined, this);
982
- $[62] = t27;
983
- } else {
984
- t27 = $[62];
985
- }
986
- let t28;
987
- if ($[63] !== t26) {
988
- t28 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
989
- flexDirection: "column",
990
- children: [
991
- t26,
992
- t27
993
- ]
994
- }, undefined, true, undefined, this);
995
- $[63] = t26;
996
- $[64] = t28;
997
- } else {
998
- t28 = $[64];
999
- }
1000
- let t29;
1001
- if ($[65] !== t22 || $[66] !== t23 || $[67] !== t24 || $[68] !== t25 || $[69] !== t28) {
1002
- t29 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
1003
- flexDirection: "column",
1004
- children: [
1005
- t22,
1006
- t23,
1007
- t24,
1008
- t25,
1009
- t28
1010
- ]
1011
- }, undefined, true, undefined, this);
1012
- $[65] = t22;
1013
- $[66] = t23;
1014
- $[67] = t24;
1015
- $[68] = t25;
1016
- $[69] = t28;
1017
- $[70] = t29;
1018
- } else {
1019
- t29 = $[70];
1020
- }
1021
- let t30;
1022
- if ($[71] !== handleCancel || $[72] !== t21 || $[73] !== t29) {
1023
- t30 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Dialog, {
1024
- title: "Manage MCP servers",
1025
- subtitle: t21,
1026
- onCancel: handleCancel,
1027
- hideInputGuide: true,
1028
- children: t29
1029
- }, undefined, false, undefined, this);
1030
- $[71] = handleCancel;
1031
- $[72] = t21;
1032
- $[73] = t29;
1033
- $[74] = t30;
1034
- } else {
1035
- t30 = $[74];
1036
- }
1037
- let t31;
1038
- if ($[75] === Symbol.for("react.memo_cache_sentinel")) {
1039
- t31 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
1040
- paddingX: 1,
1041
- children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
1042
- dimColor: true,
1043
- italic: true,
1044
- children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Byline, {
1045
- children: [
1046
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(KeyboardShortcutHint, {
1047
- shortcut: "\u2191\u2193",
1048
- action: "navigate"
1049
- }, undefined, false, undefined, this),
1050
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(KeyboardShortcutHint, {
1051
- shortcut: "Enter",
1052
- action: "confirm"
1053
- }, undefined, false, undefined, this),
1054
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ConfigurableShortcutHint, {
1055
- action: "confirm:no",
1056
- context: "Confirmation",
1057
- fallback: "Esc",
1058
- description: "cancel"
1059
- }, undefined, false, undefined, this)
1060
- ]
1061
- }, undefined, true, undefined, this)
1062
- }, undefined, false, undefined, this)
1063
- }, undefined, false, undefined, this);
1064
- $[75] = t31;
1065
- } else {
1066
- t31 = $[75];
1067
- }
1068
- let t32;
1069
- if ($[76] !== t30) {
1070
- t32 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
1071
- flexDirection: "column",
1072
- children: [
1073
- t19,
1074
- t30,
1075
- t31
1076
- ]
1077
- }, undefined, true, undefined, this);
1078
- $[76] = t30;
1079
- $[77] = t32;
1080
- } else {
1081
- t32 = $[77];
1082
- }
1083
- return t32;
1084
- }
1085
- function _temp6(s_2) {
1086
- return s_2.sourceAgents;
1087
- }
1088
- function _temp5(s_1) {
1089
- return s_1.client.type === "failed";
1090
- }
1091
- function _temp4(a_0, b_0) {
1092
- return a_0.name.localeCompare(b_0.name);
1093
- }
1094
- function _temp3(a, b) {
1095
- return a.name.localeCompare(b.name);
1096
- }
1097
- function _temp2(s_0) {
1098
- return s_0.client.config.type === "claudeai-proxy";
1099
- }
1100
- function _temp(s) {
1101
- return s.client.config.type !== "claudeai-proxy";
1102
- }
1103
- var import_compiler_runtime, import_react2, jsx_dev_runtime2, SCOPE_ORDER;
1104
- var init_MCPListPanel = __esm(() => {
1105
- init_figures();
1106
- init_ink();
1107
- init_useKeybinding();
1108
- init_utils();
1109
- init_debug();
1110
- init_stringUtils();
1111
- init_ConfigurableShortcutHint();
1112
- init_Byline();
1113
- init_Dialog();
1114
- init_KeyboardShortcutHint();
1115
- init_McpParsingWarnings();
1116
- import_compiler_runtime = __toESM(require_compiler_runtime(), 1);
1117
- import_react2 = __toESM(require_react(), 1);
1118
- jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
1119
- SCOPE_ORDER = ["project", "local", "user", "enterprise"];
1120
- });
1121
-
1122
- // src/components/mcp/MCPReconnect.tsx
1123
- function MCPReconnect(t0) {
1124
- const $ = import_compiler_runtime2.c(25);
1125
- const {
1126
- serverName,
1127
- onComplete
1128
- } = t0;
1129
- const [theme] = useTheme();
1130
- const store = useAppStateStore();
1131
- const reconnectMcpServer = useMcpReconnect();
1132
- const [isReconnecting, setIsReconnecting] = import_react3.useState(true);
1133
- const [error, setError] = import_react3.useState(null);
1134
- let t1;
1135
- let t2;
1136
- if ($[0] !== onComplete || $[1] !== reconnectMcpServer || $[2] !== serverName || $[3] !== store) {
1137
- t1 = () => {
1138
- const attemptReconnect = async function attemptReconnect2() {
1139
- try {
1140
- const server = store.getState().mcp.clients.find((c) => c.name === serverName);
1141
- if (!server) {
1142
- setError(`MCP server "${serverName}" not found`);
1143
- setIsReconnecting(false);
1144
- onComplete(`MCP server "${serverName}" not found`);
1145
- return;
1146
- }
1147
- const result = await reconnectMcpServer(serverName);
1148
- bb43:
1149
- switch (result.client.type) {
1150
- case "connected": {
1151
- setIsReconnecting(false);
1152
- onComplete(`Successfully reconnected to ${serverName}`);
1153
- break bb43;
1154
- }
1155
- case "needs-auth": {
1156
- setError(`${serverName} requires authentication`);
1157
- setIsReconnecting(false);
1158
- onComplete(`${serverName} requires authentication. Use /mcp to authenticate.`);
1159
- break bb43;
1160
- }
1161
- case "pending":
1162
- case "failed":
1163
- case "disabled": {
1164
- setError(`Failed to reconnect to ${serverName}`);
1165
- setIsReconnecting(false);
1166
- onComplete(`Failed to reconnect to ${serverName}`);
1167
- }
1168
- }
1169
- } catch (t3) {
1170
- const err = t3;
1171
- const errorMessage = err instanceof Error ? err.message : String(err);
1172
- setError(errorMessage);
1173
- setIsReconnecting(false);
1174
- onComplete(`Error: ${errorMessage}`);
1175
- }
1176
- };
1177
- attemptReconnect();
1178
- };
1179
- t2 = [serverName, reconnectMcpServer, store, onComplete];
1180
- $[0] = onComplete;
1181
- $[1] = reconnectMcpServer;
1182
- $[2] = serverName;
1183
- $[3] = store;
1184
- $[4] = t1;
1185
- $[5] = t2;
1186
- } else {
1187
- t1 = $[4];
1188
- t2 = $[5];
1189
- }
1190
- import_react3.useEffect(t1, t2);
1191
- if (isReconnecting) {
1192
- let t3;
1193
- if ($[6] !== serverName) {
1194
- t3 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1195
- color: "text",
1196
- children: [
1197
- "Reconnecting to ",
1198
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1199
- bold: true,
1200
- children: serverName
1201
- }, undefined, false, undefined, this)
1202
- ]
1203
- }, undefined, true, undefined, this);
1204
- $[6] = serverName;
1205
- $[7] = t3;
1206
- } else {
1207
- t3 = $[7];
1208
- }
1209
- let t4;
1210
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
1211
- t4 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1212
- children: [
1213
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Spinner, {}, undefined, false, undefined, this),
1214
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1215
- children: " Establishing connection to MCP server"
1216
- }, undefined, false, undefined, this)
1217
- ]
1218
- }, undefined, true, undefined, this);
1219
- $[8] = t4;
1220
- } else {
1221
- t4 = $[8];
1222
- }
1223
- let t5;
1224
- if ($[9] !== t3) {
1225
- t5 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1226
- flexDirection: "column",
1227
- gap: 1,
1228
- padding: 1,
1229
- children: [
1230
- t3,
1231
- t4
1232
- ]
1233
- }, undefined, true, undefined, this);
1234
- $[9] = t3;
1235
- $[10] = t5;
1236
- } else {
1237
- t5 = $[10];
1238
- }
1239
- return t5;
1240
- }
1241
- if (error) {
1242
- let t3;
1243
- if ($[11] !== theme) {
1244
- t3 = color("error", theme)(figures_default.cross);
1245
- $[11] = theme;
1246
- $[12] = t3;
1247
- } else {
1248
- t3 = $[12];
1249
- }
1250
- let t4;
1251
- if ($[13] !== t3) {
1252
- t4 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1253
- children: [
1254
- t3,
1255
- " "
1256
- ]
1257
- }, undefined, true, undefined, this);
1258
- $[13] = t3;
1259
- $[14] = t4;
1260
- } else {
1261
- t4 = $[14];
1262
- }
1263
- let t5;
1264
- if ($[15] !== serverName) {
1265
- t5 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1266
- color: "error",
1267
- children: [
1268
- "Failed to reconnect to ",
1269
- serverName
1270
- ]
1271
- }, undefined, true, undefined, this);
1272
- $[15] = serverName;
1273
- $[16] = t5;
1274
- } else {
1275
- t5 = $[16];
1276
- }
1277
- let t6;
1278
- if ($[17] !== t4 || $[18] !== t5) {
1279
- t6 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1280
- children: [
1281
- t4,
1282
- t5
1283
- ]
1284
- }, undefined, true, undefined, this);
1285
- $[17] = t4;
1286
- $[18] = t5;
1287
- $[19] = t6;
1288
- } else {
1289
- t6 = $[19];
1290
- }
1291
- let t7;
1292
- if ($[20] !== error) {
1293
- t7 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1294
- dimColor: true,
1295
- children: [
1296
- "Error: ",
1297
- error
1298
- ]
1299
- }, undefined, true, undefined, this);
1300
- $[20] = error;
1301
- $[21] = t7;
1302
- } else {
1303
- t7 = $[21];
1304
- }
1305
- let t8;
1306
- if ($[22] !== t6 || $[23] !== t7) {
1307
- t8 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1308
- flexDirection: "column",
1309
- gap: 1,
1310
- padding: 1,
1311
- children: [
1312
- t6,
1313
- t7
1314
- ]
1315
- }, undefined, true, undefined, this);
1316
- $[22] = t6;
1317
- $[23] = t7;
1318
- $[24] = t8;
1319
- } else {
1320
- t8 = $[24];
1321
- }
1322
- return t8;
1323
- }
1324
- return null;
1325
- }
1326
- var import_compiler_runtime2, import_react3, jsx_dev_runtime3;
1327
- var init_MCPReconnect = __esm(() => {
1328
- init_figures();
1329
- init_ink();
1330
- init_MCPConnectionManager();
1331
- init_AppState();
1332
- init_Spinner();
1333
- import_compiler_runtime2 = __toESM(require_compiler_runtime(), 1);
1334
- import_react3 = __toESM(require_react(), 1);
1335
- jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
1336
- });
1337
-
1338
- // src/components/mcp/MCPSettings.tsx
1339
- function MCPSettings(t0) {
1340
- const $ = import_compiler_runtime3.c(66);
1341
- const {
1342
- onComplete
1343
- } = t0;
1344
- const mcp = useAppState(_temp7);
1345
- const agentDefinitions = useAppState(_temp22);
1346
- const mcpClients = mcp.clients;
1347
- let t1;
1348
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
1349
- t1 = {
1350
- type: "list"
1351
- };
1352
- $[0] = t1;
1353
- } else {
1354
- t1 = $[0];
1355
- }
1356
- const [viewState, setViewState] = import_react4.default.useState(t1);
1357
- let t2;
1358
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
1359
- t2 = [];
1360
- $[1] = t2;
1361
- } else {
1362
- t2 = $[1];
1363
- }
1364
- const [servers, setServers] = import_react4.default.useState(t2);
1365
- let t3;
1366
- if ($[2] !== agentDefinitions.allAgents) {
1367
- t3 = extractAgentMcpServers(agentDefinitions.allAgents);
1368
- $[2] = agentDefinitions.allAgents;
1369
- $[3] = t3;
1370
- } else {
1371
- t3 = $[3];
1372
- }
1373
- const agentMcpServers = t3;
1374
- let t4;
1375
- if ($[4] !== mcpClients) {
1376
- t4 = mcpClients.filter(_temp32).sort(_temp42);
1377
- $[4] = mcpClients;
1378
- $[5] = t4;
1379
- } else {
1380
- t4 = $[5];
1381
- }
1382
- const filteredClients = t4;
1383
- let t5;
1384
- let t6;
1385
- if ($[6] !== filteredClients || $[7] !== mcp.tools) {
1386
- t5 = () => {
1387
- let cancelled = false;
1388
- const prepareServers = async function prepareServers2() {
1389
- const serverInfos = await Promise.all(filteredClients.map(async (client_0) => {
1390
- const scope = client_0.config.scope;
1391
- const isSSE = client_0.config.type === "sse";
1392
- const isHTTP = client_0.config.type === "http";
1393
- const isClaudeAIProxy = client_0.config.type === "claudeai-proxy";
1394
- let isAuthenticated = undefined;
1395
- if (isSSE || isHTTP) {
1396
- const authProvider = new ClaudeAuthProvider(client_0.name, client_0.config);
1397
- const tokens = await authProvider.tokens();
1398
- const hasSessionAuth = getSessionIngressAuthToken() !== null && client_0.type === "connected";
1399
- const hasToolsAndConnected = client_0.type === "connected" && filterToolsByServer(mcp.tools, client_0.name).length > 0;
1400
- isAuthenticated = Boolean(tokens) || hasSessionAuth || hasToolsAndConnected;
1401
- }
1402
- const baseInfo = {
1403
- name: client_0.name,
1404
- client: client_0,
1405
- scope
1406
- };
1407
- if (isClaudeAIProxy) {
1408
- return {
1409
- ...baseInfo,
1410
- transport: "claudeai-proxy",
1411
- isAuthenticated: false,
1412
- config: client_0.config
1413
- };
1414
- } else {
1415
- if (isSSE) {
1416
- return {
1417
- ...baseInfo,
1418
- transport: "sse",
1419
- isAuthenticated,
1420
- config: client_0.config
1421
- };
1422
- } else {
1423
- if (isHTTP) {
1424
- return {
1425
- ...baseInfo,
1426
- transport: "http",
1427
- isAuthenticated,
1428
- config: client_0.config
1429
- };
1430
- } else {
1431
- return {
1432
- ...baseInfo,
1433
- transport: "stdio",
1434
- config: client_0.config
1435
- };
1436
- }
1437
- }
1438
- }
1439
- }));
1440
- if (cancelled) {
1441
- return;
1442
- }
1443
- setServers(serverInfos);
1444
- };
1445
- prepareServers();
1446
- return () => {
1447
- cancelled = true;
1448
- };
1449
- };
1450
- t6 = [filteredClients, mcp.tools];
1451
- $[6] = filteredClients;
1452
- $[7] = mcp.tools;
1453
- $[8] = t5;
1454
- $[9] = t6;
1455
- } else {
1456
- t5 = $[8];
1457
- t6 = $[9];
1458
- }
1459
- import_react4.default.useEffect(t5, t6);
1460
- let t7;
1461
- let t8;
1462
- if ($[10] !== agentMcpServers.length || $[11] !== filteredClients.length || $[12] !== onComplete || $[13] !== servers.length) {
1463
- t7 = () => {
1464
- if (servers.length === 0 && filteredClients.length > 0) {
1465
- return;
1466
- }
1467
- if (servers.length === 0 && agentMcpServers.length === 0) {
1468
- 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.");
1469
- }
1470
- };
1471
- t8 = [servers.length, filteredClients.length, agentMcpServers.length, onComplete];
1472
- $[10] = agentMcpServers.length;
1473
- $[11] = filteredClients.length;
1474
- $[12] = onComplete;
1475
- $[13] = servers.length;
1476
- $[14] = t7;
1477
- $[15] = t8;
1478
- } else {
1479
- t7 = $[14];
1480
- t8 = $[15];
1481
- }
1482
- import_react4.useEffect(t7, t8);
1483
- switch (viewState.type) {
1484
- case "list": {
1485
- let t10;
1486
- let t9;
1487
- if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
1488
- t9 = (server) => setViewState({
1489
- type: "server-menu",
1490
- server
1491
- });
1492
- t10 = (agentServer) => setViewState({
1493
- type: "agent-server-menu",
1494
- agentServer
1495
- });
1496
- $[16] = t10;
1497
- $[17] = t9;
1498
- } else {
1499
- t10 = $[16];
1500
- t9 = $[17];
1501
- }
1502
- let t11;
1503
- if ($[18] !== agentMcpServers || $[19] !== onComplete || $[20] !== servers || $[21] !== viewState.defaultTab) {
1504
- t11 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPListPanel, {
1505
- servers,
1506
- agentServers: agentMcpServers,
1507
- onSelectServer: t9,
1508
- onSelectAgentServer: t10,
1509
- onComplete,
1510
- defaultTab: viewState.defaultTab
1511
- }, undefined, false, undefined, this);
1512
- $[18] = agentMcpServers;
1513
- $[19] = onComplete;
1514
- $[20] = servers;
1515
- $[21] = viewState.defaultTab;
1516
- $[22] = t11;
1517
- } else {
1518
- t11 = $[22];
1519
- }
1520
- return t11;
1521
- }
1522
- case "server-menu": {
1523
- let t9;
1524
- if ($[23] !== mcp.tools || $[24] !== viewState.server.name) {
1525
- t9 = filterToolsByServer(mcp.tools, viewState.server.name);
1526
- $[23] = mcp.tools;
1527
- $[24] = viewState.server.name;
1528
- $[25] = t9;
1529
- } else {
1530
- t9 = $[25];
1531
- }
1532
- const serverTools_0 = t9;
1533
- const defaultTab = viewState.server.transport === "claudeai-proxy" ? "claude.ai" : "Claude Code";
1534
- if (viewState.server.transport === "stdio") {
1535
- let t10;
1536
- if ($[26] !== viewState.server) {
1537
- t10 = () => setViewState({
1538
- type: "server-tools",
1539
- server: viewState.server
1540
- });
1541
- $[26] = viewState.server;
1542
- $[27] = t10;
1543
- } else {
1544
- t10 = $[27];
1545
- }
1546
- let t11;
1547
- if ($[28] !== defaultTab) {
1548
- t11 = () => setViewState({
1549
- type: "list",
1550
- defaultTab
1551
- });
1552
- $[28] = defaultTab;
1553
- $[29] = t11;
1554
- } else {
1555
- t11 = $[29];
1556
- }
1557
- let t12;
1558
- if ($[30] !== onComplete || $[31] !== serverTools_0.length || $[32] !== t10 || $[33] !== t11 || $[34] !== viewState.server) {
1559
- t12 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPStdioServerMenu, {
1560
- server: viewState.server,
1561
- serverToolsCount: serverTools_0.length,
1562
- onViewTools: t10,
1563
- onCancel: t11,
1564
- onComplete
1565
- }, undefined, false, undefined, this);
1566
- $[30] = onComplete;
1567
- $[31] = serverTools_0.length;
1568
- $[32] = t10;
1569
- $[33] = t11;
1570
- $[34] = viewState.server;
1571
- $[35] = t12;
1572
- } else {
1573
- t12 = $[35];
1574
- }
1575
- return t12;
1576
- } else {
1577
- let t10;
1578
- if ($[36] !== viewState.server) {
1579
- t10 = () => setViewState({
1580
- type: "server-tools",
1581
- server: viewState.server
1582
- });
1583
- $[36] = viewState.server;
1584
- $[37] = t10;
1585
- } else {
1586
- t10 = $[37];
1587
- }
1588
- let t11;
1589
- if ($[38] !== defaultTab) {
1590
- t11 = () => setViewState({
1591
- type: "list",
1592
- defaultTab
1593
- });
1594
- $[38] = defaultTab;
1595
- $[39] = t11;
1596
- } else {
1597
- t11 = $[39];
1598
- }
1599
- let t12;
1600
- if ($[40] !== onComplete || $[41] !== serverTools_0.length || $[42] !== t10 || $[43] !== t11 || $[44] !== viewState.server) {
1601
- t12 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPRemoteServerMenu, {
1602
- server: viewState.server,
1603
- serverToolsCount: serverTools_0.length,
1604
- onViewTools: t10,
1605
- onCancel: t11,
1606
- onComplete
1607
- }, undefined, false, undefined, this);
1608
- $[40] = onComplete;
1609
- $[41] = serverTools_0.length;
1610
- $[42] = t10;
1611
- $[43] = t11;
1612
- $[44] = viewState.server;
1613
- $[45] = t12;
1614
- } else {
1615
- t12 = $[45];
1616
- }
1617
- return t12;
1618
- }
1619
- }
1620
- case "server-tools": {
1621
- let t10;
1622
- let t9;
1623
- if ($[46] !== viewState.server) {
1624
- t9 = (_, index) => setViewState({
1625
- type: "server-tool-detail",
1626
- server: viewState.server,
1627
- toolIndex: index
1628
- });
1629
- t10 = () => setViewState({
1630
- type: "server-menu",
1631
- server: viewState.server
1632
- });
1633
- $[46] = viewState.server;
1634
- $[47] = t10;
1635
- $[48] = t9;
1636
- } else {
1637
- t10 = $[47];
1638
- t9 = $[48];
1639
- }
1640
- let t11;
1641
- if ($[49] !== t10 || $[50] !== t9 || $[51] !== viewState.server) {
1642
- t11 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPToolListView, {
1643
- server: viewState.server,
1644
- onSelectTool: t9,
1645
- onBack: t10
1646
- }, undefined, false, undefined, this);
1647
- $[49] = t10;
1648
- $[50] = t9;
1649
- $[51] = viewState.server;
1650
- $[52] = t11;
1651
- } else {
1652
- t11 = $[52];
1653
- }
1654
- return t11;
1655
- }
1656
- case "server-tool-detail": {
1657
- let t9;
1658
- if ($[53] !== mcp.tools || $[54] !== viewState.server.name) {
1659
- t9 = filterToolsByServer(mcp.tools, viewState.server.name);
1660
- $[53] = mcp.tools;
1661
- $[54] = viewState.server.name;
1662
- $[55] = t9;
1663
- } else {
1664
- t9 = $[55];
1665
- }
1666
- const serverTools = t9;
1667
- const tool = serverTools[viewState.toolIndex];
1668
- if (!tool) {
1669
- setViewState({
1670
- type: "server-tools",
1671
- server: viewState.server
1672
- });
1673
- return null;
1674
- }
1675
- let t10;
1676
- if ($[56] !== viewState.server) {
1677
- t10 = () => setViewState({
1678
- type: "server-tools",
1679
- server: viewState.server
1680
- });
1681
- $[56] = viewState.server;
1682
- $[57] = t10;
1683
- } else {
1684
- t10 = $[57];
1685
- }
1686
- let t11;
1687
- if ($[58] !== t10 || $[59] !== tool || $[60] !== viewState.server) {
1688
- t11 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPToolDetailView, {
1689
- tool,
1690
- server: viewState.server,
1691
- onBack: t10
1692
- }, undefined, false, undefined, this);
1693
- $[58] = t10;
1694
- $[59] = tool;
1695
- $[60] = viewState.server;
1696
- $[61] = t11;
1697
- } else {
1698
- t11 = $[61];
1699
- }
1700
- return t11;
1701
- }
1702
- case "agent-server-menu": {
1703
- let t9;
1704
- if ($[62] === Symbol.for("react.memo_cache_sentinel")) {
1705
- t9 = () => setViewState({
1706
- type: "list",
1707
- defaultTab: "Agents"
1708
- });
1709
- $[62] = t9;
1710
- } else {
1711
- t9 = $[62];
1712
- }
1713
- let t10;
1714
- if ($[63] !== onComplete || $[64] !== viewState.agentServer) {
1715
- t10 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPAgentServerMenu, {
1716
- agentServer: viewState.agentServer,
1717
- onCancel: t9,
1718
- onComplete
1719
- }, undefined, false, undefined, this);
1720
- $[63] = onComplete;
1721
- $[64] = viewState.agentServer;
1722
- $[65] = t10;
1723
- } else {
1724
- t10 = $[65];
1725
- }
1726
- return t10;
1727
- }
1728
- }
1729
- }
1730
- function _temp42(a, b) {
1731
- return a.name.localeCompare(b.name);
1732
- }
1733
- function _temp32(client) {
1734
- return client.name !== "ide";
1735
- }
1736
- function _temp22(s_0) {
1737
- return s_0.agentDefinitions;
1738
- }
1739
- function _temp7(s) {
1740
- return s.mcp;
1741
- }
1742
- var import_compiler_runtime3, import_react4, jsx_dev_runtime4;
1743
- var init_MCPSettings = __esm(() => {
1744
- init_auth();
1745
- init_utils();
1746
- init_AppState();
1747
- init_sessionIngressAuth();
1748
- init_MCPAgentServerMenu();
1749
- init_MCPListPanel();
1750
- init_MCPRemoteServerMenu();
1751
- init_MCPStdioServerMenu();
1752
- init_MCPToolDetailView();
1753
- init_MCPToolListView();
1754
- import_compiler_runtime3 = __toESM(require_compiler_runtime(), 1);
1755
- import_react4 = __toESM(require_react(), 1);
1756
- jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
1757
- });
1758
-
1759
- // src/components/mcp/index.ts
1760
- var init_mcp = __esm(() => {
1761
- init_MCPAgentServerMenu();
1762
- init_MCPListPanel();
1763
- init_MCPReconnect();
1764
- init_MCPRemoteServerMenu();
1765
- init_MCPSettings();
1766
- init_MCPStdioServerMenu();
1767
- init_MCPToolDetailView();
1768
- init_MCPToolListView();
1769
- });
1770
-
1771
- // src/commands/mcp/mcp.tsx
1772
- function MCPToggle(t0) {
1773
- const $ = import_compiler_runtime4.c(7);
1774
- const {
1775
- action,
1776
- target,
1777
- onComplete
1778
- } = t0;
1779
- const mcpClients = useAppState(_temp9);
1780
- const toggleMcpServer = useMcpToggleEnabled();
1781
- const didRun = import_react5.useRef(false);
1782
- let t1;
1783
- let t2;
1784
- if ($[0] !== action || $[1] !== mcpClients || $[2] !== onComplete || $[3] !== target || $[4] !== toggleMcpServer) {
1785
- t1 = () => {
1786
- if (didRun.current) {
1787
- return;
1788
- }
1789
- didRun.current = true;
1790
- const isEnabling = action === "enable";
1791
- const clients = mcpClients.filter(_temp23);
1792
- 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);
1793
- if (toToggle.length === 0) {
1794
- onComplete(target === "all" ? `All MCP servers are already ${isEnabling ? "enabled" : "disabled"}` : `MCP server "${target}" not found`);
1795
- return;
1796
- }
1797
- for (const s_0 of toToggle) {
1798
- toggleMcpServer(s_0.name);
1799
- }
1800
- onComplete(target === "all" ? `${isEnabling ? "Enabled" : "Disabled"} ${toToggle.length} MCP server(s)` : `MCP server "${target}" ${isEnabling ? "enabled" : "disabled"}`);
1801
- };
1802
- t2 = [action, target, mcpClients, toggleMcpServer, onComplete];
1803
- $[0] = action;
1804
- $[1] = mcpClients;
1805
- $[2] = onComplete;
1806
- $[3] = target;
1807
- $[4] = toggleMcpServer;
1808
- $[5] = t1;
1809
- $[6] = t2;
1810
- } else {
1811
- t1 = $[5];
1812
- t2 = $[6];
1813
- }
1814
- import_react5.useEffect(t1, t2);
1815
- return null;
1816
- }
1817
- function _temp23(c) {
1818
- return c.name !== "ide";
1819
- }
1820
- function _temp9(s) {
1821
- return s.mcp.clients;
1822
- }
1823
- async function call(onDone, _context, args) {
1824
- if (args) {
1825
- const parts = args.trim().split(/\s+/);
1826
- if (parts[0] === "no-redirect") {
1827
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPSettings, {
1828
- onComplete: onDone
1829
- }, undefined, false, undefined, this);
1830
- }
1831
- if (parts[0] === "reconnect" && parts[1]) {
1832
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPReconnect, {
1833
- serverName: parts.slice(1).join(" "),
1834
- onComplete: onDone
1835
- }, undefined, false, undefined, this);
1836
- }
1837
- if (parts[0] === "enable" || parts[0] === "disable") {
1838
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPToggle, {
1839
- action: parts[0],
1840
- target: parts.length > 1 ? parts.slice(1).join(" ") : "all",
1841
- onComplete: onDone
1842
- }, undefined, false, undefined, this);
1843
- }
1844
- }
1845
- if (process.env.USER_TYPE === "ant") {
1846
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(PluginSettings, {
1847
- onComplete: onDone,
1848
- args: "manage",
1849
- showMcpRedirectMessage: true
1850
- }, undefined, false, undefined, this);
1851
- }
1852
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPSettings, {
1853
- onComplete: onDone
1854
- }, undefined, false, undefined, this);
1855
- }
1856
- var import_compiler_runtime4, import_react5, jsx_dev_runtime5;
1857
- var init_mcp2 = __esm(() => {
1858
- init_mcp();
1859
- init_MCPReconnect();
1860
- init_MCPConnectionManager();
1861
- init_AppState();
1862
- init_PluginSettings();
1863
- import_compiler_runtime4 = __toESM(require_compiler_runtime(), 1);
1864
- import_react5 = __toESM(require_react(), 1);
1865
- jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
1866
- });
1867
- init_mcp2();
1868
-
1869
- export {
1870
- call
1871
- };