autohand-cli 0.7.14 → 0.8.2

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 (414) hide show
  1. package/README.md +97 -2
  2. package/assets/icon.png +0 -0
  3. package/dist/AgentRegistry-7LDL5HJH.js +10 -0
  4. package/dist/AgentRegistry-NQCLWABO.cjs +10 -0
  5. package/dist/{AutomodeManager-NGRAO2MH.js → AutomodeManager-MWLKGPZK.js} +2 -0
  6. package/dist/{AutomodeManager-ZKQMBM4T.cjs → AutomodeManager-NYIZNODK.cjs} +3 -1
  7. package/dist/CommunitySkillsCache-6QPRMTJO.js +8 -0
  8. package/dist/CommunitySkillsCache-GTQMOCCO.cjs +8 -0
  9. package/dist/{GitHubRegistryFetcher-US2JJID4.js → GitHubRegistryFetcher-6JQ5JEDZ.js} +1 -0
  10. package/dist/{GitHubRegistryFetcher-K744NNAJ.cjs → GitHubRegistryFetcher-S7QFUEKV.cjs} +1 -0
  11. package/dist/HookManager-Q2KYMCP4.cjs +7 -0
  12. package/dist/HookManager-TTP4Y6DC.js +7 -0
  13. package/dist/ImportWizard-35YBJ4AM.cjs +466 -0
  14. package/dist/ImportWizard-XH7CINCH.js +466 -0
  15. package/dist/LearnAdvisor-A4Q5PPBI.js +9 -0
  16. package/dist/LearnAdvisor-GASQD7HT.cjs +9 -0
  17. package/dist/McpClientManager-7RM6YT35.js +8 -0
  18. package/dist/McpClientManager-RKD7C6OY.cjs +8 -0
  19. package/dist/MemoryManager-GUNLRP5S.js +8 -0
  20. package/dist/MemoryManager-TNSGKDKX.cjs +8 -0
  21. package/dist/{PermissionManager-U5OMGR3L.js → PermissionManager-ATUV34LQ.js} +4 -3
  22. package/dist/PermissionManager-KMN53FJP.cjs +11 -0
  23. package/dist/ProjectProfiler-UMJJSOCE.js +194 -0
  24. package/dist/ProjectProfiler-ZDWR2ODG.cjs +194 -0
  25. package/dist/ProviderFactory-MR5B23QJ.js +9 -0
  26. package/dist/ProviderFactory-VFGCJJX6.cjs +9 -0
  27. package/dist/SessionManager-FEUAU3ZJ.cjs +10 -0
  28. package/dist/SessionManager-IKWAK2PI.js +10 -0
  29. package/dist/SkillsRegistry-KPQFTRIT.cjs +9 -0
  30. package/dist/SkillsRegistry-XJSKPDF2.js +9 -0
  31. package/dist/SubAgent-NYH6GWQ3.js +11 -0
  32. package/dist/SubAgent-PZKBDUBA.cjs +11 -0
  33. package/dist/{SyncApiClient-AYXYSOJM.js → SyncApiClient-LVIO4C2S.js} +1 -0
  34. package/dist/{SyncApiClient-ID3KXEMA.cjs → SyncApiClient-ZNYMT36M.cjs} +1 -0
  35. package/dist/about-HHTF2YFL.js +12 -0
  36. package/dist/about-JGRVNNQC.cjs +12 -0
  37. package/dist/actionExecutor-U6IBN2TU.cjs +19 -0
  38. package/dist/actionExecutor-XT5FW3W6.js +19 -0
  39. package/dist/add-dir-247K3XRY.js +10 -0
  40. package/dist/add-dir-GS4DXKKH.cjs +10 -0
  41. package/dist/agents/builtin/code-cleaner.md +14 -0
  42. package/dist/agents/builtin/docs-writer.md +14 -0
  43. package/dist/agents/builtin/researcher.md +14 -0
  44. package/dist/agents/builtin/reviewer.md +15 -0
  45. package/dist/agents/builtin/tester.md +15 -0
  46. package/dist/agents/builtin/todo-resolver.md +15 -0
  47. package/dist/agents-R6ZEFTVR.cjs +12 -0
  48. package/dist/agents-WJPQWQF2.js +12 -0
  49. package/dist/agents-new-HKVEIBDJ.js +14 -0
  50. package/dist/agents-new-X6GTHIO6.cjs +14 -0
  51. package/dist/assets/icon.png +0 -0
  52. package/dist/autoSkill-6TGBTEQD.js +20 -0
  53. package/dist/autoSkill-H4T6VVDA.cjs +20 -0
  54. package/dist/automode-BC6NVECO.js +10 -0
  55. package/dist/automode-WN2RSOGW.cjs +10 -0
  56. package/dist/{cc-UTTLESTY.js → cc-7LEIJ3KF.js} +1 -0
  57. package/dist/{cc-2W6M7J45.cjs → cc-Q5MM4AWC.cjs} +1 -0
  58. package/dist/{chunk-N4ZSG6JJ.cjs → chunk-22D2CNTP.cjs} +2 -2
  59. package/dist/chunk-245KJE5Y.cjs +55 -0
  60. package/dist/chunk-24QIWILL.js +51 -0
  61. package/dist/{chunk-MYNHJHDZ.js → chunk-2AA5MFES.js} +1 -1
  62. package/dist/{chunk-TSY7JHIV.cjs → chunk-33A755XB.cjs} +2 -2
  63. package/dist/chunk-33RSHBDH.js +131 -0
  64. package/dist/{chunk-QRGPAUST.js → chunk-34M3HWLR.js} +2 -2
  65. package/dist/{chunk-U7CZFKPL.cjs → chunk-3K2ESU53.cjs} +2 -2
  66. package/dist/{chunk-SIGWDEPS.cjs → chunk-3L53OA4E.cjs} +10 -10
  67. package/dist/chunk-3OEDGIFW.js +42 -0
  68. package/dist/chunk-3OTU3RS3.cjs +1607 -0
  69. package/dist/{chunk-MNSTWHK3.cjs → chunk-3PCTTUNW.cjs} +11 -11
  70. package/dist/{chunk-P5VDZ6PV.js → chunk-3PDTTAKJ.js} +1 -1
  71. package/dist/chunk-47CKWKEX.cjs +59 -0
  72. package/dist/{chunk-Z4J4W6YQ.cjs → chunk-4JNNTOGF.cjs} +2 -48
  73. package/dist/{chunk-GVZPIQWB.js → chunk-4PKF7WPD.js} +11 -5
  74. package/dist/{chunk-3S4DEIJP.cjs → chunk-5IXII4HX.cjs} +2 -2
  75. package/dist/{chunk-CRQKDBLD.js → chunk-5P2NXKP3.js} +98 -64
  76. package/dist/{chunk-DSKVMFRM.cjs → chunk-643VRA5S.cjs} +12 -4
  77. package/dist/{chunk-VVBBEYTH.cjs → chunk-6HYLHBQG.cjs} +10 -10
  78. package/dist/{chunk-L5ZFPWHY.js → chunk-6OYHF6MF.js} +12 -4
  79. package/dist/{chunk-BPTBKO7D.js → chunk-6RF7UKUS.js} +224 -37
  80. package/dist/{chunk-YHGTBPEC.js → chunk-6ZCULLCA.js} +1 -1
  81. package/dist/{chunk-VHBUKGRG.js → chunk-72FKPBT5.js} +4 -4
  82. package/dist/{chunk-2U5HFVRO.cjs → chunk-7BTSG4ME.cjs} +5165 -2194
  83. package/dist/chunk-7UOUW76C.js +603 -0
  84. package/dist/{chunk-FEVHH525.cjs → chunk-A4IJHHV7.cjs} +11 -5
  85. package/dist/{chunk-B6EBHCK2.cjs → chunk-AEJH23FO.cjs} +6 -6
  86. package/dist/{chunk-WLTVF77A.js → chunk-ALYU6VTM.js} +1 -1
  87. package/dist/{chunk-NMWEDN4Z.js → chunk-APIXPPMT.js} +5165 -2194
  88. package/dist/chunk-AS6RTLN7.cjs +203 -0
  89. package/dist/{chunk-BHV7CBNT.js → chunk-AYS2ASM7.js} +1 -1
  90. package/dist/{chunk-GRSVQ5YZ.js → chunk-AYSFIUFW.js} +44 -12
  91. package/dist/{chunk-NUHYCFHW.cjs → chunk-BVKXEQVG.cjs} +54 -65
  92. package/dist/chunk-BWN2CLLM.cjs +298 -0
  93. package/dist/{chunk-4HA7IHLJ.cjs → chunk-C5IJIM2V.cjs} +38 -16
  94. package/dist/{chunk-SRLY7K6J.js → chunk-CAMZTXV6.js} +2 -2
  95. package/dist/chunk-CDBPBM2K.cjs +29 -0
  96. package/dist/chunk-CNBKZEX5.cjs +109 -0
  97. package/dist/{chunk-WQUQ5JMM.js → chunk-CWMZKFTT.js} +4 -4
  98. package/dist/{chunk-CKN2BLHK.cjs → chunk-CZXGCVTR.cjs} +2 -2
  99. package/dist/{chunk-SZP4ULM5.cjs → chunk-DJDE4DTT.cjs} +17 -17
  100. package/dist/chunk-DN573ME7.cjs +1675 -0
  101. package/dist/chunk-DRE2RXBZ.js +4498 -0
  102. package/dist/chunk-DSPQEHDT.js +29 -0
  103. package/dist/{chunk-SFNT5DYE.cjs → chunk-DVUHHH3B.cjs} +4 -4
  104. package/dist/chunk-DVZOENQ7.cjs +58 -0
  105. package/dist/{chunk-PWLLLJHU.js → chunk-EGFT4PGW.js} +3 -1
  106. package/dist/chunk-EGMZDTSL.js +55 -0
  107. package/dist/chunk-EZMINVLU.js +123 -0
  108. package/dist/chunk-FHK7UDOJ.cjs +42 -0
  109. package/dist/{chunk-KWRUQRXR.js → chunk-FKSDEWDH.js} +44 -10
  110. package/dist/chunk-FMB3TSWP.cjs +218 -0
  111. package/dist/chunk-FW774QXH.js +1838 -0
  112. package/dist/{chunk-MY3TZER2.js → chunk-G27PQQFD.js} +1 -1
  113. package/dist/{chunk-Y2ZSH3YF.cjs → chunk-G3V4SFET.cjs} +57 -23
  114. package/dist/chunk-G4CAKI3V.js +58 -0
  115. package/dist/{chunk-FB6JWNJS.js → chunk-GBHDROGL.js} +54 -65
  116. package/dist/{chunk-DEAEO7RI.js → chunk-GJH7XMSK.js} +15 -1
  117. package/dist/chunk-GLBAF54O.js +218 -0
  118. package/dist/{chunk-S47TCZDL.js → chunk-H5SWOLG6.js} +7 -7
  119. package/dist/chunk-HBXAA3XB.js +83 -0
  120. package/dist/{chunk-63BXZQZW.js → chunk-HIVRCQS2.js} +26 -4
  121. package/dist/{chunk-WOGJXDBU.cjs → chunk-HLHTG5ZU.cjs} +18 -4
  122. package/dist/{chunk-FK2DVRPJ.js → chunk-HLQV64Y5.js} +170 -4
  123. package/dist/chunk-HOAHWIQ5.cjs +260 -0
  124. package/dist/{chunk-D2XFTCRP.js → chunk-HQ7YZKXE.js} +1 -1
  125. package/dist/{chunk-L42HTMMR.cjs → chunk-HTLINWX6.cjs} +2 -2
  126. package/dist/{chunk-PKOAXQKW.cjs → chunk-HVKOZ2VP.cjs} +11 -11
  127. package/dist/chunk-HXGBSJL5.cjs +27 -0
  128. package/dist/chunk-I5IW3T2Y.js +310 -0
  129. package/dist/chunk-IETRBBMP.cjs +603 -0
  130. package/dist/{chunk-MTALRU7R.cjs → chunk-IFFXSTOM.cjs} +3 -3
  131. package/dist/{chunk-V7YTCNMN.cjs → chunk-IKGWDOGU.cjs} +174 -8
  132. package/dist/chunk-IQ5RXU6O.js +1675 -0
  133. package/dist/{chunk-ZBIBLOZL.js → chunk-IVM5F2AE.js} +500 -317
  134. package/dist/chunk-J4Q7XR3G.js +260 -0
  135. package/dist/{chunk-XL77XYI2.cjs → chunk-J6QET7EF.cjs} +27 -7
  136. package/dist/{chunk-TQB222ZB.js → chunk-JCLYQ2JC.js} +2 -2
  137. package/dist/chunk-JSBRDJBE.js +30 -0
  138. package/dist/{chunk-XPOHYKR3.js → chunk-JX3DFKBI.js} +2 -2
  139. package/dist/chunk-JYTDYJVW.js +27 -0
  140. package/dist/{chunk-6SHHB2VD.js → chunk-KPELYZ6L.js} +2 -2
  141. package/dist/{chunk-ZLOTP56B.cjs → chunk-KWXVKLQ5.cjs} +5 -5
  142. package/dist/chunk-L3WAH3EM.cjs +131 -0
  143. package/dist/{chunk-ZXIQCYYV.cjs → chunk-LA7H35XM.cjs} +9 -9
  144. package/dist/chunk-LENHP55G.cjs +1838 -0
  145. package/dist/chunk-LJFUXC56.cjs +123 -0
  146. package/dist/{chunk-R5OO7MEB.cjs → chunk-LNMYK2F5.cjs} +22 -22
  147. package/dist/chunk-LQGVEP3E.js +109 -0
  148. package/dist/{chunk-KXAAEROY.js → chunk-LWUJFGOZ.js} +2 -2
  149. package/dist/chunk-MAKMSQMQ.cjs +504 -0
  150. package/dist/{chunk-BG4OQUKP.js → chunk-MBBY4ZIK.js} +1 -1
  151. package/dist/chunk-MSED7RH2.cjs +267 -0
  152. package/dist/{chunk-NMGF2KUN.js → chunk-MYISNQH4.js} +1 -1
  153. package/dist/chunk-N23UAW4I.js +59 -0
  154. package/dist/chunk-N254NRHT.cjs +30 -0
  155. package/dist/{chunk-TOTDRAWG.js → chunk-NDMIPTV4.js} +1 -1
  156. package/dist/{chunk-AIH6GUGB.cjs → chunk-NNPAM4HC.cjs} +5 -5
  157. package/dist/{chunk-HSPWX4Z2.cjs → chunk-O4IF4NJT.cjs} +231 -44
  158. package/dist/{chunk-DZHR34H6.cjs → chunk-OGV4WJ5L.cjs} +8 -8
  159. package/dist/chunk-OHUZKDGX.js +348 -0
  160. package/dist/{chunk-BRXIEKJ3.cjs → chunk-OLSBBZW6.cjs} +5 -5
  161. package/dist/{chunk-MILZEEUV.js → chunk-OOKY3HPZ.js} +9 -3
  162. package/dist/chunk-P47WPOXN.js +298 -0
  163. package/dist/{chunk-ULMPJUJW.cjs → chunk-PRRCJFU3.cjs} +23 -23
  164. package/dist/{chunk-SMHY3Q7B.cjs → chunk-Q7XSCYND.cjs} +54 -22
  165. package/dist/chunk-QCLYBIMM.cjs +51 -0
  166. package/dist/chunk-QMAKTSZB.cjs +48 -0
  167. package/dist/{chunk-DTFR3WD6.js → chunk-QNGEW5TC.js} +1 -1
  168. package/dist/chunk-QOXPOR5D.js +267 -0
  169. package/dist/chunk-R33VKSH5.cjs +348 -0
  170. package/dist/{chunk-RJP3SZ7Q.cjs → chunk-RD5XAJR2.cjs} +492 -309
  171. package/dist/chunk-RGR6ME5J.cjs +844 -0
  172. package/dist/{chunk-EOGKE5GD.cjs → chunk-RKJTGGMU.cjs} +221 -126
  173. package/dist/{chunk-GD4AFYJ3.js → chunk-RO6WYEWH.js} +24 -4
  174. package/dist/chunk-S52YW5ZQ.js +844 -0
  175. package/dist/{chunk-6DWXHBAY.js → chunk-SAHBLB3E.js} +222 -127
  176. package/dist/{chunk-JHOQABEF.js → chunk-SCXX4LW5.js} +5 -5
  177. package/dist/{chunk-GIZL57FE.cjs → chunk-SEKD5FH3.cjs} +3 -1
  178. package/dist/{chunk-JWPI6O5Z.js → chunk-SKV2F3NM.js} +31 -4
  179. package/dist/{chunk-FHUNAB2K.cjs → chunk-SKYG33B2.cjs} +33 -6
  180. package/dist/{chunk-BISFR6ZL.js → chunk-SLQAYV3W.js} +1 -1
  181. package/dist/{chunk-RFNCTE4V.cjs → chunk-SYVYLZZF.cjs} +2 -2
  182. package/dist/{chunk-3XJD56Z4.js → chunk-T73IDKDF.js} +10 -3
  183. package/dist/chunk-TBEGGJNC.cjs +310 -0
  184. package/dist/{chunk-RRZS5A53.js → chunk-TNZRZQ7Q.js} +1 -1
  185. package/dist/{chunk-CH4SPVFD.cjs → chunk-TXSDBGKX.cjs} +10 -3
  186. package/dist/chunk-U3WDY42C.cjs +42 -0
  187. package/dist/{chunk-425MT6Y5.cjs → chunk-U46VYPLR.cjs} +9 -9
  188. package/dist/{chunk-OLG7LZBD.js → chunk-VG34MG2U.js} +1 -1
  189. package/dist/{chunk-XDVG3NM4.js → chunk-W3X6PAC7.js} +2 -48
  190. package/dist/{chunk-LYMTYC67.js → chunk-WHE2SWHU.js} +2 -2
  191. package/dist/chunk-WM5PAOTQ.cjs +4498 -0
  192. package/dist/chunk-WNUVPKBW.js +42 -0
  193. package/dist/{chunk-EV53SLSB.cjs → chunk-WPVWQSL7.cjs} +4 -4
  194. package/dist/chunk-WQ3VJXZB.js +118 -0
  195. package/dist/{chunk-HMRDNRTH.js → chunk-X2MSVKDV.js} +2 -2
  196. package/dist/chunk-X3WS5LDG.js +504 -0
  197. package/dist/{chunk-43XS26AQ.cjs → chunk-X5VSP65C.cjs} +4 -4
  198. package/dist/{chunk-DSCQPWUB.cjs → chunk-X5YJ34FZ.cjs} +15 -15
  199. package/dist/chunk-XAV24VYN.js +48 -0
  200. package/dist/chunk-XDLH4EDL.cjs +118 -0
  201. package/dist/{chunk-X765A7J5.js → chunk-XRZEUWKF.js} +1 -1
  202. package/dist/{chunk-ZKZRFH37.cjs → chunk-XTB6VJVQ.cjs} +6 -6
  203. package/dist/{chunk-H3GBSPK5.js → chunk-XX2ZO7DS.js} +14 -6
  204. package/dist/{chunk-RUZB43HU.cjs → chunk-Y72HH2TF.cjs} +22 -14
  205. package/dist/chunk-YFXTE422.cjs +92 -0
  206. package/dist/{chunk-OSUWEUZE.js → chunk-YGN4CQIP.js} +1 -1
  207. package/dist/{chunk-KC5FPUOF.cjs → chunk-YRLYSQEQ.cjs} +2 -2
  208. package/dist/{chunk-3KBBARKO.js → chunk-YZXUDM5X.js} +85 -28
  209. package/dist/chunk-Z36XBUMX.cjs +83 -0
  210. package/dist/chunk-ZK6HOR62.js +92 -0
  211. package/dist/{chunk-PDKNHU5G.cjs → chunk-ZQE72E6W.cjs} +22 -16
  212. package/dist/chunk-ZVY2XD6T.js +1607 -0
  213. package/dist/{chunk-XBUMKEFN.cjs → chunk-ZYQMLKOK.cjs} +91 -34
  214. package/dist/clear-UO4MNWZW.cjs +12 -0
  215. package/dist/clear-ZJ5NYP6E.js +12 -0
  216. package/dist/communityInstaller-6KCFN7YZ.js +19 -0
  217. package/dist/communityInstaller-PVSOFDZD.cjs +19 -0
  218. package/dist/completion-MMF2PN2H.js +14 -0
  219. package/dist/completion-UI5WKHXI.cjs +14 -0
  220. package/dist/config-E7RINK4R.cjs +18 -0
  221. package/dist/config-ZN66VXPS.js +18 -0
  222. package/dist/constants-6CPCJ3DY.cjs +21 -0
  223. package/dist/{constants-V6J54N3X.js → constants-UFM5B232.js} +2 -1
  224. package/dist/{defaultHooks-WLMRQUXG.cjs → defaultHooks-RCXPHF4M.cjs} +3 -1
  225. package/dist/{defaultHooks-R56VYG7I.js → defaultHooks-RDRMER3Z.js} +2 -0
  226. package/dist/export-N4XIVDSL.cjs +12 -0
  227. package/dist/export-W22L4D5C.js +12 -0
  228. package/dist/extractSessionMemories-SDW2MVBQ.cjs +7 -0
  229. package/dist/extractSessionMemories-V7K42ZHW.js +7 -0
  230. package/dist/feedback-DR6ADSNE.cjs +15 -0
  231. package/dist/feedback-FEEAP4QW.js +15 -0
  232. package/dist/filesystem-3SGCW2BF.js +10 -0
  233. package/dist/filesystem-MCFXJQ6R.cjs +10 -0
  234. package/dist/formatters-6K7QVWQL.cjs +10 -0
  235. package/dist/formatters-DQHO5I36.js +10 -0
  236. package/dist/{help-LKKQU2TN.js → help-2BLR7L43.js} +3 -2
  237. package/dist/help-AQHGTS7P.cjs +12 -0
  238. package/dist/{history-AV4XBFRK.js → history-5FZ3M2AK.js} +3 -2
  239. package/dist/history-NIUDRMKA.cjs +14 -0
  240. package/dist/hooks-2EY4IPKV.js +13 -0
  241. package/dist/hooks-LJVORRIG.cjs +13 -0
  242. package/dist/i18n-ARDG2SMC.cjs +33 -0
  243. package/dist/{i18n-BSAPXM56.js → i18n-K7QOWIBH.js} +2 -1
  244. package/dist/ide-GFW6IJHD.js +12 -0
  245. package/dist/ide-N2ZNSSB3.cjs +12 -0
  246. package/dist/import-DFVN3KNZ.js +10 -0
  247. package/dist/import-QEME3E4T.cjs +170 -0
  248. package/dist/import-UXM3VK7B.js +170 -0
  249. package/dist/import-ZS6DPGU5.cjs +10 -0
  250. package/dist/index.cjs +11233 -11804
  251. package/dist/index.js +12594 -13165
  252. package/dist/init-PY75HA3S.cjs +10 -0
  253. package/dist/init-QNMWLAVY.js +10 -0
  254. package/dist/language-5UE4G2BT.cjs +18 -0
  255. package/dist/language-UXMHEZUJ.js +18 -0
  256. package/dist/learn-HJ3FLNZC.cjs +20 -0
  257. package/dist/learn-MVYS3RU5.js +20 -0
  258. package/dist/{lint-44UQJ673.cjs → lint-D5UOJWIK.cjs} +1 -0
  259. package/dist/{lint-TA2ZHVLM.js → lint-NJPZWVN2.js} +1 -0
  260. package/dist/{localProjectPermissions-WQYMGI42.js → localProjectPermissions-N77HA3XK.js} +3 -2
  261. package/dist/localProjectPermissions-UFSMNTBJ.cjs +18 -0
  262. package/dist/login-DSE7H63A.js +20 -0
  263. package/dist/login-V3MEWPKN.cjs +20 -0
  264. package/dist/logout-BMVCLKKW.js +18 -0
  265. package/dist/logout-XEG7FHOZ.cjs +18 -0
  266. package/dist/mcp-PYUR4PHO.js +18 -0
  267. package/dist/mcp-SG6JFLGC.cjs +18 -0
  268. package/dist/{mcp-install-2KVKRAMQ.cjs → mcp-install-G27HSS3Z.cjs} +26 -14
  269. package/dist/{mcp-install-77UXRN6R.js → mcp-install-VESN42PI.js} +21 -9
  270. package/dist/memory-4ZMMEZ2Z.js +10 -0
  271. package/dist/memory-QSGMVVGH.cjs +10 -0
  272. package/dist/message-JUBOK2VU.js +9 -0
  273. package/dist/message-ZJ5AYAMT.cjs +9 -0
  274. package/dist/model-NANLBZ4Z.cjs +10 -0
  275. package/dist/model-ZXNV4AF7.js +10 -0
  276. package/dist/new-5QJY5JP2.js +12 -0
  277. package/dist/new-PMMG55UX.cjs +12 -0
  278. package/dist/{patch-BAAQIYSW.js → patch-5F6VBIT3.js} +2 -0
  279. package/dist/{patch-J32X2QQP.cjs → patch-MOD7QC3D.cjs} +3 -1
  280. package/dist/permissions-LECTCJ4H.cjs +13 -0
  281. package/dist/permissions-VP5VGIBL.js +13 -0
  282. package/dist/{plan-JFGNRL2S.js → plan-G5CEKJI4.js} +1 -0
  283. package/dist/{plan-B3CW5DXJ.cjs → plan-QKOHE3LH.cjs} +1 -0
  284. package/dist/quit-BKOOPHU5.cjs +10 -0
  285. package/dist/quit-FVFNYACP.js +10 -0
  286. package/dist/registry-KWZGYJC2.js +2108 -0
  287. package/dist/registry-YN4FQPOO.cjs +2108 -0
  288. package/dist/resume-EXFQSQPH.js +13 -0
  289. package/dist/resume-PP2IQM5S.cjs +13 -0
  290. package/dist/search-C56FBN67.cjs +17 -0
  291. package/dist/search-XGZDYBF4.js +17 -0
  292. package/dist/{session-T3TAZ5ZU.cjs → session-BSU2L5UI.cjs} +1 -0
  293. package/dist/{session-H5QWKE5E.js → session-SZMRN5KG.js} +1 -0
  294. package/dist/sessions-54KI3F2Q.js +10 -0
  295. package/dist/sessions-DDTSPNVW.cjs +10 -0
  296. package/dist/settings-BDO37TTO.cjs +30 -0
  297. package/dist/settings-FHRDFPLK.js +30 -0
  298. package/dist/share-IERCTBGN.cjs +14 -0
  299. package/dist/share-TGROUE6R.js +14 -0
  300. package/dist/skills-6OL4OSGA.js +76 -0
  301. package/dist/skills-FYY6F2WV.cjs +76 -0
  302. package/dist/skills-OM4IGBAA.cjs +26 -0
  303. package/dist/skills-S3GRN323.js +26 -0
  304. package/dist/{skills-install-MQINL3EC.js → skills-install-6CSWC24P.js} +97 -26
  305. package/dist/{skills-install-IKJZN4G2.cjs → skills-install-O3LZ2ETC.cjs} +106 -35
  306. package/dist/skills-new-ALD2PTHN.js +15 -0
  307. package/dist/skills-new-PWLKK7GW.cjs +15 -0
  308. package/dist/slashCommands-L4ZD33LJ.js +75 -0
  309. package/dist/slashCommands-YY2VUUDF.cjs +75 -0
  310. package/dist/status-3PC5XWSS.cjs +11 -0
  311. package/dist/status-KCLVOYPD.js +11 -0
  312. package/dist/sync-6SDWG5RK.js +18 -0
  313. package/dist/sync-7JMZVEQD.cjs +40 -0
  314. package/dist/{sync-EXYX7HXW.js → sync-KWX67OUN.js} +3 -2
  315. package/dist/sync-WHURZL3U.cjs +18 -0
  316. package/dist/tasks-5FPBIFLC.js +9 -0
  317. package/dist/tasks-TXGKGNH6.cjs +9 -0
  318. package/dist/team-5YXP3JGR.js +9 -0
  319. package/dist/team-IIWEZKNR.cjs +9 -0
  320. package/dist/teammate-2KMKJXAM.cjs +139 -0
  321. package/dist/teammate-L6EZQ3I2.js +139 -0
  322. package/dist/theme-BE5A4FPN.cjs +18 -0
  323. package/dist/theme-YMFCQP7J.js +18 -0
  324. package/dist/ui/questionModal.cjs +7 -25
  325. package/dist/ui/questionModal.js +6 -24
  326. package/dist/undo-KZHUUZTD.cjs +10 -0
  327. package/dist/undo-NEIEHQVX.js +10 -0
  328. package/dist/update-TVAJMMBC.js +82 -0
  329. package/dist/update-Z6BIIQDC.cjs +82 -0
  330. package/package.json +10 -3
  331. package/dist/CommunitySkillsCache-ILWHWE5P.js +0 -7
  332. package/dist/CommunitySkillsCache-KHC6RUJW.cjs +0 -7
  333. package/dist/HookManager-X47HCM5G.cjs +0 -6
  334. package/dist/HookManager-ZXKHCD7U.js +0 -6
  335. package/dist/MemoryManager-6ZT7IDO5.cjs +0 -7
  336. package/dist/MemoryManager-AJGS5AKB.js +0 -7
  337. package/dist/PermissionManager-HG6W2DGU.cjs +0 -10
  338. package/dist/SessionManager-BJ2G6VV4.cjs +0 -9
  339. package/dist/SessionManager-ENPGYK5J.js +0 -9
  340. package/dist/SkillsRegistry-6ZFOCT25.cjs +0 -8
  341. package/dist/SkillsRegistry-C2SHOZ5D.js +0 -8
  342. package/dist/about-3BJTNSLK.js +0 -11
  343. package/dist/about-EABQNJGV.cjs +0 -11
  344. package/dist/add-dir-7FD4DMDA.cjs +0 -9
  345. package/dist/add-dir-LOYJ4YB5.js +0 -9
  346. package/dist/agents-2Y6ASV7C.js +0 -10
  347. package/dist/agents-UOSPKLQL.cjs +0 -10
  348. package/dist/agents-new-23NSGAM5.js +0 -13
  349. package/dist/agents-new-WI2EL7IJ.cjs +0 -13
  350. package/dist/automode-LGWTY3UX.js +0 -9
  351. package/dist/automode-WLBQ7MN7.cjs +0 -9
  352. package/dist/chunk-5UBW2BGC.js +0 -33
  353. package/dist/chunk-I6DBWNLN.cjs +0 -169
  354. package/dist/chunk-IZBCMJHJ.cjs +0 -33
  355. package/dist/completion-7WGMHKOR.cjs +0 -13
  356. package/dist/completion-KH33NSGP.js +0 -13
  357. package/dist/constants-RBQTR32A.cjs +0 -20
  358. package/dist/export-3QN3IH7A.js +0 -11
  359. package/dist/export-BI54X3MP.cjs +0 -11
  360. package/dist/feedback-CI4OIPOS.cjs +0 -14
  361. package/dist/feedback-GFPL5STE.js +0 -14
  362. package/dist/formatters-N5IJKYZY.cjs +0 -8
  363. package/dist/formatters-UG6VZJJ5.js +0 -8
  364. package/dist/help-CWMUGD3V.cjs +0 -11
  365. package/dist/history-73VBEMSI.cjs +0 -13
  366. package/dist/hooks-62UDQBGH.cjs +0 -12
  367. package/dist/hooks-XORDJD5X.js +0 -12
  368. package/dist/i18n-X2IU2EZD.cjs +0 -32
  369. package/dist/ide-RPKZALQV.js +0 -11
  370. package/dist/ide-YMNXJB6A.cjs +0 -11
  371. package/dist/init-J5HR4R7U.js +0 -9
  372. package/dist/init-JCC7RVMC.cjs +0 -9
  373. package/dist/language-AZISJCEZ.js +0 -16
  374. package/dist/language-F65RA6FZ.cjs +0 -16
  375. package/dist/localProjectPermissions-2EATUDZM.cjs +0 -17
  376. package/dist/login-5HLPMECE.js +0 -18
  377. package/dist/login-ISWYYBXP.cjs +0 -18
  378. package/dist/logout-3EKZM5J3.cjs +0 -16
  379. package/dist/logout-GE7TSZ24.js +0 -16
  380. package/dist/mcp-EW64QRFA.cjs +0 -15
  381. package/dist/mcp-VHS7AMF2.js +0 -15
  382. package/dist/memory-2I473RU3.js +0 -9
  383. package/dist/memory-JZ6NPSP3.cjs +0 -9
  384. package/dist/model-GXZLARPT.js +0 -9
  385. package/dist/model-Y274DBDO.cjs +0 -9
  386. package/dist/new-BG5VIGZ7.cjs +0 -9
  387. package/dist/new-YXFDQOA7.js +0 -9
  388. package/dist/permissions-QILEAGBP.cjs +0 -12
  389. package/dist/permissions-WVEOVMWO.js +0 -12
  390. package/dist/quit-NC32OEJG.cjs +0 -9
  391. package/dist/quit-WRRIGU33.js +0 -9
  392. package/dist/resume-GJIKIDPR.cjs +0 -12
  393. package/dist/resume-RMJNCAOK.js +0 -12
  394. package/dist/search-UIWIXB73.js +0 -14
  395. package/dist/search-WQNXDA2E.cjs +0 -14
  396. package/dist/sessions-HPFX2GDD.js +0 -9
  397. package/dist/sessions-SAQU6MFA.cjs +0 -9
  398. package/dist/share-2WH5ZVOO.cjs +0 -13
  399. package/dist/share-PSSWWVV5.js +0 -13
  400. package/dist/skills-LJZA6PVJ.js +0 -13
  401. package/dist/skills-YTYGART7.cjs +0 -13
  402. package/dist/skills-new-3WCU3CWB.js +0 -14
  403. package/dist/skills-new-O5LFVFZU.cjs +0 -14
  404. package/dist/slashCommands-7IRDOXOQ.cjs +0 -55
  405. package/dist/slashCommands-C6CAQA25.js +0 -55
  406. package/dist/status-4EDV2LSY.cjs +0 -10
  407. package/dist/status-NU7TJDCE.js +0 -10
  408. package/dist/sync-3GFSEIAZ.js +0 -16
  409. package/dist/sync-6M3WRKMH.cjs +0 -39
  410. package/dist/sync-CQNQDNTJ.cjs +0 -16
  411. package/dist/theme-EMJGULMI.cjs +0 -16
  412. package/dist/theme-FGDSXNU3.js +0 -16
  413. package/dist/undo-CTXQYE7C.cjs +0 -9
  414. package/dist/undo-HX2ZMECP.js +0 -9
@@ -1,15 +1,23 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkRJP3SZ7Qcjs = require('./chunk-RJP3SZ7Q.cjs');
3
+ var _chunkXDLH4EDLcjs = require('./chunk-XDLH4EDL.cjs');
4
4
 
5
5
 
6
- var _chunkAIH6GUGBcjs = require('./chunk-AIH6GUGB.cjs');
6
+ var _chunkNNPAM4HCcjs = require('./chunk-NNPAM4HC.cjs');
7
7
 
8
8
 
9
- var _chunk2U5HFVROcjs = require('./chunk-2U5HFVRO.cjs');
9
+
10
+ var _chunkBWN2CLLMcjs = require('./chunk-BWN2CLLM.cjs');
11
+
12
+
13
+ var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
14
+
15
+
16
+ var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
10
17
 
11
18
  // src/commands/mcp.ts
12
19
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
20
+ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
13
21
 
14
22
  // src/ui/ink/components/McpServerList.tsx
15
23
  var _react = require('react');
@@ -111,14 +119,14 @@ async function showMcpServerList(options) {
111
119
  let completed = false;
112
120
  let instance;
113
121
  const renderList = () => {
114
- const element = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAIH6GUGBcjs.I18nProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
122
+ const element = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNPAM4HCcjs.I18nProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
115
123
  McpServerList,
116
124
  {
117
125
  servers: currentServers,
118
126
  onToggle: async (name, status) => {
119
127
  currentServers = await options.onToggle(name, status);
120
128
  instance.rerender(
121
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAIH6GUGBcjs.I18nProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
129
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNPAM4HCcjs.I18nProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
122
130
  McpServerList,
123
131
  {
124
132
  servers: currentServers,
@@ -155,8 +163,34 @@ async function showMcpServerList(options) {
155
163
  }
156
164
 
157
165
  // src/commands/mcp.ts
166
+ function normalizeMcpScope(scopeInput) {
167
+ const scope = (_nullishCoalesce(scopeInput, () => ( "user"))).toLowerCase();
168
+ if (scope === "user" || scope === "project") {
169
+ return scope;
170
+ }
171
+ return null;
172
+ }
173
+ async function loadConfigForScope(scopeInput, workspaceRoot) {
174
+ const scope = normalizeMcpScope(scopeInput);
175
+ if (!scope) {
176
+ throw new Error(`Invalid scope "${scopeInput}". Use: user or project.`);
177
+ }
178
+ if (scope === "user") {
179
+ return { config: await _chunkBWN2CLLMcjs.loadConfig.call(void 0, ), scope };
180
+ }
181
+ if (!workspaceRoot) {
182
+ throw new Error("Workspace root is required for project scope.");
183
+ }
184
+ const projectConfigPath = _path2.default.join(workspaceRoot, _chunkSEKD5FH3cjs.PROJECT_DIR_NAME, "config.json");
185
+ return { config: await _chunkBWN2CLLMcjs.loadConfig.call(void 0, projectConfigPath), scope };
186
+ }
187
+ function syncRuntimeConfig(runtimeConfig, updatedConfig) {
188
+ if (!runtimeConfig) return;
189
+ if (runtimeConfig.configPath !== updatedConfig.configPath) return;
190
+ runtimeConfig.mcp = updatedConfig.mcp;
191
+ }
158
192
  async function mcp(ctx, args = []) {
159
- const { mcpManager, config } = ctx;
193
+ const { mcpManager, config, workspaceRoot } = ctx;
160
194
  if (!mcpManager) {
161
195
  return "MCP manager not available.";
162
196
  }
@@ -170,10 +204,10 @@ async function mcp(ctx, args = []) {
170
204
  case "tools":
171
205
  return handleListTools(mcpManager);
172
206
  case "add":
173
- return handleAdd(mcpManager, config, args.slice(1));
207
+ return handleAdd(mcpManager, config, args.slice(1), workspaceRoot);
174
208
  case "remove":
175
209
  case "rm":
176
- return handleRemove(mcpManager, config, args.slice(1));
210
+ return handleRemove(mcpManager, config, args.slice(1), workspaceRoot);
177
211
  default:
178
212
  return showInteractiveList(mcpManager, config);
179
213
  }
@@ -183,7 +217,8 @@ function buildServerItems(manager, config) {
183
217
  const items = runtimeServers.map((s) => ({
184
218
  name: s.name,
185
219
  status: s.status,
186
- toolCount: s.toolCount
220
+ toolCount: s.toolCount,
221
+ error: s.error
187
222
  }));
188
223
  const runtimeNames = new Set(runtimeServers.map((s) => s.name));
189
224
  const configServers = _nullishCoalesce(_optionalChain([config, 'optionalAccess', _4 => _4.mcp, 'optionalAccess', _5 => _5.servers]), () => ( []));
@@ -203,13 +238,14 @@ async function showInteractiveList(manager, config) {
203
238
  if (items.length === 0) {
204
239
  const lines = [];
205
240
  lines.push("");
206
- lines.push(_chalk2.default.bold.cyan(_chunk2U5HFVROcjs.t.call(void 0, "commands.mcp.title")));
241
+ lines.push(_chalk2.default.bold.cyan(_chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.title")));
207
242
  lines.push(_chalk2.default.gray("\u2500".repeat(50)));
208
243
  lines.push("");
209
- lines.push(_chunk2U5HFVROcjs.t.call(void 0, "commands.mcp.noServers"));
244
+ lines.push(_chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.noServers"));
210
245
  lines.push("");
211
246
  lines.push(_chalk2.default.gray("Add a server:"));
212
- lines.push(_chalk2.default.gray(" /mcp add <name> <command> [args...]"));
247
+ lines.push(_chalk2.default.gray(" /mcp add [--scope user|project] <name> <command> [args...]"));
248
+ lines.push(_chalk2.default.gray(" /mcp add --transport http <name> <url>"));
213
249
  lines.push("");
214
250
  lines.push(_chalk2.default.gray("Browse community servers:"));
215
251
  lines.push(_chalk2.default.gray(" /mcp install"));
@@ -256,7 +292,7 @@ async function handleConnect(manager, config, args) {
256
292
  return `Server "${serverName}" not found in config. Use /mcp add to add it first.`;
257
293
  }
258
294
  try {
259
- console.log(_chalk2.default.cyan(_chunk2U5HFVROcjs.t.call(void 0, "commands.mcp.connecting")));
295
+ console.log(_chalk2.default.cyan(_chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.connecting")));
260
296
  await manager.connect(serverConfig);
261
297
  const tools = manager.getToolsForServer(serverName);
262
298
  return `Connected to ${serverName} (${tools.length} tools available)`;
@@ -305,76 +341,227 @@ function handleListTools(manager) {
305
341
  lines.push(_chalk2.default.gray(`Total: ${tools.length} tools from ${byServer.size} servers`));
306
342
  return lines.join("\n");
307
343
  }
308
- async function handleAdd(manager, config, args) {
309
- if (args.length < 2) {
310
- return "Usage: /mcp add <name> <command> [args...]";
344
+ async function handleAdd(manager, config, args, workspaceRoot) {
345
+ let transport = "stdio";
346
+ let scopeInput;
347
+ const positional = [];
348
+ for (let i = 0; i < args.length; i++) {
349
+ const token = args[i];
350
+ if (token === "--transport" || token === "-t") {
351
+ const value = args[i + 1];
352
+ if (!value) {
353
+ return "Usage: /mcp add [--transport <stdio|http|sse>] [--scope <user|project>] <name> <command-or-url> [args...]";
354
+ }
355
+ const lowered = value.toLowerCase();
356
+ if (lowered !== "stdio" && lowered !== "http" && lowered !== "sse") {
357
+ return `Invalid transport "${value}". Use: stdio or http.`;
358
+ }
359
+ transport = lowered;
360
+ i++;
361
+ continue;
362
+ }
363
+ if (token === "--scope" || token === "-s") {
364
+ const value = args[i + 1];
365
+ if (!value) {
366
+ return "Usage: /mcp add [--transport <stdio|http|sse>] [--scope <user|project>] <name> <command-or-url> [args...]";
367
+ }
368
+ scopeInput = value;
369
+ i++;
370
+ continue;
371
+ }
372
+ positional.push(token);
373
+ }
374
+ if (positional.length < 2) {
375
+ return "Usage: /mcp add [--transport <stdio|http|sse>] [--scope <user|project>] <name> <command-or-url> [args...]";
376
+ }
377
+ const [name, target, ...serverArgs] = positional;
378
+ if (transport === "sse") {
379
+ return "SSE transport is not implemented yet. Use --transport http or stdio.";
380
+ }
381
+ if (transport === "http" && serverArgs.length > 0) {
382
+ return `Transport "${transport}" does not accept extra args. Usage: /mcp add --transport ${transport} <name> <url>`;
383
+ }
384
+ let targetConfig = config;
385
+ let scopeLabel;
386
+ if (scopeInput) {
387
+ try {
388
+ const scoped = await loadConfigForScope(scopeInput, workspaceRoot);
389
+ targetConfig = scoped.config;
390
+ scopeLabel = scoped.scope;
391
+ } catch (error) {
392
+ return error instanceof Error ? error.message : String(error);
393
+ }
311
394
  }
312
- if (!config) {
395
+ if (!targetConfig) {
313
396
  return "Config not available.";
314
397
  }
315
- const [name, command, ...serverArgs] = args;
316
- if (_optionalChain([config, 'access', _14 => _14.mcp, 'optionalAccess', _15 => _15.servers, 'optionalAccess', _16 => _16.some, 'call', _17 => _17((s) => s.name === name)])) {
317
- return `Server "${name}" already exists in config. Use /mcp remove first.`;
398
+ const normalized = _chunkXDLH4EDLcjs.normalizeMcpCommandForConfig.call(void 0,
399
+ target,
400
+ serverArgs.length > 0 ? serverArgs : void 0
401
+ );
402
+ const normalizedCommand = _nullishCoalesce(normalized.command, () => ( target));
403
+ const normalizedArgs = normalized.args;
404
+ if (!targetConfig.mcp) {
405
+ targetConfig.mcp = {};
318
406
  }
319
- if (!config.mcp) {
320
- config.mcp = {};
407
+ if (!targetConfig.mcp.servers) {
408
+ targetConfig.mcp.servers = [];
321
409
  }
322
- if (!config.mcp.servers) {
323
- config.mcp.servers = [];
410
+ const wasMcpDisabled = targetConfig.mcp.enabled === false;
411
+ if (wasMcpDisabled) {
412
+ targetConfig.mcp.enabled = true;
324
413
  }
325
- const newServer = {
414
+ const newServer = transport === "stdio" ? {
326
415
  name,
327
416
  transport: "stdio",
328
- command,
329
- args: serverArgs.length > 0 ? serverArgs : void 0,
417
+ command: normalizedCommand,
418
+ args: normalizedArgs,
419
+ autoConnect: true
420
+ } : {
421
+ name,
422
+ transport: "http",
423
+ url: target,
330
424
  autoConnect: true
331
425
  };
332
- config.mcp.servers.push(newServer);
426
+ const displayTarget = transport === "stdio" ? `${normalizedCommand} ${(_nullishCoalesce(normalizedArgs, () => ( []))).join(" ")}`.trim() : target;
427
+ const existing = targetConfig.mcp.servers.find((s) => s.name === name);
428
+ const scopeSuffix = scopeLabel ? ` in ${scopeLabel} config` : "";
429
+ if (existing) {
430
+ const sameConfig = transport === "stdio" ? existing.transport === "stdio" && existing.command === normalizedCommand && JSON.stringify(existing.args) === JSON.stringify(normalizedArgs) : existing.transport === transport && existing.url === target;
431
+ if (sameConfig) {
432
+ const wasAutoConnectDisabled = existing.autoConnect === false;
433
+ if (!wasAutoConnectDisabled && !wasMcpDisabled) {
434
+ return `Server "${name}" is already configured with the same settings${scopeSuffix}.`;
435
+ }
436
+ existing.autoConnect = true;
437
+ const reenabledParts = [];
438
+ if (wasMcpDisabled) reenabledParts.push("MCP support");
439
+ if (wasAutoConnectDisabled) reenabledParts.push("auto-connect");
440
+ const reenabled = reenabledParts.join(" and ");
441
+ try {
442
+ await _chunkBWN2CLLMcjs.saveConfig.call(void 0, targetConfig);
443
+ syncRuntimeConfig(config, targetConfig);
444
+ try {
445
+ await manager.connect(existing);
446
+ const tools = manager.getToolsForServer(name);
447
+ return `Server "${name}" is already configured${scopeSuffix}. Re-enabled ${reenabled} and connected (${tools.length} tools available).`;
448
+ } catch (connectError) {
449
+ return `Server "${name}" is already configured${scopeSuffix}. Re-enabled ${reenabled} but failed to connect: ${connectError instanceof Error ? connectError.message : "Unknown error"}`;
450
+ }
451
+ } catch (error) {
452
+ return `Failed to save config: ${error instanceof Error ? error.message : "Unknown error"}`;
453
+ }
454
+ }
455
+ existing.transport = newServer.transport;
456
+ if (newServer.transport === "stdio") {
457
+ existing.command = newServer.command;
458
+ existing.args = newServer.args;
459
+ existing.url = void 0;
460
+ } else {
461
+ existing.url = newServer.url;
462
+ existing.command = void 0;
463
+ existing.args = void 0;
464
+ }
465
+ existing.autoConnect = true;
466
+ try {
467
+ await _chunkBWN2CLLMcjs.saveConfig.call(void 0, targetConfig);
468
+ syncRuntimeConfig(config, targetConfig);
469
+ try {
470
+ await manager.disconnect(name);
471
+ } catch (e3) {
472
+ }
473
+ try {
474
+ await manager.connect(existing);
475
+ const tools = manager.getToolsForServer(name);
476
+ return `Updated and reconnected "${name}"${scopeSuffix} (${transport}: ${displayTarget}, ${tools.length} tools available)`;
477
+ } catch (connectError) {
478
+ return `Updated "${name}" config${scopeSuffix} but failed to reconnect: ${connectError instanceof Error ? connectError.message : "Unknown error"}`;
479
+ }
480
+ } catch (error) {
481
+ return `Failed to save config: ${error instanceof Error ? error.message : "Unknown error"}`;
482
+ }
483
+ }
484
+ targetConfig.mcp.servers.push(newServer);
333
485
  try {
334
- await _chunkRJP3SZ7Qcjs.saveConfig.call(void 0, config);
486
+ await _chunkBWN2CLLMcjs.saveConfig.call(void 0, targetConfig);
487
+ syncRuntimeConfig(config, targetConfig);
335
488
  try {
336
489
  await manager.connect(newServer);
337
490
  const tools = manager.getToolsForServer(name);
338
- return `Added and connected to "${name}" (${tools.length} tools available)`;
491
+ return `Added and connected to "${name}"${scopeSuffix} (${transport}: ${displayTarget}, ${tools.length} tools available)`;
339
492
  } catch (connectError) {
340
- return `Added "${name}" to config but failed to connect: ${connectError instanceof Error ? connectError.message : "Unknown error"}`;
493
+ return `Added "${name}" to config${scopeSuffix} but failed to connect: ${connectError instanceof Error ? connectError.message : "Unknown error"}`;
341
494
  }
342
495
  } catch (error) {
343
496
  return `Failed to save config: ${error instanceof Error ? error.message : "Unknown error"}`;
344
497
  }
345
498
  }
346
- async function handleRemove(manager, config, args) {
347
- const serverName = args[0];
499
+ async function handleRemove(manager, config, args, workspaceRoot) {
500
+ let scopeInput;
501
+ const positional = [];
502
+ for (let i = 0; i < args.length; i++) {
503
+ const token = args[i];
504
+ if (token === "--scope" || token === "-s") {
505
+ const value = args[i + 1];
506
+ if (!value) {
507
+ return "Usage: /mcp remove [--scope <user|project>] <server-name>";
508
+ }
509
+ scopeInput = value;
510
+ i++;
511
+ continue;
512
+ }
513
+ positional.push(token);
514
+ }
515
+ const serverName = positional[0];
348
516
  if (!serverName) {
349
- return "Usage: /mcp remove <server-name>";
517
+ return "Usage: /mcp remove [--scope <user|project>] <server-name>";
350
518
  }
351
- if (!config) {
519
+ let targetConfig = config;
520
+ let scopeLabel;
521
+ if (scopeInput) {
522
+ try {
523
+ const scoped = await loadConfigForScope(scopeInput, workspaceRoot);
524
+ targetConfig = scoped.config;
525
+ scopeLabel = scoped.scope;
526
+ } catch (error) {
527
+ return error instanceof Error ? error.message : String(error);
528
+ }
529
+ }
530
+ if (!targetConfig) {
352
531
  return "Config not available.";
353
532
  }
354
- const serverIndex = _optionalChain([config, 'access', _18 => _18.mcp, 'optionalAccess', _19 => _19.servers, 'optionalAccess', _20 => _20.findIndex, 'call', _21 => _21((s) => s.name === serverName)]);
533
+ const serverIndex = _optionalChain([targetConfig, 'access', _14 => _14.mcp, 'optionalAccess', _15 => _15.servers, 'optionalAccess', _16 => _16.findIndex, 'call', _17 => _17((s) => s.name === serverName)]);
355
534
  if (serverIndex === void 0 || serverIndex < 0) {
356
- return `Server "${serverName}" not found in config.`;
535
+ return `Server "${serverName}" not found in ${scopeLabel ? `${scopeLabel} config` : "config"}.`;
357
536
  }
358
537
  try {
359
538
  await manager.disconnect(serverName);
360
- } catch (e3) {
539
+ } catch (e4) {
361
540
  }
362
- config.mcp.servers.splice(serverIndex, 1);
541
+ targetConfig.mcp.servers.splice(serverIndex, 1);
363
542
  try {
364
- await _chunkRJP3SZ7Qcjs.saveConfig.call(void 0, config);
365
- return `Removed "${serverName}" from config`;
543
+ await _chunkBWN2CLLMcjs.saveConfig.call(void 0, targetConfig);
544
+ syncRuntimeConfig(config, targetConfig);
545
+ return `Removed "${serverName}" from ${scopeLabel ? `${scopeLabel} config` : "config"}`;
366
546
  } catch (error) {
367
547
  return `Failed to save config: ${error instanceof Error ? error.message : "Unknown error"}`;
368
548
  }
369
549
  }
370
550
  var metadata = {
371
551
  command: "/mcp",
372
- description: _chunk2U5HFVROcjs.t.call(void 0, "commands.mcp.description"),
373
- implemented: true
552
+ description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.description"),
553
+ implemented: true,
554
+ subcommands: [
555
+ { name: "connect", description: "Connect to a configured MCP server" },
556
+ { name: "disconnect", description: "Disconnect from a server" },
557
+ { name: "list", description: "List available tools from servers" },
558
+ { name: "add", description: "Add a server to config" },
559
+ { name: "remove", description: "Remove a server from config" }
560
+ ]
374
561
  };
375
562
  var installMetadata = {
376
563
  command: "/mcp install",
377
- description: _chunk2U5HFVROcjs.t.call(void 0, "commands.mcp.installDescription"),
564
+ description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.installDescription"),
378
565
  implemented: true
379
566
  };
380
567
 
@@ -1,17 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
- var _chunkRJP3SZ7Qcjs = require('./chunk-RJP3SZ7Q.cjs');
4
+ var _chunkBWN2CLLMcjs = require('./chunk-BWN2CLLM.cjs');
5
5
 
6
6
 
7
- var _chunk2U5HFVROcjs = require('./chunk-2U5HFVRO.cjs');
7
+ var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
8
8
 
9
9
  // src/commands/sync.ts
10
10
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
11
11
  var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);
12
12
  var metadata = {
13
13
  command: "/sync",
14
- description: _chunk2U5HFVROcjs.t.call(void 0, "commands.sync.description"),
14
+ description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.description"),
15
15
  implemented: true
16
16
  };
17
17
  var globalSyncService = null;
@@ -22,7 +22,7 @@ function getSyncService() {
22
22
  return globalSyncService;
23
23
  }
24
24
  async function sync(ctx) {
25
- const config = await _chunkRJP3SZ7Qcjs.loadConfig.call(void 0, );
25
+ const config = await _chunkBWN2CLLMcjs.loadConfig.call(void 0, );
26
26
  const isLoggedIn = Boolean(_optionalChain([config, 'access', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'access', _3 => _3.auth, 'optionalAccess', _4 => _4.user]));
27
27
  if (!isLoggedIn) {
28
28
  console.log(_chalk2.default.yellow("\nSettings sync requires authentication."));
@@ -119,7 +119,7 @@ function renderSyncUI(data, ctx) {
119
119
  } else {
120
120
  console.log(_chalk2.default.red(`Sync failed: ${result.error}`));
121
121
  }
122
- const config = await _chunkRJP3SZ7Qcjs.loadConfig.call(void 0, );
122
+ const config = await _chunkBWN2CLLMcjs.loadConfig.call(void 0, );
123
123
  Object.assign(data, await gatherSyncData(ctx, config));
124
124
  } catch (err) {
125
125
  console.log(_chalk2.default.red(`Sync error: ${err}`));
@@ -131,13 +131,13 @@ function renderSyncUI(data, ctx) {
131
131
  }
132
132
  if (char === "e") {
133
133
  try {
134
- const config = await _chunkRJP3SZ7Qcjs.loadConfig.call(void 0, );
134
+ const config = await _chunkBWN2CLLMcjs.loadConfig.call(void 0, );
135
135
  const newEnabled = _optionalChain([config, 'access', _16 => _16.sync, 'optionalAccess', _17 => _17.enabled]) === false;
136
136
  config.sync = { ...config.sync, enabled: newEnabled };
137
- await _chunkRJP3SZ7Qcjs.saveConfig.call(void 0, config);
137
+ await _chunkBWN2CLLMcjs.saveConfig.call(void 0, config);
138
138
  data.enabled = newEnabled;
139
139
  console.log(_chalk2.default.cyan(`
140
- ${newEnabled ? _chunk2U5HFVROcjs.t.call(void 0, "commands.sync.enabled") : _chunk2U5HFVROcjs.t.call(void 0, "commands.sync.disabled")}`));
140
+ ${newEnabled ? _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.enabled") : _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.disabled")}`));
141
141
  await sleep(1e3);
142
142
  render();
143
143
  } catch (err) {