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.
- package/assets/icon.png +0 -0
- package/dist/AgentRegistry-7LDL5HJH.js +10 -0
- package/dist/AgentRegistry-NQCLWABO.cjs +10 -0
- package/dist/{AutomodeManager-NGRAO2MH.js → AutomodeManager-MWLKGPZK.js} +2 -0
- package/dist/{AutomodeManager-ZKQMBM4T.cjs → AutomodeManager-NYIZNODK.cjs} +3 -1
- package/dist/CommunitySkillsCache-6QPRMTJO.js +8 -0
- package/dist/CommunitySkillsCache-GTQMOCCO.cjs +8 -0
- package/dist/{GitHubRegistryFetcher-US2JJID4.js → GitHubRegistryFetcher-6JQ5JEDZ.js} +1 -0
- package/dist/{GitHubRegistryFetcher-K744NNAJ.cjs → GitHubRegistryFetcher-S7QFUEKV.cjs} +1 -0
- package/dist/HookManager-Q2KYMCP4.cjs +7 -0
- package/dist/HookManager-TTP4Y6DC.js +7 -0
- package/dist/ImportWizard-IWVPRKFF.cjs +466 -0
- package/dist/ImportWizard-KASGQPUY.js +466 -0
- package/dist/McpClientManager-7RM6YT35.js +8 -0
- package/dist/McpClientManager-RKD7C6OY.cjs +8 -0
- package/dist/MemoryManager-GUNLRP5S.js +8 -0
- package/dist/MemoryManager-TNSGKDKX.cjs +8 -0
- package/dist/PermissionManager-2GO5PQ6M.cjs +11 -0
- package/dist/{PermissionManager-U5OMGR3L.js → PermissionManager-K7UWSNB6.js} +4 -3
- package/dist/ProjectProfiler-UMJJSOCE.js +194 -0
- package/dist/ProjectProfiler-ZDWR2ODG.cjs +194 -0
- package/dist/ProviderFactory-EFFQBRQ6.cjs +9 -0
- package/dist/ProviderFactory-S3LWTQQC.js +9 -0
- package/dist/SessionManager-FEUAU3ZJ.cjs +10 -0
- package/dist/SessionManager-IKWAK2PI.js +10 -0
- package/dist/SkillsRegistry-GDEGFP6O.cjs +9 -0
- package/dist/SkillsRegistry-SI5RUHQ4.js +9 -0
- package/dist/SubAgent-I75HELJG.js +11 -0
- package/dist/SubAgent-K3QP6WHC.cjs +11 -0
- package/dist/{SyncApiClient-AYXYSOJM.js → SyncApiClient-LVIO4C2S.js} +1 -0
- package/dist/{SyncApiClient-ID3KXEMA.cjs → SyncApiClient-ZNYMT36M.cjs} +1 -0
- package/dist/about-B2AGTV6N.js +12 -0
- package/dist/about-V2HWEZZO.cjs +12 -0
- package/dist/actionExecutor-6XCVL2SJ.js +19 -0
- package/dist/actionExecutor-YRUJNB5G.cjs +19 -0
- package/dist/add-dir-7FBQ5IFV.js +10 -0
- package/dist/add-dir-ALBSYRV3.cjs +10 -0
- package/dist/agents/builtin/code-cleaner.md +14 -0
- package/dist/agents/builtin/docs-writer.md +14 -0
- package/dist/agents/builtin/researcher.md +14 -0
- package/dist/agents/builtin/reviewer.md +15 -0
- package/dist/agents/builtin/tester.md +15 -0
- package/dist/agents/builtin/todo-resolver.md +15 -0
- package/dist/agents-FCGEWTA3.cjs +12 -0
- package/dist/agents-FENGUSJD.js +12 -0
- package/dist/agents-new-FU3O55CO.js +14 -0
- package/dist/agents-new-SAFTJ7TK.cjs +14 -0
- package/dist/assets/icon.png +0 -0
- package/dist/automode-CYLGXQ4A.cjs +10 -0
- package/dist/automode-O7G3DUYN.js +10 -0
- package/dist/{cc-UTTLESTY.js → cc-7LEIJ3KF.js} +1 -0
- package/dist/{cc-2W6M7J45.cjs → cc-Q5MM4AWC.cjs} +1 -0
- package/dist/{chunk-N4ZSG6JJ.cjs → chunk-22D2CNTP.cjs} +2 -2
- package/dist/chunk-24QIWILL.js +51 -0
- package/dist/{chunk-MYNHJHDZ.js → chunk-2AA5MFES.js} +1 -1
- package/dist/{chunk-KWRUQRXR.js → chunk-2ELK5DMH.js} +44 -10
- package/dist/chunk-2JYIR3EC.cjs +1176 -0
- package/dist/{chunk-CRQKDBLD.js → chunk-2RIAPTET.js} +90 -66
- package/dist/{chunk-TSY7JHIV.cjs → chunk-33A755XB.cjs} +2 -2
- package/dist/chunk-3OEDGIFW.js +42 -0
- package/dist/{chunk-P5VDZ6PV.js → chunk-3PDTTAKJ.js} +1 -1
- package/dist/{chunk-ULMPJUJW.cjs → chunk-3WCOFXQS.cjs} +23 -23
- package/dist/{chunk-PDKNHU5G.cjs → chunk-4HKTYHNL.cjs} +22 -16
- package/dist/{chunk-Z4J4W6YQ.cjs → chunk-4JNNTOGF.cjs} +2 -48
- package/dist/chunk-55B6SBHK.js +260 -0
- package/dist/chunk-5DDDUUBM.cjs +29 -0
- package/dist/{chunk-TQB222ZB.js → chunk-5EIEWVYX.js} +2 -2
- package/dist/{chunk-SMHY3Q7B.cjs → chunk-5GGX6WNY.cjs} +54 -22
- package/dist/{chunk-3S4DEIJP.cjs → chunk-5IXII4HX.cjs} +2 -2
- package/dist/{chunk-3KBBARKO.js → chunk-5OBNULPU.js} +85 -28
- package/dist/{chunk-VVBBEYTH.cjs → chunk-5YJG6H6P.cjs} +10 -10
- package/dist/{chunk-PKOAXQKW.cjs → chunk-63WXWFDI.cjs} +11 -11
- package/dist/{chunk-DSKVMFRM.cjs → chunk-643VRA5S.cjs} +12 -4
- package/dist/{chunk-L5ZFPWHY.js → chunk-6OYHF6MF.js} +12 -4
- package/dist/chunk-7GDVDSNI.js +1176 -0
- package/dist/chunk-7QEE6SW6.cjs +260 -0
- package/dist/chunk-7UOUW76C.js +603 -0
- package/dist/{chunk-SZP4ULM5.cjs → chunk-AFN7LH5N.cjs} +17 -17
- package/dist/chunk-AHD5JJ6F.cjs +78 -0
- package/dist/{chunk-WLTVF77A.js → chunk-ALYU6VTM.js} +1 -1
- package/dist/{chunk-BRXIEKJ3.cjs → chunk-AMT2UZBI.cjs} +5 -5
- package/dist/{chunk-SFNT5DYE.cjs → chunk-BT35E7NE.cjs} +4 -4
- package/dist/{chunk-NUHYCFHW.cjs → chunk-BVKXEQVG.cjs} +54 -65
- package/dist/chunk-CDMGQR4L.cjs +4470 -0
- package/dist/chunk-CNBKZEX5.cjs +109 -0
- package/dist/{chunk-GD4AFYJ3.js → chunk-CVVEYUFR.js} +1 -1
- package/dist/chunk-CWALFEGU.js +58 -0
- package/dist/{chunk-MTALRU7R.cjs → chunk-D3YCFT5O.cjs} +3 -3
- package/dist/{chunk-CH4SPVFD.cjs → chunk-D6VG7B5X.cjs} +9 -3
- package/dist/{chunk-TOTDRAWG.js → chunk-DH7DKCUL.js} +1 -1
- package/dist/{chunk-RFNCTE4V.cjs → chunk-DLG43ZJ7.cjs} +2 -2
- package/dist/chunk-DN573ME7.cjs +1675 -0
- package/dist/{chunk-63BXZQZW.js → chunk-E23CMMNJ.js} +20 -4
- package/dist/{chunk-4HA7IHLJ.cjs → chunk-EEGK5DYE.cjs} +32 -16
- package/dist/{chunk-DTFR3WD6.js → chunk-EF4LKUQY.js} +1 -1
- package/dist/{chunk-PWLLLJHU.js → chunk-EGFT4PGW.js} +3 -1
- package/dist/{chunk-S47TCZDL.js → chunk-EIU7K7CM.js} +7 -7
- package/dist/{chunk-BISFR6ZL.js → chunk-EPNYD4NV.js} +1 -1
- package/dist/chunk-EZMINVLU.js +123 -0
- package/dist/{chunk-LYMTYC67.js → chunk-F23EVNJU.js} +2 -2
- package/dist/chunk-FHK7UDOJ.cjs +42 -0
- package/dist/chunk-FMB3TSWP.cjs +218 -0
- package/dist/{chunk-XBUMKEFN.cjs → chunk-FPAE6ORV.cjs} +91 -34
- package/dist/{chunk-DEAEO7RI.js → chunk-FYZ67R4R.js} +1 -1
- package/dist/{chunk-6SHHB2VD.js → chunk-G7SZIOHF.js} +2 -2
- package/dist/{chunk-FB6JWNJS.js → chunk-GBHDROGL.js} +54 -65
- package/dist/chunk-GCHELXLO.js +131 -0
- package/dist/{chunk-XPOHYKR3.js → chunk-GHSBZ3YB.js} +2 -2
- package/dist/chunk-GLBAF54O.js +218 -0
- package/dist/chunk-GO3N7LRW.cjs +131 -0
- package/dist/{chunk-Y2ZSH3YF.cjs → chunk-H6ZGZEBG.cjs} +57 -23
- package/dist/{chunk-DSCQPWUB.cjs → chunk-HA7OAVOB.cjs} +15 -15
- package/dist/{chunk-NMWEDN4Z.js → chunk-HFMLWH7B.js} +108 -0
- package/dist/{chunk-D2XFTCRP.js → chunk-HQ7YZKXE.js} +1 -1
- package/dist/{chunk-L42HTMMR.cjs → chunk-HTLINWX6.cjs} +2 -2
- package/dist/chunk-IETRBBMP.cjs +603 -0
- package/dist/chunk-IQ5RXU6O.js +1675 -0
- package/dist/{chunk-GVZPIQWB.js → chunk-ITB3FS72.js} +11 -5
- package/dist/{chunk-B6EBHCK2.cjs → chunk-IUMJYXBX.cjs} +6 -6
- package/dist/{chunk-ZBIBLOZL.js → chunk-IVM5F2AE.js} +500 -317
- package/dist/{chunk-GRSVQ5YZ.js → chunk-IWVQ2EW3.js} +44 -12
- package/dist/chunk-JJWCQLOU.cjs +59 -0
- package/dist/{chunk-KXAAEROY.js → chunk-JMFDD7IZ.js} +2 -2
- package/dist/chunk-JSBRDJBE.js +30 -0
- package/dist/chunk-LJFUXC56.cjs +123 -0
- package/dist/chunk-LL3PQ2U6.js +4470 -0
- package/dist/chunk-LQ4LQQG6.cjs +27 -0
- package/dist/chunk-LQGVEP3E.js +109 -0
- package/dist/{chunk-425MT6Y5.cjs → chunk-LVE6Z5SL.cjs} +9 -9
- package/dist/{chunk-XL77XYI2.cjs → chunk-LXDOQTXQ.cjs} +4 -4
- package/dist/{chunk-BG4OQUKP.js → chunk-MBBY4ZIK.js} +1 -1
- package/dist/{chunk-ZXIQCYYV.cjs → chunk-MGMXR67S.cjs} +9 -9
- package/dist/{chunk-FHUNAB2K.cjs → chunk-MHLE6AVN.cjs} +33 -6
- package/dist/chunk-MHSDHPC4.cjs +58 -0
- package/dist/chunk-MUBW5UDH.cjs +55 -0
- package/dist/{chunk-MNSTWHK3.cjs → chunk-MVWOQBCC.cjs} +11 -11
- package/dist/chunk-N254NRHT.cjs +30 -0
- package/dist/{chunk-SRLY7K6J.js → chunk-OBLIITWJ.js} +2 -2
- package/dist/{chunk-SIGWDEPS.cjs → chunk-OI7OIGNB.cjs} +10 -10
- package/dist/{chunk-V7YTCNMN.cjs → chunk-OPR34VHL.cjs} +5 -5
- package/dist/chunk-OUHQZFN4.js +78 -0
- package/dist/{chunk-HMRDNRTH.js → chunk-PEC45WYS.js} +2 -2
- package/dist/{chunk-OSUWEUZE.js → chunk-PUOE5BCN.js} +1 -1
- package/dist/chunk-Q2VYSHWU.js +59 -0
- package/dist/chunk-Q3MJ6CYS.cjs +193 -0
- package/dist/{chunk-QRGPAUST.js → chunk-Q5RN7RXC.js} +2 -2
- package/dist/{chunk-43XS26AQ.cjs → chunk-Q5RX3XGB.cjs} +4 -4
- package/dist/chunk-QCLYBIMM.cjs +51 -0
- package/dist/chunk-QMAKTSZB.cjs +48 -0
- package/dist/chunk-QT2VZNFA.js +29 -0
- package/dist/{chunk-3XJD56Z4.js → chunk-QUFAULH7.js} +9 -3
- package/dist/{chunk-RJP3SZ7Q.cjs → chunk-RD5XAJR2.cjs} +492 -309
- package/dist/chunk-RGR6ME5J.cjs +844 -0
- package/dist/{chunk-EOGKE5GD.cjs → chunk-RKJTGGMU.cjs} +221 -126
- package/dist/{chunk-NMGF2KUN.js → chunk-RO46YAPI.js} +1 -1
- package/dist/{chunk-2U5HFVRO.cjs → chunk-RVUQKMXX.cjs} +108 -0
- package/dist/chunk-S52YW5ZQ.js +844 -0
- package/dist/{chunk-ZLOTP56B.cjs → chunk-S6BDWWUG.cjs} +5 -5
- package/dist/{chunk-6DWXHBAY.js → chunk-SAHBLB3E.js} +222 -127
- package/dist/chunk-SALLHB2I.js +27 -0
- package/dist/{chunk-GIZL57FE.cjs → chunk-SEKD5FH3.cjs} +3 -1
- package/dist/{chunk-DZHR34H6.cjs → chunk-SHFA46CS.cjs} +8 -8
- package/dist/{chunk-MILZEEUV.js → chunk-SIHRD34Z.js} +2 -2
- package/dist/{chunk-BPTBKO7D.js → chunk-SO3QQJAZ.js} +216 -36
- package/dist/{chunk-HSPWX4Z2.cjs → chunk-SRQW3B6J.cjs} +223 -43
- package/dist/{chunk-MY3TZER2.js → chunk-T63AMO6H.js} +1 -1
- package/dist/{chunk-X765A7J5.js → chunk-TERCG25S.js} +1 -1
- package/dist/{chunk-WOGJXDBU.cjs → chunk-TFSRRZWP.cjs} +3 -3
- package/dist/{chunk-RRZS5A53.js → chunk-TQHOVHRS.js} +1 -1
- package/dist/{chunk-JHOQABEF.js → chunk-TWEKBHUO.js} +5 -5
- package/dist/chunk-U3WDY42C.cjs +42 -0
- package/dist/{chunk-CKN2BLHK.cjs → chunk-UBS46QL3.cjs} +2 -2
- package/dist/{chunk-H3GBSPK5.js → chunk-UGTFKUW4.js} +14 -6
- package/dist/chunk-UJTCTTUF.cjs +271 -0
- package/dist/{chunk-RUZB43HU.cjs → chunk-UTI6ZQEY.cjs} +22 -14
- package/dist/{chunk-OLG7LZBD.js → chunk-VG34MG2U.js} +1 -1
- package/dist/{chunk-ZKZRFH37.cjs → chunk-VJYPP6PP.cjs} +6 -6
- package/dist/{chunk-YHGTBPEC.js → chunk-VNQ5GL34.js} +1 -1
- package/dist/{chunk-XDVG3NM4.js → chunk-W3X6PAC7.js} +2 -48
- package/dist/{chunk-FK2DVRPJ.js → chunk-WFUUXADU.js} +2 -2
- package/dist/{chunk-R5OO7MEB.cjs → chunk-WGTJOIB7.cjs} +22 -22
- package/dist/{chunk-VHBUKGRG.js → chunk-WJDPVW7T.js} +4 -4
- package/dist/chunk-WNUVPKBW.js +42 -0
- package/dist/{chunk-EV53SLSB.cjs → chunk-WPVWQSL7.cjs} +4 -4
- package/dist/chunk-WQ3VJXZB.js +118 -0
- package/dist/chunk-WTNBX2JO.js +271 -0
- package/dist/chunk-XAV24VYN.js +48 -0
- package/dist/chunk-XDLH4EDL.cjs +118 -0
- package/dist/{chunk-U7CZFKPL.cjs → chunk-XMNHZRUB.cjs} +2 -2
- package/dist/chunk-XUDSXGGV.cjs +1822 -0
- package/dist/{chunk-WQUQ5JMM.js → chunk-XWASJ2QL.js} +4 -4
- package/dist/chunk-Y2SXUCNJ.js +55 -0
- package/dist/{chunk-AIH6GUGB.cjs → chunk-YDCDGTK6.cjs} +5 -5
- package/dist/chunk-YFXTE422.cjs +92 -0
- package/dist/chunk-YKS55CMT.js +1822 -0
- package/dist/{chunk-KC5FPUOF.cjs → chunk-YRLYSQEQ.cjs} +2 -2
- package/dist/{chunk-JWPI6O5Z.js → chunk-YS34SVY5.js} +31 -4
- package/dist/{chunk-FEVHH525.cjs → chunk-YYB42DCU.cjs} +4 -4
- package/dist/chunk-ZK6HOR62.js +92 -0
- package/dist/{chunk-BHV7CBNT.js → chunk-ZSE42BRE.js} +1 -1
- package/dist/clear-ES5WCZRF.cjs +12 -0
- package/dist/clear-J7XS6T5W.js +12 -0
- package/dist/completion-XQTDTJLK.cjs +14 -0
- package/dist/completion-XR6ZONJQ.js +14 -0
- package/dist/config-2TB3A55J.js +18 -0
- package/dist/config-RDMVIV26.cjs +18 -0
- package/dist/constants-6CPCJ3DY.cjs +21 -0
- package/dist/{constants-V6J54N3X.js → constants-UFM5B232.js} +2 -1
- package/dist/{defaultHooks-WLMRQUXG.cjs → defaultHooks-RCXPHF4M.cjs} +3 -1
- package/dist/{defaultHooks-R56VYG7I.js → defaultHooks-RDRMER3Z.js} +2 -0
- package/dist/export-EWAYH353.cjs +12 -0
- package/dist/export-ZWA6XGVS.js +12 -0
- package/dist/extractSessionMemories-SDW2MVBQ.cjs +7 -0
- package/dist/extractSessionMemories-V7K42ZHW.js +7 -0
- package/dist/feedback-5RV6ODW4.js +15 -0
- package/dist/feedback-ZPITHFJR.cjs +15 -0
- package/dist/filesystem-3SGCW2BF.js +10 -0
- package/dist/filesystem-MCFXJQ6R.cjs +10 -0
- package/dist/formatters-6K7QVWQL.cjs +10 -0
- package/dist/formatters-DQHO5I36.js +10 -0
- package/dist/{help-LKKQU2TN.js → help-I5GRCA3S.js} +3 -2
- package/dist/help-X52PZM24.cjs +12 -0
- package/dist/history-4WIOZ4TW.cjs +14 -0
- package/dist/{history-AV4XBFRK.js → history-OCHJBJW7.js} +3 -2
- package/dist/hooks-IAVTXUAI.cjs +13 -0
- package/dist/hooks-YF6HL23E.js +13 -0
- package/dist/{i18n-BSAPXM56.js → i18n-KHBXUALK.js} +2 -1
- package/dist/i18n-MVQIAZWS.cjs +33 -0
- package/dist/ide-4R3BEBIS.js +12 -0
- package/dist/ide-C7WSPQTR.cjs +12 -0
- package/dist/import-2ICSKDL7.cjs +10 -0
- package/dist/import-EAAX5HJR.js +170 -0
- package/dist/import-KRVVYJCZ.js +10 -0
- package/dist/import-PQJPNXA4.cjs +170 -0
- package/dist/index.cjs +7503 -11251
- package/dist/index.js +8735 -12483
- package/dist/init-6K3NRDOM.js +10 -0
- package/dist/init-AOUGGITS.cjs +10 -0
- package/dist/language-Q7YFDVSR.cjs +18 -0
- package/dist/language-Y6ZC7LET.js +18 -0
- package/dist/{lint-44UQJ673.cjs → lint-D5UOJWIK.cjs} +1 -0
- package/dist/{lint-TA2ZHVLM.js → lint-NJPZWVN2.js} +1 -0
- package/dist/{localProjectPermissions-WQYMGI42.js → localProjectPermissions-N77HA3XK.js} +3 -2
- package/dist/localProjectPermissions-UFSMNTBJ.cjs +18 -0
- package/dist/login-6OAH2NEH.cjs +20 -0
- package/dist/login-DL3377MD.js +20 -0
- package/dist/logout-ELQBUMTU.cjs +18 -0
- package/dist/logout-TLYA5W45.js +18 -0
- package/dist/mcp-BHOIBYUB.js +18 -0
- package/dist/mcp-TNUEXR5T.cjs +18 -0
- package/dist/{mcp-install-2KVKRAMQ.cjs → mcp-install-GROTZHAW.cjs} +26 -14
- package/dist/{mcp-install-77UXRN6R.js → mcp-install-KSADVDBE.js} +21 -9
- package/dist/memory-6DRFA43C.js +10 -0
- package/dist/memory-IORZE6WF.cjs +10 -0
- package/dist/message-JUBOK2VU.js +9 -0
- package/dist/message-ZJ5AYAMT.cjs +9 -0
- package/dist/model-CJPSPGIC.cjs +10 -0
- package/dist/model-MQXC56ES.js +10 -0
- package/dist/new-7D2B7IWM.cjs +12 -0
- package/dist/new-7VYM36RC.js +12 -0
- package/dist/{patch-BAAQIYSW.js → patch-5F6VBIT3.js} +2 -0
- package/dist/{patch-J32X2QQP.cjs → patch-MOD7QC3D.cjs} +3 -1
- package/dist/permissions-MM77OSFO.js +13 -0
- package/dist/permissions-W2F62DJ6.cjs +13 -0
- package/dist/{plan-JFGNRL2S.js → plan-G5CEKJI4.js} +1 -0
- package/dist/{plan-B3CW5DXJ.cjs → plan-QKOHE3LH.cjs} +1 -0
- package/dist/quit-7D2RDGTD.cjs +10 -0
- package/dist/quit-PKBSEJOL.js +10 -0
- package/dist/registry-A5XLMQVC.cjs +1828 -0
- package/dist/registry-WQLWHOLY.js +1828 -0
- package/dist/resume-FBKXSDOA.js +13 -0
- package/dist/resume-KLPDYPWQ.cjs +13 -0
- package/dist/search-7RNYTCNO.js +17 -0
- package/dist/search-UESMQZC3.cjs +17 -0
- package/dist/{session-T3TAZ5ZU.cjs → session-BSU2L5UI.cjs} +1 -0
- package/dist/{session-H5QWKE5E.js → session-SZMRN5KG.js} +1 -0
- package/dist/sessions-TSSUFWIJ.cjs +10 -0
- package/dist/sessions-WAXBUQTU.js +10 -0
- package/dist/settings-D6JXX5RG.js +30 -0
- package/dist/settings-RKYGXKDG.cjs +30 -0
- package/dist/share-GLX4YHS4.cjs +14 -0
- package/dist/share-U2M2KBFJ.js +14 -0
- package/dist/skills-63QLZMUO.cjs +14 -0
- package/dist/{skills-LJZA6PVJ.js → skills-BAMMXP3Q.js} +3 -2
- package/dist/{skills-install-MQINL3EC.js → skills-install-QNQWC2MV.js} +99 -28
- package/dist/{skills-install-IKJZN4G2.cjs → skills-install-UMK5H3SO.cjs} +107 -36
- package/dist/skills-new-NYKNHJHV.cjs +15 -0
- package/dist/skills-new-NZFGFKML.js +15 -0
- package/dist/slashCommands-EJ23C3Z4.cjs +69 -0
- package/dist/slashCommands-JQIL4EWX.js +69 -0
- package/dist/status-BKC7GBNQ.js +11 -0
- package/dist/status-FU3CPJWQ.cjs +11 -0
- package/dist/sync-3IEIHXIP.cjs +18 -0
- package/dist/sync-7JMZVEQD.cjs +40 -0
- package/dist/{sync-EXYX7HXW.js → sync-KWX67OUN.js} +3 -2
- package/dist/sync-YVPFT7SL.js +18 -0
- package/dist/tasks-5FPBIFLC.js +9 -0
- package/dist/tasks-TXGKGNH6.cjs +9 -0
- package/dist/team-GVK5L73L.cjs +9 -0
- package/dist/team-RWIKCLTG.js +9 -0
- package/dist/teammate-3C4MLRGH.js +139 -0
- package/dist/teammate-7C3UDQSH.cjs +139 -0
- package/dist/theme-A2CEHI7W.js +18 -0
- package/dist/theme-LNOQOVR4.cjs +18 -0
- package/dist/ui/questionModal.cjs +7 -25
- package/dist/ui/questionModal.js +6 -24
- package/dist/undo-F2IZJQUV.js +10 -0
- package/dist/undo-QEV42XLU.cjs +10 -0
- package/dist/update-TVAJMMBC.js +82 -0
- package/dist/update-Z6BIIQDC.cjs +82 -0
- package/package.json +9 -3
- package/dist/CommunitySkillsCache-ILWHWE5P.js +0 -7
- package/dist/CommunitySkillsCache-KHC6RUJW.cjs +0 -7
- package/dist/HookManager-X47HCM5G.cjs +0 -6
- package/dist/HookManager-ZXKHCD7U.js +0 -6
- package/dist/MemoryManager-6ZT7IDO5.cjs +0 -7
- package/dist/MemoryManager-AJGS5AKB.js +0 -7
- package/dist/PermissionManager-HG6W2DGU.cjs +0 -10
- package/dist/SessionManager-BJ2G6VV4.cjs +0 -9
- package/dist/SessionManager-ENPGYK5J.js +0 -9
- package/dist/SkillsRegistry-6ZFOCT25.cjs +0 -8
- package/dist/SkillsRegistry-C2SHOZ5D.js +0 -8
- package/dist/about-3BJTNSLK.js +0 -11
- package/dist/about-EABQNJGV.cjs +0 -11
- package/dist/add-dir-7FD4DMDA.cjs +0 -9
- package/dist/add-dir-LOYJ4YB5.js +0 -9
- package/dist/agents-2Y6ASV7C.js +0 -10
- package/dist/agents-UOSPKLQL.cjs +0 -10
- package/dist/agents-new-23NSGAM5.js +0 -13
- package/dist/agents-new-WI2EL7IJ.cjs +0 -13
- package/dist/automode-LGWTY3UX.js +0 -9
- package/dist/automode-WLBQ7MN7.cjs +0 -9
- package/dist/chunk-5UBW2BGC.js +0 -33
- package/dist/chunk-I6DBWNLN.cjs +0 -169
- package/dist/chunk-IZBCMJHJ.cjs +0 -33
- package/dist/completion-7WGMHKOR.cjs +0 -13
- package/dist/completion-KH33NSGP.js +0 -13
- package/dist/constants-RBQTR32A.cjs +0 -20
- package/dist/export-3QN3IH7A.js +0 -11
- package/dist/export-BI54X3MP.cjs +0 -11
- package/dist/feedback-CI4OIPOS.cjs +0 -14
- package/dist/feedback-GFPL5STE.js +0 -14
- package/dist/formatters-N5IJKYZY.cjs +0 -8
- package/dist/formatters-UG6VZJJ5.js +0 -8
- package/dist/help-CWMUGD3V.cjs +0 -11
- package/dist/history-73VBEMSI.cjs +0 -13
- package/dist/hooks-62UDQBGH.cjs +0 -12
- package/dist/hooks-XORDJD5X.js +0 -12
- package/dist/i18n-X2IU2EZD.cjs +0 -32
- package/dist/ide-RPKZALQV.js +0 -11
- package/dist/ide-YMNXJB6A.cjs +0 -11
- package/dist/init-J5HR4R7U.js +0 -9
- package/dist/init-JCC7RVMC.cjs +0 -9
- package/dist/language-AZISJCEZ.js +0 -16
- package/dist/language-F65RA6FZ.cjs +0 -16
- package/dist/localProjectPermissions-2EATUDZM.cjs +0 -17
- package/dist/login-5HLPMECE.js +0 -18
- package/dist/login-ISWYYBXP.cjs +0 -18
- package/dist/logout-3EKZM5J3.cjs +0 -16
- package/dist/logout-GE7TSZ24.js +0 -16
- package/dist/mcp-EW64QRFA.cjs +0 -15
- package/dist/mcp-VHS7AMF2.js +0 -15
- package/dist/memory-2I473RU3.js +0 -9
- package/dist/memory-JZ6NPSP3.cjs +0 -9
- package/dist/model-GXZLARPT.js +0 -9
- package/dist/model-Y274DBDO.cjs +0 -9
- package/dist/new-BG5VIGZ7.cjs +0 -9
- package/dist/new-YXFDQOA7.js +0 -9
- package/dist/permissions-QILEAGBP.cjs +0 -12
- package/dist/permissions-WVEOVMWO.js +0 -12
- package/dist/quit-NC32OEJG.cjs +0 -9
- package/dist/quit-WRRIGU33.js +0 -9
- package/dist/resume-GJIKIDPR.cjs +0 -12
- package/dist/resume-RMJNCAOK.js +0 -12
- package/dist/search-UIWIXB73.js +0 -14
- package/dist/search-WQNXDA2E.cjs +0 -14
- package/dist/sessions-HPFX2GDD.js +0 -9
- package/dist/sessions-SAQU6MFA.cjs +0 -9
- package/dist/share-2WH5ZVOO.cjs +0 -13
- package/dist/share-PSSWWVV5.js +0 -13
- package/dist/skills-YTYGART7.cjs +0 -13
- package/dist/skills-new-3WCU3CWB.js +0 -14
- package/dist/skills-new-O5LFVFZU.cjs +0 -14
- package/dist/slashCommands-7IRDOXOQ.cjs +0 -55
- package/dist/slashCommands-C6CAQA25.js +0 -55
- package/dist/status-4EDV2LSY.cjs +0 -10
- package/dist/status-NU7TJDCE.js +0 -10
- package/dist/sync-3GFSEIAZ.js +0 -16
- package/dist/sync-6M3WRKMH.cjs +0 -39
- package/dist/sync-CQNQDNTJ.cjs +0 -16
- package/dist/theme-EMJGULMI.cjs +0 -16
- package/dist/theme-FGDSXNU3.js +0 -16
- package/dist/undo-CTXQYE7C.cjs +0 -9
- 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
|
|
3
|
+
var _chunkXDLH4EDLcjs = require('./chunk-XDLH4EDL.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkYDCDGTK6cjs = require('./chunk-YDCDGTK6.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
|
|
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,
|
|
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,
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
310
|
-
|
|
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 (
|
|
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
|
|
316
|
-
|
|
317
|
-
|
|
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 (!
|
|
320
|
-
|
|
407
|
+
if (!targetConfig.mcp.servers) {
|
|
408
|
+
targetConfig.mcp.servers = [];
|
|
321
409
|
}
|
|
322
|
-
|
|
323
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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 (!
|
|
530
|
+
if (!targetConfig) {
|
|
352
531
|
return "Config not available.";
|
|
353
532
|
}
|
|
354
|
-
const serverIndex = _optionalChain([
|
|
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 (
|
|
539
|
+
} catch (e4) {
|
|
361
540
|
}
|
|
362
|
-
|
|
541
|
+
targetConfig.mcp.servers.splice(serverIndex, 1);
|
|
363
542
|
try {
|
|
364
|
-
await
|
|
365
|
-
|
|
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:
|
|
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:
|
|
557
|
+
description: _chunkRVUQKMXXcjs.t.call(void 0, "commands.mcp.installDescription"),
|
|
378
558
|
implemented: true
|
|
379
559
|
};
|
|
380
560
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _chunkJHGIWNHLcjs = require('./chunk-JHGIWNHL.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
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,
|
|
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,
|
|
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,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
saveConfig
|
|
3
|
-
} from "./chunk-ZBIBLOZL.js";
|
|
4
1
|
import {
|
|
5
2
|
showModal
|
|
6
|
-
} from "./chunk-
|
|
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-
|
|
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
|
|
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:
|
|
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-
|
|
3
|
+
} from "./chunk-5OBNULPU.js";
|
|
4
4
|
import {
|
|
5
5
|
AUTOHAND_PATHS
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EGFT4PGW.js";
|
|
7
7
|
import {
|
|
8
8
|
t
|
|
9
|
-
} from "./chunk-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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(`
|