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
|
@@ -0,0 +1,271 @@
|
|
|
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
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkRD5XAJR2cjs = require('./chunk-RD5XAJR2.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
|
|
8
|
+
|
|
9
|
+
// src/config.ts
|
|
10
|
+
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
11
|
+
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
12
|
+
var _yaml = require('yaml'); var _yaml2 = _interopRequireDefault(_yaml);
|
|
13
|
+
var DEFAULT_CONFIG_PATH = _chunkSEKD5FH3cjs.AUTOHAND_FILES.configJson;
|
|
14
|
+
var YAML_CONFIG_PATH = _chunkSEKD5FH3cjs.AUTOHAND_FILES.configYaml;
|
|
15
|
+
var YML_CONFIG_PATH = _chunkSEKD5FH3cjs.AUTOHAND_FILES.configYml;
|
|
16
|
+
var DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
|
|
17
|
+
var DEFAULT_OLLAMA_URL = "http://localhost:11434";
|
|
18
|
+
var DEFAULT_LLAMACPP_URL = "http://localhost:8080";
|
|
19
|
+
var DEFAULT_OPENAI_URL = "https://api.openai.com/v1";
|
|
20
|
+
var DEFAULT_MLX_URL = "http://localhost:8080";
|
|
21
|
+
var DEFAULT_LLMGATEWAY_URL = "https://api.llmgateway.io/v1";
|
|
22
|
+
function getDefaultConfigPath() {
|
|
23
|
+
return DEFAULT_CONFIG_PATH;
|
|
24
|
+
}
|
|
25
|
+
async function detectConfigPath(customPath) {
|
|
26
|
+
if (customPath) {
|
|
27
|
+
return _path2.default.resolve(customPath);
|
|
28
|
+
}
|
|
29
|
+
const envPath = process.env.AUTOHAND_CONFIG;
|
|
30
|
+
if (envPath) {
|
|
31
|
+
return _path2.default.resolve(envPath);
|
|
32
|
+
}
|
|
33
|
+
if (await _fsextra2.default.pathExists(YAML_CONFIG_PATH)) {
|
|
34
|
+
return YAML_CONFIG_PATH;
|
|
35
|
+
}
|
|
36
|
+
if (await _fsextra2.default.pathExists(YML_CONFIG_PATH)) {
|
|
37
|
+
return YML_CONFIG_PATH;
|
|
38
|
+
}
|
|
39
|
+
return DEFAULT_CONFIG_PATH;
|
|
40
|
+
}
|
|
41
|
+
function isYamlFile(filePath) {
|
|
42
|
+
const ext = _path2.default.extname(filePath).toLowerCase();
|
|
43
|
+
return ext === ".yaml" || ext === ".yml";
|
|
44
|
+
}
|
|
45
|
+
async function parseConfigFile(configPath) {
|
|
46
|
+
const content = await _fsextra2.default.readFile(configPath, "utf8");
|
|
47
|
+
if (isYamlFile(configPath)) {
|
|
48
|
+
return _yaml2.default.parse(content);
|
|
49
|
+
}
|
|
50
|
+
return JSON.parse(content);
|
|
51
|
+
}
|
|
52
|
+
async function loadConfig(customPath) {
|
|
53
|
+
const configPath = await detectConfigPath(customPath);
|
|
54
|
+
await _fsextra2.default.ensureDir(_path2.default.dirname(configPath));
|
|
55
|
+
let isNewConfig = false;
|
|
56
|
+
if (!await _fsextra2.default.pathExists(configPath)) {
|
|
57
|
+
const defaultConfig = {
|
|
58
|
+
provider: "openrouter",
|
|
59
|
+
openrouter: {
|
|
60
|
+
apiKey: "",
|
|
61
|
+
baseUrl: "https://openrouter.ai/api/v1",
|
|
62
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
63
|
+
},
|
|
64
|
+
workspace: {
|
|
65
|
+
defaultRoot: process.cwd(),
|
|
66
|
+
allowDangerousOps: false
|
|
67
|
+
},
|
|
68
|
+
ui: {
|
|
69
|
+
theme: "dark",
|
|
70
|
+
autoConfirm: false,
|
|
71
|
+
promptSuggestions: true
|
|
72
|
+
},
|
|
73
|
+
telemetry: {
|
|
74
|
+
enabled: false
|
|
75
|
+
},
|
|
76
|
+
autoReport: {
|
|
77
|
+
enabled: true
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
await _fsextra2.default.writeJson(configPath, defaultConfig, { spaces: 2 });
|
|
81
|
+
isNewConfig = true;
|
|
82
|
+
}
|
|
83
|
+
let parsed;
|
|
84
|
+
try {
|
|
85
|
+
parsed = await parseConfigFile(configPath);
|
|
86
|
+
} catch (error) {
|
|
87
|
+
throw new Error(`Failed to parse config at ${configPath}: ${error.message}`);
|
|
88
|
+
}
|
|
89
|
+
const normalized = normalizeConfig(parsed);
|
|
90
|
+
const withEnv = mergeEnvVariables(normalized);
|
|
91
|
+
validateConfig(withEnv, configPath);
|
|
92
|
+
const themeName = _optionalChain([withEnv, 'access', _ => _.ui, 'optionalAccess', _2 => _2.theme]) || "dark";
|
|
93
|
+
_chunkRD5XAJR2cjs.autoInitTheme.call(void 0, themeName);
|
|
94
|
+
return { ...withEnv, configPath, isNewConfig };
|
|
95
|
+
}
|
|
96
|
+
function mergeEnvVariables(config) {
|
|
97
|
+
return {
|
|
98
|
+
...config,
|
|
99
|
+
api: {
|
|
100
|
+
baseUrl: process.env.AUTOHAND_API_URL || _optionalChain([config, 'access', _3 => _3.api, 'optionalAccess', _4 => _4.baseUrl]) || "https://api.autohand.ai",
|
|
101
|
+
companySecret: process.env.AUTOHAND_SECRET || _optionalChain([config, 'access', _5 => _5.api, 'optionalAccess', _6 => _6.companySecret]) || ""
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function normalizeConfig(config) {
|
|
106
|
+
if (isModernConfig(config)) {
|
|
107
|
+
const provider = _nullishCoalesce(config.provider, () => ( "openrouter"));
|
|
108
|
+
return { provider, ...config };
|
|
109
|
+
}
|
|
110
|
+
if (isLegacyConfig(config)) {
|
|
111
|
+
return {
|
|
112
|
+
provider: "openrouter",
|
|
113
|
+
openrouter: {
|
|
114
|
+
apiKey: _nullishCoalesce(config.api_key, () => ( "replace-me")),
|
|
115
|
+
baseUrl: _nullishCoalesce(config.base_url, () => ( DEFAULT_BASE_URL)),
|
|
116
|
+
model: _nullishCoalesce(config.model, () => ( "anthropic/claude-3.5-sonnet"))
|
|
117
|
+
},
|
|
118
|
+
workspace: {
|
|
119
|
+
defaultRoot: process.cwd(),
|
|
120
|
+
allowDangerousOps: false
|
|
121
|
+
},
|
|
122
|
+
ui: {
|
|
123
|
+
autoConfirm: _nullishCoalesce(config.dry_run, () => ( false)),
|
|
124
|
+
theme: "dark",
|
|
125
|
+
promptSuggestions: true
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
return config;
|
|
130
|
+
}
|
|
131
|
+
function isModernConfig(config) {
|
|
132
|
+
return typeof config.openrouter === "object" || typeof config.ollama === "object" || typeof config.llamacpp === "object" || typeof config.openai === "object" || typeof config.mlx === "object";
|
|
133
|
+
}
|
|
134
|
+
function isLegacyConfig(config) {
|
|
135
|
+
return typeof config.api_key === "string";
|
|
136
|
+
}
|
|
137
|
+
function validateConfig(config, configPath) {
|
|
138
|
+
if (config.workspace) {
|
|
139
|
+
if (config.workspace.defaultRoot && typeof config.workspace.defaultRoot !== "string") {
|
|
140
|
+
throw new Error(`workspace.defaultRoot must be a string in ${configPath}`);
|
|
141
|
+
}
|
|
142
|
+
if (config.workspace.allowDangerousOps !== void 0 && typeof config.workspace.allowDangerousOps !== "boolean") {
|
|
143
|
+
throw new Error(`workspace.allowDangerousOps must be boolean in ${configPath}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (config.ui) {
|
|
147
|
+
if (config.ui.theme && typeof config.ui.theme !== "string") {
|
|
148
|
+
throw new Error(`ui.theme must be a string in ${configPath}`);
|
|
149
|
+
}
|
|
150
|
+
if (config.ui.theme && typeof config.ui.theme === "string" && !_chunkRD5XAJR2cjs.themeExists.call(void 0, config.ui.theme)) {
|
|
151
|
+
console.warn(`Theme '${config.ui.theme}' not found \u2014 falling back to default.`);
|
|
152
|
+
}
|
|
153
|
+
if (config.ui.autoConfirm !== void 0 && typeof config.ui.autoConfirm !== "boolean") {
|
|
154
|
+
throw new Error(`ui.autoConfirm must be boolean in ${configPath}`);
|
|
155
|
+
}
|
|
156
|
+
if (config.ui.promptSuggestions !== void 0 && typeof config.ui.promptSuggestions !== "boolean") {
|
|
157
|
+
throw new Error(`ui.promptSuggestions must be boolean in ${configPath}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (config.mcp) {
|
|
161
|
+
if (config.mcp.enabled !== void 0 && typeof config.mcp.enabled !== "boolean") {
|
|
162
|
+
throw new Error(`mcp.enabled must be boolean in ${configPath}`);
|
|
163
|
+
}
|
|
164
|
+
if (config.mcp.servers !== void 0) {
|
|
165
|
+
if (!Array.isArray(config.mcp.servers)) {
|
|
166
|
+
throw new Error(`mcp.servers must be an array in ${configPath}`);
|
|
167
|
+
}
|
|
168
|
+
for (const server of config.mcp.servers) {
|
|
169
|
+
if (!server.name || typeof server.name !== "string") {
|
|
170
|
+
throw new Error(`mcp.servers[].name must be a non-empty string in ${configPath}`);
|
|
171
|
+
}
|
|
172
|
+
if (!["stdio", "sse", "http"].includes(server.transport)) {
|
|
173
|
+
throw new Error(`mcp.servers[].transport must be 'stdio', 'sse', or 'http' in ${configPath}`);
|
|
174
|
+
}
|
|
175
|
+
if (server.transport === "stdio" && (!server.command || typeof server.command !== "string")) {
|
|
176
|
+
throw new Error(`mcp.servers[].command is required for stdio transport in ${configPath}`);
|
|
177
|
+
}
|
|
178
|
+
if ((server.transport === "sse" || server.transport === "http") && (!server.url || typeof server.url !== "string")) {
|
|
179
|
+
throw new Error(`mcp.servers[].url is required for ${server.transport} transport in ${configPath}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (config.externalAgents) {
|
|
185
|
+
if (config.externalAgents.enabled !== void 0 && typeof config.externalAgents.enabled !== "boolean") {
|
|
186
|
+
throw new Error(`externalAgents.enabled must be boolean in ${configPath}`);
|
|
187
|
+
}
|
|
188
|
+
if (config.externalAgents.paths !== void 0) {
|
|
189
|
+
if (!Array.isArray(config.externalAgents.paths)) {
|
|
190
|
+
throw new Error(`externalAgents.paths must be an array in ${configPath}`);
|
|
191
|
+
}
|
|
192
|
+
for (const p of config.externalAgents.paths) {
|
|
193
|
+
if (typeof p !== "string") {
|
|
194
|
+
throw new Error(`externalAgents.paths must contain only strings in ${configPath}`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
function resolveWorkspaceRoot(config, requestedPath) {
|
|
201
|
+
const candidate = _nullishCoalesce(_nullishCoalesce(requestedPath, () => ( process.cwd())), () => ( _optionalChain([config, 'access', _7 => _7.workspace, 'optionalAccess', _8 => _8.defaultRoot])));
|
|
202
|
+
return _path2.default.resolve(candidate);
|
|
203
|
+
}
|
|
204
|
+
function getProviderConfig(config, provider) {
|
|
205
|
+
const chosen = _nullishCoalesce(_nullishCoalesce(provider, () => ( config.provider)), () => ( "openrouter"));
|
|
206
|
+
const configByProvider = {
|
|
207
|
+
openrouter: config.openrouter,
|
|
208
|
+
ollama: config.ollama,
|
|
209
|
+
llamacpp: config.llamacpp,
|
|
210
|
+
openai: config.openai,
|
|
211
|
+
mlx: config.mlx,
|
|
212
|
+
llmgateway: config.llmgateway
|
|
213
|
+
};
|
|
214
|
+
const entry = configByProvider[chosen];
|
|
215
|
+
if (!entry) {
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
if (chosen === "openrouter" || chosen === "llmgateway") {
|
|
219
|
+
const { apiKey, model } = entry;
|
|
220
|
+
if (!apiKey || apiKey === "replace-me" || !model) {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
} else {
|
|
224
|
+
if (!entry.model) {
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return {
|
|
229
|
+
...entry,
|
|
230
|
+
baseUrl: _nullishCoalesce(entry.baseUrl, () => ( defaultBaseUrlFor(chosen, entry.port)))
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
function defaultBaseUrlFor(provider, port) {
|
|
234
|
+
if (provider === "openrouter") return DEFAULT_BASE_URL;
|
|
235
|
+
if (provider === "llmgateway") return DEFAULT_LLMGATEWAY_URL;
|
|
236
|
+
const p = port ? port.toString() : void 0;
|
|
237
|
+
switch (provider) {
|
|
238
|
+
case "ollama":
|
|
239
|
+
return p ? `http://localhost:${p}` : DEFAULT_OLLAMA_URL;
|
|
240
|
+
case "llamacpp":
|
|
241
|
+
return p ? `http://localhost:${p}` : DEFAULT_LLAMACPP_URL;
|
|
242
|
+
case "openai":
|
|
243
|
+
return DEFAULT_OPENAI_URL;
|
|
244
|
+
case "mlx":
|
|
245
|
+
return p ? `http://localhost:${p}` : DEFAULT_MLX_URL;
|
|
246
|
+
default:
|
|
247
|
+
return void 0;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
async function saveConfig(config) {
|
|
251
|
+
const { configPath, ...data } = config;
|
|
252
|
+
if (isYamlFile(configPath)) {
|
|
253
|
+
const yamlContent = _yaml2.default.stringify(data, { indent: 2 });
|
|
254
|
+
await _fsextra2.default.writeFile(configPath, yamlContent, "utf8");
|
|
255
|
+
} else {
|
|
256
|
+
await _fsextra2.default.writeJson(configPath, data, { spaces: 2 });
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
exports.getDefaultConfigPath = getDefaultConfigPath; exports.loadConfig = loadConfig; exports.resolveWorkspaceRoot = resolveWorkspaceRoot; exports.getProviderConfig = getProviderConfig; exports.saveConfig = saveConfig;
|
|
267
|
+
/**
|
|
268
|
+
* @license
|
|
269
|
+
* Copyright 2025 Autohand AI LLC
|
|
270
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
271
|
+
*/
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunkFPAE6ORVcjs = require('./chunk-FPAE6ORV.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.cjs');
|
|
10
10
|
|
|
11
11
|
// src/commands/resume.ts
|
|
12
12
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
@@ -14,7 +14,7 @@ var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsex
|
|
|
14
14
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
15
15
|
var metadata = {
|
|
16
16
|
command: "/resume",
|
|
17
|
-
description:
|
|
17
|
+
description: _chunkRVUQKMXXcjs.t.call(void 0, "commands.resume.description"),
|
|
18
18
|
implemented: true
|
|
19
19
|
};
|
|
20
20
|
async function getSessionTitle(sessionMeta) {
|
|
@@ -22,7 +22,7 @@ async function getSessionTitle(sessionMeta) {
|
|
|
22
22
|
return sessionMeta.summary.slice(0, 60);
|
|
23
23
|
}
|
|
24
24
|
try {
|
|
25
|
-
const conversationPath = _path2.default.join(
|
|
25
|
+
const conversationPath = _path2.default.join(_chunkSEKD5FH3cjs.AUTOHAND_PATHS.sessions, sessionMeta.sessionId, "conversation.jsonl");
|
|
26
26
|
if (await _fsextra2.default.pathExists(conversationPath)) {
|
|
27
27
|
const content = await _fsextra2.default.readFile(conversationPath, "utf-8");
|
|
28
28
|
const lines = content.trim().split("\n").filter((line) => line);
|
|
@@ -69,15 +69,23 @@ 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
|
-
|
|
76
|
-
|
|
75
|
+
if (ctx.workspaceRoot) {
|
|
76
|
+
const projectName = _path2.default.basename(ctx.workspaceRoot);
|
|
77
|
+
console.log(_chalk2.default.gray(`
|
|
78
|
+
No sessions found for project "${projectName}".`));
|
|
79
|
+
console.log(_chalk2.default.gray("Use /sessions to see all sessions across projects.\n"));
|
|
80
|
+
} else {
|
|
81
|
+
console.log(_chalk2.default.gray(`
|
|
82
|
+
${_chunkRVUQKMXXcjs.t.call(void 0, "commands.sessions.noSessions")}`));
|
|
83
|
+
console.log(_chalk2.default.gray("Start a new conversation to create a session.\n"));
|
|
84
|
+
}
|
|
77
85
|
return null;
|
|
78
86
|
}
|
|
79
87
|
console.log(_chalk2.default.cyan(`
|
|
80
|
-
${
|
|
88
|
+
${_chunkRVUQKMXXcjs.t.call(void 0, "commands.sessions.selectPrompt")}
|
|
81
89
|
`));
|
|
82
90
|
const choices = [];
|
|
83
91
|
const recentSessions = allSessions.slice(0, 20);
|
|
@@ -97,7 +105,7 @@ ${_chunk2U5HFVROcjs.t.call(void 0, "commands.sessions.selectPrompt")}
|
|
|
97
105
|
value: choice.name,
|
|
98
106
|
description: choice.hint
|
|
99
107
|
}));
|
|
100
|
-
const result = await
|
|
108
|
+
const result = await _chunkFPAE6ORVcjs.showModal.call(void 0, {
|
|
101
109
|
title: "Choose a session",
|
|
102
110
|
options
|
|
103
111
|
});
|
|
@@ -111,7 +119,7 @@ ${_chunk2U5HFVROcjs.t.call(void 0, "commands.sessions.selectPrompt")}
|
|
|
111
119
|
}
|
|
112
120
|
return resumeSession(ctx.sessionManager, result.value);
|
|
113
121
|
} catch (error) {
|
|
114
|
-
console.error(_chalk2.default.red(
|
|
122
|
+
console.error(_chalk2.default.red(_chunkRVUQKMXXcjs.t.call(void 0, "commands.resume.failed", { error: error.message })));
|
|
115
123
|
return null;
|
|
116
124
|
}
|
|
117
125
|
}
|
|
@@ -122,7 +130,7 @@ async function resumeSession(sessionManager, sessionId) {
|
|
|
122
130
|
const firstUserMessage = messages.find((m) => m.role === "user");
|
|
123
131
|
const title = session.metadata.summary || _optionalChain([firstUserMessage, 'optionalAccess', _ => _.content, 'access', _2 => _2.slice, 'call', _3 => _3(0, 50)]) || "Untitled session";
|
|
124
132
|
console.log(_chalk2.default.cyan(`
|
|
125
|
-
${
|
|
133
|
+
${_chunkRVUQKMXXcjs.t.call(void 0, "commands.resume.resuming", { id: title })}`));
|
|
126
134
|
console.log(_chalk2.default.gray(` Project: ${session.metadata.projectPath}`));
|
|
127
135
|
console.log(_chalk2.default.gray(` Started: ${new Date(session.metadata.createdAt).toLocaleString()}`));
|
|
128
136
|
console.log(_chalk2.default.gray(` Messages: ${messages.length}`));
|
|
@@ -144,7 +152,7 @@ ${_chunk2U5HFVROcjs.t.call(void 0, "commands.resume.resuming", { id: title })}`)
|
|
|
144
152
|
console.log(_chalk2.default.green("Session resumed. Continue typing to chat.\n"));
|
|
145
153
|
return null;
|
|
146
154
|
} catch (error) {
|
|
147
|
-
console.error(_chalk2.default.red(
|
|
155
|
+
console.error(_chalk2.default.red(_chunkRVUQKMXXcjs.t.call(void 0, "commands.resume.failed", { error: error.message })));
|
|
148
156
|
return null;
|
|
149
157
|
}
|
|
150
158
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.cjs');
|
|
4
4
|
|
|
5
5
|
// src/commands/history.ts
|
|
6
6
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
7
7
|
var metadata = {
|
|
8
8
|
command: "/history",
|
|
9
|
-
description:
|
|
9
|
+
description: _chunkRVUQKMXXcjs.t.call(void 0, "commands.history.title"),
|
|
10
10
|
implemented: true
|
|
11
11
|
};
|
|
12
12
|
function formatHistoryEntry(entry) {
|
|
@@ -72,14 +72,14 @@ async function history(ctx) {
|
|
|
72
72
|
const allSessions = await ctx.sessionManager.listSessions();
|
|
73
73
|
if (allSessions.length === 0) {
|
|
74
74
|
console.log(_chalk2.default.gray(`
|
|
75
|
-
${
|
|
75
|
+
${_chunkRVUQKMXXcjs.t.call(void 0, "commands.history.empty")}
|
|
76
76
|
`));
|
|
77
77
|
return null;
|
|
78
78
|
}
|
|
79
79
|
const entries = allSessions.map(toHistoryEntry);
|
|
80
80
|
const paginated = paginateHistory(entries, page, pageSize);
|
|
81
81
|
console.log(_chalk2.default.cyan(`
|
|
82
|
-
${
|
|
82
|
+
${_chunkRVUQKMXXcjs.t.call(void 0, "commands.history.title")}
|
|
83
83
|
`));
|
|
84
84
|
console.log(
|
|
85
85
|
_chalk2.default.bold(
|
|
@@ -95,14 +95,14 @@ ${_chunk2U5HFVROcjs.t.call(void 0, "commands.history.title")}
|
|
|
95
95
|
console.log(
|
|
96
96
|
_chalk2.default.gray(
|
|
97
97
|
`
|
|
98
|
-
${
|
|
98
|
+
${_chunkRVUQKMXXcjs.t.call(void 0, "commands.history.showing", { page: paginated.currentPage, total: paginated.totalPages, count: paginated.totalItems })}`
|
|
99
99
|
)
|
|
100
100
|
);
|
|
101
101
|
}
|
|
102
102
|
if (paginated.totalPages > 1 && paginated.currentPage < paginated.totalPages) {
|
|
103
103
|
console.log(_chalk2.default.gray(`Use /history ${paginated.currentPage + 1} for next page`));
|
|
104
104
|
}
|
|
105
|
-
console.log(_chalk2.default.gray(`${
|
|
105
|
+
console.log(_chalk2.default.gray(`${_chunkRVUQKMXXcjs.t.call(void 0, "commands.history.resumeHint")}
|
|
106
106
|
`));
|
|
107
107
|
return null;
|
|
108
108
|
} catch (error) {
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// src/commands/formatters.ts
|
|
2
|
-
import chalk from "chalk";
|
|
3
|
-
|
|
4
1
|
// src/actions/formatters.ts
|
|
5
2
|
import { spawn } from "child_process";
|
|
6
3
|
import path from "path";
|
|
@@ -282,47 +279,9 @@ async function applyFormatter(name, contents, file, workspaceRoot) {
|
|
|
282
279
|
throw new Error(`Formatter "${name}" is not available. Run /formatters to see available formatters.`);
|
|
283
280
|
}
|
|
284
281
|
|
|
285
|
-
// src/commands/formatters.ts
|
|
286
|
-
var metadata = {
|
|
287
|
-
command: "/formatters",
|
|
288
|
-
description: "List available code formatters",
|
|
289
|
-
implemented: true
|
|
290
|
-
};
|
|
291
|
-
async function execute() {
|
|
292
|
-
console.log();
|
|
293
|
-
console.log(chalk.cyan.bold("Available Code Formatters"));
|
|
294
|
-
console.log(chalk.gray("\u2500".repeat(60)));
|
|
295
|
-
console.log();
|
|
296
|
-
const formatters = await listFormatters();
|
|
297
|
-
const builtIn = formatters.filter((f) => f.command === "built-in");
|
|
298
|
-
const external = formatters.filter((f) => f.command !== "built-in");
|
|
299
|
-
console.log(chalk.yellow.bold("Built-in Formatters (always available):"));
|
|
300
|
-
console.log();
|
|
301
|
-
for (const f of builtIn) {
|
|
302
|
-
console.log(` ${chalk.green("\u2713")} ${chalk.white.bold(f.name)}`);
|
|
303
|
-
console.log(` ${chalk.gray(f.description)}`);
|
|
304
|
-
console.log(` ${chalk.gray("Extensions:")} ${f.extensions.join(", ")}`);
|
|
305
|
-
console.log();
|
|
306
|
-
}
|
|
307
|
-
console.log(chalk.yellow.bold("External Formatters:"));
|
|
308
|
-
console.log();
|
|
309
|
-
for (const f of external) {
|
|
310
|
-
const status = f.installed ? chalk.green("\u2713 installed") : chalk.red("\u2717 not found");
|
|
311
|
-
console.log(` ${f.installed ? chalk.green("\u2713") : chalk.red("\u2717")} ${chalk.white.bold(f.name)} ${chalk.gray(`(${f.command})`)} - ${status}`);
|
|
312
|
-
console.log(` ${chalk.gray(f.description)}`);
|
|
313
|
-
console.log(` ${chalk.gray("Extensions:")} ${f.extensions.join(", ")}`);
|
|
314
|
-
console.log();
|
|
315
|
-
}
|
|
316
|
-
console.log(chalk.gray("\u2500".repeat(60)));
|
|
317
|
-
console.log(chalk.gray("Usage: The agent can use format_file action with any installed formatter."));
|
|
318
|
-
console.log(chalk.gray("Install missing formatters via your package manager (npm, pip, cargo, etc.)"));
|
|
319
|
-
console.log();
|
|
320
|
-
}
|
|
321
|
-
|
|
322
282
|
export {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
execute
|
|
283
|
+
listFormatters,
|
|
284
|
+
applyFormatter
|
|
326
285
|
};
|
|
327
286
|
/**
|
|
328
287
|
* @license
|
|
@@ -332,8 +291,3 @@ export {
|
|
|
332
291
|
* Code Formatters
|
|
333
292
|
* Supports prettier, black, rustfmt, gofmt, and more
|
|
334
293
|
*/
|
|
335
|
-
/**
|
|
336
|
-
* @license
|
|
337
|
-
* Copyright 2025 Autohand AI LLC
|
|
338
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
339
|
-
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
t
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HFMLWH7B.js";
|
|
4
4
|
|
|
5
5
|
// src/commands/skills.ts
|
|
6
6
|
async function skills(ctx, args = []) {
|
|
@@ -230,7 +230,7 @@ async function handleSkillsInstall(ctx, skillName) {
|
|
|
230
230
|
if (!workspaceRoot) {
|
|
231
231
|
return "Workspace root not available.";
|
|
232
232
|
}
|
|
233
|
-
const { skillsInstall } = await import("./skills-install-
|
|
233
|
+
const { skillsInstall } = await import("./skills-install-QNQWC2MV.js");
|
|
234
234
|
const result = await skillsInstall(
|
|
235
235
|
{
|
|
236
236
|
skillsRegistry,
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk5IXII4HXcjs = require('./chunk-5IXII4HX.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunk33A755XBcjs = require('./chunk-33A755XB.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkAMT2UZBIcjs = require('./chunk-AMT2UZBI.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkUJTCTTUFcjs = require('./chunk-UJTCTTUF.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.cjs');
|
|
20
20
|
|
|
21
21
|
// src/commands/login.ts
|
|
22
22
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
23
23
|
var metadata = {
|
|
24
24
|
command: "/login",
|
|
25
|
-
description:
|
|
25
|
+
description: _chunkRVUQKMXXcjs.t.call(void 0, "commands.login.description"),
|
|
26
26
|
implemented: true
|
|
27
27
|
};
|
|
28
28
|
async function openBrowser(url) {
|
|
@@ -56,33 +56,33 @@ function sleep(ms) {
|
|
|
56
56
|
async function login(ctx) {
|
|
57
57
|
const config = ctx.config;
|
|
58
58
|
if (_optionalChain([config, 'optionalAccess', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'optionalAccess', _3 => _3.auth, 'optionalAccess', _4 => _4.user])) {
|
|
59
|
-
const result = await
|
|
59
|
+
const result = await _chunkAMT2UZBIcjs.safePrompt.call(void 0, {
|
|
60
60
|
type: "confirm",
|
|
61
61
|
name: "continueLogin",
|
|
62
62
|
message: `Already logged in as ${_chalk2.default.cyan(config.auth.user.email)}. Log in with a different account?`,
|
|
63
63
|
initial: false
|
|
64
64
|
});
|
|
65
65
|
if (!result || !result.continueLogin) {
|
|
66
|
-
console.log(_chalk2.default.gray(
|
|
66
|
+
console.log(_chalk2.default.gray(_chunkRVUQKMXXcjs.t.call(void 0, "commands.login.cancelled")));
|
|
67
67
|
return null;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
const authClient =
|
|
70
|
+
const authClient = _chunk33A755XBcjs.getAuthClient.call(void 0, );
|
|
71
71
|
console.log(_chalk2.default.gray("Initiating authentication..."));
|
|
72
72
|
const initResult = await authClient.initiateDeviceAuth();
|
|
73
73
|
if (!initResult.success || !initResult.deviceCode || !initResult.userCode) {
|
|
74
|
-
console.log(_chalk2.default.red(
|
|
74
|
+
console.log(_chalk2.default.red(_chunkRVUQKMXXcjs.t.call(void 0, "commands.login.failed", { error: initResult.error || "Unknown error" })));
|
|
75
75
|
return null;
|
|
76
76
|
}
|
|
77
77
|
console.log();
|
|
78
78
|
console.log(_chalk2.default.bold("To sign in, visit:"));
|
|
79
|
-
console.log(_chalk2.default.cyan.underline(initResult.verificationUriComplete || `${
|
|
79
|
+
console.log(_chalk2.default.cyan.underline(initResult.verificationUriComplete || `${_chunkSEKD5FH3cjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`));
|
|
80
80
|
console.log();
|
|
81
81
|
console.log(_chalk2.default.gray("Or enter this code manually:"));
|
|
82
82
|
console.log(_chalk2.default.bold.yellow(` ${initResult.userCode}`));
|
|
83
83
|
console.log();
|
|
84
84
|
const browserOpened = await openBrowser(
|
|
85
|
-
initResult.verificationUriComplete || `${
|
|
85
|
+
initResult.verificationUriComplete || `${_chunkSEKD5FH3cjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`
|
|
86
86
|
);
|
|
87
87
|
if (browserOpened) {
|
|
88
88
|
console.log(_chalk2.default.gray("Browser opened. Complete the login in your browser."));
|
|
@@ -93,8 +93,8 @@ async function login(ctx) {
|
|
|
93
93
|
console.log(_chalk2.default.gray("Waiting for authorization..."));
|
|
94
94
|
console.log(_chalk2.default.gray("(Press Ctrl+C to cancel)"));
|
|
95
95
|
const startTime = Date.now();
|
|
96
|
-
const timeout =
|
|
97
|
-
const pollInterval = initResult.interval ? initResult.interval * 1e3 :
|
|
96
|
+
const timeout = _chunkSEKD5FH3cjs.AUTH_CONFIG.authTimeout;
|
|
97
|
+
const pollInterval = initResult.interval ? initResult.interval * 1e3 : _chunkSEKD5FH3cjs.AUTH_CONFIG.pollInterval;
|
|
98
98
|
let dots = 0;
|
|
99
99
|
const maxDots = 3;
|
|
100
100
|
while (Date.now() - startTime < timeout) {
|
|
@@ -104,7 +104,7 @@ async function login(ctx) {
|
|
|
104
104
|
const pollResult = await authClient.pollDeviceAuth(initResult.deviceCode);
|
|
105
105
|
if (pollResult.status === "authorized" && pollResult.token && pollResult.user) {
|
|
106
106
|
process.stdout.write("\r" + " ".repeat(20) + "\r");
|
|
107
|
-
const expiresAt = new Date(Date.now() +
|
|
107
|
+
const expiresAt = new Date(Date.now() + _chunkSEKD5FH3cjs.AUTH_CONFIG.sessionExpiryDays * 24 * 60 * 60 * 1e3).toISOString();
|
|
108
108
|
const updatedConfig = {
|
|
109
109
|
...config,
|
|
110
110
|
auth: {
|
|
@@ -113,9 +113,9 @@ async function login(ctx) {
|
|
|
113
113
|
expiresAt
|
|
114
114
|
}
|
|
115
115
|
};
|
|
116
|
-
await
|
|
116
|
+
await _chunkUJTCTTUFcjs.saveConfig.call(void 0, updatedConfig);
|
|
117
117
|
console.log();
|
|
118
|
-
console.log(_chalk2.default.green(
|
|
118
|
+
console.log(_chalk2.default.green(_chunkRVUQKMXXcjs.t.call(void 0, "commands.login.success", { email: pollResult.user.name || pollResult.user.email })));
|
|
119
119
|
console.log();
|
|
120
120
|
await checkAndRestoreSyncData(pollResult.token, pollResult.user.id, updatedConfig);
|
|
121
121
|
return null;
|
|
@@ -132,16 +132,16 @@ async function login(ctx) {
|
|
|
132
132
|
}
|
|
133
133
|
async function checkAndRestoreSyncData(token, userId, config) {
|
|
134
134
|
try {
|
|
135
|
-
const syncService =
|
|
135
|
+
const syncService = _chunk5IXII4HXcjs.createSyncService.call(void 0, {
|
|
136
136
|
authToken: token,
|
|
137
137
|
userId,
|
|
138
138
|
config: {
|
|
139
|
-
...
|
|
139
|
+
..._chunk5IXII4HXcjs.DEFAULT_SYNC_CONFIG,
|
|
140
140
|
...config.sync,
|
|
141
141
|
enabled: true
|
|
142
142
|
}
|
|
143
143
|
});
|
|
144
|
-
const { getSyncApiClient } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SyncApiClient-
|
|
144
|
+
const { getSyncApiClient } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SyncApiClient-ZNYMT36M.cjs")));
|
|
145
145
|
const apiClient = getSyncApiClient();
|
|
146
146
|
const remoteManifest = await apiClient.getRemoteManifest(token);
|
|
147
147
|
if (!remoteManifest || remoteManifest.files.length === 0) {
|
|
@@ -153,7 +153,7 @@ async function checkAndRestoreSyncData(token, userId, config) {
|
|
|
153
153
|
console.log(_chalk2.default.cyan(`Found cloud sync data (${fileCount} files, ${sizeStr})`));
|
|
154
154
|
console.log(_chalk2.default.gray("This includes your settings, agents, skills, and memory."));
|
|
155
155
|
console.log();
|
|
156
|
-
const result = await
|
|
156
|
+
const result = await _chunkAMT2UZBIcjs.safePrompt.call(void 0, {
|
|
157
157
|
type: "confirm",
|
|
158
158
|
name: "restore",
|
|
159
159
|
message: "Would you like to restore your settings from the cloud?",
|