autohand-cli 0.7.14 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/assets/icon.png +0 -0
  2. package/dist/AgentRegistry-7LDL5HJH.js +10 -0
  3. package/dist/AgentRegistry-NQCLWABO.cjs +10 -0
  4. package/dist/{AutomodeManager-NGRAO2MH.js → AutomodeManager-MWLKGPZK.js} +2 -0
  5. package/dist/{AutomodeManager-ZKQMBM4T.cjs → AutomodeManager-NYIZNODK.cjs} +3 -1
  6. package/dist/CommunitySkillsCache-6QPRMTJO.js +8 -0
  7. package/dist/CommunitySkillsCache-GTQMOCCO.cjs +8 -0
  8. package/dist/{GitHubRegistryFetcher-US2JJID4.js → GitHubRegistryFetcher-6JQ5JEDZ.js} +1 -0
  9. package/dist/{GitHubRegistryFetcher-K744NNAJ.cjs → GitHubRegistryFetcher-S7QFUEKV.cjs} +1 -0
  10. package/dist/HookManager-Q2KYMCP4.cjs +7 -0
  11. package/dist/HookManager-TTP4Y6DC.js +7 -0
  12. package/dist/ImportWizard-IWVPRKFF.cjs +466 -0
  13. package/dist/ImportWizard-KASGQPUY.js +466 -0
  14. package/dist/McpClientManager-7RM6YT35.js +8 -0
  15. package/dist/McpClientManager-RKD7C6OY.cjs +8 -0
  16. package/dist/MemoryManager-GUNLRP5S.js +8 -0
  17. package/dist/MemoryManager-TNSGKDKX.cjs +8 -0
  18. package/dist/PermissionManager-2GO5PQ6M.cjs +11 -0
  19. package/dist/{PermissionManager-U5OMGR3L.js → PermissionManager-K7UWSNB6.js} +4 -3
  20. package/dist/ProjectProfiler-UMJJSOCE.js +194 -0
  21. package/dist/ProjectProfiler-ZDWR2ODG.cjs +194 -0
  22. package/dist/ProviderFactory-EFFQBRQ6.cjs +9 -0
  23. package/dist/ProviderFactory-S3LWTQQC.js +9 -0
  24. package/dist/SessionManager-FEUAU3ZJ.cjs +10 -0
  25. package/dist/SessionManager-IKWAK2PI.js +10 -0
  26. package/dist/SkillsRegistry-GDEGFP6O.cjs +9 -0
  27. package/dist/SkillsRegistry-SI5RUHQ4.js +9 -0
  28. package/dist/SubAgent-I75HELJG.js +11 -0
  29. package/dist/SubAgent-K3QP6WHC.cjs +11 -0
  30. package/dist/{SyncApiClient-AYXYSOJM.js → SyncApiClient-LVIO4C2S.js} +1 -0
  31. package/dist/{SyncApiClient-ID3KXEMA.cjs → SyncApiClient-ZNYMT36M.cjs} +1 -0
  32. package/dist/about-B2AGTV6N.js +12 -0
  33. package/dist/about-V2HWEZZO.cjs +12 -0
  34. package/dist/actionExecutor-6XCVL2SJ.js +19 -0
  35. package/dist/actionExecutor-YRUJNB5G.cjs +19 -0
  36. package/dist/add-dir-7FBQ5IFV.js +10 -0
  37. package/dist/add-dir-ALBSYRV3.cjs +10 -0
  38. package/dist/agents/builtin/code-cleaner.md +14 -0
  39. package/dist/agents/builtin/docs-writer.md +14 -0
  40. package/dist/agents/builtin/researcher.md +14 -0
  41. package/dist/agents/builtin/reviewer.md +15 -0
  42. package/dist/agents/builtin/tester.md +15 -0
  43. package/dist/agents/builtin/todo-resolver.md +15 -0
  44. package/dist/agents-FCGEWTA3.cjs +12 -0
  45. package/dist/agents-FENGUSJD.js +12 -0
  46. package/dist/agents-new-FU3O55CO.js +14 -0
  47. package/dist/agents-new-SAFTJ7TK.cjs +14 -0
  48. package/dist/assets/icon.png +0 -0
  49. package/dist/automode-CYLGXQ4A.cjs +10 -0
  50. package/dist/automode-O7G3DUYN.js +10 -0
  51. package/dist/{cc-UTTLESTY.js → cc-7LEIJ3KF.js} +1 -0
  52. package/dist/{cc-2W6M7J45.cjs → cc-Q5MM4AWC.cjs} +1 -0
  53. package/dist/{chunk-N4ZSG6JJ.cjs → chunk-22D2CNTP.cjs} +2 -2
  54. package/dist/chunk-24QIWILL.js +51 -0
  55. package/dist/{chunk-MYNHJHDZ.js → chunk-2AA5MFES.js} +1 -1
  56. package/dist/{chunk-KWRUQRXR.js → chunk-2ELK5DMH.js} +44 -10
  57. package/dist/chunk-2JYIR3EC.cjs +1176 -0
  58. package/dist/{chunk-CRQKDBLD.js → chunk-2RIAPTET.js} +90 -66
  59. package/dist/{chunk-TSY7JHIV.cjs → chunk-33A755XB.cjs} +2 -2
  60. package/dist/chunk-3OEDGIFW.js +42 -0
  61. package/dist/{chunk-P5VDZ6PV.js → chunk-3PDTTAKJ.js} +1 -1
  62. package/dist/{chunk-ULMPJUJW.cjs → chunk-3WCOFXQS.cjs} +23 -23
  63. package/dist/{chunk-PDKNHU5G.cjs → chunk-4HKTYHNL.cjs} +22 -16
  64. package/dist/{chunk-Z4J4W6YQ.cjs → chunk-4JNNTOGF.cjs} +2 -48
  65. package/dist/chunk-55B6SBHK.js +260 -0
  66. package/dist/chunk-5DDDUUBM.cjs +29 -0
  67. package/dist/{chunk-TQB222ZB.js → chunk-5EIEWVYX.js} +2 -2
  68. package/dist/{chunk-SMHY3Q7B.cjs → chunk-5GGX6WNY.cjs} +54 -22
  69. package/dist/{chunk-3S4DEIJP.cjs → chunk-5IXII4HX.cjs} +2 -2
  70. package/dist/{chunk-3KBBARKO.js → chunk-5OBNULPU.js} +85 -28
  71. package/dist/{chunk-VVBBEYTH.cjs → chunk-5YJG6H6P.cjs} +10 -10
  72. package/dist/{chunk-PKOAXQKW.cjs → chunk-63WXWFDI.cjs} +11 -11
  73. package/dist/{chunk-DSKVMFRM.cjs → chunk-643VRA5S.cjs} +12 -4
  74. package/dist/{chunk-L5ZFPWHY.js → chunk-6OYHF6MF.js} +12 -4
  75. package/dist/chunk-7GDVDSNI.js +1176 -0
  76. package/dist/chunk-7QEE6SW6.cjs +260 -0
  77. package/dist/chunk-7UOUW76C.js +603 -0
  78. package/dist/{chunk-SZP4ULM5.cjs → chunk-AFN7LH5N.cjs} +17 -17
  79. package/dist/chunk-AHD5JJ6F.cjs +78 -0
  80. package/dist/{chunk-WLTVF77A.js → chunk-ALYU6VTM.js} +1 -1
  81. package/dist/{chunk-BRXIEKJ3.cjs → chunk-AMT2UZBI.cjs} +5 -5
  82. package/dist/{chunk-SFNT5DYE.cjs → chunk-BT35E7NE.cjs} +4 -4
  83. package/dist/{chunk-NUHYCFHW.cjs → chunk-BVKXEQVG.cjs} +54 -65
  84. package/dist/chunk-CDMGQR4L.cjs +4470 -0
  85. package/dist/chunk-CNBKZEX5.cjs +109 -0
  86. package/dist/{chunk-GD4AFYJ3.js → chunk-CVVEYUFR.js} +1 -1
  87. package/dist/chunk-CWALFEGU.js +58 -0
  88. package/dist/{chunk-MTALRU7R.cjs → chunk-D3YCFT5O.cjs} +3 -3
  89. package/dist/{chunk-CH4SPVFD.cjs → chunk-D6VG7B5X.cjs} +9 -3
  90. package/dist/{chunk-TOTDRAWG.js → chunk-DH7DKCUL.js} +1 -1
  91. package/dist/{chunk-RFNCTE4V.cjs → chunk-DLG43ZJ7.cjs} +2 -2
  92. package/dist/chunk-DN573ME7.cjs +1675 -0
  93. package/dist/{chunk-63BXZQZW.js → chunk-E23CMMNJ.js} +20 -4
  94. package/dist/{chunk-4HA7IHLJ.cjs → chunk-EEGK5DYE.cjs} +32 -16
  95. package/dist/{chunk-DTFR3WD6.js → chunk-EF4LKUQY.js} +1 -1
  96. package/dist/{chunk-PWLLLJHU.js → chunk-EGFT4PGW.js} +3 -1
  97. package/dist/{chunk-S47TCZDL.js → chunk-EIU7K7CM.js} +7 -7
  98. package/dist/{chunk-BISFR6ZL.js → chunk-EPNYD4NV.js} +1 -1
  99. package/dist/chunk-EZMINVLU.js +123 -0
  100. package/dist/{chunk-LYMTYC67.js → chunk-F23EVNJU.js} +2 -2
  101. package/dist/chunk-FHK7UDOJ.cjs +42 -0
  102. package/dist/chunk-FMB3TSWP.cjs +218 -0
  103. package/dist/{chunk-XBUMKEFN.cjs → chunk-FPAE6ORV.cjs} +91 -34
  104. package/dist/{chunk-DEAEO7RI.js → chunk-FYZ67R4R.js} +1 -1
  105. package/dist/{chunk-6SHHB2VD.js → chunk-G7SZIOHF.js} +2 -2
  106. package/dist/{chunk-FB6JWNJS.js → chunk-GBHDROGL.js} +54 -65
  107. package/dist/chunk-GCHELXLO.js +131 -0
  108. package/dist/{chunk-XPOHYKR3.js → chunk-GHSBZ3YB.js} +2 -2
  109. package/dist/chunk-GLBAF54O.js +218 -0
  110. package/dist/chunk-GO3N7LRW.cjs +131 -0
  111. package/dist/{chunk-Y2ZSH3YF.cjs → chunk-H6ZGZEBG.cjs} +57 -23
  112. package/dist/{chunk-DSCQPWUB.cjs → chunk-HA7OAVOB.cjs} +15 -15
  113. package/dist/{chunk-NMWEDN4Z.js → chunk-HFMLWH7B.js} +108 -0
  114. package/dist/{chunk-D2XFTCRP.js → chunk-HQ7YZKXE.js} +1 -1
  115. package/dist/{chunk-L42HTMMR.cjs → chunk-HTLINWX6.cjs} +2 -2
  116. package/dist/chunk-IETRBBMP.cjs +603 -0
  117. package/dist/chunk-IQ5RXU6O.js +1675 -0
  118. package/dist/{chunk-GVZPIQWB.js → chunk-ITB3FS72.js} +11 -5
  119. package/dist/{chunk-B6EBHCK2.cjs → chunk-IUMJYXBX.cjs} +6 -6
  120. package/dist/{chunk-ZBIBLOZL.js → chunk-IVM5F2AE.js} +500 -317
  121. package/dist/{chunk-GRSVQ5YZ.js → chunk-IWVQ2EW3.js} +44 -12
  122. package/dist/chunk-JJWCQLOU.cjs +59 -0
  123. package/dist/{chunk-KXAAEROY.js → chunk-JMFDD7IZ.js} +2 -2
  124. package/dist/chunk-JSBRDJBE.js +30 -0
  125. package/dist/chunk-LJFUXC56.cjs +123 -0
  126. package/dist/chunk-LL3PQ2U6.js +4470 -0
  127. package/dist/chunk-LQ4LQQG6.cjs +27 -0
  128. package/dist/chunk-LQGVEP3E.js +109 -0
  129. package/dist/{chunk-425MT6Y5.cjs → chunk-LVE6Z5SL.cjs} +9 -9
  130. package/dist/{chunk-XL77XYI2.cjs → chunk-LXDOQTXQ.cjs} +4 -4
  131. package/dist/{chunk-BG4OQUKP.js → chunk-MBBY4ZIK.js} +1 -1
  132. package/dist/{chunk-ZXIQCYYV.cjs → chunk-MGMXR67S.cjs} +9 -9
  133. package/dist/{chunk-FHUNAB2K.cjs → chunk-MHLE6AVN.cjs} +33 -6
  134. package/dist/chunk-MHSDHPC4.cjs +58 -0
  135. package/dist/chunk-MUBW5UDH.cjs +55 -0
  136. package/dist/{chunk-MNSTWHK3.cjs → chunk-MVWOQBCC.cjs} +11 -11
  137. package/dist/chunk-N254NRHT.cjs +30 -0
  138. package/dist/{chunk-SRLY7K6J.js → chunk-OBLIITWJ.js} +2 -2
  139. package/dist/{chunk-SIGWDEPS.cjs → chunk-OI7OIGNB.cjs} +10 -10
  140. package/dist/{chunk-V7YTCNMN.cjs → chunk-OPR34VHL.cjs} +5 -5
  141. package/dist/chunk-OUHQZFN4.js +78 -0
  142. package/dist/{chunk-HMRDNRTH.js → chunk-PEC45WYS.js} +2 -2
  143. package/dist/{chunk-OSUWEUZE.js → chunk-PUOE5BCN.js} +1 -1
  144. package/dist/chunk-Q2VYSHWU.js +59 -0
  145. package/dist/chunk-Q3MJ6CYS.cjs +193 -0
  146. package/dist/{chunk-QRGPAUST.js → chunk-Q5RN7RXC.js} +2 -2
  147. package/dist/{chunk-43XS26AQ.cjs → chunk-Q5RX3XGB.cjs} +4 -4
  148. package/dist/chunk-QCLYBIMM.cjs +51 -0
  149. package/dist/chunk-QMAKTSZB.cjs +48 -0
  150. package/dist/chunk-QT2VZNFA.js +29 -0
  151. package/dist/{chunk-3XJD56Z4.js → chunk-QUFAULH7.js} +9 -3
  152. package/dist/{chunk-RJP3SZ7Q.cjs → chunk-RD5XAJR2.cjs} +492 -309
  153. package/dist/chunk-RGR6ME5J.cjs +844 -0
  154. package/dist/{chunk-EOGKE5GD.cjs → chunk-RKJTGGMU.cjs} +221 -126
  155. package/dist/{chunk-NMGF2KUN.js → chunk-RO46YAPI.js} +1 -1
  156. package/dist/{chunk-2U5HFVRO.cjs → chunk-RVUQKMXX.cjs} +108 -0
  157. package/dist/chunk-S52YW5ZQ.js +844 -0
  158. package/dist/{chunk-ZLOTP56B.cjs → chunk-S6BDWWUG.cjs} +5 -5
  159. package/dist/{chunk-6DWXHBAY.js → chunk-SAHBLB3E.js} +222 -127
  160. package/dist/chunk-SALLHB2I.js +27 -0
  161. package/dist/{chunk-GIZL57FE.cjs → chunk-SEKD5FH3.cjs} +3 -1
  162. package/dist/{chunk-DZHR34H6.cjs → chunk-SHFA46CS.cjs} +8 -8
  163. package/dist/{chunk-MILZEEUV.js → chunk-SIHRD34Z.js} +2 -2
  164. package/dist/{chunk-BPTBKO7D.js → chunk-SO3QQJAZ.js} +216 -36
  165. package/dist/{chunk-HSPWX4Z2.cjs → chunk-SRQW3B6J.cjs} +223 -43
  166. package/dist/{chunk-MY3TZER2.js → chunk-T63AMO6H.js} +1 -1
  167. package/dist/{chunk-X765A7J5.js → chunk-TERCG25S.js} +1 -1
  168. package/dist/{chunk-WOGJXDBU.cjs → chunk-TFSRRZWP.cjs} +3 -3
  169. package/dist/{chunk-RRZS5A53.js → chunk-TQHOVHRS.js} +1 -1
  170. package/dist/{chunk-JHOQABEF.js → chunk-TWEKBHUO.js} +5 -5
  171. package/dist/chunk-U3WDY42C.cjs +42 -0
  172. package/dist/{chunk-CKN2BLHK.cjs → chunk-UBS46QL3.cjs} +2 -2
  173. package/dist/{chunk-H3GBSPK5.js → chunk-UGTFKUW4.js} +14 -6
  174. package/dist/chunk-UJTCTTUF.cjs +271 -0
  175. package/dist/{chunk-RUZB43HU.cjs → chunk-UTI6ZQEY.cjs} +22 -14
  176. package/dist/{chunk-OLG7LZBD.js → chunk-VG34MG2U.js} +1 -1
  177. package/dist/{chunk-ZKZRFH37.cjs → chunk-VJYPP6PP.cjs} +6 -6
  178. package/dist/{chunk-YHGTBPEC.js → chunk-VNQ5GL34.js} +1 -1
  179. package/dist/{chunk-XDVG3NM4.js → chunk-W3X6PAC7.js} +2 -48
  180. package/dist/{chunk-FK2DVRPJ.js → chunk-WFUUXADU.js} +2 -2
  181. package/dist/{chunk-R5OO7MEB.cjs → chunk-WGTJOIB7.cjs} +22 -22
  182. package/dist/{chunk-VHBUKGRG.js → chunk-WJDPVW7T.js} +4 -4
  183. package/dist/chunk-WNUVPKBW.js +42 -0
  184. package/dist/{chunk-EV53SLSB.cjs → chunk-WPVWQSL7.cjs} +4 -4
  185. package/dist/chunk-WQ3VJXZB.js +118 -0
  186. package/dist/chunk-WTNBX2JO.js +271 -0
  187. package/dist/chunk-XAV24VYN.js +48 -0
  188. package/dist/chunk-XDLH4EDL.cjs +118 -0
  189. package/dist/{chunk-U7CZFKPL.cjs → chunk-XMNHZRUB.cjs} +2 -2
  190. package/dist/chunk-XUDSXGGV.cjs +1822 -0
  191. package/dist/{chunk-WQUQ5JMM.js → chunk-XWASJ2QL.js} +4 -4
  192. package/dist/chunk-Y2SXUCNJ.js +55 -0
  193. package/dist/{chunk-AIH6GUGB.cjs → chunk-YDCDGTK6.cjs} +5 -5
  194. package/dist/chunk-YFXTE422.cjs +92 -0
  195. package/dist/chunk-YKS55CMT.js +1822 -0
  196. package/dist/{chunk-KC5FPUOF.cjs → chunk-YRLYSQEQ.cjs} +2 -2
  197. package/dist/{chunk-JWPI6O5Z.js → chunk-YS34SVY5.js} +31 -4
  198. package/dist/{chunk-FEVHH525.cjs → chunk-YYB42DCU.cjs} +4 -4
  199. package/dist/chunk-ZK6HOR62.js +92 -0
  200. package/dist/{chunk-BHV7CBNT.js → chunk-ZSE42BRE.js} +1 -1
  201. package/dist/clear-ES5WCZRF.cjs +12 -0
  202. package/dist/clear-J7XS6T5W.js +12 -0
  203. package/dist/completion-XQTDTJLK.cjs +14 -0
  204. package/dist/completion-XR6ZONJQ.js +14 -0
  205. package/dist/config-2TB3A55J.js +18 -0
  206. package/dist/config-RDMVIV26.cjs +18 -0
  207. package/dist/constants-6CPCJ3DY.cjs +21 -0
  208. package/dist/{constants-V6J54N3X.js → constants-UFM5B232.js} +2 -1
  209. package/dist/{defaultHooks-WLMRQUXG.cjs → defaultHooks-RCXPHF4M.cjs} +3 -1
  210. package/dist/{defaultHooks-R56VYG7I.js → defaultHooks-RDRMER3Z.js} +2 -0
  211. package/dist/export-EWAYH353.cjs +12 -0
  212. package/dist/export-ZWA6XGVS.js +12 -0
  213. package/dist/extractSessionMemories-SDW2MVBQ.cjs +7 -0
  214. package/dist/extractSessionMemories-V7K42ZHW.js +7 -0
  215. package/dist/feedback-5RV6ODW4.js +15 -0
  216. package/dist/feedback-ZPITHFJR.cjs +15 -0
  217. package/dist/filesystem-3SGCW2BF.js +10 -0
  218. package/dist/filesystem-MCFXJQ6R.cjs +10 -0
  219. package/dist/formatters-6K7QVWQL.cjs +10 -0
  220. package/dist/formatters-DQHO5I36.js +10 -0
  221. package/dist/{help-LKKQU2TN.js → help-I5GRCA3S.js} +3 -2
  222. package/dist/help-X52PZM24.cjs +12 -0
  223. package/dist/history-4WIOZ4TW.cjs +14 -0
  224. package/dist/{history-AV4XBFRK.js → history-OCHJBJW7.js} +3 -2
  225. package/dist/hooks-IAVTXUAI.cjs +13 -0
  226. package/dist/hooks-YF6HL23E.js +13 -0
  227. package/dist/{i18n-BSAPXM56.js → i18n-KHBXUALK.js} +2 -1
  228. package/dist/i18n-MVQIAZWS.cjs +33 -0
  229. package/dist/ide-4R3BEBIS.js +12 -0
  230. package/dist/ide-C7WSPQTR.cjs +12 -0
  231. package/dist/import-2ICSKDL7.cjs +10 -0
  232. package/dist/import-EAAX5HJR.js +170 -0
  233. package/dist/import-KRVVYJCZ.js +10 -0
  234. package/dist/import-PQJPNXA4.cjs +170 -0
  235. package/dist/index.cjs +7503 -11251
  236. package/dist/index.js +8735 -12483
  237. package/dist/init-6K3NRDOM.js +10 -0
  238. package/dist/init-AOUGGITS.cjs +10 -0
  239. package/dist/language-Q7YFDVSR.cjs +18 -0
  240. package/dist/language-Y6ZC7LET.js +18 -0
  241. package/dist/{lint-44UQJ673.cjs → lint-D5UOJWIK.cjs} +1 -0
  242. package/dist/{lint-TA2ZHVLM.js → lint-NJPZWVN2.js} +1 -0
  243. package/dist/{localProjectPermissions-WQYMGI42.js → localProjectPermissions-N77HA3XK.js} +3 -2
  244. package/dist/localProjectPermissions-UFSMNTBJ.cjs +18 -0
  245. package/dist/login-6OAH2NEH.cjs +20 -0
  246. package/dist/login-DL3377MD.js +20 -0
  247. package/dist/logout-ELQBUMTU.cjs +18 -0
  248. package/dist/logout-TLYA5W45.js +18 -0
  249. package/dist/mcp-BHOIBYUB.js +18 -0
  250. package/dist/mcp-TNUEXR5T.cjs +18 -0
  251. package/dist/{mcp-install-2KVKRAMQ.cjs → mcp-install-GROTZHAW.cjs} +26 -14
  252. package/dist/{mcp-install-77UXRN6R.js → mcp-install-KSADVDBE.js} +21 -9
  253. package/dist/memory-6DRFA43C.js +10 -0
  254. package/dist/memory-IORZE6WF.cjs +10 -0
  255. package/dist/message-JUBOK2VU.js +9 -0
  256. package/dist/message-ZJ5AYAMT.cjs +9 -0
  257. package/dist/model-CJPSPGIC.cjs +10 -0
  258. package/dist/model-MQXC56ES.js +10 -0
  259. package/dist/new-7D2B7IWM.cjs +12 -0
  260. package/dist/new-7VYM36RC.js +12 -0
  261. package/dist/{patch-BAAQIYSW.js → patch-5F6VBIT3.js} +2 -0
  262. package/dist/{patch-J32X2QQP.cjs → patch-MOD7QC3D.cjs} +3 -1
  263. package/dist/permissions-MM77OSFO.js +13 -0
  264. package/dist/permissions-W2F62DJ6.cjs +13 -0
  265. package/dist/{plan-JFGNRL2S.js → plan-G5CEKJI4.js} +1 -0
  266. package/dist/{plan-B3CW5DXJ.cjs → plan-QKOHE3LH.cjs} +1 -0
  267. package/dist/quit-7D2RDGTD.cjs +10 -0
  268. package/dist/quit-PKBSEJOL.js +10 -0
  269. package/dist/registry-A5XLMQVC.cjs +1828 -0
  270. package/dist/registry-WQLWHOLY.js +1828 -0
  271. package/dist/resume-FBKXSDOA.js +13 -0
  272. package/dist/resume-KLPDYPWQ.cjs +13 -0
  273. package/dist/search-7RNYTCNO.js +17 -0
  274. package/dist/search-UESMQZC3.cjs +17 -0
  275. package/dist/{session-T3TAZ5ZU.cjs → session-BSU2L5UI.cjs} +1 -0
  276. package/dist/{session-H5QWKE5E.js → session-SZMRN5KG.js} +1 -0
  277. package/dist/sessions-TSSUFWIJ.cjs +10 -0
  278. package/dist/sessions-WAXBUQTU.js +10 -0
  279. package/dist/settings-D6JXX5RG.js +30 -0
  280. package/dist/settings-RKYGXKDG.cjs +30 -0
  281. package/dist/share-GLX4YHS4.cjs +14 -0
  282. package/dist/share-U2M2KBFJ.js +14 -0
  283. package/dist/skills-63QLZMUO.cjs +14 -0
  284. package/dist/{skills-LJZA6PVJ.js → skills-BAMMXP3Q.js} +3 -2
  285. package/dist/{skills-install-MQINL3EC.js → skills-install-QNQWC2MV.js} +99 -28
  286. package/dist/{skills-install-IKJZN4G2.cjs → skills-install-UMK5H3SO.cjs} +107 -36
  287. package/dist/skills-new-NYKNHJHV.cjs +15 -0
  288. package/dist/skills-new-NZFGFKML.js +15 -0
  289. package/dist/slashCommands-EJ23C3Z4.cjs +69 -0
  290. package/dist/slashCommands-JQIL4EWX.js +69 -0
  291. package/dist/status-BKC7GBNQ.js +11 -0
  292. package/dist/status-FU3CPJWQ.cjs +11 -0
  293. package/dist/sync-3IEIHXIP.cjs +18 -0
  294. package/dist/sync-7JMZVEQD.cjs +40 -0
  295. package/dist/{sync-EXYX7HXW.js → sync-KWX67OUN.js} +3 -2
  296. package/dist/sync-YVPFT7SL.js +18 -0
  297. package/dist/tasks-5FPBIFLC.js +9 -0
  298. package/dist/tasks-TXGKGNH6.cjs +9 -0
  299. package/dist/team-GVK5L73L.cjs +9 -0
  300. package/dist/team-RWIKCLTG.js +9 -0
  301. package/dist/teammate-3C4MLRGH.js +139 -0
  302. package/dist/teammate-7C3UDQSH.cjs +139 -0
  303. package/dist/theme-A2CEHI7W.js +18 -0
  304. package/dist/theme-LNOQOVR4.cjs +18 -0
  305. package/dist/ui/questionModal.cjs +7 -25
  306. package/dist/ui/questionModal.js +6 -24
  307. package/dist/undo-F2IZJQUV.js +10 -0
  308. package/dist/undo-QEV42XLU.cjs +10 -0
  309. package/dist/update-TVAJMMBC.js +82 -0
  310. package/dist/update-Z6BIIQDC.cjs +82 -0
  311. package/package.json +9 -3
  312. package/dist/CommunitySkillsCache-ILWHWE5P.js +0 -7
  313. package/dist/CommunitySkillsCache-KHC6RUJW.cjs +0 -7
  314. package/dist/HookManager-X47HCM5G.cjs +0 -6
  315. package/dist/HookManager-ZXKHCD7U.js +0 -6
  316. package/dist/MemoryManager-6ZT7IDO5.cjs +0 -7
  317. package/dist/MemoryManager-AJGS5AKB.js +0 -7
  318. package/dist/PermissionManager-HG6W2DGU.cjs +0 -10
  319. package/dist/SessionManager-BJ2G6VV4.cjs +0 -9
  320. package/dist/SessionManager-ENPGYK5J.js +0 -9
  321. package/dist/SkillsRegistry-6ZFOCT25.cjs +0 -8
  322. package/dist/SkillsRegistry-C2SHOZ5D.js +0 -8
  323. package/dist/about-3BJTNSLK.js +0 -11
  324. package/dist/about-EABQNJGV.cjs +0 -11
  325. package/dist/add-dir-7FD4DMDA.cjs +0 -9
  326. package/dist/add-dir-LOYJ4YB5.js +0 -9
  327. package/dist/agents-2Y6ASV7C.js +0 -10
  328. package/dist/agents-UOSPKLQL.cjs +0 -10
  329. package/dist/agents-new-23NSGAM5.js +0 -13
  330. package/dist/agents-new-WI2EL7IJ.cjs +0 -13
  331. package/dist/automode-LGWTY3UX.js +0 -9
  332. package/dist/automode-WLBQ7MN7.cjs +0 -9
  333. package/dist/chunk-5UBW2BGC.js +0 -33
  334. package/dist/chunk-I6DBWNLN.cjs +0 -169
  335. package/dist/chunk-IZBCMJHJ.cjs +0 -33
  336. package/dist/completion-7WGMHKOR.cjs +0 -13
  337. package/dist/completion-KH33NSGP.js +0 -13
  338. package/dist/constants-RBQTR32A.cjs +0 -20
  339. package/dist/export-3QN3IH7A.js +0 -11
  340. package/dist/export-BI54X3MP.cjs +0 -11
  341. package/dist/feedback-CI4OIPOS.cjs +0 -14
  342. package/dist/feedback-GFPL5STE.js +0 -14
  343. package/dist/formatters-N5IJKYZY.cjs +0 -8
  344. package/dist/formatters-UG6VZJJ5.js +0 -8
  345. package/dist/help-CWMUGD3V.cjs +0 -11
  346. package/dist/history-73VBEMSI.cjs +0 -13
  347. package/dist/hooks-62UDQBGH.cjs +0 -12
  348. package/dist/hooks-XORDJD5X.js +0 -12
  349. package/dist/i18n-X2IU2EZD.cjs +0 -32
  350. package/dist/ide-RPKZALQV.js +0 -11
  351. package/dist/ide-YMNXJB6A.cjs +0 -11
  352. package/dist/init-J5HR4R7U.js +0 -9
  353. package/dist/init-JCC7RVMC.cjs +0 -9
  354. package/dist/language-AZISJCEZ.js +0 -16
  355. package/dist/language-F65RA6FZ.cjs +0 -16
  356. package/dist/localProjectPermissions-2EATUDZM.cjs +0 -17
  357. package/dist/login-5HLPMECE.js +0 -18
  358. package/dist/login-ISWYYBXP.cjs +0 -18
  359. package/dist/logout-3EKZM5J3.cjs +0 -16
  360. package/dist/logout-GE7TSZ24.js +0 -16
  361. package/dist/mcp-EW64QRFA.cjs +0 -15
  362. package/dist/mcp-VHS7AMF2.js +0 -15
  363. package/dist/memory-2I473RU3.js +0 -9
  364. package/dist/memory-JZ6NPSP3.cjs +0 -9
  365. package/dist/model-GXZLARPT.js +0 -9
  366. package/dist/model-Y274DBDO.cjs +0 -9
  367. package/dist/new-BG5VIGZ7.cjs +0 -9
  368. package/dist/new-YXFDQOA7.js +0 -9
  369. package/dist/permissions-QILEAGBP.cjs +0 -12
  370. package/dist/permissions-WVEOVMWO.js +0 -12
  371. package/dist/quit-NC32OEJG.cjs +0 -9
  372. package/dist/quit-WRRIGU33.js +0 -9
  373. package/dist/resume-GJIKIDPR.cjs +0 -12
  374. package/dist/resume-RMJNCAOK.js +0 -12
  375. package/dist/search-UIWIXB73.js +0 -14
  376. package/dist/search-WQNXDA2E.cjs +0 -14
  377. package/dist/sessions-HPFX2GDD.js +0 -9
  378. package/dist/sessions-SAQU6MFA.cjs +0 -9
  379. package/dist/share-2WH5ZVOO.cjs +0 -13
  380. package/dist/share-PSSWWVV5.js +0 -13
  381. package/dist/skills-YTYGART7.cjs +0 -13
  382. package/dist/skills-new-3WCU3CWB.js +0 -14
  383. package/dist/skills-new-O5LFVFZU.cjs +0 -14
  384. package/dist/slashCommands-7IRDOXOQ.cjs +0 -55
  385. package/dist/slashCommands-C6CAQA25.js +0 -55
  386. package/dist/status-4EDV2LSY.cjs +0 -10
  387. package/dist/status-NU7TJDCE.js +0 -10
  388. package/dist/sync-3GFSEIAZ.js +0 -16
  389. package/dist/sync-6M3WRKMH.cjs +0 -39
  390. package/dist/sync-CQNQDNTJ.cjs +0 -16
  391. package/dist/theme-EMJGULMI.cjs +0 -16
  392. package/dist/theme-FGDSXNU3.js +0 -16
  393. package/dist/undo-CTXQYE7C.cjs +0 -9
  394. 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 _chunkYDCDGTK6cjs = require('./chunk-YDCDGTK6.cjs');
7
7
 
8
8
 
9
- var _chunk2U5HFVROcjs = require('./chunk-2U5HFVRO.cjs');
9
+
10
+ var _chunkUJTCTTUFcjs = require('./chunk-UJTCTTUF.cjs');
11
+
12
+
13
+ var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
14
+
15
+
16
+ var _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.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, _chunkYDCDGTK6cjs.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, _chunkYDCDGTK6cjs.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 _chunkUJTCTTUFcjs.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 _chunkUJTCTTUFcjs.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(_chunkRVUQKMXXcjs.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(_chunkRVUQKMXXcjs.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(_chunkRVUQKMXXcjs.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,220 @@ 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);
311
373
  }
312
- if (!config) {
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
+ }
394
+ }
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 _chunkUJTCTTUFcjs.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 _chunkUJTCTTUFcjs.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 _chunkUJTCTTUFcjs.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>";
518
+ }
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
+ }
350
529
  }
351
- if (!config) {
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 _chunkUJTCTTUFcjs.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"),
552
+ description: _chunkRVUQKMXXcjs.t.call(void 0, "commands.mcp.description"),
373
553
  implemented: true
374
554
  };
375
555
  var installMetadata = {
376
556
  command: "/mcp install",
377
- description: _chunk2U5HFVROcjs.t.call(void 0, "commands.mcp.installDescription"),
557
+ description: _chunkRVUQKMXXcjs.t.call(void 0, "commands.mcp.installDescription"),
378
558
  implemented: true
379
559
  };
380
560
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-NMWEDN4Z.js";
3
+ } from "./chunk-HFMLWH7B.js";
4
4
 
5
5
  // src/commands/undo.ts
6
6
  import chalk from "chalk";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-NMWEDN4Z.js";
3
+ } from "./chunk-HFMLWH7B.js";
4
4
 
5
5
  // src/commands/sessions.ts
6
6
  import chalk from "chalk";
@@ -3,7 +3,7 @@
3
3
  var _chunkJHGIWNHLcjs = require('./chunk-JHGIWNHL.cjs');
4
4
 
5
5
 
6
- var _chunkGIZL57FEcjs = require('./chunk-GIZL57FE.cjs');
6
+ var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
7
7
 
8
8
  // src/skills/SkillsRegistry.ts
9
9
  var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
@@ -232,7 +232,7 @@ var SkillsRegistry = class {
232
232
  this.workspaceRoot = workspaceRoot;
233
233
  const claudeProjectSkillsDir = _path2.default.join(workspaceRoot, ".claude", "skills");
234
234
  await this.loadFromDirectory(claudeProjectSkillsDir, "claude-project", false);
235
- const autohandProjectSkillsDir = _path2.default.join(workspaceRoot, _chunkGIZL57FEcjs.PROJECT_DIR_NAME, "skills");
235
+ const autohandProjectSkillsDir = _path2.default.join(workspaceRoot, _chunkSEKD5FH3cjs.PROJECT_DIR_NAME, "skills");
236
236
  await this.loadFromDirectory(autohandProjectSkillsDir, "autohand-project", true);
237
237
  }
238
238
  /**
@@ -291,7 +291,7 @@ var SkillsRegistry = class {
291
291
  async setWorkspaceWithAutoCopy(workspaceRoot) {
292
292
  this.workspaceRoot = workspaceRoot;
293
293
  const claudeProjectSkillsDir = _path2.default.join(workspaceRoot, ".claude", "skills");
294
- const autohandProjectSkillsDir = _path2.default.join(workspaceRoot, _chunkGIZL57FEcjs.PROJECT_DIR_NAME, "skills");
294
+ const autohandProjectSkillsDir = _path2.default.join(workspaceRoot, _chunkSEKD5FH3cjs.PROJECT_DIR_NAME, "skills");
295
295
  await this.addLocationWithAutoCopy(
296
296
  claudeProjectSkillsDir,
297
297
  "claude-project",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-NMWEDN4Z.js";
3
+ } from "./chunk-HFMLWH7B.js";
4
4
 
5
5
  // src/commands/add-dir.ts
6
6
  import chalk2 from "chalk";
@@ -1,16 +1,16 @@
1
- import {
2
- saveConfig
3
- } from "./chunk-ZBIBLOZL.js";
4
1
  import {
5
2
  showModal
6
- } from "./chunk-3KBBARKO.js";
3
+ } from "./chunk-5OBNULPU.js";
4
+ import {
5
+ saveConfig
6
+ } from "./chunk-WTNBX2JO.js";
7
7
  import {
8
8
  LANGUAGE_DISPLAY_NAMES,
9
9
  SUPPORTED_LOCALES,
10
10
  changeLanguage,
11
11
  getCurrentLocale,
12
12
  t
13
- } from "./chunk-NMWEDN4Z.js";
13
+ } from "./chunk-HFMLWH7B.js";
14
14
 
15
15
  // src/commands/language.ts
16
16
  import chalk from "chalk";
@@ -0,0 +1,42 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/commands/tasks.ts
2
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
3
+ var metadata = {
4
+ command: "/tasks",
5
+ description: "Show team task list with status and owners",
6
+ implemented: true
7
+ };
8
+ async function tasks(ctx) {
9
+ if (!ctx.teamManager) {
10
+ return _chalk2.default.yellow("Team manager not available.");
11
+ }
12
+ const team = ctx.teamManager.getTeam();
13
+ if (!team) {
14
+ return _chalk2.default.yellow("No active team. Create one first.");
15
+ }
16
+ const allTasks = ctx.teamManager.tasks.listTasks();
17
+ if (allTasks.length === 0) {
18
+ return _chalk2.default.gray("No tasks in the current team.");
19
+ }
20
+ const done = allTasks.filter((t) => t.status === "completed").length;
21
+ const lines = [
22
+ _chalk2.default.bold(`Tasks [${done}/${allTasks.length} done]`),
23
+ ""
24
+ ];
25
+ for (const task of allTasks) {
26
+ const icon = task.status === "completed" ? _chalk2.default.green("\u2713") : task.status === "in_progress" ? _chalk2.default.yellow("\u25CF") : _chalk2.default.gray("\u25CB");
27
+ const owner = task.owner ? _chalk2.default.cyan(` \u2192 ${task.owner}`) : "";
28
+ const blocked = task.blockedBy.length > 0 ? _chalk2.default.red(` (blocked by: ${task.blockedBy.join(", ")})`) : "";
29
+ lines.push(` ${icon} ${_chalk2.default.white(task.id)} ${task.subject}${owner}${blocked}`);
30
+ }
31
+ return lines.join("\n");
32
+ }
33
+
34
+
35
+
36
+
37
+ exports.metadata = metadata; exports.tasks = tasks;
38
+ /**
39
+ * @license
40
+ * Copyright 2025 Autohand AI LLC
41
+ * SPDX-License-Identifier: Apache-2.0
42
+ */
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk2U5HFVROcjs = require('./chunk-2U5HFVRO.cjs');
3
+ var _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.cjs');
4
4
 
5
5
  // src/commands/init.ts
6
6
  async function init(ctx) {
@@ -9,7 +9,7 @@ async function init(ctx) {
9
9
  }
10
10
  var metadata = {
11
11
  command: "/init",
12
- description: _chunk2U5HFVROcjs.t.call(void 0, "commands.init.description"),
12
+ description: _chunkRVUQKMXXcjs.t.call(void 0, "commands.init.description"),
13
13
  implemented: true
14
14
  };
15
15
 
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  showModal
3
- } from "./chunk-3KBBARKO.js";
3
+ } from "./chunk-5OBNULPU.js";
4
4
  import {
5
5
  AUTOHAND_PATHS
6
- } from "./chunk-PWLLLJHU.js";
6
+ } from "./chunk-EGFT4PGW.js";
7
7
  import {
8
8
  t
9
- } from "./chunk-NMWEDN4Z.js";
9
+ } from "./chunk-HFMLWH7B.js";
10
10
 
11
11
  // src/commands/resume.ts
12
12
  import chalk from "chalk";
@@ -69,11 +69,19 @@ async function resume(ctx) {
69
69
  return resumeSession(ctx.sessionManager, sessionId);
70
70
  }
71
71
  try {
72
- const allSessions = await ctx.sessionManager.listSessions();
72
+ const projectFilter = ctx.workspaceRoot ? { project: ctx.workspaceRoot } : void 0;
73
+ const allSessions = await ctx.sessionManager.listSessions(projectFilter);
73
74
  if (allSessions.length === 0) {
74
- console.log(chalk.gray(`
75
+ if (ctx.workspaceRoot) {
76
+ const projectName = path.basename(ctx.workspaceRoot);
77
+ console.log(chalk.gray(`
78
+ No sessions found for project "${projectName}".`));
79
+ console.log(chalk.gray("Use /sessions to see all sessions across projects.\n"));
80
+ } else {
81
+ console.log(chalk.gray(`
75
82
  ${t("commands.sessions.noSessions")}`));
76
- console.log(chalk.gray("Start a new conversation to create a session.\n"));
83
+ console.log(chalk.gray("Start a new conversation to create a session.\n"));
84
+ }
77
85
  return null;
78
86
  }
79
87
  console.log(chalk.cyan(`