@foxclicom/foxcli 2.1.89

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 (453) hide show
  1. package/README.md +398 -0
  2. package/bun.lock +2090 -0
  3. package/dist/chunk-003e621m.js +247 -0
  4. package/dist/chunk-04he5cyw.js +169 -0
  5. package/dist/chunk-05gpckd1.js +56 -0
  6. package/dist/chunk-06saje2v.js +39 -0
  7. package/dist/chunk-0731m51q.js +8 -0
  8. package/dist/chunk-098tvb6a.js +490 -0
  9. package/dist/chunk-0akzpfxc.js +117 -0
  10. package/dist/chunk-0dvq0q4g.js +780 -0
  11. package/dist/chunk-0e1xsncc.js +969 -0
  12. package/dist/chunk-0jp9x1pk.js +227 -0
  13. package/dist/chunk-0kep06pv.js +94 -0
  14. package/dist/chunk-0paqc2yw.js +15 -0
  15. package/dist/chunk-0vkfrmqm.js +690 -0
  16. package/dist/chunk-0xjaqda8.js +1124 -0
  17. package/dist/chunk-0yhfpays.js +116 -0
  18. package/dist/chunk-1141xmr4.js +8 -0
  19. package/dist/chunk-14cmss9n.js +655 -0
  20. package/dist/chunk-14nvhjrk.js +280 -0
  21. package/dist/chunk-15ah5bdg.js +17 -0
  22. package/dist/chunk-15tdhhv6.js +97 -0
  23. package/dist/chunk-1c5jv610.js +174 -0
  24. package/dist/chunk-1cbn5kxf.js +7 -0
  25. package/dist/chunk-1fvkskfd.js +432 -0
  26. package/dist/chunk-1fz2kv26.js +85 -0
  27. package/dist/chunk-1h2famwb.js +49 -0
  28. package/dist/chunk-1vwfagpe.js +83 -0
  29. package/dist/chunk-1xkekb9y.js +19 -0
  30. package/dist/chunk-1xy3xzsc.js +9300 -0
  31. package/dist/chunk-238g70xa.js +36 -0
  32. package/dist/chunk-24w0h1qk.js +339 -0
  33. package/dist/chunk-24z6z01r.js +40 -0
  34. package/dist/chunk-27xc1csx.js +104 -0
  35. package/dist/chunk-2a42s11t.js +412 -0
  36. package/dist/chunk-2eavn925.js +5011 -0
  37. package/dist/chunk-2eykm0j0.js +20 -0
  38. package/dist/chunk-2gzv8nrw.js +205 -0
  39. package/dist/chunk-2j3ydfmm.js +208 -0
  40. package/dist/chunk-2k995y2x.js +880 -0
  41. package/dist/chunk-2kg4d2c7.js +601 -0
  42. package/dist/chunk-2n877dxb.js +224 -0
  43. package/dist/chunk-2nayx6q1.js +63 -0
  44. package/dist/chunk-2t3vw4tx.js +22820 -0
  45. package/dist/chunk-2tw2ve8h.js +145 -0
  46. package/dist/chunk-2zsew1hs.js +73 -0
  47. package/dist/chunk-30rst83v.js +168 -0
  48. package/dist/chunk-341888tq.js +102 -0
  49. package/dist/chunk-348de018.js +26 -0
  50. package/dist/chunk-363p49h1.js +172719 -0
  51. package/dist/chunk-387ggdb2.js +195 -0
  52. package/dist/chunk-3be7ka25.js +56 -0
  53. package/dist/chunk-3c25bcsw.js +17 -0
  54. package/dist/chunk-3cyyhp8p.js +1151 -0
  55. package/dist/chunk-3gqdqmzb.js +75 -0
  56. package/dist/chunk-3h8a89gy.js +46 -0
  57. package/dist/chunk-3hk8rrwh.js +908 -0
  58. package/dist/chunk-3j33p45s.js +458 -0
  59. package/dist/chunk-3kc4kyk9.js +819 -0
  60. package/dist/chunk-3qv2jg1k.js +250 -0
  61. package/dist/chunk-3r24h7t6.js +113 -0
  62. package/dist/chunk-3sz3q1g8.js +104 -0
  63. package/dist/chunk-3w6s9m5w.js +16 -0
  64. package/dist/chunk-43251qh9.js +176 -0
  65. package/dist/chunk-44fpr6jq.js +434 -0
  66. package/dist/chunk-45kxdsp8.js +444 -0
  67. package/dist/chunk-466d7sxa.js +2057 -0
  68. package/dist/chunk-495d85x1.js +8066 -0
  69. package/dist/chunk-4cptw4qa.js +714 -0
  70. package/dist/chunk-4g3v8y12.js +23 -0
  71. package/dist/chunk-4jm600zv.js +13 -0
  72. package/dist/chunk-4t0ehd2z.js +89 -0
  73. package/dist/chunk-4x38ez67.js +128 -0
  74. package/dist/chunk-4zfkzkt6.js +37 -0
  75. package/dist/chunk-5157ex2s.js +104 -0
  76. package/dist/chunk-55wgxwa9.js +13877 -0
  77. package/dist/chunk-581q6r6y.js +229 -0
  78. package/dist/chunk-5bbsd66z.js +87 -0
  79. package/dist/chunk-5ctt9z6m.js +216 -0
  80. package/dist/chunk-5hfgayhz.js +153 -0
  81. package/dist/chunk-5kmnvh8h.js +112 -0
  82. package/dist/chunk-5tz6v8a5.js +5393 -0
  83. package/dist/chunk-5w5m8kq9.js +87 -0
  84. package/dist/chunk-5ztq67an.js +2333 -0
  85. package/dist/chunk-62gm8b8n.js +1322 -0
  86. package/dist/chunk-685fmb09.js +535 -0
  87. package/dist/chunk-6bd8brc4.js +48 -0
  88. package/dist/chunk-6dj5t602.js +341 -0
  89. package/dist/chunk-6f4sd6xc.js +127 -0
  90. package/dist/chunk-6gr3c3w9.js +378 -0
  91. package/dist/chunk-6n2qgm9v.js +8 -0
  92. package/dist/chunk-6ns6g3t9.js +1012 -0
  93. package/dist/chunk-6swe4a45.js +87 -0
  94. package/dist/chunk-6tq2v3rk.js +186 -0
  95. package/dist/chunk-6yf4a3pf.js +41 -0
  96. package/dist/chunk-7271bnfv.js +220 -0
  97. package/dist/chunk-72awppzy.js +16 -0
  98. package/dist/chunk-73gyam06.js +40 -0
  99. package/dist/chunk-73rpbt04.js +1947 -0
  100. package/dist/chunk-760252na.js +101 -0
  101. package/dist/chunk-7739pg2c.js +4261 -0
  102. package/dist/chunk-77g09znh.js +391 -0
  103. package/dist/chunk-781t965f.js +202 -0
  104. package/dist/chunk-7aw745vx.js +40175 -0
  105. package/dist/chunk-7br3j88y.js +141 -0
  106. package/dist/chunk-7fxy60g9.js +296 -0
  107. package/dist/chunk-7j3f4h1v.js +689 -0
  108. package/dist/chunk-7ke2txc2.js +309 -0
  109. package/dist/chunk-7m2nd8da.js +110 -0
  110. package/dist/chunk-7rpdgyyb.js +161 -0
  111. package/dist/chunk-7wj3b774.js +287 -0
  112. package/dist/chunk-7wm5s02e.js +216 -0
  113. package/dist/chunk-7yd6jttg.js +862 -0
  114. package/dist/chunk-7yfshpbj.js +1548 -0
  115. package/dist/chunk-7ymfj7m3.js +151 -0
  116. package/dist/chunk-7z8j9qfn.js +121 -0
  117. package/dist/chunk-7zccp7mt.js +91 -0
  118. package/dist/chunk-820bdvg4.js +184 -0
  119. package/dist/chunk-83hfzbx3.js +10 -0
  120. package/dist/chunk-88s6sc85.js +87 -0
  121. package/dist/chunk-8bedvdm1.js +32 -0
  122. package/dist/chunk-8gvdbsaq.js +22 -0
  123. package/dist/chunk-8hq5kk3y.js +44 -0
  124. package/dist/chunk-8nca9sgc.js +208 -0
  125. package/dist/chunk-8qeha1fz.js +103 -0
  126. package/dist/chunk-8qjtqhrr.js +165 -0
  127. package/dist/chunk-8tmegdjp.js +113 -0
  128. package/dist/chunk-8tnsngw2.js +31 -0
  129. package/dist/chunk-8twg4emd.js +71 -0
  130. package/dist/chunk-8vcyvvad.js +348 -0
  131. package/dist/chunk-8w3etwh3.js +601 -0
  132. package/dist/chunk-8y12jxg8.js +10 -0
  133. package/dist/chunk-8ymf4e6z.js +48 -0
  134. package/dist/chunk-90wp6wez.js +10510 -0
  135. package/dist/chunk-91awdvpf.js +61 -0
  136. package/dist/chunk-977kqw0c.js +466 -0
  137. package/dist/chunk-9gbamk79.js +93 -0
  138. package/dist/chunk-9s8v3j7m.js +38 -0
  139. package/dist/chunk-9xezt4wd.js +54 -0
  140. package/dist/chunk-9xzebfy5.js +671 -0
  141. package/dist/chunk-a8ejc632.js +3094 -0
  142. package/dist/chunk-a9ra6h3p.js +219 -0
  143. package/dist/chunk-a9vdeb6y.js +258 -0
  144. package/dist/chunk-a9zh40sj.js +48 -0
  145. package/dist/chunk-aaef8dpx.js +100 -0
  146. package/dist/chunk-aapmv7dy.js +44 -0
  147. package/dist/chunk-adgm4w5w.js +212 -0
  148. package/dist/chunk-ag0gc3th.js +88 -0
  149. package/dist/chunk-ah0w9kp8.js +173 -0
  150. package/dist/chunk-b4wg70y1.js +54 -0
  151. package/dist/chunk-b90bgrf7.js +24 -0
  152. package/dist/chunk-be5g3kd0.js +164 -0
  153. package/dist/chunk-bh8acr81.js +500 -0
  154. package/dist/chunk-bjqw6798.js +328 -0
  155. package/dist/chunk-bm1qb16p.js +17 -0
  156. package/dist/chunk-bqfnp99q.js +477 -0
  157. package/dist/chunk-bvx2gazj.js +304 -0
  158. package/dist/chunk-bwq5zxwv.js +306 -0
  159. package/dist/chunk-byf2zkne.js +524 -0
  160. package/dist/chunk-c0edra3v.js +437 -0
  161. package/dist/chunk-c0tfwbd2.js +723 -0
  162. package/dist/chunk-cbd6nwrj.js +111 -0
  163. package/dist/chunk-cc15x0zt.js +154 -0
  164. package/dist/chunk-cd1aese9.js +20 -0
  165. package/dist/chunk-cdz5yb0r.js +57 -0
  166. package/dist/chunk-cf5bj9j5.js +93 -0
  167. package/dist/chunk-cfv996bs.js +22 -0
  168. package/dist/chunk-cgfdkzhb.js +12 -0
  169. package/dist/chunk-cnkgrwpf.js +87 -0
  170. package/dist/chunk-cr6q93s5.js +42 -0
  171. package/dist/chunk-cspg0r9n.js +584 -0
  172. package/dist/chunk-ctw5jwcd.js +213 -0
  173. package/dist/chunk-cvge4pvp.js +122 -0
  174. package/dist/chunk-d18z9pna.js +106 -0
  175. package/dist/chunk-d1cfb0sj.js +98 -0
  176. package/dist/chunk-d1tp6sk7.js +90 -0
  177. package/dist/chunk-d3e1v3sq.js +344 -0
  178. package/dist/chunk-d7j0zted.js +114 -0
  179. package/dist/chunk-d7zmg667.js +192 -0
  180. package/dist/chunk-ddvhht3h.js +695 -0
  181. package/dist/chunk-dfeh5kmx.js +74 -0
  182. package/dist/chunk-dgjkb800.js +120 -0
  183. package/dist/chunk-dgqrcy74.js +48 -0
  184. package/dist/chunk-dmqarh6q.js +463 -0
  185. package/dist/chunk-dnh7jtpb.js +37 -0
  186. package/dist/chunk-dpeq9h27.js +128 -0
  187. package/dist/chunk-drgy3hh3.js +88 -0
  188. package/dist/chunk-dv1wfr85.js +6373 -0
  189. package/dist/chunk-dv2w9vpb.js +66 -0
  190. package/dist/chunk-dwfxgheg.js +270 -0
  191. package/dist/chunk-e3g8q4cn.js +1646 -0
  192. package/dist/chunk-e5pntxye.js +37 -0
  193. package/dist/chunk-e6v9mqg8.js +281 -0
  194. package/dist/chunk-e7393td6.js +42 -0
  195. package/dist/chunk-ef8r68ej.js +120 -0
  196. package/dist/chunk-ehtwnxpg.js +1591 -0
  197. package/dist/chunk-emhask7n.js +373 -0
  198. package/dist/chunk-eq75ekjx.js +97 -0
  199. package/dist/chunk-eqp1rfft.js +17 -0
  200. package/dist/chunk-ewadzrm8.js +103 -0
  201. package/dist/chunk-f2mt6b5j.js +198 -0
  202. package/dist/chunk-f3d9gb71.js +333 -0
  203. package/dist/chunk-f5ma3nh5.js +3436 -0
  204. package/dist/chunk-f8bgh5qc.js +86 -0
  205. package/dist/chunk-fbgxj8g3.js +1585 -0
  206. package/dist/chunk-fbv4apne.js +51 -0
  207. package/dist/chunk-fdj47yp8.js +108 -0
  208. package/dist/chunk-fer10z2s.js +89 -0
  209. package/dist/chunk-ffewbr1v.js +642 -0
  210. package/dist/chunk-fpzax6rw.js +225 -0
  211. package/dist/chunk-fyc5fepv.js +10 -0
  212. package/dist/chunk-g0j0t6qk.js +26 -0
  213. package/dist/chunk-g1kkd3xm.js +130 -0
  214. package/dist/chunk-g2dr9kyp.js +90 -0
  215. package/dist/chunk-g338npwr.js +1061 -0
  216. package/dist/chunk-g3fcqsc1.js +998 -0
  217. package/dist/chunk-g3t0act8.js +8 -0
  218. package/dist/chunk-g4bng3yk.js +140 -0
  219. package/dist/chunk-gax0fcbx.js +182 -0
  220. package/dist/chunk-gegyrhqa.js +277 -0
  221. package/dist/chunk-gejs9q9d.js +542 -0
  222. package/dist/chunk-gqazdwgf.js +40764 -0
  223. package/dist/chunk-gtayyc80.js +28 -0
  224. package/dist/chunk-gyj242zr.js +20 -0
  225. package/dist/chunk-h0qngp9w.js +157 -0
  226. package/dist/chunk-h0rbjg6x.js +55 -0
  227. package/dist/chunk-h4qybe96.js +531 -0
  228. package/dist/chunk-h8vttfbt.js +82 -0
  229. package/dist/chunk-hakdhagh.js +16606 -0
  230. package/dist/chunk-hb22hd9m.js +373 -0
  231. package/dist/chunk-hbjbyb2r.js +120 -0
  232. package/dist/chunk-henh8e8f.js +69 -0
  233. package/dist/chunk-heqbt4wp.js +43 -0
  234. package/dist/chunk-hf5v5wd0.js +2833 -0
  235. package/dist/chunk-hfzj1m07.js +118 -0
  236. package/dist/chunk-hh7cmy4k.js +20 -0
  237. package/dist/chunk-hhwpdnst.js +173 -0
  238. package/dist/chunk-hjhc4cpt.js +69 -0
  239. package/dist/chunk-hk9xz7gk.js +118 -0
  240. package/dist/chunk-hqmz36b3.js +552 -0
  241. package/dist/chunk-hrzerbfw.js +1299 -0
  242. package/dist/chunk-hvha3949.js +229 -0
  243. package/dist/chunk-hw9yapav.js +644 -0
  244. package/dist/chunk-hx2tr4ep.js +7189 -0
  245. package/dist/chunk-hz2e6s2n.js +384 -0
  246. package/dist/chunk-hzhe8ygc.js +547 -0
  247. package/dist/chunk-j2k4p94p.js +55 -0
  248. package/dist/chunk-j3a4p81y.js +184 -0
  249. package/dist/chunk-j5vj6wem.js +241 -0
  250. package/dist/chunk-j64ga6ta.js +8035 -0
  251. package/dist/chunk-j98bzjtw.js +21933 -0
  252. package/dist/chunk-jafes477.js +29 -0
  253. package/dist/chunk-jce5r25x.js +18 -0
  254. package/dist/chunk-jchz3ws1.js +756 -0
  255. package/dist/chunk-jd32zbps.js +15 -0
  256. package/dist/chunk-jdgeec04.js +4249 -0
  257. package/dist/chunk-jhzdk454.js +278 -0
  258. package/dist/chunk-jjxb16v1.js +691 -0
  259. package/dist/chunk-jmc0vfad.js +275 -0
  260. package/dist/chunk-jnhkref0.js +30 -0
  261. package/dist/chunk-jp85zv57.js +3198 -0
  262. package/dist/chunk-jx817w05.js +11 -0
  263. package/dist/chunk-jxgm95zx.js +802 -0
  264. package/dist/chunk-jzmz18nn.js +65 -0
  265. package/dist/chunk-k0p9w03v.js +4957 -0
  266. package/dist/chunk-kjv7vnsy.js +81 -0
  267. package/dist/chunk-kkt7vkyc.js +273 -0
  268. package/dist/chunk-ks57hmrt.js +98 -0
  269. package/dist/chunk-ksq785ca.js +109 -0
  270. package/dist/chunk-kwekc97v.js +18 -0
  271. package/dist/chunk-m06q12hg.js +61 -0
  272. package/dist/chunk-m1g8ywfk.js +84 -0
  273. package/dist/chunk-m42g016x.js +70 -0
  274. package/dist/chunk-m6m4jdbj.js +1918 -0
  275. package/dist/chunk-ma0h0h17.js +471 -0
  276. package/dist/chunk-mak6ckds.js +102 -0
  277. package/dist/chunk-mceesnzr.js +438 -0
  278. package/dist/chunk-mhs6c4fp.js +765 -0
  279. package/dist/chunk-mm7rd0jd.js +1578 -0
  280. package/dist/chunk-mt25echc.js +6157 -0
  281. package/dist/chunk-mv8hngk2.js +86 -0
  282. package/dist/chunk-mxn9djv2.js +152 -0
  283. package/dist/chunk-n0qaeaa5.js +256 -0
  284. package/dist/chunk-n7ttdtk0.js +641 -0
  285. package/dist/chunk-n83rnk8h.js +62 -0
  286. package/dist/chunk-n89dwhkm.js +69 -0
  287. package/dist/chunk-nj29pqp3.js +155 -0
  288. package/dist/chunk-njchshm5.js +99 -0
  289. package/dist/chunk-nka1g8f4.js +773 -0
  290. package/dist/chunk-npj6g78n.js +8956 -0
  291. package/dist/chunk-nq0fxyxh.js +752 -0
  292. package/dist/chunk-nrdckp85.js +809 -0
  293. package/dist/chunk-nswqqqdd.js +26840 -0
  294. package/dist/chunk-nt837qt9.js +21 -0
  295. package/dist/chunk-ntfnwa7w.js +328 -0
  296. package/dist/chunk-nxsh6de2.js +1711 -0
  297. package/dist/chunk-ny641a2t.js +96 -0
  298. package/dist/chunk-nymbd7tw.js +825 -0
  299. package/dist/chunk-nz9wqm63.js +262 -0
  300. package/dist/chunk-p2816w9z.js +1486 -0
  301. package/dist/chunk-p2d5nh3g.js +342 -0
  302. package/dist/chunk-p3c8dz92.js +3442 -0
  303. package/dist/chunk-p3m2gn04.js +1551 -0
  304. package/dist/chunk-p7g7pf3f.js +336 -0
  305. package/dist/chunk-p82dmx79.js +519 -0
  306. package/dist/chunk-p8t1v3qw.js +713 -0
  307. package/dist/chunk-pg6ke51s.js +60 -0
  308. package/dist/chunk-phc72ftz.js +61 -0
  309. package/dist/chunk-pm51hqt3.js +1863 -0
  310. package/dist/chunk-pngv409n.js +253 -0
  311. package/dist/chunk-pp83rz76.js +27 -0
  312. package/dist/chunk-pqcemkwx.js +640 -0
  313. package/dist/chunk-pqqf5gss.js +4521 -0
  314. package/dist/chunk-pqw1y4f8.js +524 -0
  315. package/dist/chunk-ps49ymvj.js +43 -0
  316. package/dist/chunk-pwwa7s62.js +11 -0
  317. package/dist/chunk-pxjqgrdk.js +59 -0
  318. package/dist/chunk-q1jvyh4z.js +41 -0
  319. package/dist/chunk-q25bjaev.js +15 -0
  320. package/dist/chunk-q6av622g.js +38 -0
  321. package/dist/chunk-qmvk0wr6.js +787 -0
  322. package/dist/chunk-qnfx3qtx.js +617 -0
  323. package/dist/chunk-qp2qdcda.js +100 -0
  324. package/dist/chunk-qpg0bm1g.js +441 -0
  325. package/dist/chunk-qqfa0dqg.js +2343 -0
  326. package/dist/chunk-qtvek1gy.js +466 -0
  327. package/dist/chunk-qz2x630m.js +49145 -0
  328. package/dist/chunk-r4vk0x64.js +674 -0
  329. package/dist/chunk-r4z1107v.js +88 -0
  330. package/dist/chunk-r66hz8j6.js +34 -0
  331. package/dist/chunk-r6b58y3x.js +17 -0
  332. package/dist/chunk-rhftek9r.js +156 -0
  333. package/dist/chunk-rn0v1hk8.js +34 -0
  334. package/dist/chunk-rq2ry4xa.js +648 -0
  335. package/dist/chunk-rqwnwe7k.js +87 -0
  336. package/dist/chunk-rs45skes.js +123 -0
  337. package/dist/chunk-rvqtbt9h.js +726 -0
  338. package/dist/chunk-rzq6ct1h.js +1095 -0
  339. package/dist/chunk-s3pzvdss.js +50 -0
  340. package/dist/chunk-s5cexe2j.js +10476 -0
  341. package/dist/chunk-s79s6rms.js +40 -0
  342. package/dist/chunk-sd36yzx8.js +954 -0
  343. package/dist/chunk-sdj9b9wh.js +782 -0
  344. package/dist/chunk-seaswa9a.js +745 -0
  345. package/dist/chunk-sgy4bnyd.js +496 -0
  346. package/dist/chunk-sjqtqj35.js +28 -0
  347. package/dist/chunk-sk5gyvdj.js +127 -0
  348. package/dist/chunk-skctedsv.js +15679 -0
  349. package/dist/chunk-spqaamnc.js +63 -0
  350. package/dist/chunk-szj5wvdy.js +28 -0
  351. package/dist/chunk-t0rgmccj.js +39 -0
  352. package/dist/chunk-t0zcygwt.js +63 -0
  353. package/dist/chunk-t1pqzjdb.js +400 -0
  354. package/dist/chunk-t20kqvm0.js +1493 -0
  355. package/dist/chunk-t60mq3jn.js +421 -0
  356. package/dist/chunk-t9ak7d0c.js +86 -0
  357. package/dist/chunk-tantc5sm.js +97 -0
  358. package/dist/chunk-tgvzn3q1.js +98 -0
  359. package/dist/chunk-tjaqa99q.js +125 -0
  360. package/dist/chunk-tka1kh41.js +32 -0
  361. package/dist/chunk-tm70zjhw.js +95 -0
  362. package/dist/chunk-ts2p6bv1.js +224 -0
  363. package/dist/chunk-ttk5dzz8.js +25 -0
  364. package/dist/chunk-ty0xmdf9.js +142 -0
  365. package/dist/chunk-v0j5s5w9.js +113 -0
  366. package/dist/chunk-v1kzp02e.js +785 -0
  367. package/dist/chunk-v1mgv1et.js +15 -0
  368. package/dist/chunk-v1vqpm16.js +151 -0
  369. package/dist/chunk-v2drem4p.js +3035 -0
  370. package/dist/chunk-v399mzxk.js +58 -0
  371. package/dist/chunk-v78fj8by.js +145 -0
  372. package/dist/chunk-v7yayd0e.js +102 -0
  373. package/dist/chunk-v9smspw2.js +4301 -0
  374. package/dist/chunk-vdxvgw28.js +5802 -0
  375. package/dist/chunk-vech0vdw.js +258 -0
  376. package/dist/chunk-vest0y6x.js +3830 -0
  377. package/dist/chunk-vf5sd1nq.js +12 -0
  378. package/dist/chunk-vfwbg2m3.js +3351 -0
  379. package/dist/chunk-vhpesgs8.js +193 -0
  380. package/dist/chunk-vjbr8wqg.js +849 -0
  381. package/dist/chunk-vratq94g.js +349 -0
  382. package/dist/chunk-vtchbjt5.js +284 -0
  383. package/dist/chunk-vw60ew4s.js +338 -0
  384. package/dist/chunk-vyc0rjyx.js +31 -0
  385. package/dist/chunk-vyjeh50y.js +2149 -0
  386. package/dist/chunk-w2z5pqd3.js +336 -0
  387. package/dist/chunk-w34c4pn6.js +417 -0
  388. package/dist/chunk-w7wgpqcp.js +157 -0
  389. package/dist/chunk-w9k8zntt.js +1391 -0
  390. package/dist/chunk-wb4p3ft4.js +130 -0
  391. package/dist/chunk-wejsw2n0.js +104 -0
  392. package/dist/chunk-wfz0qffj.js +3939 -0
  393. package/dist/chunk-wj4wyfpy.js +716 -0
  394. package/dist/chunk-ws1jdhta.js +315 -0
  395. package/dist/chunk-wsgyhhg2.js +91 -0
  396. package/dist/chunk-wspkwgra.js +1315 -0
  397. package/dist/chunk-wty0nm0a.js +749 -0
  398. package/dist/chunk-wzfbxdwn.js +71 -0
  399. package/dist/chunk-wzpdet3m.js +843 -0
  400. package/dist/chunk-x14dq3v1.js +722 -0
  401. package/dist/chunk-x7ynqhrv.js +266 -0
  402. package/dist/chunk-x8b7vft8.js +132 -0
  403. package/dist/chunk-xfft987g.js +47 -0
  404. package/dist/chunk-xjz3de9f.js +654 -0
  405. package/dist/chunk-xms0cc06.js +84 -0
  406. package/dist/chunk-xn20ta17.js +107 -0
  407. package/dist/chunk-xsq9ae7x.js +90 -0
  408. package/dist/chunk-xszk7n10.js +14358 -0
  409. package/dist/chunk-xvqpc205.js +159 -0
  410. package/dist/chunk-xx3qkvyg.js +606 -0
  411. package/dist/chunk-y1784krc.js +19 -0
  412. package/dist/chunk-y47cg3kz.js +42 -0
  413. package/dist/chunk-y5mfcqyc.js +254 -0
  414. package/dist/chunk-yhnzwtby.js +4389 -0
  415. package/dist/chunk-yj6dn49f.js +476 -0
  416. package/dist/chunk-yjkfkzxy.js +266 -0
  417. package/dist/chunk-yq0a6dk8.js +265 -0
  418. package/dist/chunk-yqs6zhes.js +6105 -0
  419. package/dist/chunk-ytx08xk9.js +87 -0
  420. package/dist/chunk-ywxd4qw4.js +22 -0
  421. package/dist/chunk-yxnffetf.js +6956 -0
  422. package/dist/chunk-z2dp53wn.js +17 -0
  423. package/dist/chunk-z3hcj5gd.js +372 -0
  424. package/dist/chunk-z3j9hdd8.js +32 -0
  425. package/dist/chunk-z57a5q6t.js +2641 -0
  426. package/dist/chunk-z5bg3c3b.js +54 -0
  427. package/dist/chunk-z74kky8g.js +160 -0
  428. package/dist/chunk-z9w0ffmw.js +99 -0
  429. package/dist/chunk-zhk3aav8.js +79 -0
  430. package/dist/chunk-zk2wsm7d.js +15 -0
  431. package/dist/chunk-zp0509kx.js +563 -0
  432. package/dist/chunk-zsfxha74.js +17655 -0
  433. package/dist/chunk-zw77xgjd.js +38 -0
  434. package/dist/chunk-zwps6dt3.js +83 -0
  435. package/dist/chunk-zx4s70cq.js +298 -0
  436. package/dist/chunk-zxse7h5w.js +71 -0
  437. package/dist/chunk-zz21rvr7.js +27 -0
  438. package/dist/cli.js +81 -0
  439. package/package.json +182 -0
  440. package/sdk-tools.d.ts +2719 -0
  441. package/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
  442. package/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
  443. package/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
  444. package/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
  445. package/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
  446. package/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
  447. package/vendor/ripgrep/COPYING +3 -0
  448. package/vendor/ripgrep/arm64-darwin/rg +0 -0
  449. package/vendor/ripgrep/arm64-linux/rg +0 -0
  450. package/vendor/ripgrep/arm64-win32/rg.exe +0 -0
  451. package/vendor/ripgrep/x64-darwin/rg +0 -0
  452. package/vendor/ripgrep/x64-linux/rg +0 -0
  453. package/vendor/ripgrep/x64-win32/rg.exe +0 -0
@@ -0,0 +1,1863 @@
1
+ // @bun
2
+ import {
3
+ MCPRemoteServerMenu,
4
+ MCPStdioServerMenu,
5
+ MCPToolDetailView,
6
+ MCPToolListView,
7
+ init_MCPRemoteServerMenu,
8
+ init_MCPStdioServerMenu,
9
+ init_MCPToolDetailView,
10
+ init_MCPToolListView,
11
+ init_PluginSettings
12
+ } from "./chunk-s5cexe2j.js";
13
+ import"./chunk-vjbr8wqg.js";
14
+ import {
15
+ init_MCPConnectionManager,
16
+ useMcpReconnect,
17
+ useMcpToggleEnabled
18
+ } from "./chunk-rq2ry4xa.js";
19
+ import"./chunk-bh8acr81.js";
20
+ import"./chunk-nj29pqp3.js";
21
+ import"./chunk-hw9yapav.js";
22
+ import"./chunk-8nca9sgc.js";
23
+ import"./chunk-1fvkskfd.js";
24
+ import"./chunk-z3hcj5gd.js";
25
+ import {
26
+ McpParsingWarnings,
27
+ init_McpParsingWarnings
28
+ } from "./chunk-8vcyvvad.js";
29
+ import"./chunk-04he5cyw.js";
30
+ import {
31
+ AuthenticationCancelledError,
32
+ ClaudeAuthProvider,
33
+ Select,
34
+ Spinner,
35
+ describeMcpConfigFilePath,
36
+ extractAgentMcpServers,
37
+ filterToolsByServer,
38
+ init_AppState,
39
+ init_CustomSelect,
40
+ init_Spinner,
41
+ init_auth,
42
+ init_utils,
43
+ performMCPOAuthFlow,
44
+ useAppState,
45
+ useAppStateStore
46
+ } from "./chunk-363p49h1.js";
47
+ import"./chunk-14cmss9n.js";
48
+ import"./chunk-t0rgmccj.js";
49
+ import {
50
+ getSessionIngressAuthToken,
51
+ init_sessionIngressAuth
52
+ } from "./chunk-2n877dxb.js";
53
+ import"./chunk-cc15x0zt.js";
54
+ import"./chunk-7ke2txc2.js";
55
+ import"./chunk-t0zcygwt.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-dmqarh6q.js";
66
+ import"./chunk-ehtwnxpg.js";
67
+ import"./chunk-3be7ka25.js";
68
+ import"./chunk-nymbd7tw.js";
69
+ import"./chunk-2gzv8nrw.js";
70
+ import"./chunk-45kxdsp8.js";
71
+ import"./chunk-cgfdkzhb.js";
72
+ import"./chunk-5ctt9z6m.js";
73
+ import"./chunk-z9w0ffmw.js";
74
+ import"./chunk-9gbamk79.js";
75
+ import"./chunk-4cptw4qa.js";
76
+ import"./chunk-hfzj1m07.js";
77
+ import {
78
+ init_useKeybinding,
79
+ useKeybinding,
80
+ useKeybindings
81
+ } from "./chunk-jxgm95zx.js";
82
+ import {
83
+ Link,
84
+ ThemedBox_default,
85
+ ThemedText,
86
+ color,
87
+ init_ink,
88
+ require_compiler_runtime,
89
+ useTheme
90
+ } from "./chunk-nswqqqdd.js";
91
+ import"./chunk-7m2nd8da.js";
92
+ import"./chunk-ps49ymvj.js";
93
+ import {
94
+ require_jsx_dev_runtime,
95
+ require_react
96
+ } from "./chunk-g338npwr.js";
97
+ import"./chunk-pxjqgrdk.js";
98
+ import"./chunk-zk2wsm7d.js";
99
+ import"./chunk-7wj3b774.js";
100
+ import"./chunk-m06q12hg.js";
101
+ import"./chunk-w9k8zntt.js";
102
+ import {
103
+ capitalize,
104
+ init_stringUtils,
105
+ plural
106
+ } from "./chunk-skctedsv.js";
107
+ import"./chunk-e3g8q4cn.js";
108
+ import"./chunk-ctw5jwcd.js";
109
+ import"./chunk-vratq94g.js";
110
+ import"./chunk-rvqtbt9h.js";
111
+ import"./chunk-0e1xsncc.js";
112
+ import"./chunk-g0j0t6qk.js";
113
+ import"./chunk-3c25bcsw.js";
114
+ import"./chunk-tjaqa99q.js";
115
+ import"./chunk-55wgxwa9.js";
116
+ import"./chunk-spqaamnc.js";
117
+ import"./chunk-4jm600zv.js";
118
+ import"./chunk-w2z5pqd3.js";
119
+ import"./chunk-7ymfj7m3.js";
120
+ import"./chunk-f5ma3nh5.js";
121
+ import"./chunk-qz2x630m.js";
122
+ import"./chunk-cvge4pvp.js";
123
+ import"./chunk-p2816w9z.js";
124
+ import"./chunk-v9smspw2.js";
125
+ import"./chunk-v1kzp02e.js";
126
+ import"./chunk-0vkfrmqm.js";
127
+ import"./chunk-0xjaqda8.js";
128
+ import"./chunk-x14dq3v1.js";
129
+ import"./chunk-cdz5yb0r.js";
130
+ import"./chunk-h0rbjg6x.js";
131
+ import"./chunk-7z8j9qfn.js";
132
+ import"./chunk-hrzerbfw.js";
133
+ import"./chunk-d18z9pna.js";
134
+ import"./chunk-qnfx3qtx.js";
135
+ import"./chunk-hjhc4cpt.js";
136
+ import"./chunk-vyc0rjyx.js";
137
+ import {
138
+ figures_default,
139
+ init_figures
140
+ } from "./chunk-hx2tr4ep.js";
141
+ import"./chunk-p7g7pf3f.js";
142
+ import"./chunk-8tnsngw2.js";
143
+ import"./chunk-8bedvdm1.js";
144
+ import"./chunk-7wm5s02e.js";
145
+ import {
146
+ init_debug,
147
+ isDebugMode
148
+ } from "./chunk-nxsh6de2.js";
149
+ import"./chunk-fbv4apne.js";
150
+ import"./chunk-3r24h7t6.js";
151
+ import"./chunk-qqfa0dqg.js";
152
+ import"./chunk-hqmz36b3.js";
153
+ import"./chunk-4g3v8y12.js";
154
+ import"./chunk-7739pg2c.js";
155
+ import"./chunk-xszk7n10.js";
156
+ import"./chunk-sdj9b9wh.js";
157
+ import {
158
+ __esm,
159
+ __toESM
160
+ } from "./chunk-qp2qdcda.js";
161
+
162
+ // src/components/mcp/MCPAgentServerMenu.tsx
163
+ function MCPAgentServerMenu({
164
+ agentServer,
165
+ onCancel,
166
+ onComplete
167
+ }) {
168
+ const [theme] = useTheme();
169
+ const [isAuthenticating, setIsAuthenticating] = import_react.useState(false);
170
+ const [error, setError] = import_react.useState(null);
171
+ const [authorizationUrl, setAuthorizationUrl] = import_react.useState(null);
172
+ const authAbortControllerRef = import_react.useRef(null);
173
+ import_react.useEffect(() => () => authAbortControllerRef.current?.abort(), []);
174
+ const handleEscCancel = import_react.useCallback(() => {
175
+ if (isAuthenticating) {
176
+ authAbortControllerRef.current?.abort();
177
+ authAbortControllerRef.current = null;
178
+ setIsAuthenticating(false);
179
+ setAuthorizationUrl(null);
180
+ }
181
+ }, [isAuthenticating]);
182
+ useKeybinding("confirm:no", handleEscCancel, {
183
+ context: "Confirmation",
184
+ isActive: isAuthenticating
185
+ });
186
+ const handleAuthenticate = import_react.useCallback(async () => {
187
+ if (!agentServer.needsAuth || !agentServer.url) {
188
+ return;
189
+ }
190
+ setIsAuthenticating(true);
191
+ setError(null);
192
+ const controller = new AbortController;
193
+ authAbortControllerRef.current = controller;
194
+ try {
195
+ const tempConfig = {
196
+ type: agentServer.transport,
197
+ url: agentServer.url
198
+ };
199
+ await performMCPOAuthFlow(agentServer.name, tempConfig, setAuthorizationUrl, controller.signal);
200
+ onComplete?.(`Authentication successful for ${agentServer.name}. The server will connect when the agent runs.`);
201
+ } catch (err) {
202
+ if (err instanceof Error && !(err instanceof AuthenticationCancelledError)) {
203
+ setError(err.message);
204
+ }
205
+ } finally {
206
+ setIsAuthenticating(false);
207
+ authAbortControllerRef.current = null;
208
+ }
209
+ }, [agentServer, onComplete]);
210
+ const capitalizedServerName = capitalize(String(agentServer.name));
211
+ if (isAuthenticating) {
212
+ return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
213
+ flexDirection: "column",
214
+ gap: 1,
215
+ padding: 1,
216
+ children: [
217
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
218
+ color: "claude",
219
+ children: [
220
+ "Authenticating with ",
221
+ agentServer.name,
222
+ "\u2026"
223
+ ]
224
+ }, undefined, true, undefined, this),
225
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
226
+ children: [
227
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Spinner, {}, undefined, false, undefined, this),
228
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
229
+ children: " A browser window will open for authentication"
230
+ }, undefined, false, undefined, this)
231
+ ]
232
+ }, undefined, true, undefined, this),
233
+ authorizationUrl && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
234
+ flexDirection: "column",
235
+ children: [
236
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
237
+ dimColor: true,
238
+ children: "If your browser doesn't open automatically, copy this URL manually:"
239
+ }, undefined, false, undefined, this),
240
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Link, {
241
+ url: authorizationUrl
242
+ }, undefined, false, undefined, this)
243
+ ]
244
+ }, undefined, true, undefined, this),
245
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
246
+ marginLeft: 3,
247
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
248
+ dimColor: true,
249
+ children: [
250
+ "Return here after authenticating in your browser.",
251
+ " ",
252
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ConfigurableShortcutHint, {
253
+ action: "confirm:no",
254
+ context: "Confirmation",
255
+ fallback: "Esc",
256
+ description: "go back"
257
+ }, undefined, false, undefined, this)
258
+ ]
259
+ }, undefined, true, undefined, this)
260
+ }, undefined, false, undefined, this)
261
+ ]
262
+ }, undefined, true, undefined, this);
263
+ }
264
+ const menuOptions = [];
265
+ if (agentServer.needsAuth) {
266
+ menuOptions.push({
267
+ label: agentServer.isAuthenticated ? "Re-authenticate" : "Authenticate",
268
+ value: "auth"
269
+ });
270
+ }
271
+ menuOptions.push({
272
+ label: "Back",
273
+ value: "back"
274
+ });
275
+ return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Dialog, {
276
+ title: `${capitalizedServerName} MCP Server`,
277
+ subtitle: "agent-only",
278
+ onCancel,
279
+ inputGuide: (exitState) => exitState.pending ? /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
280
+ children: [
281
+ "Press ",
282
+ exitState.keyName,
283
+ " again to exit"
284
+ ]
285
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Byline, {
286
+ children: [
287
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(KeyboardShortcutHint, {
288
+ shortcut: "\u2191\u2193",
289
+ action: "navigate"
290
+ }, undefined, false, undefined, this),
291
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(KeyboardShortcutHint, {
292
+ shortcut: "Enter",
293
+ action: "confirm"
294
+ }, undefined, false, undefined, this),
295
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ConfigurableShortcutHint, {
296
+ action: "confirm:no",
297
+ context: "Confirmation",
298
+ fallback: "Esc",
299
+ description: "go back"
300
+ }, undefined, false, undefined, this)
301
+ ]
302
+ }, undefined, true, undefined, this),
303
+ children: [
304
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
305
+ flexDirection: "column",
306
+ gap: 0,
307
+ children: [
308
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
309
+ children: [
310
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
311
+ bold: true,
312
+ children: "Type: "
313
+ }, undefined, false, undefined, this),
314
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
315
+ dimColor: true,
316
+ children: agentServer.transport
317
+ }, undefined, false, undefined, this)
318
+ ]
319
+ }, undefined, true, undefined, this),
320
+ agentServer.url && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
321
+ children: [
322
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
323
+ bold: true,
324
+ children: "URL: "
325
+ }, undefined, false, undefined, this),
326
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
327
+ dimColor: true,
328
+ children: agentServer.url
329
+ }, undefined, false, undefined, this)
330
+ ]
331
+ }, undefined, true, undefined, this),
332
+ agentServer.command && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
333
+ children: [
334
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
335
+ bold: true,
336
+ children: "Command: "
337
+ }, undefined, false, undefined, this),
338
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
339
+ dimColor: true,
340
+ children: agentServer.command
341
+ }, undefined, false, undefined, this)
342
+ ]
343
+ }, undefined, true, undefined, this),
344
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
345
+ children: [
346
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
347
+ bold: true,
348
+ children: "Used by: "
349
+ }, undefined, false, undefined, this),
350
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
351
+ dimColor: true,
352
+ children: agentServer.sourceAgents.join(", ")
353
+ }, undefined, false, undefined, this)
354
+ ]
355
+ }, undefined, true, undefined, this),
356
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
357
+ marginTop: 1,
358
+ children: [
359
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
360
+ bold: true,
361
+ children: "Status: "
362
+ }, undefined, false, undefined, this),
363
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
364
+ children: [
365
+ color("inactive", theme)(figures_default.radioOff),
366
+ " not connected (agent-only)"
367
+ ]
368
+ }, undefined, true, undefined, this)
369
+ ]
370
+ }, undefined, true, undefined, this),
371
+ agentServer.needsAuth && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
372
+ children: [
373
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
374
+ bold: true,
375
+ children: "Auth: "
376
+ }, undefined, false, undefined, this),
377
+ agentServer.isAuthenticated ? /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
378
+ children: [
379
+ color("success", theme)(figures_default.tick),
380
+ " authenticated"
381
+ ]
382
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
383
+ children: [
384
+ color("warning", theme)(figures_default.triangleUpOutline),
385
+ " may need authentication"
386
+ ]
387
+ }, undefined, true, undefined, this)
388
+ ]
389
+ }, undefined, true, undefined, this)
390
+ ]
391
+ }, undefined, true, undefined, this),
392
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
393
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
394
+ dimColor: true,
395
+ children: "This server connects only when running the agent."
396
+ }, undefined, false, undefined, this)
397
+ }, undefined, false, undefined, this),
398
+ error && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
399
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
400
+ color: "error",
401
+ children: [
402
+ "Error: ",
403
+ error
404
+ ]
405
+ }, undefined, true, undefined, this)
406
+ }, undefined, false, undefined, this),
407
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
408
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Select, {
409
+ options: menuOptions,
410
+ onChange: async (value) => {
411
+ switch (value) {
412
+ case "auth":
413
+ await handleAuthenticate();
414
+ break;
415
+ case "back":
416
+ onCancel();
417
+ break;
418
+ }
419
+ },
420
+ onCancel
421
+ }, undefined, false, undefined, this)
422
+ }, undefined, false, undefined, this)
423
+ ]
424
+ }, undefined, true, undefined, this);
425
+ }
426
+ var import_react, jsx_dev_runtime;
427
+ var init_MCPAgentServerMenu = __esm(() => {
428
+ init_figures();
429
+ init_ink();
430
+ init_useKeybinding();
431
+ init_auth();
432
+ init_stringUtils();
433
+ init_ConfigurableShortcutHint();
434
+ init_CustomSelect();
435
+ init_Byline();
436
+ init_Dialog();
437
+ init_KeyboardShortcutHint();
438
+ init_Spinner();
439
+ import_react = __toESM(require_react(), 1);
440
+ jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
441
+ });
442
+
443
+ // src/components/mcp/MCPListPanel.tsx
444
+ function getScopeHeading(scope) {
445
+ switch (scope) {
446
+ case "project":
447
+ return {
448
+ label: "Project MCPs",
449
+ path: describeMcpConfigFilePath(scope)
450
+ };
451
+ case "user":
452
+ return {
453
+ label: "User MCPs",
454
+ path: describeMcpConfigFilePath(scope)
455
+ };
456
+ case "local":
457
+ return {
458
+ label: "Local MCPs",
459
+ path: describeMcpConfigFilePath(scope)
460
+ };
461
+ case "enterprise":
462
+ return {
463
+ label: "Enterprise MCPs"
464
+ };
465
+ case "dynamic":
466
+ return {
467
+ label: "Built-in MCPs",
468
+ path: "always available"
469
+ };
470
+ default:
471
+ return {
472
+ label: scope
473
+ };
474
+ }
475
+ }
476
+ function groupServersByScope(serverList) {
477
+ const groups = new Map;
478
+ for (const server of serverList) {
479
+ const scope = server.scope;
480
+ if (!groups.has(scope)) {
481
+ groups.set(scope, []);
482
+ }
483
+ groups.get(scope).push(server);
484
+ }
485
+ for (const [, groupServers] of groups) {
486
+ groupServers.sort((a, b) => a.name.localeCompare(b.name));
487
+ }
488
+ return groups;
489
+ }
490
+ function MCPListPanel(t0) {
491
+ const $ = import_compiler_runtime.c(78);
492
+ const {
493
+ servers,
494
+ agentServers: t1,
495
+ onSelectServer,
496
+ onSelectAgentServer,
497
+ onComplete
498
+ } = t0;
499
+ let t2;
500
+ if ($[0] !== t1) {
501
+ t2 = t1 === undefined ? [] : t1;
502
+ $[0] = t1;
503
+ $[1] = t2;
504
+ } else {
505
+ t2 = $[1];
506
+ }
507
+ const agentServers = t2;
508
+ const [theme] = useTheme();
509
+ const [selectedIndex, setSelectedIndex] = import_react2.useState(0);
510
+ let t3;
511
+ if ($[2] !== servers) {
512
+ const regularServers = servers.filter(_temp);
513
+ t3 = groupServersByScope(regularServers);
514
+ $[2] = servers;
515
+ $[3] = t3;
516
+ } else {
517
+ t3 = $[3];
518
+ }
519
+ const serversByScope = t3;
520
+ let t4;
521
+ if ($[4] !== servers) {
522
+ t4 = servers.filter(_temp2).sort(_temp3);
523
+ $[4] = servers;
524
+ $[5] = t4;
525
+ } else {
526
+ t4 = $[5];
527
+ }
528
+ const claudeAiServers = t4;
529
+ let t5;
530
+ if ($[6] !== serversByScope) {
531
+ t5 = (serversByScope.get("dynamic") ?? []).sort(_temp4);
532
+ $[6] = serversByScope;
533
+ $[7] = t5;
534
+ } else {
535
+ t5 = $[7];
536
+ }
537
+ const dynamicServers = t5;
538
+ let t6;
539
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
540
+ t6 = getScopeHeading("dynamic");
541
+ $[8] = t6;
542
+ } else {
543
+ t6 = $[8];
544
+ }
545
+ const dynamicHeading = t6;
546
+ let items;
547
+ if ($[9] !== agentServers || $[10] !== claudeAiServers || $[11] !== dynamicServers || $[12] !== serversByScope) {
548
+ items = [];
549
+ for (const scope of SCOPE_ORDER) {
550
+ const scopeServers = serversByScope.get(scope) ?? [];
551
+ for (const server of scopeServers) {
552
+ items.push({
553
+ type: "server",
554
+ server
555
+ });
556
+ }
557
+ }
558
+ for (const server_0 of claudeAiServers) {
559
+ items.push({
560
+ type: "server",
561
+ server: server_0
562
+ });
563
+ }
564
+ for (const agentServer of agentServers) {
565
+ items.push({
566
+ type: "agent-server",
567
+ agentServer
568
+ });
569
+ }
570
+ for (const server_1 of dynamicServers) {
571
+ items.push({
572
+ type: "server",
573
+ server: server_1
574
+ });
575
+ }
576
+ $[9] = agentServers;
577
+ $[10] = claudeAiServers;
578
+ $[11] = dynamicServers;
579
+ $[12] = serversByScope;
580
+ $[13] = items;
581
+ } else {
582
+ items = $[13];
583
+ }
584
+ const selectableItems = items;
585
+ let t7;
586
+ if ($[14] !== onComplete) {
587
+ t7 = () => {
588
+ onComplete("MCP dialog dismissed", {
589
+ display: "system"
590
+ });
591
+ };
592
+ $[14] = onComplete;
593
+ $[15] = t7;
594
+ } else {
595
+ t7 = $[15];
596
+ }
597
+ const handleCancel = t7;
598
+ let t8;
599
+ if ($[16] !== onSelectAgentServer || $[17] !== onSelectServer || $[18] !== selectableItems || $[19] !== selectedIndex) {
600
+ t8 = () => {
601
+ const item = selectableItems[selectedIndex];
602
+ if (!item) {
603
+ return;
604
+ }
605
+ if (item.type === "server") {
606
+ onSelectServer(item.server);
607
+ } else {
608
+ if (item.type === "agent-server" && onSelectAgentServer) {
609
+ onSelectAgentServer(item.agentServer);
610
+ }
611
+ }
612
+ };
613
+ $[16] = onSelectAgentServer;
614
+ $[17] = onSelectServer;
615
+ $[18] = selectableItems;
616
+ $[19] = selectedIndex;
617
+ $[20] = t8;
618
+ } else {
619
+ t8 = $[20];
620
+ }
621
+ const handleSelect = t8;
622
+ let t10;
623
+ let t9;
624
+ if ($[21] !== selectableItems) {
625
+ t9 = () => setSelectedIndex((prev) => prev === 0 ? selectableItems.length - 1 : prev - 1);
626
+ t10 = () => setSelectedIndex((prev_0) => prev_0 === selectableItems.length - 1 ? 0 : prev_0 + 1);
627
+ $[21] = selectableItems;
628
+ $[22] = t10;
629
+ $[23] = t9;
630
+ } else {
631
+ t10 = $[22];
632
+ t9 = $[23];
633
+ }
634
+ let t11;
635
+ if ($[24] !== handleCancel || $[25] !== handleSelect || $[26] !== t10 || $[27] !== t9) {
636
+ t11 = {
637
+ "confirm:previous": t9,
638
+ "confirm:next": t10,
639
+ "confirm:yes": handleSelect,
640
+ "confirm:no": handleCancel
641
+ };
642
+ $[24] = handleCancel;
643
+ $[25] = handleSelect;
644
+ $[26] = t10;
645
+ $[27] = t9;
646
+ $[28] = t11;
647
+ } else {
648
+ t11 = $[28];
649
+ }
650
+ let t12;
651
+ if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
652
+ t12 = {
653
+ context: "Confirmation"
654
+ };
655
+ $[29] = t12;
656
+ } else {
657
+ t12 = $[29];
658
+ }
659
+ useKeybindings(t11, t12);
660
+ let t13;
661
+ if ($[30] !== selectableItems) {
662
+ t13 = (server_2) => selectableItems.findIndex((item_0) => item_0.type === "server" && item_0.server === server_2);
663
+ $[30] = selectableItems;
664
+ $[31] = t13;
665
+ } else {
666
+ t13 = $[31];
667
+ }
668
+ const getServerIndex = t13;
669
+ let t14;
670
+ if ($[32] !== selectableItems) {
671
+ t14 = (agentServer_0) => selectableItems.findIndex((item_1) => item_1.type === "agent-server" && item_1.agentServer === agentServer_0);
672
+ $[32] = selectableItems;
673
+ $[33] = t14;
674
+ } else {
675
+ t14 = $[33];
676
+ }
677
+ const getAgentServerIndex = t14;
678
+ let t15;
679
+ if ($[34] === Symbol.for("react.memo_cache_sentinel")) {
680
+ t15 = isDebugMode();
681
+ $[34] = t15;
682
+ } else {
683
+ t15 = $[34];
684
+ }
685
+ const debugMode = t15;
686
+ let t16;
687
+ if ($[35] !== servers) {
688
+ t16 = servers.some(_temp5);
689
+ $[35] = servers;
690
+ $[36] = t16;
691
+ } else {
692
+ t16 = $[36];
693
+ }
694
+ const hasFailedClients = t16;
695
+ if (servers.length === 0 && agentServers.length === 0) {
696
+ return null;
697
+ }
698
+ let t17;
699
+ if ($[37] !== getServerIndex || $[38] !== selectedIndex || $[39] !== theme) {
700
+ t17 = (server_3) => {
701
+ const index = getServerIndex(server_3);
702
+ const isSelected = selectedIndex === index;
703
+ let statusIcon;
704
+ let statusText;
705
+ if (server_3.client.type === "disabled") {
706
+ statusIcon = color("inactive", theme)(figures_default.radioOff);
707
+ statusText = "disabled";
708
+ } else {
709
+ if (server_3.client.type === "connected") {
710
+ statusIcon = color("success", theme)(figures_default.tick);
711
+ statusText = "connected";
712
+ } else {
713
+ if (server_3.client.type === "pending") {
714
+ statusIcon = color("inactive", theme)(figures_default.radioOff);
715
+ const {
716
+ reconnectAttempt,
717
+ maxReconnectAttempts
718
+ } = server_3.client;
719
+ if (reconnectAttempt && maxReconnectAttempts) {
720
+ statusText = `reconnecting (${reconnectAttempt}/${maxReconnectAttempts})\u2026`;
721
+ } else {
722
+ statusText = "connecting\u2026";
723
+ }
724
+ } else {
725
+ if (server_3.client.type === "needs-auth") {
726
+ statusIcon = color("warning", theme)(figures_default.triangleUpOutline);
727
+ statusText = "needs authentication";
728
+ } else {
729
+ statusIcon = color("error", theme)(figures_default.cross);
730
+ statusText = "failed";
731
+ }
732
+ }
733
+ }
734
+ }
735
+ return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
736
+ children: [
737
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
738
+ color: isSelected ? "suggestion" : undefined,
739
+ children: isSelected ? `${figures_default.pointer} ` : " "
740
+ }, undefined, false, undefined, this),
741
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
742
+ color: isSelected ? "suggestion" : undefined,
743
+ children: server_3.name
744
+ }, undefined, false, undefined, this),
745
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
746
+ dimColor: !isSelected,
747
+ children: [
748
+ " \xB7 ",
749
+ statusIcon,
750
+ " "
751
+ ]
752
+ }, undefined, true, undefined, this),
753
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
754
+ dimColor: !isSelected,
755
+ children: statusText
756
+ }, undefined, false, undefined, this)
757
+ ]
758
+ }, `${server_3.name}-${index}`, true, undefined, this);
759
+ };
760
+ $[37] = getServerIndex;
761
+ $[38] = selectedIndex;
762
+ $[39] = theme;
763
+ $[40] = t17;
764
+ } else {
765
+ t17 = $[40];
766
+ }
767
+ const renderServerItem = t17;
768
+ let t18;
769
+ if ($[41] !== getAgentServerIndex || $[42] !== selectedIndex || $[43] !== theme) {
770
+ t18 = (agentServer_1) => {
771
+ const index_0 = getAgentServerIndex(agentServer_1);
772
+ const isSelected_0 = selectedIndex === index_0;
773
+ const statusIcon_0 = agentServer_1.needsAuth ? color("warning", theme)(figures_default.triangleUpOutline) : color("inactive", theme)(figures_default.radioOff);
774
+ const statusText_0 = agentServer_1.needsAuth ? "may need auth" : "agent-only";
775
+ return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
776
+ children: [
777
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
778
+ color: isSelected_0 ? "suggestion" : undefined,
779
+ children: isSelected_0 ? `${figures_default.pointer} ` : " "
780
+ }, undefined, false, undefined, this),
781
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
782
+ color: isSelected_0 ? "suggestion" : undefined,
783
+ children: agentServer_1.name
784
+ }, undefined, false, undefined, this),
785
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
786
+ dimColor: !isSelected_0,
787
+ children: [
788
+ " \xB7 ",
789
+ statusIcon_0,
790
+ " "
791
+ ]
792
+ }, undefined, true, undefined, this),
793
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
794
+ dimColor: !isSelected_0,
795
+ children: statusText_0
796
+ }, undefined, false, undefined, this)
797
+ ]
798
+ }, `agent-${agentServer_1.name}-${index_0}`, true, undefined, this);
799
+ };
800
+ $[41] = getAgentServerIndex;
801
+ $[42] = selectedIndex;
802
+ $[43] = theme;
803
+ $[44] = t18;
804
+ } else {
805
+ t18 = $[44];
806
+ }
807
+ const renderAgentServerItem = t18;
808
+ const totalServers = servers.length + agentServers.length;
809
+ let t19;
810
+ if ($[45] === Symbol.for("react.memo_cache_sentinel")) {
811
+ t19 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(McpParsingWarnings, {}, undefined, false, undefined, this);
812
+ $[45] = t19;
813
+ } else {
814
+ t19 = $[45];
815
+ }
816
+ let t20;
817
+ if ($[46] !== totalServers) {
818
+ t20 = plural(totalServers, "server");
819
+ $[46] = totalServers;
820
+ $[47] = t20;
821
+ } else {
822
+ t20 = $[47];
823
+ }
824
+ const t21 = `${totalServers} ${t20}`;
825
+ let t22;
826
+ if ($[48] !== renderServerItem || $[49] !== serversByScope) {
827
+ t22 = SCOPE_ORDER.map((scope_0) => {
828
+ const scopeServers_0 = serversByScope.get(scope_0);
829
+ if (!scopeServers_0 || scopeServers_0.length === 0) {
830
+ return null;
831
+ }
832
+ const heading = getScopeHeading(scope_0);
833
+ return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
834
+ flexDirection: "column",
835
+ marginBottom: 1,
836
+ children: [
837
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
838
+ paddingLeft: 2,
839
+ children: [
840
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
841
+ bold: true,
842
+ children: heading.label
843
+ }, undefined, false, undefined, this),
844
+ heading.path && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
845
+ dimColor: true,
846
+ children: [
847
+ " (",
848
+ heading.path,
849
+ ")"
850
+ ]
851
+ }, undefined, true, undefined, this)
852
+ ]
853
+ }, undefined, true, undefined, this),
854
+ scopeServers_0.map((server_4) => renderServerItem(server_4))
855
+ ]
856
+ }, scope_0, true, undefined, this);
857
+ });
858
+ $[48] = renderServerItem;
859
+ $[49] = serversByScope;
860
+ $[50] = t22;
861
+ } else {
862
+ t22 = $[50];
863
+ }
864
+ let t23;
865
+ if ($[51] !== claudeAiServers || $[52] !== renderServerItem) {
866
+ t23 = claudeAiServers.length > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
867
+ flexDirection: "column",
868
+ marginBottom: 1,
869
+ children: [
870
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
871
+ paddingLeft: 2,
872
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
873
+ bold: true,
874
+ children: "claude.ai"
875
+ }, undefined, false, undefined, this)
876
+ }, undefined, false, undefined, this),
877
+ claudeAiServers.map((server_5) => renderServerItem(server_5))
878
+ ]
879
+ }, undefined, true, undefined, this);
880
+ $[51] = claudeAiServers;
881
+ $[52] = renderServerItem;
882
+ $[53] = t23;
883
+ } else {
884
+ t23 = $[53];
885
+ }
886
+ let t24;
887
+ if ($[54] !== agentServers || $[55] !== renderAgentServerItem) {
888
+ t24 = agentServers.length > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
889
+ flexDirection: "column",
890
+ marginBottom: 1,
891
+ children: [
892
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
893
+ paddingLeft: 2,
894
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
895
+ bold: true,
896
+ children: "Agent MCPs"
897
+ }, undefined, false, undefined, this)
898
+ }, undefined, false, undefined, this),
899
+ [...new Set(agentServers.flatMap(_temp6))].map((agentName) => /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
900
+ flexDirection: "column",
901
+ marginTop: 1,
902
+ children: [
903
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
904
+ paddingLeft: 2,
905
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
906
+ dimColor: true,
907
+ children: [
908
+ "@",
909
+ agentName
910
+ ]
911
+ }, undefined, true, undefined, this)
912
+ }, undefined, false, undefined, this),
913
+ agentServers.filter((s_3) => s_3.sourceAgents.includes(agentName)).map((agentServer_2) => renderAgentServerItem(agentServer_2))
914
+ ]
915
+ }, agentName, true, undefined, this))
916
+ ]
917
+ }, undefined, true, undefined, this);
918
+ $[54] = agentServers;
919
+ $[55] = renderAgentServerItem;
920
+ $[56] = t24;
921
+ } else {
922
+ t24 = $[56];
923
+ }
924
+ let t25;
925
+ if ($[57] !== dynamicServers || $[58] !== renderServerItem) {
926
+ t25 = dynamicServers.length > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
927
+ flexDirection: "column",
928
+ marginBottom: 1,
929
+ children: [
930
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
931
+ paddingLeft: 2,
932
+ children: [
933
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
934
+ bold: true,
935
+ children: dynamicHeading.label
936
+ }, undefined, false, undefined, this),
937
+ dynamicHeading.path && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
938
+ dimColor: true,
939
+ children: [
940
+ " (",
941
+ dynamicHeading.path,
942
+ ")"
943
+ ]
944
+ }, undefined, true, undefined, this)
945
+ ]
946
+ }, undefined, true, undefined, this),
947
+ dynamicServers.map((server_6) => renderServerItem(server_6))
948
+ ]
949
+ }, undefined, true, undefined, this);
950
+ $[57] = dynamicServers;
951
+ $[58] = renderServerItem;
952
+ $[59] = t25;
953
+ } else {
954
+ t25 = $[59];
955
+ }
956
+ let t26;
957
+ if ($[60] !== hasFailedClients) {
958
+ t26 = hasFailedClients && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
959
+ dimColor: true,
960
+ children: debugMode ? "\u203B Error logs shown inline with --debug" : "\u203B Run claude --debug to see error logs"
961
+ }, undefined, false, undefined, this);
962
+ $[60] = hasFailedClients;
963
+ $[61] = t26;
964
+ } else {
965
+ t26 = $[61];
966
+ }
967
+ let t27;
968
+ if ($[62] === Symbol.for("react.memo_cache_sentinel")) {
969
+ t27 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
970
+ dimColor: true,
971
+ children: [
972
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Link, {
973
+ url: "https://code.claude.com/docs/en/mcp",
974
+ children: "https://code.claude.com/docs/en/mcp"
975
+ }, undefined, false, undefined, this),
976
+ " ",
977
+ "for help"
978
+ ]
979
+ }, undefined, true, undefined, this);
980
+ $[62] = t27;
981
+ } else {
982
+ t27 = $[62];
983
+ }
984
+ let t28;
985
+ if ($[63] !== t26) {
986
+ t28 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
987
+ flexDirection: "column",
988
+ children: [
989
+ t26,
990
+ t27
991
+ ]
992
+ }, undefined, true, undefined, this);
993
+ $[63] = t26;
994
+ $[64] = t28;
995
+ } else {
996
+ t28 = $[64];
997
+ }
998
+ let t29;
999
+ if ($[65] !== t22 || $[66] !== t23 || $[67] !== t24 || $[68] !== t25 || $[69] !== t28) {
1000
+ t29 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
1001
+ flexDirection: "column",
1002
+ children: [
1003
+ t22,
1004
+ t23,
1005
+ t24,
1006
+ t25,
1007
+ t28
1008
+ ]
1009
+ }, undefined, true, undefined, this);
1010
+ $[65] = t22;
1011
+ $[66] = t23;
1012
+ $[67] = t24;
1013
+ $[68] = t25;
1014
+ $[69] = t28;
1015
+ $[70] = t29;
1016
+ } else {
1017
+ t29 = $[70];
1018
+ }
1019
+ let t30;
1020
+ if ($[71] !== handleCancel || $[72] !== t21 || $[73] !== t29) {
1021
+ t30 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Dialog, {
1022
+ title: "Manage MCP servers",
1023
+ subtitle: t21,
1024
+ onCancel: handleCancel,
1025
+ hideInputGuide: true,
1026
+ children: t29
1027
+ }, undefined, false, undefined, this);
1028
+ $[71] = handleCancel;
1029
+ $[72] = t21;
1030
+ $[73] = t29;
1031
+ $[74] = t30;
1032
+ } else {
1033
+ t30 = $[74];
1034
+ }
1035
+ let t31;
1036
+ if ($[75] === Symbol.for("react.memo_cache_sentinel")) {
1037
+ t31 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
1038
+ paddingX: 1,
1039
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
1040
+ dimColor: true,
1041
+ italic: true,
1042
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Byline, {
1043
+ children: [
1044
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(KeyboardShortcutHint, {
1045
+ shortcut: "\u2191\u2193",
1046
+ action: "navigate"
1047
+ }, undefined, false, undefined, this),
1048
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(KeyboardShortcutHint, {
1049
+ shortcut: "Enter",
1050
+ action: "confirm"
1051
+ }, undefined, false, undefined, this),
1052
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ConfigurableShortcutHint, {
1053
+ action: "confirm:no",
1054
+ context: "Confirmation",
1055
+ fallback: "Esc",
1056
+ description: "cancel"
1057
+ }, undefined, false, undefined, this)
1058
+ ]
1059
+ }, undefined, true, undefined, this)
1060
+ }, undefined, false, undefined, this)
1061
+ }, undefined, false, undefined, this);
1062
+ $[75] = t31;
1063
+ } else {
1064
+ t31 = $[75];
1065
+ }
1066
+ let t32;
1067
+ if ($[76] !== t30) {
1068
+ t32 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedBox_default, {
1069
+ flexDirection: "column",
1070
+ children: [
1071
+ t19,
1072
+ t30,
1073
+ t31
1074
+ ]
1075
+ }, undefined, true, undefined, this);
1076
+ $[76] = t30;
1077
+ $[77] = t32;
1078
+ } else {
1079
+ t32 = $[77];
1080
+ }
1081
+ return t32;
1082
+ }
1083
+ function _temp6(s_2) {
1084
+ return s_2.sourceAgents;
1085
+ }
1086
+ function _temp5(s_1) {
1087
+ return s_1.client.type === "failed";
1088
+ }
1089
+ function _temp4(a_0, b_0) {
1090
+ return a_0.name.localeCompare(b_0.name);
1091
+ }
1092
+ function _temp3(a, b) {
1093
+ return a.name.localeCompare(b.name);
1094
+ }
1095
+ function _temp2(s_0) {
1096
+ return s_0.client.config.type === "claudeai-proxy";
1097
+ }
1098
+ function _temp(s) {
1099
+ return s.client.config.type !== "claudeai-proxy";
1100
+ }
1101
+ var import_compiler_runtime, import_react2, jsx_dev_runtime2, SCOPE_ORDER;
1102
+ var init_MCPListPanel = __esm(() => {
1103
+ init_figures();
1104
+ init_ink();
1105
+ init_useKeybinding();
1106
+ init_utils();
1107
+ init_debug();
1108
+ init_stringUtils();
1109
+ init_ConfigurableShortcutHint();
1110
+ init_Byline();
1111
+ init_Dialog();
1112
+ init_KeyboardShortcutHint();
1113
+ init_McpParsingWarnings();
1114
+ import_compiler_runtime = __toESM(require_compiler_runtime(), 1);
1115
+ import_react2 = __toESM(require_react(), 1);
1116
+ jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
1117
+ SCOPE_ORDER = ["project", "local", "user", "enterprise"];
1118
+ });
1119
+
1120
+ // src/components/mcp/MCPReconnect.tsx
1121
+ function MCPReconnect(t0) {
1122
+ const $ = import_compiler_runtime2.c(25);
1123
+ const {
1124
+ serverName,
1125
+ onComplete
1126
+ } = t0;
1127
+ const [theme] = useTheme();
1128
+ const store = useAppStateStore();
1129
+ const reconnectMcpServer = useMcpReconnect();
1130
+ const [isReconnecting, setIsReconnecting] = import_react3.useState(true);
1131
+ const [error, setError] = import_react3.useState(null);
1132
+ let t1;
1133
+ let t2;
1134
+ if ($[0] !== onComplete || $[1] !== reconnectMcpServer || $[2] !== serverName || $[3] !== store) {
1135
+ t1 = () => {
1136
+ const attemptReconnect = async function attemptReconnect2() {
1137
+ try {
1138
+ const server = store.getState().mcp.clients.find((c) => c.name === serverName);
1139
+ if (!server) {
1140
+ setError(`MCP server "${serverName}" not found`);
1141
+ setIsReconnecting(false);
1142
+ onComplete(`MCP server "${serverName}" not found`);
1143
+ return;
1144
+ }
1145
+ const result = await reconnectMcpServer(serverName);
1146
+ bb43:
1147
+ switch (result.client.type) {
1148
+ case "connected": {
1149
+ setIsReconnecting(false);
1150
+ onComplete(`Successfully reconnected to ${serverName}`);
1151
+ break bb43;
1152
+ }
1153
+ case "needs-auth": {
1154
+ setError(`${serverName} requires authentication`);
1155
+ setIsReconnecting(false);
1156
+ onComplete(`${serverName} requires authentication. Use /mcp to authenticate.`);
1157
+ break bb43;
1158
+ }
1159
+ case "pending":
1160
+ case "failed":
1161
+ case "disabled": {
1162
+ setError(`Failed to reconnect to ${serverName}`);
1163
+ setIsReconnecting(false);
1164
+ onComplete(`Failed to reconnect to ${serverName}`);
1165
+ }
1166
+ }
1167
+ } catch (t3) {
1168
+ const err = t3;
1169
+ const errorMessage = err instanceof Error ? err.message : String(err);
1170
+ setError(errorMessage);
1171
+ setIsReconnecting(false);
1172
+ onComplete(`Error: ${errorMessage}`);
1173
+ }
1174
+ };
1175
+ attemptReconnect();
1176
+ };
1177
+ t2 = [serverName, reconnectMcpServer, store, onComplete];
1178
+ $[0] = onComplete;
1179
+ $[1] = reconnectMcpServer;
1180
+ $[2] = serverName;
1181
+ $[3] = store;
1182
+ $[4] = t1;
1183
+ $[5] = t2;
1184
+ } else {
1185
+ t1 = $[4];
1186
+ t2 = $[5];
1187
+ }
1188
+ import_react3.useEffect(t1, t2);
1189
+ if (isReconnecting) {
1190
+ let t3;
1191
+ if ($[6] !== serverName) {
1192
+ t3 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1193
+ color: "text",
1194
+ children: [
1195
+ "Reconnecting to ",
1196
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1197
+ bold: true,
1198
+ children: serverName
1199
+ }, undefined, false, undefined, this)
1200
+ ]
1201
+ }, undefined, true, undefined, this);
1202
+ $[6] = serverName;
1203
+ $[7] = t3;
1204
+ } else {
1205
+ t3 = $[7];
1206
+ }
1207
+ let t4;
1208
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
1209
+ t4 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1210
+ children: [
1211
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Spinner, {}, undefined, false, undefined, this),
1212
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1213
+ children: " Establishing connection to MCP server"
1214
+ }, undefined, false, undefined, this)
1215
+ ]
1216
+ }, undefined, true, undefined, this);
1217
+ $[8] = t4;
1218
+ } else {
1219
+ t4 = $[8];
1220
+ }
1221
+ let t5;
1222
+ if ($[9] !== t3) {
1223
+ t5 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1224
+ flexDirection: "column",
1225
+ gap: 1,
1226
+ padding: 1,
1227
+ children: [
1228
+ t3,
1229
+ t4
1230
+ ]
1231
+ }, undefined, true, undefined, this);
1232
+ $[9] = t3;
1233
+ $[10] = t5;
1234
+ } else {
1235
+ t5 = $[10];
1236
+ }
1237
+ return t5;
1238
+ }
1239
+ if (error) {
1240
+ let t3;
1241
+ if ($[11] !== theme) {
1242
+ t3 = color("error", theme)(figures_default.cross);
1243
+ $[11] = theme;
1244
+ $[12] = t3;
1245
+ } else {
1246
+ t3 = $[12];
1247
+ }
1248
+ let t4;
1249
+ if ($[13] !== t3) {
1250
+ t4 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1251
+ children: [
1252
+ t3,
1253
+ " "
1254
+ ]
1255
+ }, undefined, true, undefined, this);
1256
+ $[13] = t3;
1257
+ $[14] = t4;
1258
+ } else {
1259
+ t4 = $[14];
1260
+ }
1261
+ let t5;
1262
+ if ($[15] !== serverName) {
1263
+ t5 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1264
+ color: "error",
1265
+ children: [
1266
+ "Failed to reconnect to ",
1267
+ serverName
1268
+ ]
1269
+ }, undefined, true, undefined, this);
1270
+ $[15] = serverName;
1271
+ $[16] = t5;
1272
+ } else {
1273
+ t5 = $[16];
1274
+ }
1275
+ let t6;
1276
+ if ($[17] !== t4 || $[18] !== t5) {
1277
+ t6 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1278
+ children: [
1279
+ t4,
1280
+ t5
1281
+ ]
1282
+ }, undefined, true, undefined, this);
1283
+ $[17] = t4;
1284
+ $[18] = t5;
1285
+ $[19] = t6;
1286
+ } else {
1287
+ t6 = $[19];
1288
+ }
1289
+ let t7;
1290
+ if ($[20] !== error) {
1291
+ t7 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
1292
+ dimColor: true,
1293
+ children: [
1294
+ "Error: ",
1295
+ error
1296
+ ]
1297
+ }, undefined, true, undefined, this);
1298
+ $[20] = error;
1299
+ $[21] = t7;
1300
+ } else {
1301
+ t7 = $[21];
1302
+ }
1303
+ let t8;
1304
+ if ($[22] !== t6 || $[23] !== t7) {
1305
+ t8 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
1306
+ flexDirection: "column",
1307
+ gap: 1,
1308
+ padding: 1,
1309
+ children: [
1310
+ t6,
1311
+ t7
1312
+ ]
1313
+ }, undefined, true, undefined, this);
1314
+ $[22] = t6;
1315
+ $[23] = t7;
1316
+ $[24] = t8;
1317
+ } else {
1318
+ t8 = $[24];
1319
+ }
1320
+ return t8;
1321
+ }
1322
+ return null;
1323
+ }
1324
+ var import_compiler_runtime2, import_react3, jsx_dev_runtime3;
1325
+ var init_MCPReconnect = __esm(() => {
1326
+ init_figures();
1327
+ init_ink();
1328
+ init_MCPConnectionManager();
1329
+ init_AppState();
1330
+ init_Spinner();
1331
+ import_compiler_runtime2 = __toESM(require_compiler_runtime(), 1);
1332
+ import_react3 = __toESM(require_react(), 1);
1333
+ jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
1334
+ });
1335
+
1336
+ // src/components/mcp/MCPSettings.tsx
1337
+ function MCPSettings(t0) {
1338
+ const $ = import_compiler_runtime3.c(66);
1339
+ const {
1340
+ onComplete
1341
+ } = t0;
1342
+ const mcp = useAppState(_temp7);
1343
+ const agentDefinitions = useAppState(_temp22);
1344
+ const mcpClients = mcp.clients;
1345
+ let t1;
1346
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
1347
+ t1 = {
1348
+ type: "list"
1349
+ };
1350
+ $[0] = t1;
1351
+ } else {
1352
+ t1 = $[0];
1353
+ }
1354
+ const [viewState, setViewState] = import_react4.default.useState(t1);
1355
+ let t2;
1356
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
1357
+ t2 = [];
1358
+ $[1] = t2;
1359
+ } else {
1360
+ t2 = $[1];
1361
+ }
1362
+ const [servers, setServers] = import_react4.default.useState(t2);
1363
+ let t3;
1364
+ if ($[2] !== agentDefinitions.allAgents) {
1365
+ t3 = extractAgentMcpServers(agentDefinitions.allAgents);
1366
+ $[2] = agentDefinitions.allAgents;
1367
+ $[3] = t3;
1368
+ } else {
1369
+ t3 = $[3];
1370
+ }
1371
+ const agentMcpServers = t3;
1372
+ let t4;
1373
+ if ($[4] !== mcpClients) {
1374
+ t4 = mcpClients.filter(_temp32).sort(_temp42);
1375
+ $[4] = mcpClients;
1376
+ $[5] = t4;
1377
+ } else {
1378
+ t4 = $[5];
1379
+ }
1380
+ const filteredClients = t4;
1381
+ let t5;
1382
+ let t6;
1383
+ if ($[6] !== filteredClients || $[7] !== mcp.tools) {
1384
+ t5 = () => {
1385
+ let cancelled = false;
1386
+ const prepareServers = async function prepareServers2() {
1387
+ const serverInfos = await Promise.all(filteredClients.map(async (client_0) => {
1388
+ const scope = client_0.config.scope;
1389
+ const isSSE = client_0.config.type === "sse";
1390
+ const isHTTP = client_0.config.type === "http";
1391
+ const isClaudeAIProxy = client_0.config.type === "claudeai-proxy";
1392
+ let isAuthenticated = undefined;
1393
+ if (isSSE || isHTTP) {
1394
+ const authProvider = new ClaudeAuthProvider(client_0.name, client_0.config);
1395
+ const tokens = await authProvider.tokens();
1396
+ const hasSessionAuth = getSessionIngressAuthToken() !== null && client_0.type === "connected";
1397
+ const hasToolsAndConnected = client_0.type === "connected" && filterToolsByServer(mcp.tools, client_0.name).length > 0;
1398
+ isAuthenticated = Boolean(tokens) || hasSessionAuth || hasToolsAndConnected;
1399
+ }
1400
+ const baseInfo = {
1401
+ name: client_0.name,
1402
+ client: client_0,
1403
+ scope
1404
+ };
1405
+ if (isClaudeAIProxy) {
1406
+ return {
1407
+ ...baseInfo,
1408
+ transport: "claudeai-proxy",
1409
+ isAuthenticated: false,
1410
+ config: client_0.config
1411
+ };
1412
+ } else {
1413
+ if (isSSE) {
1414
+ return {
1415
+ ...baseInfo,
1416
+ transport: "sse",
1417
+ isAuthenticated,
1418
+ config: client_0.config
1419
+ };
1420
+ } else {
1421
+ if (isHTTP) {
1422
+ return {
1423
+ ...baseInfo,
1424
+ transport: "http",
1425
+ isAuthenticated,
1426
+ config: client_0.config
1427
+ };
1428
+ } else {
1429
+ return {
1430
+ ...baseInfo,
1431
+ transport: "stdio",
1432
+ config: client_0.config
1433
+ };
1434
+ }
1435
+ }
1436
+ }
1437
+ }));
1438
+ if (cancelled) {
1439
+ return;
1440
+ }
1441
+ setServers(serverInfos);
1442
+ };
1443
+ prepareServers();
1444
+ return () => {
1445
+ cancelled = true;
1446
+ };
1447
+ };
1448
+ t6 = [filteredClients, mcp.tools];
1449
+ $[6] = filteredClients;
1450
+ $[7] = mcp.tools;
1451
+ $[8] = t5;
1452
+ $[9] = t6;
1453
+ } else {
1454
+ t5 = $[8];
1455
+ t6 = $[9];
1456
+ }
1457
+ import_react4.default.useEffect(t5, t6);
1458
+ let t7;
1459
+ let t8;
1460
+ if ($[10] !== agentMcpServers.length || $[11] !== filteredClients.length || $[12] !== onComplete || $[13] !== servers.length) {
1461
+ t7 = () => {
1462
+ if (servers.length === 0 && filteredClients.length > 0) {
1463
+ return;
1464
+ }
1465
+ if (servers.length === 0 && agentMcpServers.length === 0) {
1466
+ 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.");
1467
+ }
1468
+ };
1469
+ t8 = [servers.length, filteredClients.length, agentMcpServers.length, onComplete];
1470
+ $[10] = agentMcpServers.length;
1471
+ $[11] = filteredClients.length;
1472
+ $[12] = onComplete;
1473
+ $[13] = servers.length;
1474
+ $[14] = t7;
1475
+ $[15] = t8;
1476
+ } else {
1477
+ t7 = $[14];
1478
+ t8 = $[15];
1479
+ }
1480
+ import_react4.useEffect(t7, t8);
1481
+ switch (viewState.type) {
1482
+ case "list": {
1483
+ let t10;
1484
+ let t9;
1485
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
1486
+ t9 = (server) => setViewState({
1487
+ type: "server-menu",
1488
+ server
1489
+ });
1490
+ t10 = (agentServer) => setViewState({
1491
+ type: "agent-server-menu",
1492
+ agentServer
1493
+ });
1494
+ $[16] = t10;
1495
+ $[17] = t9;
1496
+ } else {
1497
+ t10 = $[16];
1498
+ t9 = $[17];
1499
+ }
1500
+ let t11;
1501
+ if ($[18] !== agentMcpServers || $[19] !== onComplete || $[20] !== servers || $[21] !== viewState.defaultTab) {
1502
+ t11 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPListPanel, {
1503
+ servers,
1504
+ agentServers: agentMcpServers,
1505
+ onSelectServer: t9,
1506
+ onSelectAgentServer: t10,
1507
+ onComplete,
1508
+ defaultTab: viewState.defaultTab
1509
+ }, undefined, false, undefined, this);
1510
+ $[18] = agentMcpServers;
1511
+ $[19] = onComplete;
1512
+ $[20] = servers;
1513
+ $[21] = viewState.defaultTab;
1514
+ $[22] = t11;
1515
+ } else {
1516
+ t11 = $[22];
1517
+ }
1518
+ return t11;
1519
+ }
1520
+ case "server-menu": {
1521
+ let t9;
1522
+ if ($[23] !== mcp.tools || $[24] !== viewState.server.name) {
1523
+ t9 = filterToolsByServer(mcp.tools, viewState.server.name);
1524
+ $[23] = mcp.tools;
1525
+ $[24] = viewState.server.name;
1526
+ $[25] = t9;
1527
+ } else {
1528
+ t9 = $[25];
1529
+ }
1530
+ const serverTools_0 = t9;
1531
+ const defaultTab = viewState.server.transport === "claudeai-proxy" ? "claude.ai" : "Claude Code";
1532
+ if (viewState.server.transport === "stdio") {
1533
+ let t10;
1534
+ if ($[26] !== viewState.server) {
1535
+ t10 = () => setViewState({
1536
+ type: "server-tools",
1537
+ server: viewState.server
1538
+ });
1539
+ $[26] = viewState.server;
1540
+ $[27] = t10;
1541
+ } else {
1542
+ t10 = $[27];
1543
+ }
1544
+ let t11;
1545
+ if ($[28] !== defaultTab) {
1546
+ t11 = () => setViewState({
1547
+ type: "list",
1548
+ defaultTab
1549
+ });
1550
+ $[28] = defaultTab;
1551
+ $[29] = t11;
1552
+ } else {
1553
+ t11 = $[29];
1554
+ }
1555
+ let t12;
1556
+ if ($[30] !== onComplete || $[31] !== serverTools_0.length || $[32] !== t10 || $[33] !== t11 || $[34] !== viewState.server) {
1557
+ t12 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPStdioServerMenu, {
1558
+ server: viewState.server,
1559
+ serverToolsCount: serverTools_0.length,
1560
+ onViewTools: t10,
1561
+ onCancel: t11,
1562
+ onComplete
1563
+ }, undefined, false, undefined, this);
1564
+ $[30] = onComplete;
1565
+ $[31] = serverTools_0.length;
1566
+ $[32] = t10;
1567
+ $[33] = t11;
1568
+ $[34] = viewState.server;
1569
+ $[35] = t12;
1570
+ } else {
1571
+ t12 = $[35];
1572
+ }
1573
+ return t12;
1574
+ } else {
1575
+ let t10;
1576
+ if ($[36] !== viewState.server) {
1577
+ t10 = () => setViewState({
1578
+ type: "server-tools",
1579
+ server: viewState.server
1580
+ });
1581
+ $[36] = viewState.server;
1582
+ $[37] = t10;
1583
+ } else {
1584
+ t10 = $[37];
1585
+ }
1586
+ let t11;
1587
+ if ($[38] !== defaultTab) {
1588
+ t11 = () => setViewState({
1589
+ type: "list",
1590
+ defaultTab
1591
+ });
1592
+ $[38] = defaultTab;
1593
+ $[39] = t11;
1594
+ } else {
1595
+ t11 = $[39];
1596
+ }
1597
+ let t12;
1598
+ if ($[40] !== onComplete || $[41] !== serverTools_0.length || $[42] !== t10 || $[43] !== t11 || $[44] !== viewState.server) {
1599
+ t12 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPRemoteServerMenu, {
1600
+ server: viewState.server,
1601
+ serverToolsCount: serverTools_0.length,
1602
+ onViewTools: t10,
1603
+ onCancel: t11,
1604
+ onComplete
1605
+ }, undefined, false, undefined, this);
1606
+ $[40] = onComplete;
1607
+ $[41] = serverTools_0.length;
1608
+ $[42] = t10;
1609
+ $[43] = t11;
1610
+ $[44] = viewState.server;
1611
+ $[45] = t12;
1612
+ } else {
1613
+ t12 = $[45];
1614
+ }
1615
+ return t12;
1616
+ }
1617
+ }
1618
+ case "server-tools": {
1619
+ let t10;
1620
+ let t9;
1621
+ if ($[46] !== viewState.server) {
1622
+ t9 = (_, index) => setViewState({
1623
+ type: "server-tool-detail",
1624
+ server: viewState.server,
1625
+ toolIndex: index
1626
+ });
1627
+ t10 = () => setViewState({
1628
+ type: "server-menu",
1629
+ server: viewState.server
1630
+ });
1631
+ $[46] = viewState.server;
1632
+ $[47] = t10;
1633
+ $[48] = t9;
1634
+ } else {
1635
+ t10 = $[47];
1636
+ t9 = $[48];
1637
+ }
1638
+ let t11;
1639
+ if ($[49] !== t10 || $[50] !== t9 || $[51] !== viewState.server) {
1640
+ t11 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPToolListView, {
1641
+ server: viewState.server,
1642
+ onSelectTool: t9,
1643
+ onBack: t10
1644
+ }, undefined, false, undefined, this);
1645
+ $[49] = t10;
1646
+ $[50] = t9;
1647
+ $[51] = viewState.server;
1648
+ $[52] = t11;
1649
+ } else {
1650
+ t11 = $[52];
1651
+ }
1652
+ return t11;
1653
+ }
1654
+ case "server-tool-detail": {
1655
+ let t9;
1656
+ if ($[53] !== mcp.tools || $[54] !== viewState.server.name) {
1657
+ t9 = filterToolsByServer(mcp.tools, viewState.server.name);
1658
+ $[53] = mcp.tools;
1659
+ $[54] = viewState.server.name;
1660
+ $[55] = t9;
1661
+ } else {
1662
+ t9 = $[55];
1663
+ }
1664
+ const serverTools = t9;
1665
+ const tool = serverTools[viewState.toolIndex];
1666
+ if (!tool) {
1667
+ setViewState({
1668
+ type: "server-tools",
1669
+ server: viewState.server
1670
+ });
1671
+ return null;
1672
+ }
1673
+ let t10;
1674
+ if ($[56] !== viewState.server) {
1675
+ t10 = () => setViewState({
1676
+ type: "server-tools",
1677
+ server: viewState.server
1678
+ });
1679
+ $[56] = viewState.server;
1680
+ $[57] = t10;
1681
+ } else {
1682
+ t10 = $[57];
1683
+ }
1684
+ let t11;
1685
+ if ($[58] !== t10 || $[59] !== tool || $[60] !== viewState.server) {
1686
+ t11 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPToolDetailView, {
1687
+ tool,
1688
+ server: viewState.server,
1689
+ onBack: t10
1690
+ }, undefined, false, undefined, this);
1691
+ $[58] = t10;
1692
+ $[59] = tool;
1693
+ $[60] = viewState.server;
1694
+ $[61] = t11;
1695
+ } else {
1696
+ t11 = $[61];
1697
+ }
1698
+ return t11;
1699
+ }
1700
+ case "agent-server-menu": {
1701
+ let t9;
1702
+ if ($[62] === Symbol.for("react.memo_cache_sentinel")) {
1703
+ t9 = () => setViewState({
1704
+ type: "list",
1705
+ defaultTab: "Agents"
1706
+ });
1707
+ $[62] = t9;
1708
+ } else {
1709
+ t9 = $[62];
1710
+ }
1711
+ let t10;
1712
+ if ($[63] !== onComplete || $[64] !== viewState.agentServer) {
1713
+ t10 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPAgentServerMenu, {
1714
+ agentServer: viewState.agentServer,
1715
+ onCancel: t9,
1716
+ onComplete
1717
+ }, undefined, false, undefined, this);
1718
+ $[63] = onComplete;
1719
+ $[64] = viewState.agentServer;
1720
+ $[65] = t10;
1721
+ } else {
1722
+ t10 = $[65];
1723
+ }
1724
+ return t10;
1725
+ }
1726
+ }
1727
+ }
1728
+ function _temp42(a, b) {
1729
+ return a.name.localeCompare(b.name);
1730
+ }
1731
+ function _temp32(client) {
1732
+ return client.name !== "ide";
1733
+ }
1734
+ function _temp22(s_0) {
1735
+ return s_0.agentDefinitions;
1736
+ }
1737
+ function _temp7(s) {
1738
+ return s.mcp;
1739
+ }
1740
+ var import_compiler_runtime3, import_react4, jsx_dev_runtime4;
1741
+ var init_MCPSettings = __esm(() => {
1742
+ init_auth();
1743
+ init_utils();
1744
+ init_AppState();
1745
+ init_sessionIngressAuth();
1746
+ init_MCPAgentServerMenu();
1747
+ init_MCPListPanel();
1748
+ init_MCPRemoteServerMenu();
1749
+ init_MCPStdioServerMenu();
1750
+ init_MCPToolDetailView();
1751
+ init_MCPToolListView();
1752
+ import_compiler_runtime3 = __toESM(require_compiler_runtime(), 1);
1753
+ import_react4 = __toESM(require_react(), 1);
1754
+ jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
1755
+ });
1756
+
1757
+ // src/components/mcp/index.ts
1758
+ var init_mcp = __esm(() => {
1759
+ init_MCPAgentServerMenu();
1760
+ init_MCPListPanel();
1761
+ init_MCPReconnect();
1762
+ init_MCPRemoteServerMenu();
1763
+ init_MCPSettings();
1764
+ init_MCPStdioServerMenu();
1765
+ init_MCPToolDetailView();
1766
+ init_MCPToolListView();
1767
+ });
1768
+
1769
+ // src/commands/mcp/mcp.tsx
1770
+ function MCPToggle(t0) {
1771
+ const $ = import_compiler_runtime4.c(7);
1772
+ const {
1773
+ action,
1774
+ target,
1775
+ onComplete
1776
+ } = t0;
1777
+ const mcpClients = useAppState(_temp9);
1778
+ const toggleMcpServer = useMcpToggleEnabled();
1779
+ const didRun = import_react5.useRef(false);
1780
+ let t1;
1781
+ let t2;
1782
+ if ($[0] !== action || $[1] !== mcpClients || $[2] !== onComplete || $[3] !== target || $[4] !== toggleMcpServer) {
1783
+ t1 = () => {
1784
+ if (didRun.current) {
1785
+ return;
1786
+ }
1787
+ didRun.current = true;
1788
+ const isEnabling = action === "enable";
1789
+ const clients = mcpClients.filter(_temp23);
1790
+ 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);
1791
+ if (toToggle.length === 0) {
1792
+ onComplete(target === "all" ? `All MCP servers are already ${isEnabling ? "enabled" : "disabled"}` : `MCP server "${target}" not found`);
1793
+ return;
1794
+ }
1795
+ for (const s_0 of toToggle) {
1796
+ toggleMcpServer(s_0.name);
1797
+ }
1798
+ onComplete(target === "all" ? `${isEnabling ? "Enabled" : "Disabled"} ${toToggle.length} MCP server(s)` : `MCP server "${target}" ${isEnabling ? "enabled" : "disabled"}`);
1799
+ };
1800
+ t2 = [action, target, mcpClients, toggleMcpServer, onComplete];
1801
+ $[0] = action;
1802
+ $[1] = mcpClients;
1803
+ $[2] = onComplete;
1804
+ $[3] = target;
1805
+ $[4] = toggleMcpServer;
1806
+ $[5] = t1;
1807
+ $[6] = t2;
1808
+ } else {
1809
+ t1 = $[5];
1810
+ t2 = $[6];
1811
+ }
1812
+ import_react5.useEffect(t1, t2);
1813
+ return null;
1814
+ }
1815
+ function _temp23(c) {
1816
+ return c.name !== "ide";
1817
+ }
1818
+ function _temp9(s) {
1819
+ return s.mcp.clients;
1820
+ }
1821
+ async function call(onDone, _context, args) {
1822
+ if (args) {
1823
+ const parts = args.trim().split(/\s+/);
1824
+ if (parts[0] === "no-redirect") {
1825
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPSettings, {
1826
+ onComplete: onDone
1827
+ }, undefined, false, undefined, this);
1828
+ }
1829
+ if (parts[0] === "reconnect" && parts[1]) {
1830
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPReconnect, {
1831
+ serverName: parts.slice(1).join(" "),
1832
+ onComplete: onDone
1833
+ }, undefined, false, undefined, this);
1834
+ }
1835
+ if (parts[0] === "enable" || parts[0] === "disable") {
1836
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPToggle, {
1837
+ action: parts[0],
1838
+ target: parts.length > 1 ? parts.slice(1).join(" ") : "all",
1839
+ onComplete: onDone
1840
+ }, undefined, false, undefined, this);
1841
+ }
1842
+ }
1843
+ if (false) {}
1844
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(MCPSettings, {
1845
+ onComplete: onDone
1846
+ }, undefined, false, undefined, this);
1847
+ }
1848
+ var import_compiler_runtime4, import_react5, jsx_dev_runtime5;
1849
+ var init_mcp2 = __esm(() => {
1850
+ init_mcp();
1851
+ init_MCPReconnect();
1852
+ init_MCPConnectionManager();
1853
+ init_AppState();
1854
+ init_PluginSettings();
1855
+ import_compiler_runtime4 = __toESM(require_compiler_runtime(), 1);
1856
+ import_react5 = __toESM(require_react(), 1);
1857
+ jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
1858
+ });
1859
+ init_mcp2();
1860
+
1861
+ export {
1862
+ call
1863
+ };