autohand-cli 0.8.2 → 0.9.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/README.md +173 -74
- package/dist/AgentRegistry-EGBDIUAK.cjs +10 -0
- package/dist/{AgentRegistry-7LDL5HJH.js → AgentRegistry-XPWSVO3Q.js} +3 -3
- package/dist/{AutomodeManager-MWLKGPZK.js → AutomodeManager-APLLPEYJ.js} +32 -18
- package/dist/{AutomodeManager-NYIZNODK.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
- package/dist/CommunitySkillsCache-2OIUV227.cjs +8 -0
- package/dist/CommunitySkillsCache-ZEQWP6YM.js +8 -0
- package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
- package/dist/{GitHubRegistryFetcher-6JQ5JEDZ.js → GitHubRegistryFetcher-J2BWPXJF.js} +2 -2
- package/dist/HookManager-CWLTFKWO.js +7 -0
- package/dist/HookManager-TMAJQU4S.cjs +7 -0
- package/dist/{ImportWizard-35YBJ4AM.cjs → ImportWizard-MQXEED2U.cjs} +41 -17
- package/dist/{ImportWizard-XH7CINCH.js → ImportWizard-QBKQEXDW.js} +35 -11
- package/dist/LearnAdvisor-46FG2XIP.js +9 -0
- package/dist/LearnAdvisor-XBRDNAGH.cjs +9 -0
- package/dist/McpClientManager-BNSKLHIN.cjs +8 -0
- package/dist/{McpClientManager-7RM6YT35.js → McpClientManager-SL35BR24.js} +2 -2
- package/dist/MemoryManager-34L4YOKA.cjs +8 -0
- package/dist/MemoryManager-WJMLPWGU.js +8 -0
- package/dist/NVIDIAProvider-2HR737UE.js +14 -0
- package/dist/NVIDIAProvider-MVTL62PR.cjs +14 -0
- package/dist/PermissionManager-5OOJ7FAT.cjs +11 -0
- package/dist/{PermissionManager-ATUV34LQ.js → PermissionManager-KMYILJ4Z.js} +4 -4
- package/dist/{ProjectProfiler-ZDWR2ODG.cjs → ProjectProfiler-CDAE7ECW.cjs} +2 -1
- package/dist/{ProjectProfiler-UMJJSOCE.js → ProjectProfiler-NZTJDRHD.js} +2 -1
- package/dist/ProviderFactory-C3YPXTDD.cjs +11 -0
- package/dist/ProviderFactory-HFPRVQ25.js +11 -0
- package/dist/SessionManager-PNBTJJTQ.js +10 -0
- package/dist/SessionManager-WAPTFMDO.cjs +10 -0
- package/dist/SkillsRegistry-4RRD5GMX.js +9 -0
- package/dist/SkillsRegistry-7AJP74GJ.cjs +9 -0
- package/dist/SubAgent-FDIH3DXB.js +11 -0
- package/dist/SubAgent-HVL2ICVZ.cjs +11 -0
- package/dist/{SyncApiClient-LVIO4C2S.js → SyncApiClient-LRPFNCKJ.js} +2 -2
- package/dist/SyncApiClient-VMBOLQ6H.cjs +11 -0
- package/dist/about-BW3PDZUU.js +14 -0
- package/dist/about-FCAX37YC.cjs +14 -0
- package/dist/acp-EOETGAHC.cjs +1517 -0
- package/dist/acp-VHEL7BOW.js +1517 -0
- package/dist/actionExecutor-33I47NZS.js +24 -0
- package/dist/actionExecutor-4YBMR3YH.cjs +24 -0
- package/dist/add-dir-7SS6KSH5.cjs +11 -0
- package/dist/add-dir-VFX7QT4E.js +11 -0
- package/dist/agent-DMRUFU4M.cjs +116 -0
- package/dist/agent-WCJEYQJT.js +116 -0
- package/dist/agents/builtin/code-cleaner.md +1 -1
- package/dist/agents/builtin/docs-writer.md +1 -1
- package/dist/agents/builtin/researcher.md +2 -2
- package/dist/agents/builtin/reviewer.md +1 -1
- package/dist/agents/builtin/tester.md +1 -1
- package/dist/agents/builtin/todo-resolver.md +1 -1
- package/dist/agents-CHROO3VU.cjs +17 -0
- package/dist/agents-UVDUL65K.js +17 -0
- package/dist/agents-new-AUBWSOXP.js +17 -0
- package/dist/agents-new-Y562WC47.cjs +17 -0
- package/dist/{autoSkill-6TGBTEQD.js → autoSkill-EFMK6WU6.js} +3 -3
- package/dist/autoSkill-YOLLFTP2.cjs +20 -0
- package/dist/automode-BMYSRM34.js +10 -0
- package/dist/automode-DBLKTTKD.cjs +10 -0
- package/dist/browserToolBridge-BXRQB4B4.cjs +58 -0
- package/dist/browserToolBridge-F5N66PE7.js +58 -0
- package/dist/{cc-7LEIJ3KF.js → cc-AYEP2CA3.js} +1 -1
- package/dist/{cc-Q5MM4AWC.cjs → cc-S2QLQFBR.cjs} +1 -1
- package/dist/chrome-ATC4OO5I.cjs +20 -0
- package/dist/chrome-NHJ44WUN.js +50 -0
- package/dist/chrome-O62WXV7F.js +20 -0
- package/dist/chrome-XHJLCO4M.cjs +50 -0
- package/dist/chromeSkill-53TH55PM.js +105 -0
- package/dist/chromeSkill-THW7N4IY.cjs +105 -0
- package/dist/{chunk-HOAHWIQ5.cjs → chunk-2CGE7ZV3.cjs} +26 -26
- package/dist/chunk-2H5O745H.js +63 -0
- package/dist/chunk-2HOLOHVK.js +2219 -0
- package/dist/{chunk-3PDTTAKJ.js → chunk-2QL6MNXG.js} +15 -8
- package/dist/{chunk-PGRH5Q77.cjs → chunk-2VHB43IX.cjs} +35 -6
- package/dist/{chunk-VG34MG2U.js → chunk-37M5UM6I.js} +9 -6
- package/dist/{chunk-6HYLHBQG.cjs → chunk-3DDL2E55.cjs} +20 -16
- package/dist/chunk-3EDDDZS2.cjs +5 -0
- package/dist/{chunk-6OYHF6MF.js → chunk-3GUEUCZK.js} +28 -4
- package/dist/{chunk-N254NRHT.cjs → chunk-3HT76LNN.cjs} +9 -2
- package/dist/{chunk-DVUHHH3B.cjs → chunk-3KLSNNRW.cjs} +4 -4
- package/dist/chunk-3LJJG5YY.cjs +387 -0
- package/dist/chunk-3OF56EMA.cjs +197 -0
- package/dist/chunk-3PXKRVCW.js +108 -0
- package/dist/{chunk-IKGWDOGU.cjs → chunk-3S563FNF.cjs} +160 -79
- package/dist/chunk-3UT7R3XV.js +663 -0
- package/dist/chunk-4256YRCO.cjs +80 -0
- package/dist/chunk-46C73ZKK.cjs +663 -0
- package/dist/chunk-46MTALKD.js +44 -0
- package/dist/{chunk-AEJH23FO.cjs → chunk-47PHDKNW.cjs} +6 -6
- package/dist/chunk-4LMUDS2K.js +124 -0
- package/dist/{chunk-HLHTG5ZU.cjs → chunk-5CMYEM3R.cjs} +14 -12
- package/dist/{chunk-MBBY4ZIK.js → chunk-5F6ZKSHO.js} +4 -1
- package/dist/chunk-5JFTY3VU.js +74 -0
- package/dist/chunk-5JTTM5SC.js +59 -0
- package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
- package/dist/{chunk-GJH7XMSK.js → chunk-5VHP6HDQ.js} +8 -6
- package/dist/{chunk-6ZCULLCA.js → chunk-62RTC3XX.js} +1 -1
- package/dist/{chunk-MSED7RH2.cjs → chunk-6GUODJKM.cjs} +112 -41
- package/dist/{chunk-47CKWKEX.cjs → chunk-6HH236FV.cjs} +9 -4
- package/dist/{chunk-WHE2SWHU.js → chunk-6NVAK6CK.js} +2 -2
- package/dist/chunk-6R25D2H5.js +121 -0
- package/dist/{chunk-3PCTTUNW.cjs → chunk-6XVVIY54.cjs} +55 -25
- package/dist/{chunk-3L53OA4E.cjs → chunk-75EDROHL.cjs} +10 -10
- package/dist/{chunk-G4CAKI3V.js → chunk-7HPWMALN.js} +7 -2
- package/dist/chunk-7JLT2VNW.cjs +18963 -0
- package/dist/chunk-7LWQCE4Y.cjs +987 -0
- package/dist/{chunk-OLSBBZW6.cjs → chunk-7MU7LWF3.cjs} +5 -5
- package/dist/{chunk-HLQV64Y5.js → chunk-7RFJB75Y.js} +140 -59
- package/dist/{chunk-X2MSVKDV.js → chunk-A7HHCIDQ.js} +2 -2
- package/dist/{chunk-SKYG33B2.cjs → chunk-AC7DZ6SK.cjs} +3 -3
- package/dist/{chunk-XX2ZO7DS.js → chunk-ACDQGA4Z.js} +90 -16
- package/dist/{chunk-CZXGCVTR.cjs → chunk-AOKCI722.cjs} +2 -2
- package/dist/chunk-ARBEHFCG.js +715 -0
- package/dist/{chunk-OOKY3HPZ.js → chunk-AT7OWLY5.js} +50 -9
- package/dist/chunk-AU6JAGZJ.cjs +231 -0
- package/dist/chunk-AUFNACED.js +18963 -0
- package/dist/{chunk-CDBPBM2K.cjs → chunk-AUYSIEVV.cjs} +3 -3
- package/dist/chunk-B4HSNOIH.cjs +354 -0
- package/dist/{chunk-EGMZDTSL.js → chunk-B5CGDNMR.js} +10 -2
- package/dist/{chunk-34M3HWLR.js → chunk-BFQDQRDE.js} +2 -2
- package/dist/{chunk-2AA5MFES.js → chunk-BL2UC7HC.js} +8 -5
- package/dist/{chunk-LNMYK2F5.cjs → chunk-BQ22N3TX.cjs} +56 -41
- package/dist/chunk-BQU3HAE7.js +21 -0
- package/dist/chunk-BWF4VDYE.js +3897 -0
- package/dist/chunk-BYE7RQFZ.cjs +121 -0
- package/dist/{chunk-APIXPPMT.js → chunk-CBFH2J3O.js} +855 -33
- package/dist/chunk-CCVMREXI.js +420 -0
- package/dist/chunk-CFAWTLSC.js +13 -0
- package/dist/{chunk-G27PQQFD.js → chunk-CFFE4VA3.js} +1 -1
- package/dist/{chunk-ZYQMLKOK.cjs → chunk-CH2J4PVE.cjs} +212 -70
- package/dist/{chunk-7BTSG4ME.cjs → chunk-CHI52KFR.cjs} +855 -33
- package/dist/{chunk-DJDE4DTT.cjs → chunk-CWINVFRI.cjs} +25 -19
- package/dist/{chunk-HXGBSJL5.cjs → chunk-D2OSPLYC.cjs} +2 -2
- package/dist/{chunk-GBHDROGL.js → chunk-D6GZBSOX.js} +16 -4
- package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
- package/dist/chunk-DEQVRSV5.cjs +866 -0
- package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
- package/dist/{chunk-WM5PAOTQ.cjs → chunk-DIZTWFVR.cjs} +1649 -484
- package/dist/{chunk-YZXUDM5X.js → chunk-DLP436GI.js} +204 -62
- package/dist/{chunk-OHUZKDGX.js → chunk-DMRXF5DU.js} +3 -3
- package/dist/{chunk-U46VYPLR.cjs → chunk-DPSIGY6L.cjs} +9 -9
- package/dist/{chunk-DN573ME7.cjs → chunk-DRWDEHE5.cjs} +4 -4
- package/dist/{chunk-SEKD5FH3.cjs → chunk-E26KKI46.cjs} +5 -2
- package/dist/{chunk-J4Q7XR3G.js → chunk-E46DJH5S.js} +3 -3
- package/dist/{chunk-Q7XSCYND.cjs → chunk-E6GFD7VR.cjs} +49 -26
- package/dist/chunk-ES2HJQ4N.js +37 -0
- package/dist/chunk-EZJHLOWP.js +80 -0
- package/dist/chunk-FFBDRUO5.cjs +59 -0
- package/dist/{chunk-AYSFIUFW.js → chunk-FGT6KK6T.js} +38 -15
- package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
- package/dist/{chunk-DSPQEHDT.js → chunk-FQAVGSPW.js} +2 -2
- package/dist/chunk-FQVG6ZHF.js +197 -0
- package/dist/chunk-GBMDFWJX.cjs +152 -0
- package/dist/{chunk-DRE2RXBZ.js → chunk-GGLKUENP.js} +1605 -440
- package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
- package/dist/{chunk-MYISNQH4.js → chunk-GWO66KBI.js} +1 -1
- package/dist/chunk-GWY26SUD.cjs +63 -0
- package/dist/{chunk-YGN4CQIP.js → chunk-GZ6DV2UG.js} +1 -1
- package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
- package/dist/chunk-HDK2EHVH.cjs +570 -0
- package/dist/chunk-HJIXWGQZ.js +139 -0
- package/dist/{chunk-6RF7UKUS.js → chunk-HKYZSUQ5.js} +48 -47
- package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
- package/dist/{chunk-HTLINWX6.cjs → chunk-HQWQZML5.cjs} +16 -13
- package/dist/{chunk-DVZOENQ7.cjs → chunk-HS4USDND.cjs} +9 -4
- package/dist/chunk-HSCUPEA4.cjs +3897 -0
- package/dist/{chunk-JCLYQ2JC.js → chunk-HXJEGMGB.js} +12 -6
- package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
- package/dist/{chunk-SCXX4LW5.js → chunk-I24CWKKK.js} +15 -8
- package/dist/chunk-IAGCRVJ3.js +355 -0
- package/dist/chunk-IEXKKKOF.cjs +92 -0
- package/dist/{chunk-5IXII4HX.cjs → chunk-IGMPWJ2I.cjs} +19 -12
- package/dist/chunk-IKUMVBCW.cjs +33 -0
- package/dist/{chunk-XTB6VJVQ.cjs → chunk-J2K57QM7.cjs} +6 -6
- package/dist/{chunk-O4IF4NJT.cjs → chunk-J5ADZN6V.cjs} +57 -56
- package/dist/chunk-J5HE6CUM.cjs +124 -0
- package/dist/{chunk-JS7IPR7P.js → chunk-JAQO6XDB.js} +31 -2
- package/dist/chunk-JIMSII7R.js +987 -0
- package/dist/chunk-JJ4KA7HK.cjs +2219 -0
- package/dist/chunk-JMN3GZU6.js +570 -0
- package/dist/{chunk-X5VSP65C.cjs → chunk-JP3YHTQ2.cjs} +4 -4
- package/dist/{chunk-SKV2F3NM.js → chunk-JYKPWK5O.js} +1 -1
- package/dist/{chunk-NNPAM4HC.cjs → chunk-KNTUI4TZ.cjs} +12 -6
- package/dist/{chunk-HIVRCQS2.js → chunk-L4F7SUYL.js} +56 -25
- package/dist/{chunk-C5IJIM2V.cjs → chunk-LDJQ5QHG.cjs} +68 -37
- package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
- package/dist/chunk-LJD7KR3L.cjs +44 -0
- package/dist/chunk-LN7D3EJZ.js +387 -0
- package/dist/{chunk-643VRA5S.cjs → chunk-LQBONA55.cjs} +32 -8
- package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
- package/dist/chunk-M4KNC5BQ.js +78 -0
- package/dist/chunk-MO4KP6XS.cjs +229 -0
- package/dist/{chunk-BVKXEQVG.cjs → chunk-MOJ7ADW4.cjs} +22 -10
- package/dist/chunk-MPULXVC4.cjs +715 -0
- package/dist/{chunk-X5YJ34FZ.cjs → chunk-MQESBFBZ.cjs} +46 -23
- package/dist/chunk-MUNUUFU7.cjs +21 -0
- package/dist/{chunk-X3WS5LDG.js → chunk-MX75JYIY.js} +7 -5
- package/dist/chunk-MXVIDIC6.cjs +139 -0
- package/dist/{chunk-3K2ESU53.cjs → chunk-N6O3XUZ2.cjs} +2 -2
- package/dist/{chunk-IVM5F2AE.js → chunk-NBGOIFKP.js} +265 -18
- package/dist/{chunk-SLQAYV3W.js → chunk-NMQ47RCG.js} +8 -2
- package/dist/{chunk-JYTDYJVW.js → chunk-O64I2GYI.js} +1 -1
- package/dist/{chunk-IFFXSTOM.cjs → chunk-O6TQP7U7.cjs} +3 -3
- package/dist/{chunk-AYS2ASM7.js → chunk-OHWMWKJQ.js} +1 -1
- package/dist/{chunk-N23UAW4I.js → chunk-OM24WXEE.js} +7 -2
- package/dist/{chunk-MAKMSQMQ.cjs → chunk-OPNI6O7F.cjs} +8 -6
- package/dist/chunk-OR67YXQK.cjs +13 -0
- package/dist/{chunk-QOXPOR5D.js → chunk-OV3PVUYN.js} +115 -44
- package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
- package/dist/chunk-PCM3N3CL.cjs +37 -0
- package/dist/{chunk-A4IJHHV7.cjs → chunk-PDHT7LQS.cjs} +52 -11
- package/dist/{chunk-LA7H35XM.cjs → chunk-PHJO5YAL.cjs} +9 -9
- package/dist/{chunk-KPELYZ6L.js → chunk-PQLKJCIE.js} +2 -2
- package/dist/chunk-PUD76XQT.cjs +78 -0
- package/dist/chunk-Q2IL4DDI.cjs +355 -0
- package/dist/{chunk-WPVWQSL7.cjs → chunk-Q6AC3PHY.cjs} +16 -13
- package/dist/{chunk-XRZEUWKF.js → chunk-QCHIDZBA.js} +1 -1
- package/dist/{chunk-IQ5RXU6O.js → chunk-QEGOB6QV.js} +1 -1
- package/dist/{chunk-JSBRDJBE.js → chunk-QGM4M3NI.js} +8 -1
- package/dist/chunk-QKP772OZ.js +4291 -0
- package/dist/chunk-QQ7PANOP.js +59 -0
- package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
- package/dist/chunk-RAKO7UN7.js +114 -0
- package/dist/chunk-RBHANOYY.js +33 -0
- package/dist/chunk-RBZ7AFX7.cjs +29 -0
- package/dist/{chunk-TXSDBGKX.cjs → chunk-REMGR23V.cjs} +46 -49
- package/dist/chunk-ROLA6EFO.cjs +85 -0
- package/dist/{chunk-TBEGGJNC.cjs → chunk-SOLBYSLY.cjs} +33 -16
- package/dist/{chunk-FKSDEWDH.js → chunk-SWCQM52V.js} +68 -25
- package/dist/{chunk-H5SWOLG6.js → chunk-TBOLJDUG.js} +39 -24
- package/dist/chunk-TH26BQJG.js +101 -0
- package/dist/{chunk-245KJE5Y.cjs → chunk-TJNBASFD.cjs} +14 -6
- package/dist/chunk-TKKN34TV.js +229 -0
- package/dist/chunk-TQ33WBY5.cjs +74 -0
- package/dist/{chunk-EGFT4PGW.js → chunk-TWQDAUZU.js} +5 -2
- package/dist/{chunk-OGV4WJ5L.cjs → chunk-TXPSTCG7.cjs} +74 -59
- package/dist/{chunk-CAMZTXV6.js → chunk-U4C3HW6P.js} +67 -52
- package/dist/{chunk-5P2NXKP3.js → chunk-UEIXJG45.js} +104 -76
- package/dist/{chunk-22D2CNTP.cjs → chunk-UGFVM77J.cjs} +5 -2
- package/dist/chunk-UOQECODR.js +34 -0
- package/dist/chunk-UR27UDTB.js +354 -0
- package/dist/chunk-UWFG2R2I.cjs +420 -0
- package/dist/{chunk-Y72HH2TF.cjs → chunk-UXLW45ZE.cjs} +102 -28
- package/dist/{chunk-FPHU2ES6.cjs → chunk-VBOFPU5M.cjs} +6 -0
- package/dist/{chunk-JX3DFKBI.js → chunk-VDWJMWDF.js} +54 -24
- package/dist/{chunk-LENHP55G.cjs → chunk-VGEV44V2.cjs} +1076 -158
- package/dist/{chunk-33RSHBDH.js → chunk-VKBIE6I6.js} +38 -7
- package/dist/{chunk-CWMZKFTT.js → chunk-VRMZO6TB.js} +31 -8
- package/dist/chunk-VUGOOGHB.js +400 -0
- package/dist/chunk-WBU4Q4GS.cjs +400 -0
- package/dist/chunk-WGLBC5AY.cjs +59 -0
- package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
- package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
- package/dist/chunk-WRTXCQ3V.cjs +4291 -0
- package/dist/chunk-WTB7AFL6.cjs +101 -0
- package/dist/{chunk-NDMIPTV4.js → chunk-WZV6UVPY.js} +8 -3
- package/dist/chunk-XF2WIKHR.cjs +34 -0
- package/dist/{chunk-L3WAH3EM.cjs → chunk-XGMI6IYB.cjs} +46 -15
- package/dist/{chunk-FW774QXH.js → chunk-XIVFAD2L.js} +1048 -130
- package/dist/chunk-XV2HXRHX.js +85 -0
- package/dist/{chunk-72FKPBT5.js → chunk-Y3M2DABP.js} +16 -12
- package/dist/{chunk-QNGEW5TC.js → chunk-YV63VW4K.js} +1 -1
- package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
- package/dist/{chunk-RD5XAJR2.cjs → chunk-YWTIXHU6.cjs} +266 -19
- package/dist/chunk-YZWE7XSM.js +5 -0
- package/dist/{chunk-I5IW3T2Y.js → chunk-Z3XSSF7B.js} +32 -15
- package/dist/{chunk-6UJMCWRY.js → chunk-Z4LIPMPM.js} +6 -0
- package/dist/chunk-ZASDSY7P.cjs +114 -0
- package/dist/{chunk-R33VKSH5.cjs → chunk-ZHJ7JGME.cjs} +11 -11
- package/dist/chunk-ZPD2AO3U.js +866 -0
- package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
- package/dist/chunk-ZR46OJNZ.js +152 -0
- package/dist/{chunk-G3V4SFET.cjs → chunk-ZZ63NW7A.cjs} +78 -35
- package/dist/clear-33TWQ2ES.cjs +12 -0
- package/dist/clear-OFLFQ3MR.js +12 -0
- package/dist/{communityInstaller-6KCFN7YZ.js → communityInstaller-COB2KTOW.js} +9 -6
- package/dist/communityInstaller-TWMGPSYM.cjs +22 -0
- package/dist/completion-IIZMHXYP.cjs +17 -0
- package/dist/completion-PT4VM2H2.js +17 -0
- package/dist/config-KL6WU7R2.cjs +20 -0
- package/dist/{config-ZN66VXPS.js → config-R4O7GBTY.js} +7 -5
- package/dist/{constants-UFM5B232.js → constants-HVCHVQAF.js} +2 -2
- package/dist/constants-RLMJ5D5P.cjs +21 -0
- package/dist/{defaultHooks-RCXPHF4M.cjs → defaultHooks-2V2CQL63.cjs} +26 -11
- package/dist/{defaultHooks-RDRMER3Z.js → defaultHooks-TMHDU3FS.js} +26 -11
- package/dist/export-3PK3VFCE.js +15 -0
- package/dist/export-WLGNWEMJ.cjs +15 -0
- package/dist/{extractSessionMemories-V7K42ZHW.js → extractSessionMemories-A2JX5WJ2.js} +1 -1
- package/dist/{extractSessionMemories-SDW2MVBQ.cjs → extractSessionMemories-XL3MS37F.cjs} +1 -1
- package/dist/feedback-G635NCLJ.js +18 -0
- package/dist/feedback-LLMK3TZH.cjs +18 -0
- package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
- package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
- package/dist/filesystem-L6DQKGWK.js +11 -0
- package/dist/filesystem-PGUPCMVK.cjs +11 -0
- package/dist/{formatters-6K7QVWQL.cjs → formatters-53XTCNGQ.cjs} +1 -1
- package/dist/{formatters-DQHO5I36.js → formatters-T6KV4BPP.js} +1 -1
- package/dist/help-BAXLP2M2.cjs +12 -0
- package/dist/{help-2BLR7L43.js → help-X3OAZ3CY.js} +3 -3
- package/dist/history-6HOJSEMT.cjs +14 -0
- package/dist/{history-5FZ3M2AK.js → history-YKFPHBJN.js} +3 -3
- package/dist/hooks-7TA4PIIB.js +18 -0
- package/dist/hooks-XVFU67T2.cjs +18 -0
- package/dist/{i18n-K7QOWIBH.js → i18n-2KBUU7XL.js} +2 -2
- package/dist/i18n-MUJMKTFM.cjs +33 -0
- package/dist/ide-CCQ33PGC.cjs +15 -0
- package/dist/ide-VLVFBZ5F.js +15 -0
- package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
- package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
- package/dist/{import-UXM3VK7B.js → import-4CHYLS4K.js} +4 -4
- package/dist/{import-QEME3E4T.cjs → import-I7T4ZHYL.cjs} +4 -4
- package/dist/import-J46F54JY.cjs +10 -0
- package/dist/import-JWPYKXCZ.js +10 -0
- package/dist/index.cjs +747 -22356
- package/dist/index.d.cts +93 -0
- package/dist/index.d.ts +93 -0
- package/dist/index.js +786 -22395
- package/dist/init-262MWZV4.js +10 -0
- package/dist/init-EE5Y7RBL.cjs +10 -0
- package/dist/inkMode-VUE6ZDLD.cjs +7 -0
- package/dist/inkMode-WBNFOSAT.js +7 -0
- package/dist/inputPrompt-IIFKCX5Q.cjs +90 -0
- package/dist/inputPrompt-YGBHDUEP.js +90 -0
- package/dist/language-CVLPB7OV.js +21 -0
- package/dist/language-ZTWFHUSV.cjs +21 -0
- package/dist/learn-PON7I5QS.js +23 -0
- package/dist/learn-XLRSVNA3.cjs +23 -0
- package/dist/{lint-D5UOJWIK.cjs → lint-4NDGCSCL.cjs} +1 -1
- package/dist/{lint-NJPZWVN2.js → lint-FZ7ZJUB3.js} +1 -1
- package/dist/login-223QTGBG.cjs +26 -0
- package/dist/login-6IKTBUBY.js +26 -0
- package/dist/logout-RN2AG6SI.js +23 -0
- package/dist/logout-U3M4FFX7.cjs +23 -0
- package/dist/mcp-5O6PUL4G.js +20 -0
- package/dist/mcp-NUQ76QQB.cjs +20 -0
- package/dist/{mcp-install-VESN42PI.js → mcp-install-6XWXLFVY.js} +18 -11
- package/dist/{mcp-install-G27HSS3Z.cjs → mcp-install-P6DHES7V.cjs} +22 -15
- package/dist/memory-CYMDQ2YC.cjs +10 -0
- package/dist/memory-Q54CESNM.js +10 -0
- package/dist/{message-ZJ5AYAMT.cjs → message-4OKO775J.cjs} +1 -1
- package/dist/{message-JUBOK2VU.js → message-X3LOAAM7.js} +1 -1
- package/dist/model-6AJ77PJG.js +10 -0
- package/dist/model-IDRCKDML.cjs +10 -0
- package/dist/new-7LEWOUF2.cjs +12 -0
- package/dist/new-ZXHEWC2S.js +12 -0
- package/dist/onboarding-FXX7YHSJ.cjs +35 -0
- package/dist/onboarding-JYNMK6NI.js +35 -0
- package/dist/{patch-MOD7QC3D.cjs → patch-DJ2GPFST.cjs} +1 -1
- package/dist/{patch-5F6VBIT3.js → patch-NIJWIRHS.js} +1 -1
- package/dist/permissions-YBNSANIA.cjs +10 -0
- package/dist/permissions-YHJMVA6L.js +10 -0
- package/dist/plan-XEJMOT55.cjs +13 -0
- package/dist/plan-YYUAXPTL.js +13 -0
- package/dist/pr-review-CW6J7P62.cjs +9 -0
- package/dist/pr-review-YZSBQVT2.js +9 -0
- package/dist/quit-B43SJ6E4.cjs +10 -0
- package/dist/quit-GWTNHQSP.js +10 -0
- package/dist/rawMode-6W5AXAKI.cjs +7 -0
- package/dist/rawMode-GFNLXQPU.js +7 -0
- package/dist/{registry-KWZGYJC2.js → registry-34GL6BNJ.js} +30 -45
- package/dist/{registry-YN4FQPOO.cjs → registry-V24W7YK6.cjs} +66 -81
- package/dist/repeat-P4FAPE3Y.cjs +17 -0
- package/dist/repeat-RALE6AUO.js +17 -0
- package/dist/resume-DYVOQN5L.cjs +16 -0
- package/dist/resume-M25UQKOX.js +16 -0
- package/dist/review-QHP2KP4Q.js +9 -0
- package/dist/review-UWHWQHCB.cjs +9 -0
- package/dist/ripgrep-67SCU2BA.cjs +9 -0
- package/dist/ripgrep-VHJQQ55W.js +9 -0
- package/dist/rpc-NPS3PU4O.cjs +3730 -0
- package/dist/rpc-S3DGW6KV.js +3730 -0
- package/dist/search-CPX4PWHP.js +20 -0
- package/dist/search-VUF3M4N3.cjs +20 -0
- package/dist/{session-BSU2L5UI.cjs → session-LXKC4X5Q.cjs} +1 -1
- package/dist/{session-SZMRN5KG.js → session-NMMO4QOL.js} +1 -1
- package/dist/sessions-IYAXMK23.js +10 -0
- package/dist/sessions-JODKER5D.cjs +10 -0
- package/dist/settings-55BNW6BF.js +33 -0
- package/dist/settings-BKTS7OMC.cjs +33 -0
- package/dist/setup-IRC5HQG2.js +29 -0
- package/dist/setup-MMQ7TWOP.cjs +29 -0
- package/dist/share-6JRQECAH.cjs +17 -0
- package/dist/share-YM5MJKMO.js +17 -0
- package/dist/{skills-FYY6F2WV.cjs → skills-GGMZOVIE.cjs} +14 -11
- package/dist/skills-LWSOKOSH.cjs +29 -0
- package/dist/{skills-6OL4OSGA.js → skills-MVIZNHT4.js} +13 -10
- package/dist/skills-VWOMV3CR.js +29 -0
- package/dist/{skills-install-6CSWC24P.js → skills-install-QBA5RCV6.js} +22 -71
- package/dist/{skills-install-O3LZ2ETC.cjs → skills-install-VTAMCNNY.cjs} +35 -84
- package/dist/skills-new-GPL46YV2.js +18 -0
- package/dist/skills-new-L5BEZN5V.cjs +18 -0
- package/dist/slashCommands-FBPCIWM5.cjs +95 -0
- package/dist/slashCommands-FCWY5DXW.js +95 -0
- package/dist/status-3B5SDZPL.js +17 -0
- package/dist/status-TTGRF6NC.cjs +17 -0
- package/dist/summarizer-DGPHE5IQ.js +17 -0
- package/dist/summarizer-JNXLUAQG.cjs +17 -0
- package/dist/sync-77CXVVTK.cjs +21 -0
- package/dist/{sync-KWX67OUN.js → sync-7BILIQHP.js} +4 -4
- package/dist/sync-7OKF6636.js +21 -0
- package/dist/sync-EH4K5U3N.cjs +40 -0
- package/dist/{tasks-5FPBIFLC.js → tasks-R5MBGAQ6.js} +1 -1
- package/dist/{tasks-TXGKGNH6.cjs → tasks-V4WB3MFR.cjs} +1 -1
- package/dist/{team-5YXP3JGR.js → team-JESCHGWB.js} +1 -1
- package/dist/{team-IIWEZKNR.cjs → team-VQQKWGZB.cjs} +1 -1
- package/dist/{teammate-L6EZQ3I2.js → teammate-GZQSCIMS.js} +29 -8
- package/dist/{teammate-2KMKJXAM.cjs → teammate-J6PHGL23.cjs} +30 -9
- package/dist/theme-64BYGJ57.cjs +21 -0
- package/dist/theme-YJE6HEON.js +21 -0
- package/dist/tools-3PPTTKFV.js +9 -0
- package/dist/tools-THIQA7WC.cjs +9 -0
- package/dist/ui/questionModal.cjs +9 -6
- package/dist/ui/questionModal.js +8 -5
- package/dist/undo-PRTEGL2J.cjs +10 -0
- package/dist/undo-SZEHLX7X.js +10 -0
- package/dist/{update-TVAJMMBC.js → update-53WMKYVS.js} +1 -1
- package/dist/{update-Z6BIIQDC.cjs → update-NV6QRYY7.cjs} +1 -1
- package/dist/web-3BA2WV37.cjs +37 -0
- package/dist/web-6FYGBX5K.js +37 -0
- package/dist/workspaceSafety-MDJGHK6D.cjs +9 -0
- package/dist/workspaceSafety-XOUMUBVB.js +9 -0
- package/dist/yolo-GF2YD7ZI.js +9 -0
- package/dist/yolo-OGDA7HNC.cjs +9 -0
- package/dist/yoloMode-3DJDA75U.cjs +17 -0
- package/dist/yoloMode-4JOOSU26.js +17 -0
- package/package.json +46 -49
- package/dist/AgentRegistry-NQCLWABO.cjs +0 -10
- package/dist/CommunitySkillsCache-6QPRMTJO.js +0 -8
- package/dist/CommunitySkillsCache-GTQMOCCO.cjs +0 -8
- package/dist/GitHubRegistryFetcher-S7QFUEKV.cjs +0 -7
- package/dist/HookManager-Q2KYMCP4.cjs +0 -7
- package/dist/HookManager-TTP4Y6DC.js +0 -7
- package/dist/LearnAdvisor-A4Q5PPBI.js +0 -9
- package/dist/LearnAdvisor-GASQD7HT.cjs +0 -9
- package/dist/McpClientManager-RKD7C6OY.cjs +0 -8
- package/dist/MemoryManager-GUNLRP5S.js +0 -8
- package/dist/MemoryManager-TNSGKDKX.cjs +0 -8
- package/dist/PermissionManager-KMN53FJP.cjs +0 -11
- package/dist/ProviderFactory-MR5B23QJ.js +0 -9
- package/dist/ProviderFactory-VFGCJJX6.cjs +0 -9
- package/dist/SessionManager-FEUAU3ZJ.cjs +0 -10
- package/dist/SessionManager-IKWAK2PI.js +0 -10
- package/dist/SkillsRegistry-KPQFTRIT.cjs +0 -9
- package/dist/SkillsRegistry-XJSKPDF2.js +0 -9
- package/dist/SubAgent-NYH6GWQ3.js +0 -11
- package/dist/SubAgent-PZKBDUBA.cjs +0 -11
- package/dist/SyncApiClient-ZNYMT36M.cjs +0 -11
- package/dist/about-HHTF2YFL.js +0 -12
- package/dist/about-JGRVNNQC.cjs +0 -12
- package/dist/actionExecutor-U6IBN2TU.cjs +0 -19
- package/dist/actionExecutor-XT5FW3W6.js +0 -19
- package/dist/add-dir-247K3XRY.js +0 -10
- package/dist/add-dir-GS4DXKKH.cjs +0 -10
- package/dist/agents-R6ZEFTVR.cjs +0 -12
- package/dist/agents-WJPQWQF2.js +0 -12
- package/dist/agents-new-HKVEIBDJ.js +0 -14
- package/dist/agents-new-X6GTHIO6.cjs +0 -14
- package/dist/autoSkill-H4T6VVDA.cjs +0 -20
- package/dist/automode-BC6NVECO.js +0 -10
- package/dist/automode-WN2RSOGW.cjs +0 -10
- package/dist/chunk-33A755XB.cjs +0 -168
- package/dist/chunk-3OTU3RS3.cjs +0 -1607
- package/dist/chunk-4PKF7WPD.js +0 -100
- package/dist/chunk-ALYU6VTM.js +0 -105
- package/dist/chunk-AS6RTLN7.cjs +0 -203
- package/dist/chunk-BWN2CLLM.cjs +0 -298
- package/dist/chunk-HQ7YZKXE.js +0 -168
- package/dist/chunk-HVKOZ2VP.cjs +0 -115
- package/dist/chunk-J6QET7EF.cjs +0 -454
- package/dist/chunk-LWUJFGOZ.js +0 -115
- package/dist/chunk-P47WPOXN.js +0 -298
- package/dist/chunk-PRRCJFU3.cjs +0 -85
- package/dist/chunk-RO6WYEWH.js +0 -454
- package/dist/chunk-SYVYLZZF.cjs +0 -24
- package/dist/chunk-T73IDKDF.js +0 -111
- package/dist/chunk-YRLYSQEQ.cjs +0 -105
- package/dist/chunk-ZQE72E6W.cjs +0 -100
- package/dist/chunk-ZVY2XD6T.js +0 -1607
- package/dist/clear-UO4MNWZW.cjs +0 -12
- package/dist/clear-ZJ5NYP6E.js +0 -12
- package/dist/communityInstaller-PVSOFDZD.cjs +0 -19
- package/dist/completion-MMF2PN2H.js +0 -14
- package/dist/completion-UI5WKHXI.cjs +0 -14
- package/dist/config-E7RINK4R.cjs +0 -18
- package/dist/constants-6CPCJ3DY.cjs +0 -21
- package/dist/export-N4XIVDSL.cjs +0 -12
- package/dist/export-W22L4D5C.js +0 -12
- package/dist/feedback-DR6ADSNE.cjs +0 -15
- package/dist/feedback-FEEAP4QW.js +0 -15
- package/dist/filesystem-3SGCW2BF.js +0 -10
- package/dist/filesystem-MCFXJQ6R.cjs +0 -10
- package/dist/help-AQHGTS7P.cjs +0 -12
- package/dist/history-NIUDRMKA.cjs +0 -14
- package/dist/hooks-2EY4IPKV.js +0 -13
- package/dist/hooks-LJVORRIG.cjs +0 -13
- package/dist/i18n-ARDG2SMC.cjs +0 -33
- package/dist/ide-GFW6IJHD.js +0 -12
- package/dist/ide-N2ZNSSB3.cjs +0 -12
- package/dist/import-DFVN3KNZ.js +0 -10
- package/dist/import-ZS6DPGU5.cjs +0 -10
- package/dist/init-PY75HA3S.cjs +0 -10
- package/dist/init-QNMWLAVY.js +0 -10
- package/dist/language-5UE4G2BT.cjs +0 -18
- package/dist/language-UXMHEZUJ.js +0 -18
- package/dist/learn-HJ3FLNZC.cjs +0 -20
- package/dist/learn-MVYS3RU5.js +0 -20
- package/dist/localProjectPermissions-N77HA3XK.js +0 -18
- package/dist/localProjectPermissions-UFSMNTBJ.cjs +0 -18
- package/dist/login-DSE7H63A.js +0 -20
- package/dist/login-V3MEWPKN.cjs +0 -20
- package/dist/logout-BMVCLKKW.js +0 -18
- package/dist/logout-XEG7FHOZ.cjs +0 -18
- package/dist/mcp-PYUR4PHO.js +0 -18
- package/dist/mcp-SG6JFLGC.cjs +0 -18
- package/dist/memory-4ZMMEZ2Z.js +0 -10
- package/dist/memory-QSGMVVGH.cjs +0 -10
- package/dist/model-NANLBZ4Z.cjs +0 -10
- package/dist/model-ZXNV4AF7.js +0 -10
- package/dist/new-5QJY5JP2.js +0 -12
- package/dist/new-PMMG55UX.cjs +0 -12
- package/dist/permissions-LECTCJ4H.cjs +0 -13
- package/dist/permissions-VP5VGIBL.js +0 -13
- package/dist/plan-G5CEKJI4.js +0 -11
- package/dist/plan-QKOHE3LH.cjs +0 -11
- package/dist/quit-BKOOPHU5.cjs +0 -10
- package/dist/quit-FVFNYACP.js +0 -10
- package/dist/resume-EXFQSQPH.js +0 -13
- package/dist/resume-PP2IQM5S.cjs +0 -13
- package/dist/search-C56FBN67.cjs +0 -17
- package/dist/search-XGZDYBF4.js +0 -17
- package/dist/sessions-54KI3F2Q.js +0 -10
- package/dist/sessions-DDTSPNVW.cjs +0 -10
- package/dist/settings-BDO37TTO.cjs +0 -30
- package/dist/settings-FHRDFPLK.js +0 -30
- package/dist/share-IERCTBGN.cjs +0 -14
- package/dist/share-TGROUE6R.js +0 -14
- package/dist/skills-OM4IGBAA.cjs +0 -26
- package/dist/skills-S3GRN323.js +0 -26
- package/dist/skills-new-ALD2PTHN.js +0 -15
- package/dist/skills-new-PWLKK7GW.cjs +0 -15
- package/dist/slashCommands-L4ZD33LJ.js +0 -75
- package/dist/slashCommands-YY2VUUDF.cjs +0 -75
- package/dist/status-3PC5XWSS.cjs +0 -11
- package/dist/status-KCLVOYPD.js +0 -11
- package/dist/sync-6SDWG5RK.js +0 -18
- package/dist/sync-7JMZVEQD.cjs +0 -40
- package/dist/sync-WHURZL3U.cjs +0 -18
- package/dist/theme-BE5A4FPN.cjs +0 -18
- package/dist/theme-YMFCQP7J.js +0 -18
- package/dist/undo-KZHUUZTD.cjs +0 -10
- package/dist/undo-NEIEHQVX.js +0 -10
|
@@ -3,7 +3,7 @@ import os from "os";
|
|
|
3
3
|
import path from "path";
|
|
4
4
|
var AUTOHAND_HOME = process.env.AUTOHAND_HOME || path.join(os.homedir(), ".autohand");
|
|
5
5
|
var AUTOHAND_PATHS = {
|
|
6
|
-
/** Configuration files (config.
|
|
6
|
+
/** Configuration files (config.toml, config.yaml, config.yml, config.json) */
|
|
7
7
|
config: AUTOHAND_HOME,
|
|
8
8
|
/** Session data storage */
|
|
9
9
|
sessions: path.join(AUTOHAND_HOME, "sessions"),
|
|
@@ -33,6 +33,7 @@ var AUTOHAND_PATHS = {
|
|
|
33
33
|
var AUTOHAND_FILES = {
|
|
34
34
|
/** Main config file */
|
|
35
35
|
configJson: path.join(AUTOHAND_HOME, "config.json"),
|
|
36
|
+
configToml: path.join(AUTOHAND_HOME, "config.toml"),
|
|
36
37
|
configYaml: path.join(AUTOHAND_HOME, "config.yaml"),
|
|
37
38
|
configYml: path.join(AUTOHAND_HOME, "config.yml"),
|
|
38
39
|
/** Device ID for telemetry */
|
|
@@ -57,7 +58,9 @@ var AUTH_CONFIG = {
|
|
|
57
58
|
},
|
|
58
59
|
pollInterval: 2e3,
|
|
59
60
|
authTimeout: 5 * 60 * 1e3,
|
|
60
|
-
sessionExpiryDays: 30
|
|
61
|
+
sessionExpiryDays: 30,
|
|
62
|
+
/** Idle timeout in ms before forcing logout (30 minutes) */
|
|
63
|
+
idleTimeoutMs: 30 * 60 * 1e3
|
|
61
64
|
};
|
|
62
65
|
var SYNC_CONFIG = {
|
|
63
66
|
/** Default sync interval in ms (5 minutes) */
|
|
@@ -1,17 +1,19 @@
|
|
|
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 _chunkLJD7KR3Lcjs = require('./chunk-LJD7KR3L.cjs');
|
|
3
4
|
|
|
4
|
-
var _chunkBWN2CLLMcjs = require('./chunk-BWN2CLLM.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunk46C73ZKKcjs = require('./chunk-46C73ZKK.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
|
|
8
11
|
|
|
9
12
|
// src/commands/sync.ts
|
|
10
|
-
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
11
13
|
var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);
|
|
12
14
|
var metadata = {
|
|
13
15
|
command: "/sync",
|
|
14
|
-
description:
|
|
16
|
+
description: _chunkCHI52KFRcjs.t.call(void 0, "commands.sync.description"),
|
|
15
17
|
implemented: true
|
|
16
18
|
};
|
|
17
19
|
var globalSyncService = null;
|
|
@@ -22,11 +24,12 @@ function getSyncService() {
|
|
|
22
24
|
return globalSyncService;
|
|
23
25
|
}
|
|
24
26
|
async function sync(ctx) {
|
|
25
|
-
const config = await
|
|
27
|
+
const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, );
|
|
26
28
|
const isLoggedIn = Boolean(_optionalChain([config, 'access', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'access', _3 => _3.auth, 'optionalAccess', _4 => _4.user]));
|
|
27
29
|
if (!isLoggedIn) {
|
|
28
|
-
|
|
29
|
-
console.log(
|
|
30
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
31
|
+
console.log(theme.warning("\nSettings sync requires authentication."));
|
|
32
|
+
console.log(theme.muted("Run /login to sign in and enable cloud sync.\n"));
|
|
30
33
|
return null;
|
|
31
34
|
}
|
|
32
35
|
const data = await gatherSyncData(ctx, config);
|
|
@@ -75,17 +78,21 @@ function renderSyncUI(data, ctx) {
|
|
|
75
78
|
if (isTTY) {
|
|
76
79
|
_readline2.default.emitKeypressEvents(input);
|
|
77
80
|
if (!wasRaw && typeof input.setRawMode === "function") {
|
|
78
|
-
|
|
81
|
+
try {
|
|
82
|
+
input.setRawMode(true);
|
|
83
|
+
} catch (e2) {
|
|
84
|
+
}
|
|
79
85
|
}
|
|
80
86
|
if (typeof input.setEncoding === "function") {
|
|
81
87
|
input.setEncoding("utf8");
|
|
82
88
|
}
|
|
83
89
|
}
|
|
84
90
|
const render = () => {
|
|
91
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
85
92
|
process.stdout.write("\x1B[2J\x1B[H");
|
|
86
93
|
renderTabHeader(tabs, currentTab);
|
|
87
94
|
renderTabContent(tabs[currentTab], data);
|
|
88
|
-
console.log(
|
|
95
|
+
console.log(theme.muted("\nEsc to exit | Tab to cycle | s: sync now | e: toggle enabled"));
|
|
89
96
|
};
|
|
90
97
|
const handler = async (_str, key) => {
|
|
91
98
|
const char = (_str || "").toLowerCase();
|
|
@@ -111,18 +118,19 @@ function renderSyncUI(data, ctx) {
|
|
|
111
118
|
}
|
|
112
119
|
if (char === "s") {
|
|
113
120
|
if (data.syncService) {
|
|
114
|
-
|
|
121
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
122
|
+
console.log(theme.accent("\nSyncing..."));
|
|
115
123
|
try {
|
|
116
124
|
const result = await data.syncService.sync();
|
|
117
125
|
if (result.success) {
|
|
118
|
-
console.log(
|
|
126
|
+
console.log(theme.success(`Sync complete! Uploaded: ${result.uploaded}, Downloaded: ${result.downloaded}`));
|
|
119
127
|
} else {
|
|
120
|
-
console.log(
|
|
128
|
+
console.log(theme.error(`Sync failed: ${result.error}`));
|
|
121
129
|
}
|
|
122
|
-
const config = await
|
|
130
|
+
const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, );
|
|
123
131
|
Object.assign(data, await gatherSyncData(ctx, config));
|
|
124
132
|
} catch (err) {
|
|
125
|
-
console.log(
|
|
133
|
+
console.log(theme.error(`Sync error: ${err}`));
|
|
126
134
|
}
|
|
127
135
|
await sleep(1500);
|
|
128
136
|
render();
|
|
@@ -131,17 +139,17 @@ function renderSyncUI(data, ctx) {
|
|
|
131
139
|
}
|
|
132
140
|
if (char === "e") {
|
|
133
141
|
try {
|
|
134
|
-
const config = await
|
|
142
|
+
const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, );
|
|
135
143
|
const newEnabled = _optionalChain([config, 'access', _16 => _16.sync, 'optionalAccess', _17 => _17.enabled]) === false;
|
|
136
144
|
config.sync = { ...config.sync, enabled: newEnabled };
|
|
137
|
-
await
|
|
145
|
+
await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
|
|
138
146
|
data.enabled = newEnabled;
|
|
139
|
-
console.log(
|
|
140
|
-
${newEnabled ?
|
|
147
|
+
console.log(_chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, ).accent(`
|
|
148
|
+
${newEnabled ? _chunkCHI52KFRcjs.t.call(void 0, "commands.sync.enabled") : _chunkCHI52KFRcjs.t.call(void 0, "commands.sync.disabled")}`));
|
|
141
149
|
await sleep(1e3);
|
|
142
150
|
render();
|
|
143
151
|
} catch (err) {
|
|
144
|
-
console.log(
|
|
152
|
+
console.log(_chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, ).error(`Error toggling sync: ${err}`));
|
|
145
153
|
}
|
|
146
154
|
return;
|
|
147
155
|
}
|
|
@@ -149,7 +157,10 @@ ${newEnabled ? _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.enabled") : _chun
|
|
|
149
157
|
const cleanup = () => {
|
|
150
158
|
input.off("keypress", handler);
|
|
151
159
|
if (isTTY && !wasRaw && typeof input.setRawMode === "function") {
|
|
152
|
-
|
|
160
|
+
try {
|
|
161
|
+
input.setRawMode(false);
|
|
162
|
+
} catch (e3) {
|
|
163
|
+
}
|
|
153
164
|
}
|
|
154
165
|
if (wasPaused && typeof input.pause === "function") {
|
|
155
166
|
input.pause();
|
|
@@ -161,10 +172,11 @@ ${newEnabled ? _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.enabled") : _chun
|
|
|
161
172
|
});
|
|
162
173
|
}
|
|
163
174
|
function renderTabHeader(tabs, currentIndex) {
|
|
175
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
164
176
|
const header = tabs.map((tab, i) => {
|
|
165
|
-
return i === currentIndex ?
|
|
177
|
+
return i === currentIndex ? theme.selectedTab(tab) : theme.tab(tab);
|
|
166
178
|
}).join(" ");
|
|
167
|
-
console.log(`Settings Sync: ${header} ${
|
|
179
|
+
console.log(`Settings Sync: ${header} ${theme.muted("(tab to cycle)")}
|
|
168
180
|
`);
|
|
169
181
|
}
|
|
170
182
|
function renderTabContent(tab, data) {
|
|
@@ -181,49 +193,52 @@ function renderTabContent(tab, data) {
|
|
|
181
193
|
}
|
|
182
194
|
}
|
|
183
195
|
function renderStatusTab(data) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
console.log(` ${
|
|
189
|
-
console.log(` ${
|
|
190
|
-
console.log(` ${
|
|
191
|
-
console.log(` ${
|
|
192
|
-
console.log(` ${
|
|
196
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
197
|
+
console.log(theme.bold("Sync Status\n"));
|
|
198
|
+
const statusIcon = data.enabled ? theme.success("\u2713") : theme.error("\u2717");
|
|
199
|
+
const runningIcon = data.isRunning ? theme.success("\u2713") : theme.warning("\u25CB");
|
|
200
|
+
console.log(` ${theme.accent("Enabled".padEnd(20))} ${statusIcon} ${data.enabled ? "Yes" : "No"}`);
|
|
201
|
+
console.log(` ${theme.accent("Service Running".padEnd(20))} ${runningIcon} ${data.isRunning ? "Yes" : "No"}`);
|
|
202
|
+
console.log(` ${theme.accent("Last Sync".padEnd(20))} ${data.lastSync ? formatDate(data.lastSync) : theme.muted("Never")}`);
|
|
203
|
+
console.log(` ${theme.accent("Files Tracked".padEnd(20))} ${data.fileCount}`);
|
|
204
|
+
console.log(` ${theme.accent("Total Size".padEnd(20))} ${formatSize(data.totalSize)}`);
|
|
205
|
+
console.log(` ${theme.accent("Sync Interval".padEnd(20))} ${formatInterval(data.interval)}`);
|
|
193
206
|
}
|
|
194
207
|
function renderSettingsTab(data) {
|
|
195
|
-
|
|
196
|
-
console.log(
|
|
197
|
-
console.log(` ${
|
|
198
|
-
console.log(` ${
|
|
199
|
-
console.log(` ${
|
|
200
|
-
console.log(
|
|
201
|
-
console.log(
|
|
202
|
-
console.log(
|
|
203
|
-
console.log(
|
|
204
|
-
console.log(
|
|
205
|
-
console.log(
|
|
206
|
-
console.log(
|
|
207
|
-
console.log(
|
|
208
|
-
console.log(
|
|
209
|
-
console.log(
|
|
210
|
-
console.log(
|
|
211
|
-
console.log(
|
|
208
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
209
|
+
console.log(theme.bold("Sync Settings\n"));
|
|
210
|
+
console.log(` ${theme.accent("Enabled".padEnd(25))} ${data.enabled ? theme.success("true") : theme.muted("false")}`);
|
|
211
|
+
console.log(` ${theme.accent("Interval".padEnd(25))} ${formatInterval(data.interval)}`);
|
|
212
|
+
console.log(` ${theme.accent("Include Telemetry".padEnd(25))} ${data.includeTelemetry ? theme.success("true") : theme.muted("false")}`);
|
|
213
|
+
console.log(` ${theme.accent("Include Feedback".padEnd(25))} ${data.includeFeedback ? theme.success("true") : theme.muted("false")}`);
|
|
214
|
+
console.log(theme.bold("\nWhat Gets Synced\n"));
|
|
215
|
+
console.log(theme.muted(" \u2713 config.json (API keys encrypted)"));
|
|
216
|
+
console.log(theme.muted(" \u2713 agents/ (custom agents)"));
|
|
217
|
+
console.log(theme.muted(" \u2713 skills/ (custom skills)"));
|
|
218
|
+
console.log(theme.muted(" \u2713 hooks/ (user hooks)"));
|
|
219
|
+
console.log(theme.muted(" \u2713 memory/ (user memory)"));
|
|
220
|
+
console.log(theme.muted(" \u2713 sessions/ (session history)"));
|
|
221
|
+
console.log(theme.muted(" \u2713 projects/ (project knowledge)"));
|
|
222
|
+
console.log(theme.bold("\nNot Synced\n"));
|
|
223
|
+
console.log(theme.muted(" \u2717 device-id (unique per device)"));
|
|
224
|
+
console.log(theme.muted(" \u2717 error.log (local only)"));
|
|
225
|
+
console.log(theme.muted(" \u2717 version-*.json (cache files)"));
|
|
212
226
|
}
|
|
213
227
|
function renderActivityTab(data) {
|
|
214
|
-
|
|
228
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
229
|
+
console.log(theme.bold("Recent Sync Activity\n"));
|
|
215
230
|
if (!data.lastSync) {
|
|
216
|
-
console.log(
|
|
217
|
-
console.log(
|
|
231
|
+
console.log(theme.muted(" No sync activity yet."));
|
|
232
|
+
console.log(theme.muted(' Press "s" to trigger a manual sync.'));
|
|
218
233
|
return;
|
|
219
234
|
}
|
|
220
|
-
console.log(` ${
|
|
221
|
-
console.log(` ${
|
|
222
|
-
console.log(` ${
|
|
223
|
-
console.log(
|
|
224
|
-
console.log(
|
|
225
|
-
console.log(
|
|
226
|
-
console.log(
|
|
235
|
+
console.log(` ${theme.accent("Last successful sync:")} ${formatDate(data.lastSync)}`);
|
|
236
|
+
console.log(` ${theme.accent("Files synced:")} ${data.fileCount}`);
|
|
237
|
+
console.log(` ${theme.accent("Data transferred:")} ${formatSize(data.totalSize)}`);
|
|
238
|
+
console.log(theme.bold("\nTips\n"));
|
|
239
|
+
console.log(theme.muted(" - Sync runs automatically every 5 minutes"));
|
|
240
|
+
console.log(theme.muted(' - Press "s" anytime to trigger a manual sync'));
|
|
241
|
+
console.log(theme.muted(" - Cloud data takes priority on conflicts"));
|
|
227
242
|
}
|
|
228
243
|
function formatDate(isoString) {
|
|
229
244
|
try {
|
|
@@ -241,7 +256,7 @@ function formatDate(isoString) {
|
|
|
241
256
|
} else {
|
|
242
257
|
return date.toLocaleDateString() + " " + date.toLocaleTimeString();
|
|
243
258
|
}
|
|
244
|
-
} catch (
|
|
259
|
+
} catch (e4) {
|
|
245
260
|
return isoString;
|
|
246
261
|
}
|
|
247
262
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createCommandTheme
|
|
3
|
+
} from "./chunk-46MTALKD.js";
|
|
1
4
|
import {
|
|
2
5
|
loadConfig,
|
|
3
6
|
saveConfig
|
|
4
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-3UT7R3XV.js";
|
|
5
8
|
import {
|
|
6
9
|
t
|
|
7
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CBFH2J3O.js";
|
|
8
11
|
|
|
9
12
|
// src/commands/sync.ts
|
|
10
|
-
import chalk from "chalk";
|
|
11
13
|
import readline from "readline";
|
|
12
14
|
var metadata = {
|
|
13
15
|
command: "/sync",
|
|
@@ -25,8 +27,9 @@ async function sync(ctx) {
|
|
|
25
27
|
const config = await loadConfig();
|
|
26
28
|
const isLoggedIn = Boolean(config.auth?.token && config.auth?.user);
|
|
27
29
|
if (!isLoggedIn) {
|
|
28
|
-
|
|
29
|
-
console.log(
|
|
30
|
+
const theme = createCommandTheme();
|
|
31
|
+
console.log(theme.warning("\nSettings sync requires authentication."));
|
|
32
|
+
console.log(theme.muted("Run /login to sign in and enable cloud sync.\n"));
|
|
30
33
|
return null;
|
|
31
34
|
}
|
|
32
35
|
const data = await gatherSyncData(ctx, config);
|
|
@@ -75,17 +78,21 @@ function renderSyncUI(data, ctx) {
|
|
|
75
78
|
if (isTTY) {
|
|
76
79
|
readline.emitKeypressEvents(input);
|
|
77
80
|
if (!wasRaw && typeof input.setRawMode === "function") {
|
|
78
|
-
|
|
81
|
+
try {
|
|
82
|
+
input.setRawMode(true);
|
|
83
|
+
} catch {
|
|
84
|
+
}
|
|
79
85
|
}
|
|
80
86
|
if (typeof input.setEncoding === "function") {
|
|
81
87
|
input.setEncoding("utf8");
|
|
82
88
|
}
|
|
83
89
|
}
|
|
84
90
|
const render = () => {
|
|
91
|
+
const theme = createCommandTheme();
|
|
85
92
|
process.stdout.write("\x1B[2J\x1B[H");
|
|
86
93
|
renderTabHeader(tabs, currentTab);
|
|
87
94
|
renderTabContent(tabs[currentTab], data);
|
|
88
|
-
console.log(
|
|
95
|
+
console.log(theme.muted("\nEsc to exit | Tab to cycle | s: sync now | e: toggle enabled"));
|
|
89
96
|
};
|
|
90
97
|
const handler = async (_str, key) => {
|
|
91
98
|
const char = (_str || "").toLowerCase();
|
|
@@ -111,18 +118,19 @@ function renderSyncUI(data, ctx) {
|
|
|
111
118
|
}
|
|
112
119
|
if (char === "s") {
|
|
113
120
|
if (data.syncService) {
|
|
114
|
-
|
|
121
|
+
const theme = createCommandTheme();
|
|
122
|
+
console.log(theme.accent("\nSyncing..."));
|
|
115
123
|
try {
|
|
116
124
|
const result = await data.syncService.sync();
|
|
117
125
|
if (result.success) {
|
|
118
|
-
console.log(
|
|
126
|
+
console.log(theme.success(`Sync complete! Uploaded: ${result.uploaded}, Downloaded: ${result.downloaded}`));
|
|
119
127
|
} else {
|
|
120
|
-
console.log(
|
|
128
|
+
console.log(theme.error(`Sync failed: ${result.error}`));
|
|
121
129
|
}
|
|
122
130
|
const config = await loadConfig();
|
|
123
131
|
Object.assign(data, await gatherSyncData(ctx, config));
|
|
124
132
|
} catch (err) {
|
|
125
|
-
console.log(
|
|
133
|
+
console.log(theme.error(`Sync error: ${err}`));
|
|
126
134
|
}
|
|
127
135
|
await sleep(1500);
|
|
128
136
|
render();
|
|
@@ -136,12 +144,12 @@ function renderSyncUI(data, ctx) {
|
|
|
136
144
|
config.sync = { ...config.sync, enabled: newEnabled };
|
|
137
145
|
await saveConfig(config);
|
|
138
146
|
data.enabled = newEnabled;
|
|
139
|
-
console.log(
|
|
147
|
+
console.log(createCommandTheme().accent(`
|
|
140
148
|
${newEnabled ? t("commands.sync.enabled") : t("commands.sync.disabled")}`));
|
|
141
149
|
await sleep(1e3);
|
|
142
150
|
render();
|
|
143
151
|
} catch (err) {
|
|
144
|
-
console.log(
|
|
152
|
+
console.log(createCommandTheme().error(`Error toggling sync: ${err}`));
|
|
145
153
|
}
|
|
146
154
|
return;
|
|
147
155
|
}
|
|
@@ -149,7 +157,10 @@ ${newEnabled ? t("commands.sync.enabled") : t("commands.sync.disabled")}`));
|
|
|
149
157
|
const cleanup = () => {
|
|
150
158
|
input.off("keypress", handler);
|
|
151
159
|
if (isTTY && !wasRaw && typeof input.setRawMode === "function") {
|
|
152
|
-
|
|
160
|
+
try {
|
|
161
|
+
input.setRawMode(false);
|
|
162
|
+
} catch {
|
|
163
|
+
}
|
|
153
164
|
}
|
|
154
165
|
if (wasPaused && typeof input.pause === "function") {
|
|
155
166
|
input.pause();
|
|
@@ -161,10 +172,11 @@ ${newEnabled ? t("commands.sync.enabled") : t("commands.sync.disabled")}`));
|
|
|
161
172
|
});
|
|
162
173
|
}
|
|
163
174
|
function renderTabHeader(tabs, currentIndex) {
|
|
175
|
+
const theme = createCommandTheme();
|
|
164
176
|
const header = tabs.map((tab, i) => {
|
|
165
|
-
return i === currentIndex ?
|
|
177
|
+
return i === currentIndex ? theme.selectedTab(tab) : theme.tab(tab);
|
|
166
178
|
}).join(" ");
|
|
167
|
-
console.log(`Settings Sync: ${header} ${
|
|
179
|
+
console.log(`Settings Sync: ${header} ${theme.muted("(tab to cycle)")}
|
|
168
180
|
`);
|
|
169
181
|
}
|
|
170
182
|
function renderTabContent(tab, data) {
|
|
@@ -181,49 +193,52 @@ function renderTabContent(tab, data) {
|
|
|
181
193
|
}
|
|
182
194
|
}
|
|
183
195
|
function renderStatusTab(data) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
console.log(` ${
|
|
189
|
-
console.log(` ${
|
|
190
|
-
console.log(` ${
|
|
191
|
-
console.log(` ${
|
|
192
|
-
console.log(` ${
|
|
196
|
+
const theme = createCommandTheme();
|
|
197
|
+
console.log(theme.bold("Sync Status\n"));
|
|
198
|
+
const statusIcon = data.enabled ? theme.success("\u2713") : theme.error("\u2717");
|
|
199
|
+
const runningIcon = data.isRunning ? theme.success("\u2713") : theme.warning("\u25CB");
|
|
200
|
+
console.log(` ${theme.accent("Enabled".padEnd(20))} ${statusIcon} ${data.enabled ? "Yes" : "No"}`);
|
|
201
|
+
console.log(` ${theme.accent("Service Running".padEnd(20))} ${runningIcon} ${data.isRunning ? "Yes" : "No"}`);
|
|
202
|
+
console.log(` ${theme.accent("Last Sync".padEnd(20))} ${data.lastSync ? formatDate(data.lastSync) : theme.muted("Never")}`);
|
|
203
|
+
console.log(` ${theme.accent("Files Tracked".padEnd(20))} ${data.fileCount}`);
|
|
204
|
+
console.log(` ${theme.accent("Total Size".padEnd(20))} ${formatSize(data.totalSize)}`);
|
|
205
|
+
console.log(` ${theme.accent("Sync Interval".padEnd(20))} ${formatInterval(data.interval)}`);
|
|
193
206
|
}
|
|
194
207
|
function renderSettingsTab(data) {
|
|
195
|
-
|
|
196
|
-
console.log(
|
|
197
|
-
console.log(` ${
|
|
198
|
-
console.log(` ${
|
|
199
|
-
console.log(` ${
|
|
200
|
-
console.log(
|
|
201
|
-
console.log(
|
|
202
|
-
console.log(
|
|
203
|
-
console.log(
|
|
204
|
-
console.log(
|
|
205
|
-
console.log(
|
|
206
|
-
console.log(
|
|
207
|
-
console.log(
|
|
208
|
-
console.log(
|
|
209
|
-
console.log(
|
|
210
|
-
console.log(
|
|
211
|
-
console.log(
|
|
208
|
+
const theme = createCommandTheme();
|
|
209
|
+
console.log(theme.bold("Sync Settings\n"));
|
|
210
|
+
console.log(` ${theme.accent("Enabled".padEnd(25))} ${data.enabled ? theme.success("true") : theme.muted("false")}`);
|
|
211
|
+
console.log(` ${theme.accent("Interval".padEnd(25))} ${formatInterval(data.interval)}`);
|
|
212
|
+
console.log(` ${theme.accent("Include Telemetry".padEnd(25))} ${data.includeTelemetry ? theme.success("true") : theme.muted("false")}`);
|
|
213
|
+
console.log(` ${theme.accent("Include Feedback".padEnd(25))} ${data.includeFeedback ? theme.success("true") : theme.muted("false")}`);
|
|
214
|
+
console.log(theme.bold("\nWhat Gets Synced\n"));
|
|
215
|
+
console.log(theme.muted(" \u2713 config.json (API keys encrypted)"));
|
|
216
|
+
console.log(theme.muted(" \u2713 agents/ (custom agents)"));
|
|
217
|
+
console.log(theme.muted(" \u2713 skills/ (custom skills)"));
|
|
218
|
+
console.log(theme.muted(" \u2713 hooks/ (user hooks)"));
|
|
219
|
+
console.log(theme.muted(" \u2713 memory/ (user memory)"));
|
|
220
|
+
console.log(theme.muted(" \u2713 sessions/ (session history)"));
|
|
221
|
+
console.log(theme.muted(" \u2713 projects/ (project knowledge)"));
|
|
222
|
+
console.log(theme.bold("\nNot Synced\n"));
|
|
223
|
+
console.log(theme.muted(" \u2717 device-id (unique per device)"));
|
|
224
|
+
console.log(theme.muted(" \u2717 error.log (local only)"));
|
|
225
|
+
console.log(theme.muted(" \u2717 version-*.json (cache files)"));
|
|
212
226
|
}
|
|
213
227
|
function renderActivityTab(data) {
|
|
214
|
-
|
|
228
|
+
const theme = createCommandTheme();
|
|
229
|
+
console.log(theme.bold("Recent Sync Activity\n"));
|
|
215
230
|
if (!data.lastSync) {
|
|
216
|
-
console.log(
|
|
217
|
-
console.log(
|
|
231
|
+
console.log(theme.muted(" No sync activity yet."));
|
|
232
|
+
console.log(theme.muted(' Press "s" to trigger a manual sync.'));
|
|
218
233
|
return;
|
|
219
234
|
}
|
|
220
|
-
console.log(` ${
|
|
221
|
-
console.log(` ${
|
|
222
|
-
console.log(` ${
|
|
223
|
-
console.log(
|
|
224
|
-
console.log(
|
|
225
|
-
console.log(
|
|
226
|
-
console.log(
|
|
235
|
+
console.log(` ${theme.accent("Last successful sync:")} ${formatDate(data.lastSync)}`);
|
|
236
|
+
console.log(` ${theme.accent("Files synced:")} ${data.fileCount}`);
|
|
237
|
+
console.log(` ${theme.accent("Data transferred:")} ${formatSize(data.totalSize)}`);
|
|
238
|
+
console.log(theme.bold("\nTips\n"));
|
|
239
|
+
console.log(theme.muted(" - Sync runs automatically every 5 minutes"));
|
|
240
|
+
console.log(theme.muted(' - Press "s" anytime to trigger a manual sync'));
|
|
241
|
+
console.log(theme.muted(" - Cloud data takes priority on conflicts"));
|
|
227
242
|
}
|
|
228
243
|
function formatDate(isoString) {
|
|
229
244
|
try {
|