autohand-cli 0.8.3 → 0.9.1
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 +191 -74
- package/dist/{AgentRegistry-ODDXPAFR.js → AgentRegistry-GOV7FN2O.js} +2 -2
- package/dist/AgentRegistry-J2C6JBZ3.cjs +10 -0
- package/dist/{AutomodeManager-EOVHGRPP.js → AutomodeManager-APLLPEYJ.js} +31 -17
- package/dist/{AutomodeManager-6ATBE7Q5.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
- package/dist/CommunitySkillsCache-22BB3J6H.cjs +8 -0
- package/dist/{CommunitySkillsCache-QLE57BN5.js → CommunitySkillsCache-ZACDPD4J.js} +2 -2
- package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
- package/dist/{GitHubRegistryFetcher-NT5GFZXS.js → GitHubRegistryFetcher-J2BWPXJF.js} +1 -1
- package/dist/{HookManager-B2F35M27.js → HookManager-2S6AHOC3.js} +1 -1
- package/dist/{HookManager-PFAFE3FK.cjs → HookManager-TVEQI5ZU.cjs} +2 -2
- package/dist/{ImportWizard-OHRKBANZ.js → ImportWizard-AEBMAKXE.js} +33 -9
- package/dist/{ImportWizard-CJRZPPHL.cjs → ImportWizard-AF2XL6DS.cjs} +37 -13
- package/dist/LearnAdvisor-KKEQ5QCV.js +9 -0
- package/dist/LearnAdvisor-Q7RAYLPF.cjs +9 -0
- package/dist/{McpClientManager-NQ3EW2IF.cjs → McpClientManager-BNSKLHIN.cjs} +2 -2
- package/dist/{McpClientManager-VBIMGKXU.js → McpClientManager-SL35BR24.js} +1 -1
- package/dist/MemoryManager-PMNAEZMB.cjs +8 -0
- package/dist/{MemoryManager-2LAT7IHS.js → MemoryManager-QZRLTUB5.js} +2 -2
- package/dist/NVIDIAProvider-C3FWQOBZ.cjs +14 -0
- package/dist/NVIDIAProvider-SJPY3ONR.js +14 -0
- package/dist/{PermissionManager-7NQHRCHY.js → PermissionManager-MT7KBNNR.js} +3 -3
- package/dist/PermissionManager-URCNP5EC.cjs +11 -0
- package/dist/{ProjectProfiler-UG42W6WD.cjs → ProjectProfiler-CDAE7ECW.cjs} +1 -0
- package/dist/{ProjectProfiler-P4QJQWWA.js → ProjectProfiler-NZTJDRHD.js} +1 -0
- package/dist/ProviderFactory-56N3ECE4.cjs +12 -0
- package/dist/{ProviderFactory-2IYJ5OPW.js → ProviderFactory-RB4RVAF6.js} +4 -1
- package/dist/SessionManager-2IZGWASQ.cjs +10 -0
- package/dist/{SessionManager-4U4JFQ3C.js → SessionManager-554PHVPC.js} +2 -2
- package/dist/SkillsRegistry-GMRVONOQ.cjs +9 -0
- package/dist/{SkillsRegistry-RFEINXRT.js → SkillsRegistry-NHHMIUYJ.js} +2 -2
- package/dist/SubAgent-4GOR2FIJ.js +13 -0
- package/dist/SubAgent-ZJMDH4FI.cjs +13 -0
- package/dist/{SyncApiClient-B5RT2ECG.js → SyncApiClient-G3FM65IV.js} +1 -1
- package/dist/SyncApiClient-ODBDECOG.cjs +11 -0
- package/dist/about-3USFSGOH.js +15 -0
- package/dist/about-QR52U5DD.cjs +15 -0
- package/dist/acp-5Y2W6OZP.js +1556 -0
- package/dist/acp-GSYE75OB.cjs +1556 -0
- package/dist/actionExecutor-KHUU3Z3Q.cjs +28 -0
- package/dist/actionExecutor-PLQJZLZV.js +28 -0
- package/dist/add-dir-BTAD5OZS.cjs +11 -0
- package/dist/{add-dir-TUJM3PG5.js → add-dir-HCERJDBR.js} +3 -2
- package/dist/agent-B3EVT7NN.cjs +126 -0
- package/dist/agent-SATQ3WZ3.js +126 -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-44CRJGM7.cjs +18 -0
- package/dist/agents-NN4ZAJ7R.js +18 -0
- package/dist/agents-new-6D6G4QS6.cjs +17 -0
- package/dist/agents-new-7GAQ25EK.js +17 -0
- package/dist/{autoSkill-LQEVQFIH.js → autoSkill-66PKCYTW.js} +2 -2
- package/dist/autoSkill-VQLGBELN.cjs +20 -0
- package/dist/automode-45DWV4TN.cjs +10 -0
- package/dist/{automode-R6P3VHLS.js → automode-BUF3VGXU.js} +2 -2
- package/dist/browserToolBridge-BXRQB4B4.cjs +58 -0
- package/dist/browserToolBridge-F5N66PE7.js +58 -0
- package/dist/chrome-Q2U73HZB.cjs +50 -0
- package/dist/chrome-Q54OALOK.cjs +21 -0
- package/dist/chrome-Y3T7EIHG.js +50 -0
- package/dist/chrome-ZNJ46OYW.js +21 -0
- package/dist/chromeSkill-53TH55PM.js +105 -0
- package/dist/chromeSkill-THW7N4IY.cjs +105 -0
- package/dist/{chunk-HXGBSJL5.cjs → chunk-22SCR3EV.cjs} +2 -2
- package/dist/chunk-26G7YGOW.js +367 -0
- package/dist/{chunk-3L53OA4E.cjs → chunk-2ESQR35E.cjs} +10 -10
- package/dist/chunk-2H5O745H.js +63 -0
- package/dist/{chunk-ULDM2SNB.js → chunk-2IW5YFJ4.js} +48 -47
- package/dist/{chunk-U55TWFJI.cjs → chunk-2VHB43IX.cjs} +24 -6
- package/dist/chunk-3EDDDZS2.cjs +5 -0
- package/dist/{chunk-X5VSP65C.cjs → chunk-3ICORF7M.cjs} +4 -4
- package/dist/chunk-3OF56EMA.cjs +197 -0
- package/dist/chunk-3UC6DMFI.cjs +93 -0
- package/dist/{chunk-64H4FRM3.cjs → chunk-3UHRCHKB.cjs} +32 -34
- package/dist/{chunk-JCLYQ2JC.js → chunk-3ZOOH44N.js} +12 -6
- package/dist/{chunk-TUD3Z3BD.js → chunk-44ZWOBTI.js} +136 -55
- package/dist/chunk-4567QNRB.js +444 -0
- package/dist/chunk-45CHNQM6.cjs +517 -0
- package/dist/chunk-46MTALKD.js +44 -0
- package/dist/{chunk-WHE2SWHU.js → chunk-4E7SHPNQ.js} +2 -2
- package/dist/chunk-4LMUDS2K.js +124 -0
- package/dist/{chunk-W7RYQJLO.cjs → chunk-4XFHP2SN.cjs} +46 -15
- package/dist/chunk-4XVLNOFA.js +360 -0
- package/dist/{chunk-GBHDROGL.js → chunk-575PXZX7.js} +16 -4
- package/dist/chunk-5A7ZL64N.js +139 -0
- package/dist/chunk-5GCQ5UMV.cjs +85 -0
- package/dist/chunk-5JTTM5SC.js +59 -0
- package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
- package/dist/{chunk-KLWJIPU2.cjs → chunk-5SFV2NCY.cjs} +20 -16
- package/dist/chunk-5ZNYX4VH.cjs +71 -0
- package/dist/{chunk-A4IJHHV7.cjs → chunk-63ANVAOJ.cjs} +52 -11
- package/dist/{chunk-MYISNQH4.js → chunk-65LRPW5W.js} +1 -1
- package/dist/chunk-6AYJCDTA.js +360 -0
- package/dist/{chunk-X2MSVKDV.js → chunk-6HF6XSCC.js} +2 -2
- package/dist/{chunk-AEJH23FO.cjs → chunk-6JWCGQJU.cjs} +6 -6
- package/dist/chunk-6OECOAK5.cjs +360 -0
- package/dist/chunk-6R25D2H5.js +121 -0
- package/dist/chunk-7DJJGKM6.js +77 -0
- package/dist/{chunk-VG34MG2U.js → chunk-7IRQ7JEH.js} +9 -6
- package/dist/chunk-7MY4JHER.js +27 -0
- package/dist/chunk-7PJKTSRN.js +152 -0
- package/dist/{chunk-SKYG33B2.cjs → chunk-7PT646AL.cjs} +3 -3
- package/dist/chunk-7WAUCLLQ.js +229 -0
- package/dist/{chunk-U46VYPLR.cjs → chunk-7XTUL7ZD.cjs} +9 -9
- package/dist/chunk-AE2ILW25.cjs +152 -0
- package/dist/{chunk-T2M64VHA.cjs → chunk-AOKXYGBQ.cjs} +61 -41
- package/dist/chunk-AQ5PVHOC.cjs +113 -0
- package/dist/{chunk-N2BLVUPM.cjs → chunk-AZ47LKD5.cjs} +3 -3
- package/dist/chunk-B4HSNOIH.cjs +354 -0
- package/dist/chunk-B76FJKEJ.cjs +184 -0
- package/dist/chunk-BP37FVBM.js +85 -0
- package/dist/chunk-BQU3HAE7.js +21 -0
- package/dist/chunk-BYE7RQFZ.cjs +121 -0
- package/dist/chunk-C46B72VK.js +1034 -0
- package/dist/{chunk-HIVRCQS2.js → chunk-C5QIQQ37.js} +56 -25
- package/dist/chunk-CCIDL4SA.js +19931 -0
- package/dist/{chunk-XVUHNWMX.js → chunk-CECH6QQP.js} +17 -19
- package/dist/chunk-CFAWTLSC.js +13 -0
- package/dist/{chunk-ZYQMLKOK.cjs → chunk-CK4HAHVY.cjs} +212 -70
- package/dist/chunk-CO2AADYU.cjs +360 -0
- package/dist/chunk-CRTCZ4WL.cjs +19931 -0
- package/dist/chunk-CSTUTDTH.js +75 -0
- package/dist/{chunk-K2C56QGS.cjs → chunk-D546G7DA.cjs} +1650 -479
- package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
- package/dist/{chunk-G4CAKI3V.js → chunk-DGBPWODD.js} +7 -2
- package/dist/chunk-DHUQZ53B.cjs +29 -0
- package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
- package/dist/{chunk-5K6NGAVM.js → chunk-DNSD7DVJ.js} +67 -52
- package/dist/{chunk-RDF37HKB.cjs → chunk-DSSCERHI.cjs} +3 -2
- package/dist/{chunk-NAJ4IZKD.cjs → chunk-EA2MS25U.cjs} +8 -6
- package/dist/{chunk-SJAVBCOA.js → chunk-EEHWALXA.js} +94 -3
- package/dist/chunk-ES2HJQ4N.js +37 -0
- package/dist/{chunk-G27PQQFD.js → chunk-EYHKL4QC.js} +1 -1
- package/dist/{chunk-SV2WA57F.js → chunk-FBQJZKFX.js} +38 -15
- package/dist/chunk-FFBDRUO5.cjs +59 -0
- package/dist/{chunk-N7LI55V4.js → chunk-FFHSCM5M.js} +15 -8
- package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
- package/dist/chunk-FQVG6ZHF.js +197 -0
- package/dist/{chunk-J2GSFVUV.cjs → chunk-GAOPJ5S3.cjs} +74 -59
- package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
- package/dist/chunk-GSDV75A5.js +715 -0
- package/dist/chunk-GWY26SUD.cjs +63 -0
- package/dist/{chunk-TUAITHWL.js → chunk-H426KOGY.js} +2 -1
- package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
- package/dist/chunk-HC2Q6A3E.cjs +4967 -0
- package/dist/{chunk-3WVJEL7K.cjs → chunk-HDK2EHVH.cjs} +3 -1
- package/dist/{chunk-5IXII4HX.cjs → chunk-HG3ZASBH.cjs} +23 -16
- package/dist/chunk-HK5A54AV.cjs +280 -0
- package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
- package/dist/chunk-HSWWM6AM.js +2340 -0
- package/dist/chunk-HTU4W3GB.js +183 -0
- package/dist/{chunk-HLHTG5ZU.cjs → chunk-HVCIB4SW.cjs} +14 -12
- package/dist/chunk-HXHE2KAO.js +385 -0
- package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
- package/dist/{chunk-SLQAYV3W.js → chunk-HZWU6IO3.js} +11 -2
- package/dist/chunk-I2ZK3AOD.js +866 -0
- package/dist/chunk-IEPLQ47J.js +719 -0
- package/dist/chunk-J5HE6CUM.cjs +124 -0
- package/dist/{chunk-LIEXWM2M.js → chunk-JAQO6XDB.js} +19 -1
- package/dist/chunk-JB3JCYBJ.js +113 -0
- package/dist/chunk-JCUHCH37.cjs +247 -0
- package/dist/{chunk-FPHU2ES6.cjs → chunk-JM3ZTQUK.cjs} +19 -9
- package/dist/{chunk-NDMIPTV4.js → chunk-JMJRFSNJ.js} +8 -3
- package/dist/{chunk-ZLSGXMGQ.js → chunk-JMN3GZU6.js} +2 -0
- package/dist/chunk-JPFRI4L4.js +4967 -0
- package/dist/{chunk-BVKXEQVG.cjs → chunk-JV5HVCHU.cjs} +22 -10
- package/dist/chunk-KA2U6MY2.js +388 -0
- package/dist/{chunk-SEKD5FH3.cjs → chunk-KASXKDF2.cjs} +8 -3
- package/dist/chunk-KJ26T7GM.cjs +367 -0
- package/dist/chunk-KM7R5YPS.cjs +385 -0
- package/dist/{chunk-MBBY4ZIK.js → chunk-KMP6Y3LJ.js} +4 -1
- package/dist/chunk-KWXGDSYT.js +184 -0
- package/dist/{chunk-C5IJIM2V.cjs → chunk-L46OUKW5.cjs} +68 -37
- package/dist/{chunk-6UJMCWRY.js → chunk-L6OH44HL.js} +19 -9
- package/dist/chunk-LANGD5CO.js +280 -0
- package/dist/{chunk-APIXPPMT.js → chunk-LEZEWKPA.js} +1004 -39
- package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
- package/dist/chunk-LJD7KR3L.cjs +44 -0
- package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
- package/dist/{chunk-QXH5RCFI.js → chunk-M5DK524Z.js} +2 -2
- package/dist/chunk-M7B7RRBK.cjs +1034 -0
- package/dist/chunk-MANJ67D3.js +3897 -0
- package/dist/{chunk-HPHJ73GU.cjs → chunk-MGNXABSU.cjs} +9 -9
- package/dist/{chunk-6ZCULLCA.js → chunk-MMKZSJUN.js} +1 -1
- package/dist/{chunk-DVUHHH3B.cjs → chunk-MQQH4XQH.cjs} +4 -4
- package/dist/chunk-MUNUUFU7.cjs +21 -0
- package/dist/{chunk-DVZOENQ7.cjs → chunk-MZN6JBRZ.cjs} +9 -4
- package/dist/{chunk-OOKY3HPZ.js → chunk-NB6M6ESM.js} +50 -9
- package/dist/{chunk-BYONM7UM.js → chunk-NBGOIFKP.js} +265 -18
- package/dist/chunk-NHWHEW7M.cjs +75 -0
- package/dist/chunk-NQZH5CR2.cjs +468 -0
- package/dist/{chunk-EGPXJERY.cjs → chunk-NV6LCD2I.cjs} +119 -28
- package/dist/chunk-NVATU4V6.cjs +44 -0
- package/dist/{chunk-YZXUDM5X.js → chunk-NZ3ZWLUW.js} +204 -62
- package/dist/chunk-NZ7GCK7Y.cjs +92 -0
- package/dist/{chunk-VEKDGU2Q.cjs → chunk-NZQFKXM3.cjs} +49 -25
- package/dist/chunk-O5GI6SR3.js +59 -0
- package/dist/{chunk-56SWIDEL.cjs → chunk-OCATAKXV.cjs} +57 -56
- package/dist/{chunk-SKV2F3NM.js → chunk-OIGYWOL6.js} +1 -1
- package/dist/{chunk-IFFXSTOM.cjs → chunk-ONVYXTUT.cjs} +3 -3
- package/dist/chunk-OR67YXQK.cjs +13 -0
- package/dist/chunk-OV3T5MUH.cjs +715 -0
- package/dist/{chunk-OHUZKDGX.js → chunk-P4FUTSVK.js} +3 -3
- package/dist/chunk-P6SLT2F4.cjs +139 -0
- package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
- package/dist/chunk-PCM3N3CL.cjs +37 -0
- package/dist/{chunk-2AA5MFES.js → chunk-PGFLPURU.js} +8 -5
- package/dist/{chunk-DJDE4DTT.cjs → chunk-PIXQ2AVM.cjs} +25 -19
- package/dist/chunk-PNIAIOMZ.cjs +229 -0
- package/dist/{chunk-HTLINWX6.cjs → chunk-PQBYFEBL.cjs} +16 -13
- package/dist/{chunk-22D2CNTP.cjs → chunk-PSAH4ZQB.cjs} +5 -2
- package/dist/{chunk-3VTAFAL2.js → chunk-PTTZI4QZ.js} +16 -12
- package/dist/{chunk-WPVWQSL7.cjs → chunk-PY73W5MQ.cjs} +16 -13
- package/dist/{chunk-EGMZDTSL.js → chunk-PZZMIYII.js} +10 -2
- package/dist/{chunk-HBZU3RBZ.js → chunk-Q3BS6FPM.js} +34 -10
- package/dist/chunk-QBYGMMDD.js +517 -0
- package/dist/chunk-QLZOMZO5.cjs +388 -0
- package/dist/{chunk-ADUFCS4Q.cjs → chunk-QQ64HEHP.cjs} +160 -79
- package/dist/{chunk-L3TWPROA.js → chunk-QRQF3556.js} +44 -24
- package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
- package/dist/chunk-RAKO7UN7.js +114 -0
- package/dist/{chunk-7TQH3CL4.cjs → chunk-RBXBH6EB.cjs} +78 -35
- package/dist/chunk-RFUKZIJF.cjs +78 -0
- package/dist/chunk-RS2E32YB.js +71 -0
- package/dist/{chunk-OLSBBZW6.cjs → chunk-S5JNQIGL.cjs} +5 -5
- package/dist/{chunk-FTYY5JJD.js → chunk-S5QKRA2V.js} +2 -2
- package/dist/chunk-SD3NTC7D.cjs +77 -0
- package/dist/{chunk-KPELYZ6L.js → chunk-SDLY4X3G.js} +2 -2
- package/dist/{chunk-IDFF5J2E.js → chunk-SFFEKZGC.js} +38 -7
- package/dist/{chunk-EGFT4PGW.js → chunk-SHRLFX6F.js} +8 -3
- package/dist/{chunk-3WICOC33.js → chunk-SNDDZG5H.js} +124 -84
- package/dist/{chunk-CZXGCVTR.cjs → chunk-SOVR7S3T.cjs} +2 -2
- package/dist/chunk-SPQ7QIQ6.js +78 -0
- package/dist/{chunk-XRZEUWKF.js → chunk-SRMGWMQO.js} +1 -1
- package/dist/{chunk-R33VKSH5.cjs → chunk-SVVP4UUZ.cjs} +11 -11
- package/dist/{chunk-7BTSG4ME.cjs → chunk-SY2P3Z5W.cjs} +1004 -39
- package/dist/chunk-SZD45IDG.js +468 -0
- package/dist/{chunk-3O3MOK5C.cjs → chunk-TE4SYTWR.cjs} +1114 -142
- package/dist/chunk-TH26BQJG.js +101 -0
- package/dist/{chunk-QNGEW5TC.js → chunk-TR6NECEZ.js} +1 -1
- package/dist/{chunk-YGN4CQIP.js → chunk-TYBPTKFT.js} +1 -1
- package/dist/{chunk-GJH7XMSK.js → chunk-U2QUMKCB.js} +8 -6
- package/dist/{chunk-47CKWKEX.cjs → chunk-U6PLSPMD.cjs} +9 -4
- package/dist/chunk-UOQECODR.js +34 -0
- package/dist/chunk-UR27UDTB.js +354 -0
- package/dist/chunk-UWZ4G3SQ.js +93 -0
- package/dist/{chunk-Y72HH2TF.cjs → chunk-V3SZLWEQ.cjs} +33 -24
- package/dist/chunk-V4HGZSKQ.cjs +183 -0
- package/dist/{chunk-3PDTTAKJ.js → chunk-V5ELP2XE.js} +19 -12
- package/dist/{chunk-3K2ESU53.cjs → chunk-VKOXFT4L.cjs} +2 -2
- package/dist/{chunk-XTB6VJVQ.cjs → chunk-VLGGMQUN.cjs} +6 -6
- package/dist/chunk-VQHSYAPZ.cjs +3897 -0
- package/dist/chunk-VUGOOGHB.js +400 -0
- package/dist/chunk-W5QLA6WP.cjs +866 -0
- package/dist/chunk-WBU4Q4GS.cjs +400 -0
- package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
- package/dist/chunk-WJYFLQ7G.cjs +27 -0
- package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
- package/dist/{chunk-ZSPXQYG2.js → chunk-WNJXIACY.js} +7 -5
- package/dist/{chunk-AYS2ASM7.js → chunk-WPE2XHVX.js} +1 -1
- package/dist/chunk-WTB7AFL6.cjs +101 -0
- package/dist/{chunk-JYTDYJVW.js → chunk-X3TI5TJJ.js} +1 -1
- package/dist/chunk-X5P6QQOB.cjs +719 -0
- package/dist/{chunk-245KJE5Y.cjs → chunk-X7XMITIL.cjs} +14 -6
- package/dist/chunk-XF2WIKHR.cjs +34 -0
- package/dist/{chunk-DV2ZHK7B.cjs → chunk-XNIMSVS6.cjs} +49 -26
- package/dist/chunk-XW3XCK4E.cjs +59 -0
- package/dist/{chunk-N23UAW4I.js → chunk-XZVDYC5U.js} +7 -2
- package/dist/chunk-Y5BDE24P.cjs +444 -0
- package/dist/{chunk-NAGQ2PDC.js → chunk-YC5OBZQU.js} +1604 -433
- package/dist/chunk-YISPVAXO.cjs +2340 -0
- package/dist/{chunk-KQGPTCQJ.js → chunk-YQDI753V.js} +68 -25
- package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
- package/dist/{chunk-NNPAM4HC.cjs → chunk-YWH55BWK.cjs} +15 -6
- package/dist/{chunk-X2YOZQIP.cjs → chunk-YWTIXHU6.cjs} +266 -19
- package/dist/{chunk-XX2ZO7DS.js → chunk-YXM6SA7P.js} +25 -16
- package/dist/chunk-YZWE7XSM.js +5 -0
- package/dist/chunk-ZASDSY7P.cjs +114 -0
- package/dist/{chunk-2UC22DJU.js → chunk-ZNGRLCFQ.js} +30 -4
- package/dist/{chunk-KANW6OYC.cjs → chunk-ZNYZB7XY.cjs} +34 -8
- package/dist/{chunk-NA6WQDYW.js → chunk-ZPLCAXJW.js} +1088 -116
- package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
- package/dist/chunk-ZUYYHKQA.js +44 -0
- package/dist/clear-QJXU25IF.cjs +12 -0
- package/dist/{clear-A3N4GK2S.js → clear-Y5TO3RZA.js} +3 -3
- package/dist/communityInstaller-LXMVKVAV.cjs +22 -0
- package/dist/{communityInstaller-LOP2EDH5.js → communityInstaller-RVL4STPS.js} +8 -5
- package/dist/completion-JX4T2ONW.cjs +17 -0
- package/dist/completion-SE3XYG74.js +17 -0
- package/dist/config-3224PRW4.cjs +21 -0
- package/dist/{config-HPJPKTO6.js → config-7KPHKFTP.js} +7 -4
- package/dist/{constants-LISJW3DD.js → constants-EJFAWJQI.js} +1 -1
- package/dist/constants-MCCGUU5F.cjs +21 -0
- package/dist/{defaultHooks-IHSJR2AX.cjs → defaultHooks-2V2CQL63.cjs} +25 -10
- package/dist/{defaultHooks-KUKHK3AG.js → defaultHooks-TMHDU3FS.js} +25 -10
- package/dist/export-BJVIDZC4.js +15 -0
- package/dist/export-KU4557HK.cjs +15 -0
- package/dist/feature-K3LG5IJP.cjs +14 -0
- package/dist/feature-V4JF5TNJ.js +14 -0
- package/dist/features-5OJTLKS7.js +23 -0
- package/dist/features-VCBJQXCX.cjs +23 -0
- package/dist/feedback-D4437VE4.js +18 -0
- package/dist/feedback-VZPEHGFY.cjs +18 -0
- package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
- package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
- package/dist/{filesystem-Z7BWAWMZ.js → filesystem-L6DQKGWK.js} +3 -2
- package/dist/filesystem-PGUPCMVK.cjs +11 -0
- package/dist/go-X4E6BCD6.js +12 -0
- package/dist/go-XREVFS5I.cjs +12 -0
- package/dist/goal-4M3J6JS2.cjs +16 -0
- package/dist/goal-EI66BV7W.js +16 -0
- package/dist/help-GGFS7WHY.cjs +12 -0
- package/dist/{help-GFQXNZOK.js → help-MLIROWKM.js} +2 -2
- package/dist/{history-E3N6BJP7.js → history-GQJ6RZD6.js} +2 -2
- package/dist/history-J4LUIOSI.cjs +14 -0
- package/dist/hooks-FSRIUS6A.cjs +18 -0
- package/dist/hooks-PPFHCF7T.js +18 -0
- package/dist/i18n-CI6VFXL5.cjs +33 -0
- package/dist/{i18n-SY7QRM22.js → i18n-Q7UZJRPL.js} +1 -1
- package/dist/ide-BUSVE54P.js +15 -0
- package/dist/ide-YR27BPGM.cjs +15 -0
- package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
- package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
- package/dist/{import-W7SVLSTC.js → import-3VBKI6BN.js} +3 -3
- package/dist/{import-ADI37ZUR.cjs → import-C7S6UJMW.cjs} +3 -3
- package/dist/import-DBK4OCDF.cjs +10 -0
- package/dist/{import-KGKKZ3B7.js → import-U47DXCA7.js} +2 -2
- package/dist/index.cjs +837 -23011
- package/dist/index.d.cts +95 -0
- package/dist/index.d.ts +95 -0
- package/dist/index.js +864 -23038
- package/dist/init-OXTYS72D.cjs +10 -0
- package/dist/{init-7MFK626E.js → init-Q2O4R42R.js} +2 -2
- package/dist/inkMode-VUE6ZDLD.cjs +7 -0
- package/dist/inkMode-WBNFOSAT.js +7 -0
- package/dist/inputPrompt-3CFZDUBH.js +90 -0
- package/dist/inputPrompt-JMACL4EB.cjs +90 -0
- package/dist/language-EK3M6UBV.cjs +22 -0
- package/dist/language-Q3RUGGOW.js +22 -0
- package/dist/learn-3DSX7DYG.cjs +23 -0
- package/dist/learn-OPOH5L43.js +23 -0
- package/dist/login-GST7MWXJ.cjs +27 -0
- package/dist/login-Q7DZKAX4.js +27 -0
- package/dist/logout-2G7OUK7I.cjs +24 -0
- package/dist/logout-FNBBL2UI.js +24 -0
- package/dist/mcp-AH3MMUBU.js +21 -0
- package/dist/mcp-DW7R63IB.cjs +21 -0
- package/dist/{mcp-install-2FEROZTL.js → mcp-install-222PCKSW.js} +18 -10
- package/dist/{mcp-install-WM6BQRI5.cjs → mcp-install-IA4ZS2SV.cjs} +22 -14
- package/dist/memory-6NX3DAIY.cjs +10 -0
- package/dist/{memory-J73WZH2I.js → memory-VB46T5H3.js} +2 -2
- package/dist/model-64NAELFS.cjs +10 -0
- package/dist/{model-AES267IN.js → model-SJJG64AM.js} +2 -2
- package/dist/new-DU5SOOOY.cjs +12 -0
- package/dist/{new-5CLF3MKH.js → new-ERZ5C6CN.js} +3 -3
- package/dist/onboarding-2U2BV2KE.cjs +36 -0
- package/dist/onboarding-ZQXMPSMJ.js +36 -0
- package/dist/permissions-7ACNFK7A.js +10 -0
- package/dist/permissions-GSNNV7RJ.cjs +10 -0
- package/dist/plan-XEJMOT55.cjs +13 -0
- package/dist/{plan-65HMS5HQ.js → plan-YYUAXPTL.js} +3 -1
- package/dist/pr-review-CW6J7P62.cjs +9 -0
- package/dist/pr-review-YZSBQVT2.js +9 -0
- package/dist/{quit-XDZYRSPU.js → quit-WY6T267G.js} +2 -2
- package/dist/quit-XIRE2KRE.cjs +10 -0
- package/dist/rawMode-6W5AXAKI.cjs +7 -0
- package/dist/rawMode-GFNLXQPU.js +7 -0
- package/dist/{registry-PTHWERKC.js → registry-4DXUDKJN.js} +29 -44
- package/dist/{registry-IVT4G2RT.cjs → registry-UEO3ETZ7.cjs} +65 -80
- package/dist/repeat-P4FAPE3Y.cjs +17 -0
- package/dist/{repeat-EVCWUL6Z.js → repeat-RALE6AUO.js} +7 -3
- package/dist/resume-RQZ3WXBP.cjs +17 -0
- package/dist/resume-XSXZMDMD.js +17 -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-XH7QLN4H.js +3874 -0
- package/dist/rpc-YF54T7JU.cjs +3874 -0
- package/dist/search-VXXFGZWU.cjs +21 -0
- package/dist/search-YAWGX7P7.js +21 -0
- package/dist/{sessions-6GWEBMKS.js → sessions-NJYHJOEL.js} +2 -2
- package/dist/sessions-OSG3UJEZ.cjs +10 -0
- package/dist/settings-SO2UIGWV.cjs +42 -0
- package/dist/settings-ZXUQH3DO.js +42 -0
- package/dist/setup-KG7EGKF5.js +30 -0
- package/dist/setup-RSOPCQ57.cjs +30 -0
- package/dist/share-WFAGZ5PY.js +17 -0
- package/dist/share-ZU3SGACF.cjs +17 -0
- package/dist/skills-KBVAQAD2.cjs +29 -0
- package/dist/skills-NBTNDVAY.js +29 -0
- package/dist/{skills-ZZCIAS7C.js → skills-OB6RDW7D.js} +10 -7
- package/dist/{skills-PG542VEB.cjs → skills-ZROBG3RZ.cjs} +13 -10
- package/dist/{skills-install-SRC3Z2MS.js → skills-install-BHTIEMKH.js} +21 -70
- package/dist/{skills-install-67DOBPJC.cjs → skills-install-ILX6QVEF.cjs} +34 -83
- package/dist/skills-new-B45VQ2PP.cjs +18 -0
- package/dist/skills-new-YMRP2HNO.js +18 -0
- package/dist/slashCommands-53VYIBJU.js +105 -0
- package/dist/slashCommands-BG2RGGZ6.cjs +105 -0
- package/dist/status-CQ2IUOVK.cjs +24 -0
- package/dist/status-E7IGNVPC.js +24 -0
- package/dist/summarizer-DGPHE5IQ.js +17 -0
- package/dist/summarizer-JNXLUAQG.cjs +17 -0
- package/dist/sync-7C25MOT2.js +22 -0
- package/dist/{sync-VU2NSJ4O.js → sync-OCJN4ZSO.js} +3 -3
- package/dist/sync-XRP46IVG.cjs +40 -0
- package/dist/sync-ZMFVE7T4.cjs +22 -0
- package/dist/{teammate-SXRVXNQV.cjs → teammate-D77B6QRT.cjs} +31 -9
- package/dist/{teammate-SD26GR37.js → teammate-EZCMHOIL.js} +30 -8
- package/dist/templates-ARG2VRWW.cjs +11 -0
- package/dist/templates-UGVZV3KJ.js +11 -0
- package/dist/theme-KKRDE6P7.cjs +22 -0
- package/dist/theme-XF7XIWBQ.js +22 -0
- package/dist/tools-3PPTTKFV.js +9 -0
- package/dist/tools-THIQA7WC.cjs +9 -0
- package/dist/ui/questionModal.cjs +8 -5
- package/dist/ui/questionModal.js +7 -4
- package/dist/{undo-OL2EDBRY.js → undo-GNUTFXCW.js} +2 -2
- package/dist/undo-U4KN7QQM.cjs +10 -0
- package/dist/usage-QSTNSDAO.js +24 -0
- package/dist/usage-YDEMQBNQ.cjs +24 -0
- 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 +51 -49
- package/dist/AgentRegistry-HRPN6ZOF.cjs +0 -10
- package/dist/CommunitySkillsCache-KE435RAR.cjs +0 -8
- package/dist/GitHubRegistryFetcher-I45SESIL.cjs +0 -7
- package/dist/LearnAdvisor-FLBA6FDD.js +0 -9
- package/dist/LearnAdvisor-GG3CXQF3.cjs +0 -9
- package/dist/MemoryManager-2LQPIYVE.cjs +0 -8
- package/dist/PermissionManager-X57BXHJ6.cjs +0 -11
- package/dist/ProviderFactory-KPJOGQWF.cjs +0 -9
- package/dist/SessionManager-YBJAZXNO.cjs +0 -10
- package/dist/SkillsRegistry-7O72A6TZ.cjs +0 -9
- package/dist/SubAgent-JT4HZHN7.js +0 -11
- package/dist/SubAgent-VPNYDWAU.cjs +0 -11
- package/dist/SyncApiClient-HQXJL5BT.cjs +0 -11
- package/dist/about-4DB5KTHW.js +0 -12
- package/dist/about-LXAOXZFT.cjs +0 -12
- package/dist/actionExecutor-23JB2WUC.js +0 -19
- package/dist/actionExecutor-X5UEZSKH.cjs +0 -19
- package/dist/add-dir-YC37DMSF.cjs +0 -10
- package/dist/agents-YF3BSUU5.js +0 -12
- package/dist/agents-ZOUHPMYR.cjs +0 -12
- package/dist/agents-new-HSH4GQPG.js +0 -14
- package/dist/agents-new-VYUDOCE7.cjs +0 -14
- package/dist/autoSkill-X5W52WOE.cjs +0 -20
- package/dist/automode-SJGM7VEI.cjs +0 -10
- package/dist/chunk-ALYU6VTM.js +0 -105
- package/dist/chunk-B53A2NM2.js +0 -2030
- package/dist/chunk-BJXSNT46.js +0 -100
- package/dist/chunk-CB4E2T5N.cjs +0 -312
- package/dist/chunk-DNUOXBHL.js +0 -539
- package/dist/chunk-EFX2QSZX.cjs +0 -33
- package/dist/chunk-GCXYXLRA.cjs +0 -111
- package/dist/chunk-H2ZRHQQV.js +0 -33
- package/dist/chunk-HNRPK5MY.cjs +0 -85
- package/dist/chunk-HVKOZ2VP.cjs +0 -115
- package/dist/chunk-JJLYWH5Y.cjs +0 -100
- package/dist/chunk-LWUJFGOZ.js +0 -115
- package/dist/chunk-MERYP6AM.cjs +0 -539
- package/dist/chunk-MZAPWNAC.cjs +0 -207
- package/dist/chunk-NTSDP2WB.js +0 -226
- package/dist/chunk-OUZQXMHL.cjs +0 -226
- package/dist/chunk-PGESAU2W.cjs +0 -2030
- package/dist/chunk-SYVYLZZF.cjs +0 -24
- package/dist/chunk-SZOLA6FR.js +0 -111
- package/dist/chunk-VWDHR4HV.js +0 -168
- package/dist/chunk-Y45G6ZO5.cjs +0 -168
- package/dist/chunk-YRLYSQEQ.cjs +0 -105
- package/dist/chunk-ZYVS43MU.js +0 -312
- package/dist/clear-GK4IEUUS.cjs +0 -12
- package/dist/communityInstaller-XXC7RLE4.cjs +0 -19
- package/dist/completion-HWABSAEL.js +0 -14
- package/dist/completion-IUUVQG4D.cjs +0 -14
- package/dist/config-HF7WOLZF.cjs +0 -18
- package/dist/constants-PEO3P2SJ.cjs +0 -21
- package/dist/export-QJAV2FCZ.js +0 -12
- package/dist/export-XSRFXGWU.cjs +0 -12
- package/dist/feedback-4TCIL3ML.cjs +0 -15
- package/dist/feedback-SJ6VVEY3.js +0 -15
- package/dist/filesystem-W56QZUJF.cjs +0 -10
- package/dist/help-ISBVQL3S.cjs +0 -12
- package/dist/history-XQ4GTSFU.cjs +0 -14
- package/dist/hooks-CJNKJ5PF.js +0 -13
- package/dist/hooks-UTMBTAXT.cjs +0 -13
- package/dist/i18n-N7QQ7A5M.cjs +0 -33
- package/dist/ide-RTA4UJV4.js +0 -12
- package/dist/ide-VWVOLIFF.cjs +0 -12
- package/dist/immediateCommandRouter-BW34JNXL.js +0 -9
- package/dist/immediateCommandRouter-SHOVNB5X.cjs +0 -9
- package/dist/import-ZLJVONXH.cjs +0 -10
- package/dist/init-TBKAB4LZ.cjs +0 -10
- package/dist/language-MDSHEXHB.cjs +0 -18
- package/dist/language-PXTQSHIG.js +0 -18
- package/dist/learn-623TW5EK.cjs +0 -20
- package/dist/learn-BCPV7GM2.js +0 -20
- package/dist/localProjectPermissions-BHQXEWZJ.cjs +0 -18
- package/dist/localProjectPermissions-GMOUYQM6.js +0 -18
- package/dist/login-QMVEETWJ.js +0 -20
- package/dist/login-QYMXAL3K.cjs +0 -20
- package/dist/logout-2CMTDAOJ.js +0 -18
- package/dist/logout-ZOHVZAUK.cjs +0 -18
- package/dist/mcp-IUVKK65S.js +0 -18
- package/dist/mcp-TXC7PYG3.cjs +0 -18
- package/dist/memory-WRIHDEPK.cjs +0 -10
- package/dist/model-RLP75SF5.cjs +0 -10
- package/dist/new-HLSFL6A4.cjs +0 -12
- package/dist/permissions-GP6FTGZ2.js +0 -13
- package/dist/permissions-O6EKKPOG.cjs +0 -13
- package/dist/plan-MCAXDIM2.cjs +0 -11
- package/dist/quit-TQX6GXA5.cjs +0 -10
- package/dist/repeat-BSPS5TWD.cjs +0 -13
- package/dist/resume-2GOPDLL4.cjs +0 -13
- package/dist/resume-37IUVDA6.js +0 -13
- package/dist/search-7KUSHIBL.cjs +0 -17
- package/dist/search-OJGDRIMA.js +0 -17
- package/dist/sessions-CYYCHSQG.cjs +0 -10
- package/dist/settings-2D7CAO66.cjs +0 -30
- package/dist/settings-BXR6SBJP.js +0 -30
- package/dist/share-BXQY5IQU.js +0 -14
- package/dist/share-OSFXZBGS.cjs +0 -14
- package/dist/skills-FL6O6AOM.cjs +0 -26
- package/dist/skills-PNKQZRNK.js +0 -26
- package/dist/skills-new-XFMEHHIF.cjs +0 -15
- package/dist/skills-new-ZNZPHUKS.js +0 -15
- package/dist/slashCommands-LLCNPK3X.js +0 -76
- package/dist/slashCommands-RXZZS6RE.cjs +0 -76
- package/dist/status-BCECUJXT.cjs +0 -11
- package/dist/status-EFO7MQU3.js +0 -11
- package/dist/sync-IJYJ6KKM.js +0 -18
- package/dist/sync-LFT6SBPF.cjs +0 -18
- package/dist/sync-U7SDPBNZ.cjs +0 -40
- package/dist/theme-AWBHSG7J.cjs +0 -18
- package/dist/theme-TQLBPJ2E.js +0 -18
- package/dist/undo-IBBGP7A2.cjs +0 -10
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
|
|
4
4
|
|
|
5
5
|
// src/commands/automode.ts
|
|
6
6
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
7
7
|
var metadata = {
|
|
8
8
|
command: "/automode",
|
|
9
|
-
description:
|
|
9
|
+
description: _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.automode.description"),
|
|
10
10
|
implemented: true,
|
|
11
11
|
subcommands: [
|
|
12
|
+
{ name: "on", description: "Enable interactive auto-mode for this session" },
|
|
13
|
+
{ name: "off", description: "Disable interactive auto-mode for this session" },
|
|
12
14
|
{ name: "status", description: "Show current loop state" },
|
|
13
15
|
{ name: "pause", description: "Pause the active loop" },
|
|
14
16
|
{ name: "resume", description: "Resume paused loop" },
|
|
@@ -22,6 +24,10 @@ function parseArgs(args) {
|
|
|
22
24
|
result.subcommand = firstArg;
|
|
23
25
|
args = args.slice(1);
|
|
24
26
|
}
|
|
27
|
+
if (["on", "off"].includes(firstArg)) {
|
|
28
|
+
result.subcommand = firstArg;
|
|
29
|
+
args = args.slice(1);
|
|
30
|
+
}
|
|
25
31
|
const promptParts = [];
|
|
26
32
|
for (let i = 0; i < args.length; i++) {
|
|
27
33
|
const arg = args[i];
|
|
@@ -42,25 +48,46 @@ function parseArgs(args) {
|
|
|
42
48
|
}
|
|
43
49
|
async function automode(ctx, args = []) {
|
|
44
50
|
const { automodeManager } = ctx;
|
|
45
|
-
|
|
51
|
+
const parsed = parseArgs(args);
|
|
52
|
+
const interactiveAutomodeEnabled = _optionalChain([ctx, 'access', _4 => _4.isInteractiveAutomodeEnabled, 'optionalCall', _5 => _5()]) === true;
|
|
53
|
+
const canToggleInteractiveAutomode = typeof ctx.setInteractiveAutomodeEnabled === "function";
|
|
54
|
+
if (!automodeManager && !canToggleInteractiveAutomode && parsed.subcommand !== "status") {
|
|
46
55
|
return "Auto-mode manager not available. Please restart autohand.";
|
|
47
56
|
}
|
|
48
|
-
const parsed = parseArgs(args);
|
|
49
57
|
switch (parsed.subcommand) {
|
|
50
58
|
case "status":
|
|
51
|
-
return handleStatus(automodeManager);
|
|
59
|
+
return handleStatus(automodeManager, interactiveAutomodeEnabled);
|
|
60
|
+
case "on":
|
|
61
|
+
return handleInteractiveToggle(ctx, true);
|
|
62
|
+
case "off":
|
|
63
|
+
return handleInteractiveToggle(ctx, false);
|
|
52
64
|
case "pause":
|
|
65
|
+
if (!automodeManager) {
|
|
66
|
+
return "No auto-mode session is currently running.";
|
|
67
|
+
}
|
|
53
68
|
return handlePause(automodeManager);
|
|
54
69
|
case "resume":
|
|
70
|
+
if (!automodeManager) {
|
|
71
|
+
return "No auto-mode session to resume.";
|
|
72
|
+
}
|
|
55
73
|
return handleResume(automodeManager);
|
|
56
74
|
case "cancel":
|
|
75
|
+
if (!automodeManager) {
|
|
76
|
+
return "No auto-mode session to cancel.";
|
|
77
|
+
}
|
|
57
78
|
return handleCancel(automodeManager);
|
|
58
79
|
case "help":
|
|
59
80
|
return showHelp();
|
|
60
81
|
default:
|
|
82
|
+
if (!parsed.prompt && canToggleInteractiveAutomode) {
|
|
83
|
+
return handleInteractiveToggle(ctx, !interactiveAutomodeEnabled);
|
|
84
|
+
}
|
|
61
85
|
if (!parsed.prompt) {
|
|
62
86
|
return showHelp();
|
|
63
87
|
}
|
|
88
|
+
if (!automodeManager) {
|
|
89
|
+
return 'Standalone auto-mode loops are only available from the CLI flag today. Use `autohand --auto-mode "<task>"`.';
|
|
90
|
+
}
|
|
64
91
|
return handleStart(automodeManager, parsed);
|
|
65
92
|
}
|
|
66
93
|
}
|
|
@@ -80,10 +107,14 @@ Settings:
|
|
|
80
107
|
|
|
81
108
|
` + _chalk2.default.gray("Press ESC to cancel at any time.");
|
|
82
109
|
}
|
|
83
|
-
function handleStatus(manager) {
|
|
84
|
-
const state = manager.getState();
|
|
110
|
+
function handleStatus(manager, interactiveEnabled) {
|
|
111
|
+
const state = _optionalChain([manager, 'optionalAccess', _6 => _6.getState, 'call', _7 => _7()]);
|
|
112
|
+
const lines = [
|
|
113
|
+
`Interactive auto-mode: ${interactiveEnabled ? "enabled" : "disabled"}`
|
|
114
|
+
];
|
|
85
115
|
if (!state) {
|
|
86
|
-
|
|
116
|
+
lines.push("No auto-mode session is currently active.");
|
|
117
|
+
return lines.join("\n");
|
|
87
118
|
}
|
|
88
119
|
const statusEmoji = {
|
|
89
120
|
running: "\u{1F504}",
|
|
@@ -92,16 +123,16 @@ function handleStatus(manager) {
|
|
|
92
123
|
cancelled: "\u26A0\uFE0F",
|
|
93
124
|
failed: "\u274C"
|
|
94
125
|
};
|
|
95
|
-
|
|
126
|
+
lines.push(
|
|
96
127
|
"",
|
|
97
128
|
`${_nullishCoalesce(statusEmoji[state.status], () => ( "\u2753"))} Auto-Mode Status`,
|
|
98
129
|
"",
|
|
99
130
|
` Session: ${state.sessionId}`,
|
|
100
131
|
` Status: ${state.status}`,
|
|
101
|
-
` ${
|
|
132
|
+
` ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.automode.iteration", { current: String(state.currentIteration), max: String(state.maxIterations) })}`,
|
|
102
133
|
` Files created: ${state.filesCreated}`,
|
|
103
134
|
` Files modified: ${state.filesModified}`
|
|
104
|
-
|
|
135
|
+
);
|
|
105
136
|
if (state.branch) {
|
|
106
137
|
lines.push(` Branch: ${state.branch}`);
|
|
107
138
|
}
|
|
@@ -111,6 +142,13 @@ function handleStatus(manager) {
|
|
|
111
142
|
lines.push("");
|
|
112
143
|
return lines.join("\n");
|
|
113
144
|
}
|
|
145
|
+
function handleInteractiveToggle(ctx, enabled) {
|
|
146
|
+
if (!ctx.setInteractiveAutomodeEnabled) {
|
|
147
|
+
return "Interactive auto-mode is not available in this session.";
|
|
148
|
+
}
|
|
149
|
+
ctx.setInteractiveAutomodeEnabled(enabled);
|
|
150
|
+
return `Interactive auto-mode ${enabled ? "enabled" : "disabled"}.`;
|
|
151
|
+
}
|
|
114
152
|
async function handlePause(manager) {
|
|
115
153
|
if (!manager.isActive()) {
|
|
116
154
|
return "No auto-mode session is currently running.";
|
|
@@ -146,6 +184,9 @@ Auto-mode lets autohand work autonomously on tasks through
|
|
|
146
184
|
iterative improvement cycles-inspired by the Ralph technique.
|
|
147
185
|
|
|
148
186
|
${_chalk2.default.yellow("Usage:")}
|
|
187
|
+
/automode Toggle interactive auto-mode on or off
|
|
188
|
+
/automode on Enable interactive auto-mode
|
|
189
|
+
/automode off Disable interactive auto-mode
|
|
149
190
|
/automode <prompt> Start auto-mode with a task
|
|
150
191
|
/automode status Show current loop state
|
|
151
192
|
/automode pause Pause the loop
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import {
|
|
2
|
+
checkForUpdates
|
|
3
|
+
} from "./chunk-GLBAF54O.js";
|
|
4
|
+
import {
|
|
5
|
+
getTerminalColumns,
|
|
6
|
+
renderAutohandLogo
|
|
7
|
+
} from "./chunk-7DJJGKM6.js";
|
|
8
|
+
import {
|
|
9
|
+
package_default
|
|
10
|
+
} from "./chunk-JB3JCYBJ.js";
|
|
11
|
+
import {
|
|
12
|
+
showModal
|
|
13
|
+
} from "./chunk-NZ3ZWLUW.js";
|
|
14
|
+
import {
|
|
15
|
+
loadConfig
|
|
16
|
+
} from "./chunk-IEPLQ47J.js";
|
|
17
|
+
import {
|
|
18
|
+
AUTH_CONFIG
|
|
19
|
+
} from "./chunk-SHRLFX6F.js";
|
|
20
|
+
|
|
21
|
+
// src/auth/AuthClient.ts
|
|
22
|
+
var DEFAULT_TIMEOUT = 1e4;
|
|
23
|
+
var AuthClient = class {
|
|
24
|
+
baseUrl;
|
|
25
|
+
timeout;
|
|
26
|
+
constructor(config = {}) {
|
|
27
|
+
this.baseUrl = config.baseUrl || AUTH_CONFIG.apiBaseUrl;
|
|
28
|
+
this.timeout = config.timeout || DEFAULT_TIMEOUT;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Initiate device authorization flow
|
|
32
|
+
* Returns device code and user code for display
|
|
33
|
+
*/
|
|
34
|
+
async initiateDeviceAuth() {
|
|
35
|
+
const controller = new AbortController();
|
|
36
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
37
|
+
try {
|
|
38
|
+
const response = await fetch(`${this.baseUrl}/cli/initiate`, {
|
|
39
|
+
method: "POST",
|
|
40
|
+
headers: {
|
|
41
|
+
"Content-Type": "application/json"
|
|
42
|
+
},
|
|
43
|
+
body: JSON.stringify({ clientId: "autohand-cli" }),
|
|
44
|
+
signal: controller.signal
|
|
45
|
+
});
|
|
46
|
+
clearTimeout(timeoutId);
|
|
47
|
+
const data = await response.json();
|
|
48
|
+
if (!response.ok) {
|
|
49
|
+
return {
|
|
50
|
+
success: false,
|
|
51
|
+
error: data.error || data.message || `HTTP ${response.status}`
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
success: true,
|
|
56
|
+
deviceCode: data.deviceCode,
|
|
57
|
+
userCode: data.userCode,
|
|
58
|
+
verificationUri: data.verificationUri,
|
|
59
|
+
verificationUriComplete: data.verificationUriComplete,
|
|
60
|
+
expiresIn: data.expiresIn,
|
|
61
|
+
interval: data.interval
|
|
62
|
+
};
|
|
63
|
+
} catch (error) {
|
|
64
|
+
clearTimeout(timeoutId);
|
|
65
|
+
if (error.name === "AbortError") {
|
|
66
|
+
return { success: false, error: "Request timeout" };
|
|
67
|
+
}
|
|
68
|
+
return { success: false, error: error.message };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Poll for device authorization status
|
|
73
|
+
*/
|
|
74
|
+
async pollDeviceAuth(deviceCode) {
|
|
75
|
+
const controller = new AbortController();
|
|
76
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
77
|
+
try {
|
|
78
|
+
const response = await fetch(`${this.baseUrl}/cli/poll`, {
|
|
79
|
+
method: "POST",
|
|
80
|
+
headers: {
|
|
81
|
+
"Content-Type": "application/json"
|
|
82
|
+
},
|
|
83
|
+
body: JSON.stringify({ deviceCode }),
|
|
84
|
+
signal: controller.signal
|
|
85
|
+
});
|
|
86
|
+
clearTimeout(timeoutId);
|
|
87
|
+
const data = await response.json();
|
|
88
|
+
if (!response.ok && response.status !== 404) {
|
|
89
|
+
return {
|
|
90
|
+
success: false,
|
|
91
|
+
status: "pending",
|
|
92
|
+
error: data.error || data.message || `HTTP ${response.status}`
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
success: data.success !== false,
|
|
97
|
+
status: data.status || "pending",
|
|
98
|
+
token: data.token,
|
|
99
|
+
user: data.user,
|
|
100
|
+
error: data.error
|
|
101
|
+
};
|
|
102
|
+
} catch (error) {
|
|
103
|
+
clearTimeout(timeoutId);
|
|
104
|
+
if (error.name === "AbortError") {
|
|
105
|
+
return { success: false, status: "pending", error: "Request timeout" };
|
|
106
|
+
}
|
|
107
|
+
return { success: false, status: "pending", error: error.message };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Validate current session token
|
|
112
|
+
*/
|
|
113
|
+
async validateSession(token) {
|
|
114
|
+
const controller = new AbortController();
|
|
115
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
116
|
+
try {
|
|
117
|
+
const response = await fetch(`${this.baseUrl}/me`, {
|
|
118
|
+
method: "GET",
|
|
119
|
+
headers: {
|
|
120
|
+
"Authorization": `Bearer ${token}`,
|
|
121
|
+
"Cookie": `auth_session=${token}`
|
|
122
|
+
},
|
|
123
|
+
signal: controller.signal
|
|
124
|
+
});
|
|
125
|
+
clearTimeout(timeoutId);
|
|
126
|
+
if (!response.ok) {
|
|
127
|
+
return { authenticated: false };
|
|
128
|
+
}
|
|
129
|
+
const data = await response.json();
|
|
130
|
+
let user;
|
|
131
|
+
if (typeof data === "object" && "user" in data) {
|
|
132
|
+
user = data.user;
|
|
133
|
+
} else if (typeof data === "object") {
|
|
134
|
+
user = data;
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
authenticated: true,
|
|
138
|
+
user
|
|
139
|
+
};
|
|
140
|
+
} catch (error) {
|
|
141
|
+
clearTimeout(timeoutId);
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Logout and invalidate session
|
|
147
|
+
*/
|
|
148
|
+
async logout(token) {
|
|
149
|
+
const controller = new AbortController();
|
|
150
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
151
|
+
try {
|
|
152
|
+
const response = await fetch(`${this.baseUrl}/logout`, {
|
|
153
|
+
method: "POST",
|
|
154
|
+
headers: {
|
|
155
|
+
"Authorization": `Bearer ${token}`,
|
|
156
|
+
"Cookie": `auth_session=${token}`
|
|
157
|
+
},
|
|
158
|
+
signal: controller.signal
|
|
159
|
+
});
|
|
160
|
+
clearTimeout(timeoutId);
|
|
161
|
+
return { success: response.ok };
|
|
162
|
+
} catch {
|
|
163
|
+
clearTimeout(timeoutId);
|
|
164
|
+
return { success: true };
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
var instance = null;
|
|
169
|
+
function getAuthClient(config) {
|
|
170
|
+
if (!instance) {
|
|
171
|
+
instance = new AuthClient(config);
|
|
172
|
+
}
|
|
173
|
+
return instance;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// src/auth/ensureAuth.ts
|
|
177
|
+
import chalk from "chalk";
|
|
178
|
+
import { spawn } from "child_process";
|
|
179
|
+
import { platform } from "os";
|
|
180
|
+
async function getGitCommit() {
|
|
181
|
+
if (true) {
|
|
182
|
+
return "da69f79";
|
|
183
|
+
}
|
|
184
|
+
const match = package_default.version.match(/-alpha\.([0-9a-f]{7,40})$/i);
|
|
185
|
+
if (match?.[1]) {
|
|
186
|
+
return match[1];
|
|
187
|
+
}
|
|
188
|
+
try {
|
|
189
|
+
const { execSync } = await import("child_process");
|
|
190
|
+
return execSync("git rev-parse --short HEAD", { encoding: "utf8", stdio: ["pipe", "pipe", "ignore"] }).trim();
|
|
191
|
+
} catch {
|
|
192
|
+
return "unknown";
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
async function runUpgrade() {
|
|
196
|
+
const os = platform();
|
|
197
|
+
let command;
|
|
198
|
+
let args;
|
|
199
|
+
const shell = false;
|
|
200
|
+
if (os === "win32") {
|
|
201
|
+
command = "powershell.exe";
|
|
202
|
+
args = ["-Command", "iwr -useb https://autohand.ai/install.ps1 | iex"];
|
|
203
|
+
} else if (os === "darwin") {
|
|
204
|
+
command = "sh";
|
|
205
|
+
args = ["-c", "brew tap autohandai/code && brew install autohand-code || curl -fsSL https://autohand.ai/install.sh | sh"];
|
|
206
|
+
} else {
|
|
207
|
+
command = "sh";
|
|
208
|
+
args = ["-c", "curl -fsSL https://autohand.ai/install.sh | sh"];
|
|
209
|
+
}
|
|
210
|
+
console.log(chalk.gray("Upgrading Autohand..."));
|
|
211
|
+
console.log(chalk.gray(`Running: ${command} ${args.join(" ")}`));
|
|
212
|
+
console.log();
|
|
213
|
+
return new Promise((resolve, reject) => {
|
|
214
|
+
const child = spawn(command, args, {
|
|
215
|
+
stdio: "inherit",
|
|
216
|
+
shell: shell || void 0
|
|
217
|
+
});
|
|
218
|
+
child.on("close", (code) => {
|
|
219
|
+
if (code === 0) {
|
|
220
|
+
console.log();
|
|
221
|
+
console.log(chalk.green("Upgrade completed successfully!"));
|
|
222
|
+
console.log(chalk.gray("Please restart Autohand to use the new version."));
|
|
223
|
+
resolve();
|
|
224
|
+
} else {
|
|
225
|
+
console.log();
|
|
226
|
+
console.log(chalk.red("Upgrade failed."));
|
|
227
|
+
console.log(chalk.gray("You can try manually:"));
|
|
228
|
+
if (os === "win32") {
|
|
229
|
+
console.log(chalk.gray(" iwr -useb https://autohand.ai/install.ps1 | iex"));
|
|
230
|
+
} else {
|
|
231
|
+
console.log(chalk.gray(" curl -fsSL https://autohand.ai/install.sh | sh"));
|
|
232
|
+
console.log(chalk.gray(" or: brew tap autohandai/code && brew install autohand-code"));
|
|
233
|
+
}
|
|
234
|
+
console.log(chalk.gray(" or: npm i -g autohand-cli"));
|
|
235
|
+
console.log(chalk.gray(" or: bun i -g autohand-cli"));
|
|
236
|
+
reject(new Error(`Upgrade failed with exit code ${code}`));
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
child.on("error", (error) => {
|
|
240
|
+
console.log();
|
|
241
|
+
console.log(chalk.red("Upgrade failed."));
|
|
242
|
+
console.log(chalk.gray(`Error: ${error.message}`));
|
|
243
|
+
reject(error);
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
async function ensureAuthenticated(config) {
|
|
248
|
+
if (config.auth?.token) {
|
|
249
|
+
if (isTokenExpiredLocally(config)) {
|
|
250
|
+
return await promptLogin(config);
|
|
251
|
+
}
|
|
252
|
+
return config;
|
|
253
|
+
}
|
|
254
|
+
return await promptLogin(config);
|
|
255
|
+
}
|
|
256
|
+
async function checkAuthenticated(config) {
|
|
257
|
+
if (!config.auth?.token) {
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
if (isTokenExpiredLocally(config)) {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
const client = new AuthClient({ timeout: 3e3 });
|
|
264
|
+
try {
|
|
265
|
+
const result = await client.validateSession(config.auth.token);
|
|
266
|
+
return result.authenticated;
|
|
267
|
+
} catch {
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
function isTokenExpiredLocally(config) {
|
|
272
|
+
if (!config.auth?.expiresAt) {
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
275
|
+
const expiresAt = new Date(config.auth.expiresAt);
|
|
276
|
+
return expiresAt < /* @__PURE__ */ new Date();
|
|
277
|
+
}
|
|
278
|
+
async function promptLogin(config) {
|
|
279
|
+
if (process.stdout.isTTY) {
|
|
280
|
+
const commit = await getGitCommit();
|
|
281
|
+
const versionStr = commit !== "unknown" ? `v${package_default.version} (${commit})` : `v${package_default.version}`;
|
|
282
|
+
let updateAvailable = false;
|
|
283
|
+
let latestVersion = null;
|
|
284
|
+
try {
|
|
285
|
+
const updateResult = await checkForUpdates(package_default.version, { forceCheck: true });
|
|
286
|
+
if (!updateResult.error && !updateResult.isUpToDate && updateResult.latestVersion) {
|
|
287
|
+
updateAvailable = true;
|
|
288
|
+
latestVersion = updateResult.latestVersion;
|
|
289
|
+
}
|
|
290
|
+
} catch {
|
|
291
|
+
}
|
|
292
|
+
const logo = renderAutohandLogo({
|
|
293
|
+
columns: getTerminalColumns(process.stdout),
|
|
294
|
+
includeWordmark: true
|
|
295
|
+
});
|
|
296
|
+
const logoWithVersion = [logo, "", chalk.gray(versionStr)].join("\n");
|
|
297
|
+
const options = [
|
|
298
|
+
{ label: "Login", value: "login" }
|
|
299
|
+
];
|
|
300
|
+
if (updateAvailable && latestVersion) {
|
|
301
|
+
options.push({
|
|
302
|
+
label: `Upgrade (v${latestVersion} available)`,
|
|
303
|
+
value: "upgrade"
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
options.push({ label: "Exit", value: "exit" });
|
|
307
|
+
const selected = await showModal({
|
|
308
|
+
logo: logoWithVersion,
|
|
309
|
+
skipAltScreen: true,
|
|
310
|
+
title: updateAvailable ? chalk.yellow("New version available!") : chalk.white("Sign in to continue."),
|
|
311
|
+
options
|
|
312
|
+
});
|
|
313
|
+
if (!selected || selected.value === "exit") {
|
|
314
|
+
process.exit(0);
|
|
315
|
+
}
|
|
316
|
+
if (selected.value === "upgrade") {
|
|
317
|
+
try {
|
|
318
|
+
await runUpgrade();
|
|
319
|
+
process.exit(0);
|
|
320
|
+
} catch {
|
|
321
|
+
process.exit(1);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
const { login } = await import("./login-Q7DZKAX4.js");
|
|
326
|
+
await login({ config });
|
|
327
|
+
const refreshed = await loadConfig(config.configPath);
|
|
328
|
+
if (!refreshed.auth?.token) {
|
|
329
|
+
console.log(chalk.red("Login failed. Autohand requires authentication to run."));
|
|
330
|
+
process.exit(1);
|
|
331
|
+
}
|
|
332
|
+
return refreshed;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
export {
|
|
336
|
+
getAuthClient,
|
|
337
|
+
ensureAuthenticated,
|
|
338
|
+
checkAuthenticated
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* @license
|
|
342
|
+
* Copyright 2025 Autohand AI LLC
|
|
343
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
344
|
+
*
|
|
345
|
+
* Auth API Client for CLI authentication
|
|
346
|
+
*/
|
|
347
|
+
/**
|
|
348
|
+
* @license
|
|
349
|
+
* Copyright 2025 Autohand AI LLC
|
|
350
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
351
|
+
*
|
|
352
|
+
* Mandatory authentication gate for CLI startup
|
|
353
|
+
*/
|
|
354
|
+
/**
|
|
355
|
+
* @license
|
|
356
|
+
* Copyright 2025 Autohand AI LLC
|
|
357
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
358
|
+
*
|
|
359
|
+
* Auth module exports
|
|
360
|
+
*/
|
|
@@ -1,16 +1,16 @@
|
|
|
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 _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
|
|
4
4
|
|
|
5
5
|
// src/commands/memory.ts
|
|
6
6
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
7
7
|
async function memory(ctx) {
|
|
8
8
|
const { project, user } = await ctx.memoryManager.listAll();
|
|
9
9
|
console.log();
|
|
10
|
-
console.log(_chalk2.default.bold.cyan(
|
|
10
|
+
console.log(_chalk2.default.bold.cyan(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.title")));
|
|
11
11
|
console.log(_chalk2.default.gray("\u2500".repeat(50)));
|
|
12
12
|
if (project.length === 0 && user.length === 0) {
|
|
13
|
-
console.log(_chalk2.default.gray(
|
|
13
|
+
console.log(_chalk2.default.gray(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.noMemory")));
|
|
14
14
|
console.log();
|
|
15
15
|
console.log(_chalk2.default.gray("Tip: Type # followed by text to store a memory."));
|
|
16
16
|
console.log(_chalk2.default.gray("Example: # Always use TypeScript strict mode"));
|
|
@@ -18,7 +18,7 @@ async function memory(ctx) {
|
|
|
18
18
|
}
|
|
19
19
|
if (project.length > 0) {
|
|
20
20
|
console.log();
|
|
21
|
-
console.log(_chalk2.default.bold.yellow(
|
|
21
|
+
console.log(_chalk2.default.bold.yellow(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.projectMemory")) + _chalk2.default.gray(" (.autohand/memory/)"));
|
|
22
22
|
console.log();
|
|
23
23
|
for (const entry of project) {
|
|
24
24
|
const date = new Date(entry.updatedAt).toLocaleDateString();
|
|
@@ -30,7 +30,7 @@ async function memory(ctx) {
|
|
|
30
30
|
}
|
|
31
31
|
if (user.length > 0) {
|
|
32
32
|
console.log();
|
|
33
|
-
console.log(_chalk2.default.bold.magenta(
|
|
33
|
+
console.log(_chalk2.default.bold.magenta(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.userMemory")) + _chalk2.default.gray(" (~/.autohand/memory/)"));
|
|
34
34
|
console.log();
|
|
35
35
|
for (const entry of user) {
|
|
36
36
|
const date = new Date(entry.updatedAt).toLocaleDateString();
|
|
@@ -46,7 +46,7 @@ async function memory(ctx) {
|
|
|
46
46
|
}
|
|
47
47
|
var metadata = {
|
|
48
48
|
command: "/memory",
|
|
49
|
-
description:
|
|
49
|
+
description: _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.description"),
|
|
50
50
|
implemented: true
|
|
51
51
|
};
|
|
52
52
|
|