autohand-cli 0.7.13 → 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-2JMWWYMZ.js → chunk-2ELK5DMH.js} +44 -10
- package/dist/chunk-2JYIR3EC.cjs +1176 -0
- package/dist/{chunk-RRZFJIIB.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-ONAY5SD2.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-METF3I6W.cjs → chunk-D6VG7B5X.cjs} +10 -4
- 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-7YX3OD4B.js → chunk-GHSBZ3YB.js} +2 -2
- package/dist/chunk-GLBAF54O.js +218 -0
- package/dist/chunk-GO3N7LRW.cjs +131 -0
- package/dist/{chunk-KW4SQWBU.cjs → chunk-H6ZGZEBG.cjs} +57 -23
- package/dist/{chunk-CTJILRNQ.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-B5HIJJ4B.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-XQLWN4Y3.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-R3H25HQZ.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-B2K7JZRW.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-3AWZFG5G.js → chunk-QUFAULH7.js} +10 -4
- 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-YESQ7XR3.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-RU24K66K.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 +8671 -12373
- package/dist/index.js +8739 -12441
- 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 +10 -4
- 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-BIZH6I2U.cjs +0 -11
- package/dist/about-PPIVMAPA.js +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-AXP53LTU.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-TBF2CUJR.js +0 -14
- package/dist/feedback-XXHPSUUO.cjs +0 -14
- package/dist/formatters-N5IJKYZY.cjs +0 -8
- package/dist/formatters-UG6VZJJ5.js +0 -8
- package/dist/help-4VSLIMP4.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-IE6UTPKF.cjs +0 -13
- package/dist/share-NQXIMFSQ.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-3FFAL4SL.js +0 -55
- package/dist/slashCommands-JASFW3E4.cjs +0 -55
- package/dist/status-4NDGXPIM.js +0 -10
- package/dist/status-RHJIBHP2.cjs +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
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
normalizeMcpCommandForConfig
|
|
3
|
+
} from "./chunk-WQ3VJXZB.js";
|
|
4
4
|
import {
|
|
5
5
|
I18nProvider
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EPNYD4NV.js";
|
|
7
|
+
import {
|
|
8
|
+
loadConfig,
|
|
9
|
+
saveConfig
|
|
10
|
+
} from "./chunk-WTNBX2JO.js";
|
|
11
|
+
import {
|
|
12
|
+
PROJECT_DIR_NAME
|
|
13
|
+
} from "./chunk-EGFT4PGW.js";
|
|
7
14
|
import {
|
|
8
15
|
t
|
|
9
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-HFMLWH7B.js";
|
|
10
17
|
|
|
11
18
|
// src/commands/mcp.ts
|
|
12
19
|
import chalk from "chalk";
|
|
20
|
+
import path from "path";
|
|
13
21
|
|
|
14
22
|
// src/ui/ink/components/McpServerList.tsx
|
|
15
23
|
import { useState, useCallback } from "react";
|
|
@@ -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 = (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 loadConfig(), scope };
|
|
180
|
+
}
|
|
181
|
+
if (!workspaceRoot) {
|
|
182
|
+
throw new Error("Workspace root is required for project scope.");
|
|
183
|
+
}
|
|
184
|
+
const projectConfigPath = path.join(workspaceRoot, PROJECT_DIR_NAME, "config.json");
|
|
185
|
+
return { config: await loadConfig(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 = config?.mcp?.servers ?? [];
|
|
@@ -209,7 +244,8 @@ async function showInteractiveList(manager, config) {
|
|
|
209
244
|
lines.push(t("commands.mcp.noServers"));
|
|
210
245
|
lines.push("");
|
|
211
246
|
lines.push(chalk.gray("Add a server:"));
|
|
212
|
-
lines.push(chalk.gray(" /mcp add <name> <command> [args...]"));
|
|
247
|
+
lines.push(chalk.gray(" /mcp add [--scope user|project] <name> <command> [args...]"));
|
|
248
|
+
lines.push(chalk.gray(" /mcp add --transport http <name> <url>"));
|
|
213
249
|
lines.push("");
|
|
214
250
|
lines.push(chalk.gray("Browse community servers:"));
|
|
215
251
|
lines.push(chalk.gray(" /mcp install"));
|
|
@@ -305,64 +341,208 @@ function handleListTools(manager) {
|
|
|
305
341
|
lines.push(chalk.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);
|
|
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 (!
|
|
395
|
+
if (!targetConfig) {
|
|
313
396
|
return "Config not available.";
|
|
314
397
|
}
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
|
|
398
|
+
const normalized = normalizeMcpCommandForConfig(
|
|
399
|
+
target,
|
|
400
|
+
serverArgs.length > 0 ? serverArgs : void 0
|
|
401
|
+
);
|
|
402
|
+
const normalizedCommand = 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} ${(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 saveConfig(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 saveConfig(targetConfig);
|
|
468
|
+
syncRuntimeConfig(config, targetConfig);
|
|
469
|
+
try {
|
|
470
|
+
await manager.disconnect(name);
|
|
471
|
+
} catch {
|
|
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 saveConfig(
|
|
486
|
+
await saveConfig(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 =
|
|
533
|
+
const serverIndex = targetConfig.mcp?.servers?.findIndex((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
539
|
} catch {
|
|
361
540
|
}
|
|
362
|
-
|
|
541
|
+
targetConfig.mcp.servers.splice(serverIndex, 1);
|
|
363
542
|
try {
|
|
364
|
-
await saveConfig(
|
|
365
|
-
|
|
543
|
+
await saveConfig(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
|
}
|