autohand-cli 0.9.0 → 0.9.2
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 +118 -76
- package/dist/AgentRegistry-BBQRODQC.cjs +18 -0
- package/dist/AgentRegistry-JBXZUPML.js +18 -0
- package/dist/{CommunitySkillsCache-ZEQWP6YM.js → CommunitySkillsCache-CI7UN2DX.js} +2 -2
- package/dist/CommunitySkillsCache-XTQ6RMTA.cjs +8 -0
- package/dist/{HookManager-CWLTFKWO.js → HookManager-BELBPQQI.js} +1 -1
- package/dist/{HookManager-TMAJQU4S.cjs → HookManager-ZL2CLAJW.cjs} +2 -2
- package/dist/{ImportWizard-MQXEED2U.cjs → ImportWizard-U6CIJREW.cjs} +13 -13
- package/dist/{ImportWizard-QBKQEXDW.js → ImportWizard-VJFSWSUQ.js} +4 -4
- package/dist/LearnAdvisor-LAURA3IB.cjs +9 -0
- package/dist/LearnAdvisor-RFOBXFG7.js +9 -0
- package/dist/MemoryManager-3A2VRPF2.js +9 -0
- package/dist/MemoryManager-UOEQZIDC.cjs +9 -0
- package/dist/{NVIDIAProvider-2HR737UE.js → NVIDIAProvider-AFNJNWJM.js} +1 -1
- package/dist/NVIDIAProvider-L5GTYRCQ.cjs +14 -0
- package/dist/{PermissionManager-KMYILJ4Z.js → PermissionManager-N2LDSOYF.js} +3 -3
- package/dist/PermissionManager-ZNURIEYR.cjs +11 -0
- package/dist/ProviderFactory-3BFS65V7.cjs +13 -0
- package/dist/{ProviderFactory-HFPRVQ25.js → ProviderFactory-XUT6BSGB.js} +4 -2
- package/dist/SessionManager-LGPQIA57.cjs +10 -0
- package/dist/{SessionManager-PNBTJJTQ.js → SessionManager-OR4KDDDS.js} +2 -2
- package/dist/{SkillsRegistry-4RRD5GMX.js → SkillsRegistry-IL3GWROU.js} +2 -2
- package/dist/SkillsRegistry-PM34DQNA.cjs +9 -0
- package/dist/SubAgent-2WG4QQB5.cjs +13 -0
- package/dist/SubAgent-ICGN23TQ.js +13 -0
- package/dist/{SyncApiClient-LRPFNCKJ.js → SyncApiClient-G3FM65IV.js} +1 -1
- package/dist/SyncApiClient-ODBDECOG.cjs +11 -0
- package/dist/{about-BW3PDZUU.js → about-OYVGQMJJ.js} +5 -4
- package/dist/about-U2BH7HDR.cjs +15 -0
- package/dist/{acp-VHEL7BOW.js → acp-JWHGXZL5.js} +207 -102
- package/dist/{acp-EOETGAHC.cjs → acp-S37JOBCS.cjs} +226 -121
- package/dist/actionExecutor-2QEPMELQ.cjs +28 -0
- package/dist/actionExecutor-6NCCORRB.js +28 -0
- package/dist/add-dir-KFUHSIR2.cjs +11 -0
- package/dist/{add-dir-VFX7QT4E.js → add-dir-MM2BM2Z2.js} +2 -2
- package/dist/agent-DUIYLIVN.js +132 -0
- package/dist/agent-YYEHGDAK.cjs +132 -0
- package/dist/agents-GBGG4CW7.cjs +19 -0
- package/dist/agents-ZH34C72F.js +19 -0
- package/dist/agents-new-ERXLS7SB.cjs +17 -0
- package/dist/agents-new-EVTGPTA4.js +17 -0
- package/dist/{autoSkill-EFMK6WU6.js → autoSkill-HEWKJ5JV.js} +2 -2
- package/dist/autoSkill-YL6PN6AV.cjs +20 -0
- package/dist/automode-4BJ7FNPL.cjs +10 -0
- package/dist/{automode-BMYSRM34.js → automode-S4U7A7Q2.js} +2 -2
- package/dist/chrome-45ZXHL5N.cjs +22 -0
- package/dist/{chrome-NHJ44WUN.js → chrome-BBSRVG6S.js} +2 -2
- package/dist/chrome-IFVZRHAT.cjs +50 -0
- package/dist/chrome-MYE6DNA2.js +22 -0
- package/dist/chunk-24CEJYEG.cjs +579 -0
- package/dist/{chunk-47PHDKNW.cjs → chunk-255GIVM2.cjs} +6 -6
- package/dist/{chunk-DIZTWFVR.cjs → chunk-2BDSR2OW.cjs} +238 -61
- package/dist/{chunk-BL2UC7HC.js → chunk-2BPIR7LA.js} +121 -4
- package/dist/{chunk-BQ22N3TX.cjs → chunk-2NY7OHBF.cjs} +47 -27
- package/dist/chunk-2WUNHTXL.js +303 -0
- package/dist/{chunk-HQWQZML5.cjs → chunk-34B6ZO6W.cjs} +124 -7
- package/dist/{chunk-5JTTM5SC.js → chunk-3BJN7GAH.js} +1 -1
- package/dist/{chunk-4256YRCO.cjs → chunk-3CAXECWJ.cjs} +30 -17
- package/dist/{chunk-KNTUI4TZ.cjs → chunk-3CBYUBZC.cjs} +5 -5
- package/dist/chunk-3DF3GZQ7.js +277 -0
- package/dist/{chunk-E26KKI46.cjs → chunk-3JURXAL6.cjs} +61 -8
- package/dist/{chunk-MOJ7ADW4.cjs → chunk-3KWAP2Y3.cjs} +88 -9
- package/dist/{chunk-OHWMWKJQ.js → chunk-3MCK6UBL.js} +1 -1
- package/dist/{chunk-5VHP6HDQ.js → chunk-3TH7IK4M.js} +62 -9
- package/dist/{chunk-ACDQGA4Z.js → chunk-3V77OB3W.js} +7 -72
- package/dist/{chunk-HS4USDND.cjs → chunk-3Y5UEK7K.cjs} +4 -4
- package/dist/{chunk-XV2HXRHX.js → chunk-4GPPSBEZ.js} +3 -3
- package/dist/chunk-5CMBAJ6K.js +377 -0
- package/dist/{chunk-MO4KP6XS.cjs → chunk-5YRXFBYZ.cjs} +35 -6
- package/dist/chunk-5ZNYX4VH.cjs +71 -0
- package/dist/chunk-6AC2TT26.js +156 -0
- package/dist/{chunk-UGFVM77J.cjs → chunk-6EIQ6A6U.cjs} +2 -2
- package/dist/{chunk-SWCQM52V.js → chunk-6HSEDXVF.js} +4 -4
- package/dist/{chunk-QQ7PANOP.js → chunk-6NUXK62F.js} +1 -1
- package/dist/{chunk-5CMYEM3R.cjs → chunk-6TGCAPYH.cjs} +62 -9
- package/dist/{chunk-NMQ47RCG.js → chunk-6W3SZCSP.js} +1 -1
- package/dist/{chunk-VRMZO6TB.js → chunk-73LV3DDZ.js} +7 -6
- package/dist/{chunk-3GUEUCZK.js → chunk-7BGGLIQF.js} +85 -1
- package/dist/{chunk-RBHANOYY.js → chunk-7DJJGKM6.js} +47 -3
- package/dist/{chunk-LQBONA55.cjs → chunk-7EEK7CRR.cjs} +85 -1
- package/dist/chunk-7TO3PDMV.cjs +324 -0
- package/dist/chunk-7UU22RSH.cjs +277 -0
- package/dist/{chunk-E6GFD7VR.cjs → chunk-A3GAM6FM.cjs} +11 -11
- package/dist/{chunk-DEQVRSV5.cjs → chunk-A7DJU75T.cjs} +8 -8
- package/dist/{chunk-DPSIGY6L.cjs → chunk-AAAO4ERQ.cjs} +9 -9
- package/dist/{chunk-FQAVGSPW.js → chunk-AAJLMP57.js} +2 -2
- package/dist/chunk-ABR756QN.js +529 -0
- package/dist/{chunk-JYKPWK5O.js → chunk-APFGDIPD.js} +3 -1
- package/dist/{chunk-Y3M2DABP.js → chunk-APQYRMYL.js} +4 -4
- package/dist/{chunk-Q2IL4DDI.cjs → chunk-AZKOIF2G.cjs} +62 -19
- package/dist/{chunk-MXVIDIC6.cjs → chunk-AZLHUPNC.cjs} +2 -2
- package/dist/chunk-B55VCYSQ.cjs +30 -0
- package/dist/{chunk-WZV6UVPY.js → chunk-BLQUMSM3.js} +1 -1
- package/dist/{chunk-PHJO5YAL.cjs → chunk-BXKPX6K4.cjs} +9 -9
- package/dist/{chunk-3KLSNNRW.cjs → chunk-C66FN2LP.cjs} +4 -4
- package/dist/{chunk-OV3PVUYN.js → chunk-CH7KUFAS.js} +9 -9
- package/dist/{chunk-CWINVFRI.cjs → chunk-CILSXOPI.cjs} +17 -17
- package/dist/{chunk-3UT7R3XV.js → chunk-CM24K6ZT.js} +145 -12
- package/dist/chunk-CMEZ42F2.cjs +303 -0
- package/dist/{chunk-46C73ZKK.cjs → chunk-CNQKIWIS.cjs} +152 -19
- package/dist/{chunk-5JFTY3VU.js → chunk-CSTUTDTH.js} +2 -1
- package/dist/{chunk-REMGR23V.cjs → chunk-CSUGNNJY.cjs} +10 -4
- package/dist/{chunk-TBOLJDUG.js → chunk-D6HB3H3L.js} +31 -11
- package/dist/{chunk-OM24WXEE.js → chunk-D7AYKVKW.js} +2 -2
- package/dist/{chunk-6GUODJKM.cjs → chunk-DLCXWOWT.cjs} +23 -23
- package/dist/{chunk-CH2J4PVE.cjs → chunk-DMM2BKSV.cjs} +121 -28
- package/dist/{chunk-M4KNC5BQ.js → chunk-DW3DPV77.js} +1 -1
- package/dist/chunk-ECQD2QC3.cjs +33 -0
- package/dist/{chunk-UEIXJG45.js → chunk-EEYOS3UC.js} +116 -80
- package/dist/{chunk-7HPWMALN.js → chunk-EF2EN5CR.js} +2 -2
- package/dist/{chunk-7LWQCE4Y.cjs → chunk-EFXFURDY.cjs} +192 -58
- package/dist/chunk-EK34UZPB.cjs +40 -0
- package/dist/{chunk-7JLT2VNW.cjs → chunk-FJR6EZLO.cjs} +9666 -7201
- package/dist/{chunk-GZ6DV2UG.js → chunk-FPO7YNPQ.js} +1 -1
- package/dist/{chunk-O64I2GYI.js → chunk-FS4I6BNR.js} +1 -1
- package/dist/{chunk-MX75JYIY.js → chunk-FSJ2MNOC.js} +3 -3
- package/dist/{chunk-7RFJB75Y.js → chunk-GEHZMC4G.js} +11 -8
- package/dist/{chunk-UWFG2R2I.cjs → chunk-GO6C2RAR.cjs} +36 -9
- package/dist/{chunk-WGLBC5AY.cjs → chunk-GSMR6V36.cjs} +4 -4
- package/dist/{chunk-Z3XSSF7B.js → chunk-GSZWATME.js} +1 -1
- package/dist/{chunk-7MU7LWF3.cjs → chunk-GYLGCR6F.cjs} +5 -5
- package/dist/{chunk-O6TQP7U7.cjs → chunk-H3OOWNYQ.cjs} +3 -3
- package/dist/{chunk-2QL6MNXG.js → chunk-H65446XW.js} +115 -20
- package/dist/chunk-H7HXRRHK.js +324 -0
- package/dist/{chunk-ZZ63NW7A.cjs → chunk-HN2JTDN5.cjs} +17 -17
- package/dist/{chunk-AOKCI722.cjs → chunk-HNXUZ5OY.cjs} +2 -2
- package/dist/{chunk-AUYSIEVV.cjs → chunk-HOYT3E65.cjs} +3 -3
- package/dist/{chunk-DMRXF5DU.js → chunk-HTPY5ESD.js} +3 -3
- package/dist/chunk-HTU4W3GB.js +183 -0
- package/dist/{chunk-3DDL2E55.cjs → chunk-HVLWH2AF.cjs} +10 -10
- package/dist/{chunk-HSCUPEA4.cjs → chunk-HZTEU4W5.cjs} +74 -105
- package/dist/{chunk-XGMI6IYB.cjs → chunk-I5T7LPFP.cjs} +7 -7
- package/dist/{chunk-XIVFAD2L.js → chunk-IB5CJXE7.js} +173 -12
- package/dist/chunk-INNXFLDR.cjs +388 -0
- package/dist/{chunk-75EDROHL.cjs → chunk-JFLEP3T7.cjs} +10 -10
- package/dist/chunk-JJGDOBFL.js +40 -0
- package/dist/{chunk-VBOFPU5M.cjs → chunk-JM3ZTQUK.cjs} +13 -9
- package/dist/{chunk-HJIXWGQZ.js → chunk-JSU46T6K.js} +1 -1
- package/dist/{chunk-AT7OWLY5.js → chunk-K6WN6BT4.js} +1 -1
- package/dist/{chunk-LN7D3EJZ.js → chunk-KA2U6MY2.js} +4 -3
- package/dist/{chunk-3S563FNF.cjs → chunk-KIQH3SMT.cjs} +34 -31
- package/dist/{chunk-BWF4VDYE.js → chunk-KPRXHIE2.js} +54 -85
- package/dist/{chunk-Z4LIPMPM.js → chunk-L6OH44HL.js} +13 -9
- package/dist/{chunk-A7HHCIDQ.js → chunk-LIO3RX2Z.js} +2 -2
- package/dist/{chunk-DLP436GI.js → chunk-LOSXLH7P.js} +110 -17
- package/dist/{chunk-IEXKKKOF.cjs → chunk-LSOR72PB.cjs} +23 -23
- package/dist/{chunk-IAGCRVJ3.js → chunk-MA3AVDCC.js} +55 -12
- package/dist/{chunk-B5CGDNMR.js → chunk-ME3S2WIR.js} +3 -3
- package/dist/{chunk-HKYZSUQ5.js → chunk-NC2I2M4P.js} +4 -4
- package/dist/{chunk-GBMDFWJX.cjs → chunk-NC4A4LVC.cjs} +13 -13
- package/dist/{chunk-E46DJH5S.js → chunk-NGEK5FCJ.js} +176 -3
- package/dist/{chunk-TQ33WBY5.cjs → chunk-NHWHEW7M.cjs} +2 -1
- package/dist/{chunk-62RTC3XX.js → chunk-NKW6CHXQ.js} +1 -1
- package/dist/{chunk-3PXKRVCW.js → chunk-NOWCRKP2.js} +10 -4
- package/dist/{chunk-HXJEGMGB.js → chunk-NUB2LMB6.js} +2 -2
- package/dist/chunk-NVATU4V6.cjs +44 -0
- package/dist/chunk-O246MKIW.cjs +267 -0
- package/dist/{chunk-QCHIDZBA.js → chunk-OGFWL2PS.js} +1 -1
- package/dist/{chunk-JJ4KA7HK.cjs → chunk-ONNGAR6W.cjs} +415 -551
- package/dist/{chunk-TKKN34TV.js → chunk-OOFR6A62.js} +33 -4
- package/dist/{chunk-6NVAK6CK.js → chunk-OZ7FHO7J.js} +2 -2
- package/dist/{chunk-2CGE7ZV3.cjs → chunk-P5EWGUI2.cjs} +201 -28
- package/dist/{chunk-GGLKUENP.js → chunk-P6BQJPAI.js} +191 -14
- package/dist/{chunk-TWQDAUZU.js → chunk-PG2JIU5M.js} +60 -7
- package/dist/chunk-PI27G2ED.cjs +377 -0
- package/dist/{chunk-YV63VW4K.js → chunk-PI7LRPL6.js} +1 -1
- package/dist/{chunk-TXPSTCG7.cjs → chunk-PMPEC5HN.cjs} +18 -15
- package/dist/{chunk-ROLA6EFO.cjs → chunk-PYUP7AKY.cjs} +14 -14
- package/dist/{chunk-BFQDQRDE.js → chunk-QC5Z3ZT5.js} +2 -2
- package/dist/chunk-QDO4L2A7.cjs +156 -0
- package/dist/{chunk-LFDPTJYF.cjs → chunk-QDXRI5AM.cjs} +1 -1
- package/dist/{chunk-3LJJG5YY.cjs → chunk-QLZOMZO5.cjs} +4 -3
- package/dist/chunk-QVXMSQOG.js +430 -0
- package/dist/{chunk-ZHJ7JGME.cjs → chunk-R4UKBKDY.cjs} +11 -11
- package/dist/{chunk-IGMPWJ2I.cjs → chunk-R75AWII3.cjs} +118 -23
- package/dist/{chunk-VGEV44V2.cjs → chunk-RD5PLUIX.cjs} +191 -30
- package/dist/{chunk-I24CWKKK.js → chunk-RGB34CV5.js} +3 -3
- package/dist/{chunk-CHI52KFR.cjs → chunk-RJCZLFHE.cjs} +246 -39
- package/dist/{chunk-D2OSPLYC.cjs → chunk-RKWNM2BJ.cjs} +2 -2
- package/dist/{chunk-FGT6KK6T.js → chunk-RMVONICR.js} +3 -3
- package/dist/{chunk-Q6AC3PHY.cjs → chunk-RPSYRJL7.cjs} +10 -4
- package/dist/chunk-RS2E32YB.js +71 -0
- package/dist/chunk-RWKU2X7O.js +388 -0
- package/dist/chunk-RZLEGVMH.cjs +565 -0
- package/dist/{chunk-5F6ZKSHO.js → chunk-S2L3Y677.js} +1 -1
- package/dist/{chunk-ARBEHFCG.js → chunk-S7KVUIOS.js} +1 -1
- package/dist/{chunk-AC7DZ6SK.cjs → chunk-SACJJ6NO.cjs} +5 -3
- package/dist/{chunk-IKUMVBCW.cjs → chunk-SD3NTC7D.cjs} +48 -4
- package/dist/{chunk-CBFH2J3O.js → chunk-SJQU2ZFR.js} +246 -39
- package/dist/{chunk-GWO66KBI.js → chunk-SKAQKQFF.js} +12 -2
- package/dist/chunk-T4DXP5OP.js +30 -0
- package/dist/{chunk-CFFE4VA3.js → chunk-T6FTB6K2.js} +1 -1
- package/dist/{chunk-U4C3HW6P.js → chunk-T6N6GRFT.js} +13 -10
- package/dist/{chunk-D6GZBSOX.js → chunk-TJFKA6A7.js} +82 -3
- package/dist/{chunk-2HOLOHVK.js → chunk-TJZUPS4Z.js} +163 -299
- package/dist/{chunk-RBZ7AFX7.cjs → chunk-TLKHZ425.cjs} +2 -2
- package/dist/{chunk-J2K57QM7.cjs → chunk-TQ24NLXO.cjs} +6 -6
- package/dist/{chunk-LUMV3DB2.js → chunk-TWBAU46X.js} +1 -1
- package/dist/{chunk-OPNI6O7F.cjs → chunk-TZB5XADL.cjs} +4 -4
- package/dist/{chunk-6HH236FV.cjs → chunk-UAYXZXWU.cjs} +4 -4
- package/dist/{chunk-MPULXVC4.cjs → chunk-UKBFNBDO.cjs} +11 -11
- package/dist/chunk-UMJYX5KD.js +565 -0
- package/dist/chunk-USKYTHDL.cjs +235 -0
- package/dist/chunk-V4HGZSKQ.cjs +183 -0
- package/dist/{chunk-MQESBFBZ.cjs → chunk-VAJUSZMC.cjs} +21 -20
- package/dist/{chunk-PQLKJCIE.js → chunk-VGQG4NBJ.js} +2 -2
- package/dist/chunk-VLUIVJ3J.js +235 -0
- package/dist/chunk-VOBINVMV.cjs +430 -0
- package/dist/{chunk-L4F7SUYL.js → chunk-VSHKKCSH.js} +16 -5
- package/dist/{chunk-LDJQ5QHG.cjs → chunk-VSZU3MGA.cjs} +28 -17
- package/dist/{chunk-YFXTE422.cjs → chunk-VWHAUB77.cjs} +8 -3
- package/dist/{chunk-EZJHLOWP.js → chunk-VXGYFX45.js} +20 -7
- package/dist/{chunk-JIMSII7R.js → chunk-WH6YUQDB.js} +193 -59
- package/dist/{chunk-VKBIE6I6.js → chunk-WQ6TD55V.js} +2 -2
- package/dist/{chunk-ZR46OJNZ.js → chunk-WQWECXTY.js} +3 -3
- package/dist/{chunk-SOLBYSLY.cjs → chunk-WVDJUJH6.cjs} +2 -2
- package/dist/{chunk-QKP772OZ.js → chunk-X24VIVDZ.js} +963 -103
- package/dist/{chunk-37M5UM6I.js → chunk-X4NRTLXD.js} +7 -1
- package/dist/chunk-X53SHYCG.js +27 -0
- package/dist/{chunk-PUD76XQT.cjs → chunk-XB2Z4ZAK.cjs} +5 -5
- package/dist/chunk-Y47OJGLB.cjs +27 -0
- package/dist/{chunk-WRTXCQ3V.cjs → chunk-Y4MN27V3.cjs} +1080 -220
- package/dist/{chunk-ZK6HOR62.js → chunk-YEHFYZFU.js} +7 -2
- package/dist/{chunk-FFBDRUO5.cjs → chunk-YICIUY23.cjs} +1 -1
- package/dist/{chunk-PDHT7LQS.cjs → chunk-YMXYC777.cjs} +3 -3
- package/dist/{chunk-TJNBASFD.cjs → chunk-Z3GRWK6O.cjs} +8 -8
- package/dist/{chunk-JP3YHTQ2.cjs → chunk-Z5GG2KSL.cjs} +4 -4
- package/dist/{chunk-ZPD2AO3U.js → chunk-ZER7DYQK.js} +2 -2
- package/dist/{chunk-UXLW45ZE.cjs → chunk-ZFDXZEZJ.cjs} +25 -90
- package/dist/chunk-ZFV4HJA6.js +579 -0
- package/dist/chunk-ZHMYTI5D.cjs +529 -0
- package/dist/{chunk-CCVMREXI.js → chunk-ZLR2TFBC.js} +35 -8
- package/dist/{chunk-J5ADZN6V.cjs → chunk-ZTWNU5QZ.cjs} +20 -20
- package/dist/chunk-ZUYYHKQA.js +44 -0
- package/dist/{chunk-AUFNACED.js → chunk-ZVLVLDYN.js} +9086 -6621
- package/dist/clear-AJGXD2BB.cjs +12 -0
- package/dist/{clear-OFLFQ3MR.js → clear-HAHDSWKW.js} +3 -3
- package/dist/communityInstaller-IRR6M3N6.cjs +22 -0
- package/dist/{communityInstaller-COB2KTOW.js → communityInstaller-OLKEUGMX.js} +6 -6
- package/dist/completion-G7Z436TF.cjs +17 -0
- package/dist/{completion-PT4VM2H2.js → completion-ZS3AXJ6A.js} +5 -5
- package/dist/{config-R4O7GBTY.js → config-OWYAQPCX.js} +5 -3
- package/dist/config-W2BHT2QE.cjs +22 -0
- package/dist/{constants-HVCHVQAF.js → constants-AS6K67AA.js} +5 -3
- package/dist/constants-B4W5BT7F.cjs +23 -0
- package/dist/{export-3PK3VFCE.js → export-5HIU3KMD.js} +5 -5
- package/dist/export-GFD32UY2.cjs +15 -0
- package/dist/{extractSessionMemories-A2JX5WJ2.js → extractSessionMemories-K6ZVAW2F.js} +1 -1
- package/dist/{extractSessionMemories-XL3MS37F.cjs → extractSessionMemories-LLOIJR5U.cjs} +2 -2
- package/dist/feature-KP74CZ3F.cjs +14 -0
- package/dist/feature-OPNVMB2E.js +14 -0
- package/dist/features-LT55MURX.cjs +24 -0
- package/dist/features-ZDIU26WX.js +24 -0
- package/dist/feedback-7WTJFQ6S.js +18 -0
- package/dist/feedback-CEOJ3453.cjs +18 -0
- package/dist/go-2CY5SZNR.js +16 -0
- package/dist/go-O2CSQON4.cjs +16 -0
- package/dist/goal-DL2N2AWT.cjs +16 -0
- package/dist/goal-IJS7VZSG.js +16 -0
- package/dist/help-RNOGDEBA.cjs +12 -0
- package/dist/{help-X3OAZ3CY.js → help-TCWD2IRH.js} +2 -2
- package/dist/{history-YKFPHBJN.js → history-ATOR5OQV.js} +2 -2
- package/dist/history-UUSGX2AL.cjs +14 -0
- package/dist/{hooks-7TA4PIIB.js → hooks-R3Z5QKUP.js} +6 -6
- package/dist/hooks-RWM5UY67.cjs +18 -0
- package/dist/{i18n-2KBUU7XL.js → i18n-4QI4TD4I.js} +1 -1
- package/dist/i18n-MFAEU5RV.cjs +33 -0
- package/dist/ide-6PBTCCUQ.js +15 -0
- package/dist/ide-UE3G7NMQ.cjs +15 -0
- package/dist/{import-I7T4ZHYL.cjs → import-2IG76KAN.cjs} +6 -4
- package/dist/{import-JWPYKXCZ.js → import-E47QL4DW.js} +2 -2
- package/dist/import-NQDNBFUL.cjs +10 -0
- package/dist/{import-4CHYLS4K.js → import-VQIHGJWS.js} +6 -4
- package/dist/index.cjs +512 -305
- package/dist/index.d.cts +40 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.js +402 -195
- package/dist/init-DX3RDGDT.cjs +10 -0
- package/dist/{init-262MWZV4.js → init-Q54OAAFZ.js} +2 -2
- package/dist/{inputPrompt-YGBHDUEP.js → inputPrompt-V2VBDRM7.js} +3 -3
- package/dist/inputPrompt-WVGVWAHS.cjs +90 -0
- package/dist/language-I6KXAOXD.js +23 -0
- package/dist/language-XMIVOH5E.cjs +23 -0
- package/dist/learn-JPVVGTKU.js +23 -0
- package/dist/learn-NLSHI2MZ.cjs +23 -0
- package/dist/login-NABQYLYC.cjs +28 -0
- package/dist/login-XPOVFSWN.js +28 -0
- package/dist/logout-HNHCGB4Q.js +25 -0
- package/dist/logout-SKGDXJSW.cjs +25 -0
- package/dist/{mcp-5O6PUL4G.js → mcp-EN73YFGZ.js} +8 -6
- package/dist/mcp-TADZCPJQ.cjs +22 -0
- package/dist/{mcp-install-P6DHES7V.cjs → mcp-install-2GKWWBAS.cjs} +15 -13
- package/dist/{mcp-install-6XWXLFVY.js → mcp-install-3TBTVSHW.js} +10 -8
- package/dist/memory-GRXFTDIN.cjs +10 -0
- package/dist/{memory-Q54CESNM.js → memory-K2P3CDCH.js} +2 -2
- package/dist/{model-6AJ77PJG.js → model-DEG22OWA.js} +2 -2
- package/dist/model-OSD74T7Z.cjs +10 -0
- package/dist/new-4NWBOATU.cjs +12 -0
- package/dist/{new-ZXHEWC2S.js → new-KJAP2MB6.js} +3 -3
- package/dist/onboarding-2U5WE2OA.js +39 -0
- package/dist/onboarding-5DZFCO5Q.cjs +39 -0
- package/dist/permissions-KY5I6YQ3.cjs +10 -0
- package/dist/{permissions-YHJMVA6L.js → permissions-TKYON7PP.js} +2 -2
- package/dist/{plan-YYUAXPTL.js → plan-DYHHLZSS.js} +1 -1
- package/dist/plan-PYKP652W.cjs +13 -0
- package/dist/quit-GSKJL42O.js +14 -0
- package/dist/quit-TQSRTBUT.cjs +14 -0
- package/dist/{registry-34GL6BNJ.js → registry-EZ4V4TUQ.js} +1339 -1
- package/dist/{registry-V24W7YK6.cjs → registry-LCWYI4IB.cjs} +1378 -40
- package/dist/resume-4VWJXARX.cjs +17 -0
- package/dist/resume-TLHWWWFN.js +17 -0
- package/dist/{review-QHP2KP4Q.js → review-CSK4IYTO.js} +1 -1
- package/dist/review-XLJEUH5K.cjs +9 -0
- package/dist/{rpc-S3DGW6KV.js → rpc-3DLQBDWU.js} +301 -130
- package/dist/{rpc-NPS3PU4O.cjs → rpc-O36WUU3L.cjs} +399 -228
- package/dist/search-DSX2CY4A.cjs +22 -0
- package/dist/search-I3QUDUQL.js +22 -0
- package/dist/sessionBranching-DVNOUWJT.cjs +19 -0
- package/dist/sessionBranching-FKV4CR36.js +19 -0
- package/dist/sessions-3JUOT3ED.cjs +10 -0
- package/dist/{sessions-IYAXMK23.js → sessions-VWMDIPOS.js} +2 -2
- package/dist/settings-FT2LZZUV.js +45 -0
- package/dist/settings-RL4KNWHB.cjs +45 -0
- package/dist/setup-HQEJVOYT.js +32 -0
- package/dist/setup-MN54LKOL.cjs +32 -0
- package/dist/share-BUAFZNBX.cjs +17 -0
- package/dist/share-CGB6MAVJ.js +17 -0
- package/dist/skills/builtin/code-reviewer/SKILL.md +64 -0
- package/dist/skills/builtin/goal-writer/SKILL.md +124 -0
- package/dist/{skills-VWOMV3CR.js → skills-7DKR3HRZ.js} +8 -8
- package/dist/{skills-MVIZNHT4.js → skills-BBBENOEY.js} +9 -9
- package/dist/skills-OQM7IHAF.cjs +29 -0
- package/dist/{skills-GGMZOVIE.cjs → skills-RA2PKL63.cjs} +10 -10
- package/dist/{skills-install-VTAMCNNY.cjs → skills-install-D7K476SL.cjs} +16 -16
- package/dist/{skills-install-QBA5RCV6.js → skills-install-T4SOKJSL.js} +9 -9
- package/dist/skills-new-S33NGEU3.js +18 -0
- package/dist/skills-new-UVYH53MD.cjs +18 -0
- package/dist/slashCommands-MWOUDSQP.js +111 -0
- package/dist/slashCommands-XASURUTV.cjs +111 -0
- package/dist/squad-PIIYDFVH.cjs +15 -0
- package/dist/squad-VHYOVEJP.js +15 -0
- package/dist/status-GHFTXQBL.js +25 -0
- package/dist/status-WXMIJIU3.cjs +25 -0
- package/dist/statusline-2K7AC6ZQ.js +21 -0
- package/dist/statusline-GROI4HOC.cjs +21 -0
- package/dist/sync-254WF6JI.cjs +42 -0
- package/dist/sync-2DIZN4EH.cjs +24 -0
- package/dist/{sync-7BILIQHP.js → sync-J6I2ZUKQ.js} +6 -4
- package/dist/{sync-7OKF6636.js → sync-Z3LVSEEV.js} +8 -5
- package/dist/{teammate-J6PHGL23.cjs → teammate-EXR76PEQ.cjs} +9 -8
- package/dist/{teammate-GZQSCIMS.js → teammate-K4DAOFEQ.js} +8 -7
- package/dist/templates-ARG2VRWW.cjs +11 -0
- package/dist/templates-UGVZV3KJ.js +11 -0
- package/dist/theme-MVQDSU47.js +23 -0
- package/dist/theme-QAKEYWJG.cjs +23 -0
- package/dist/ui/questionModal.cjs +6 -6
- package/dist/ui/questionModal.js +5 -5
- package/dist/{undo-SZEHLX7X.js → undo-5AU47JHF.js} +2 -2
- package/dist/undo-ME6WKUXZ.cjs +10 -0
- package/dist/usage-QTKO2YMD.js +25 -0
- package/dist/usage-TYNJKVER.cjs +25 -0
- package/package.json +10 -4
- package/dist/AgentRegistry-EGBDIUAK.cjs +0 -10
- package/dist/AgentRegistry-XPWSVO3Q.js +0 -10
- package/dist/CommunitySkillsCache-2OIUV227.cjs +0 -8
- package/dist/LearnAdvisor-46FG2XIP.js +0 -9
- package/dist/LearnAdvisor-XBRDNAGH.cjs +0 -9
- package/dist/MemoryManager-34L4YOKA.cjs +0 -8
- package/dist/MemoryManager-WJMLPWGU.js +0 -8
- package/dist/NVIDIAProvider-MVTL62PR.cjs +0 -14
- package/dist/PermissionManager-5OOJ7FAT.cjs +0 -11
- package/dist/ProviderFactory-C3YPXTDD.cjs +0 -11
- package/dist/SessionManager-WAPTFMDO.cjs +0 -10
- package/dist/SkillsRegistry-7AJP74GJ.cjs +0 -9
- package/dist/SubAgent-FDIH3DXB.js +0 -11
- package/dist/SubAgent-HVL2ICVZ.cjs +0 -11
- package/dist/SyncApiClient-VMBOLQ6H.cjs +0 -11
- package/dist/about-FCAX37YC.cjs +0 -14
- package/dist/actionExecutor-33I47NZS.js +0 -24
- package/dist/actionExecutor-4YBMR3YH.cjs +0 -24
- package/dist/add-dir-7SS6KSH5.cjs +0 -11
- package/dist/agent-DMRUFU4M.cjs +0 -116
- package/dist/agent-WCJEYQJT.js +0 -116
- package/dist/agents-CHROO3VU.cjs +0 -17
- package/dist/agents-UVDUL65K.js +0 -17
- package/dist/agents-new-AUBWSOXP.js +0 -17
- package/dist/agents-new-Y562WC47.cjs +0 -17
- package/dist/autoSkill-YOLLFTP2.cjs +0 -20
- package/dist/automode-DBLKTTKD.cjs +0 -10
- package/dist/chrome-ATC4OO5I.cjs +0 -20
- package/dist/chrome-O62WXV7F.js +0 -20
- package/dist/chrome-XHJLCO4M.cjs +0 -50
- package/dist/chunk-6XVVIY54.cjs +0 -256
- package/dist/chunk-AU6JAGZJ.cjs +0 -231
- package/dist/chunk-N6O3XUZ2.cjs +0 -23
- package/dist/chunk-VDWJMWDF.js +0 -256
- package/dist/clear-33TWQ2ES.cjs +0 -12
- package/dist/communityInstaller-TWMGPSYM.cjs +0 -22
- package/dist/completion-IIZMHXYP.cjs +0 -17
- package/dist/config-KL6WU7R2.cjs +0 -20
- package/dist/constants-RLMJ5D5P.cjs +0 -21
- package/dist/export-WLGNWEMJ.cjs +0 -15
- package/dist/feedback-G635NCLJ.js +0 -18
- package/dist/feedback-LLMK3TZH.cjs +0 -18
- package/dist/help-BAXLP2M2.cjs +0 -12
- package/dist/history-6HOJSEMT.cjs +0 -14
- package/dist/hooks-XVFU67T2.cjs +0 -18
- package/dist/i18n-MUJMKTFM.cjs +0 -33
- package/dist/ide-CCQ33PGC.cjs +0 -15
- package/dist/ide-VLVFBZ5F.js +0 -15
- package/dist/import-J46F54JY.cjs +0 -10
- package/dist/init-EE5Y7RBL.cjs +0 -10
- package/dist/inputPrompt-IIFKCX5Q.cjs +0 -90
- package/dist/language-CVLPB7OV.js +0 -21
- package/dist/language-ZTWFHUSV.cjs +0 -21
- package/dist/learn-PON7I5QS.js +0 -23
- package/dist/learn-XLRSVNA3.cjs +0 -23
- package/dist/login-223QTGBG.cjs +0 -26
- package/dist/login-6IKTBUBY.js +0 -26
- package/dist/logout-RN2AG6SI.js +0 -23
- package/dist/logout-U3M4FFX7.cjs +0 -23
- package/dist/mcp-NUQ76QQB.cjs +0 -20
- package/dist/memory-CYMDQ2YC.cjs +0 -10
- package/dist/model-IDRCKDML.cjs +0 -10
- package/dist/new-7LEWOUF2.cjs +0 -12
- package/dist/onboarding-FXX7YHSJ.cjs +0 -35
- package/dist/onboarding-JYNMK6NI.js +0 -35
- package/dist/permissions-YBNSANIA.cjs +0 -10
- package/dist/plan-XEJMOT55.cjs +0 -13
- package/dist/quit-B43SJ6E4.cjs +0 -10
- package/dist/quit-GWTNHQSP.js +0 -10
- package/dist/resume-DYVOQN5L.cjs +0 -16
- package/dist/resume-M25UQKOX.js +0 -16
- package/dist/review-UWHWQHCB.cjs +0 -9
- package/dist/search-CPX4PWHP.js +0 -20
- package/dist/search-VUF3M4N3.cjs +0 -20
- package/dist/sessions-JODKER5D.cjs +0 -10
- package/dist/settings-55BNW6BF.js +0 -33
- package/dist/settings-BKTS7OMC.cjs +0 -33
- package/dist/setup-IRC5HQG2.js +0 -29
- package/dist/setup-MMQ7TWOP.cjs +0 -29
- package/dist/share-6JRQECAH.cjs +0 -17
- package/dist/share-YM5MJKMO.js +0 -17
- package/dist/skills-LWSOKOSH.cjs +0 -29
- package/dist/skills-new-GPL46YV2.js +0 -18
- package/dist/skills-new-L5BEZN5V.cjs +0 -18
- package/dist/slashCommands-FBPCIWM5.cjs +0 -95
- package/dist/slashCommands-FCWY5DXW.js +0 -95
- package/dist/status-3B5SDZPL.js +0 -17
- package/dist/status-TTGRF6NC.cjs +0 -17
- package/dist/sync-77CXVVTK.cjs +0 -21
- package/dist/sync-EH4K5U3N.cjs +0 -40
- package/dist/theme-64BYGJ57.cjs +0 -21
- package/dist/theme-YJE6HEON.js +0 -21
- package/dist/undo-PRTEGL2J.cjs +0 -10
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AUTOHAND_PATHS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PG2JIU5M.js";
|
|
4
4
|
|
|
5
5
|
// src/session/SessionManager.ts
|
|
6
6
|
import fs from "fs-extra";
|
|
@@ -42,7 +42,8 @@ var SessionManager = class {
|
|
|
42
42
|
return session;
|
|
43
43
|
}
|
|
44
44
|
async loadSession(sessionId) {
|
|
45
|
-
const
|
|
45
|
+
const resolvedSessionId = await this.resolveSessionReference(sessionId);
|
|
46
|
+
const sessionDir = path.join(this.sessionsDir, resolvedSessionId);
|
|
46
47
|
if (!await fs.pathExists(sessionDir)) {
|
|
47
48
|
throw new Error(`Session not found: ${sessionId}`);
|
|
48
49
|
}
|
|
@@ -53,6 +54,72 @@ var SessionManager = class {
|
|
|
53
54
|
this.currentSession = session;
|
|
54
55
|
return session;
|
|
55
56
|
}
|
|
57
|
+
async resolveSessionReference(reference) {
|
|
58
|
+
const trimmed = reference.trim();
|
|
59
|
+
if (!trimmed) {
|
|
60
|
+
throw new Error("Session reference is required");
|
|
61
|
+
}
|
|
62
|
+
const asPath = path.resolve(trimmed);
|
|
63
|
+
if (await fs.pathExists(asPath)) {
|
|
64
|
+
const stat = await fs.stat(asPath);
|
|
65
|
+
const sessionDir = stat.isDirectory() ? asPath : path.dirname(asPath);
|
|
66
|
+
const metadataPath = path.join(sessionDir, "metadata.json");
|
|
67
|
+
if (await fs.pathExists(metadataPath)) {
|
|
68
|
+
const metadata = await fs.readJson(metadataPath);
|
|
69
|
+
return metadata.sessionId;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const directDir = path.join(this.sessionsDir, trimmed);
|
|
73
|
+
if (await fs.pathExists(path.join(directDir, "metadata.json"))) {
|
|
74
|
+
return trimmed;
|
|
75
|
+
}
|
|
76
|
+
await this.loadIndex();
|
|
77
|
+
const candidates = this.index?.sessions.filter((session) => session.id.startsWith(trimmed)) ?? [];
|
|
78
|
+
if (candidates.length === 1) {
|
|
79
|
+
return candidates[0].id;
|
|
80
|
+
}
|
|
81
|
+
if (candidates.length > 1) {
|
|
82
|
+
throw new Error(`Ambiguous session reference: ${reference}`);
|
|
83
|
+
}
|
|
84
|
+
throw new Error(`Session not found: ${reference}`);
|
|
85
|
+
}
|
|
86
|
+
async branchSession(sourceReference, options) {
|
|
87
|
+
const sourceSessionId = await this.resolveSessionReference(sourceReference);
|
|
88
|
+
const sourceSession = await this.loadSession(sourceSessionId);
|
|
89
|
+
const sourceMessages = sourceSession.getMessages();
|
|
90
|
+
const copiedMessages = selectBranchMessages(sourceMessages, options);
|
|
91
|
+
const createdAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
92
|
+
const sessionId = this.generateSessionId();
|
|
93
|
+
const sessionDir = path.join(this.sessionsDir, sessionId);
|
|
94
|
+
await fs.ensureDir(sessionDir);
|
|
95
|
+
const metadata = {
|
|
96
|
+
...sourceSession.metadata,
|
|
97
|
+
sessionId,
|
|
98
|
+
createdAt,
|
|
99
|
+
lastActiveAt: createdAt,
|
|
100
|
+
closedAt: void 0,
|
|
101
|
+
messageCount: copiedMessages.length,
|
|
102
|
+
status: "active",
|
|
103
|
+
exitCode: void 0,
|
|
104
|
+
branch: {
|
|
105
|
+
type: options.type,
|
|
106
|
+
sourceSessionId,
|
|
107
|
+
sourceMessageIndex: options.type === "fork" && copiedMessages.length > 0 ? copiedMessages.length - 1 : void 0,
|
|
108
|
+
sourceUserMessageOrdinal: options.type === "fork" ? options.userMessageOrdinal : void 0,
|
|
109
|
+
createdAt
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
const session = new Session(sessionDir, metadata);
|
|
113
|
+
await session.replaceMessages(copiedMessages);
|
|
114
|
+
const sourceState = sourceSession.getState();
|
|
115
|
+
if (sourceState) {
|
|
116
|
+
await session.updateState(sourceState);
|
|
117
|
+
}
|
|
118
|
+
await session.save();
|
|
119
|
+
this.currentSession = session;
|
|
120
|
+
await this.addToIndex(session.metadata);
|
|
121
|
+
return session;
|
|
122
|
+
}
|
|
56
123
|
async listSessions(filter) {
|
|
57
124
|
await this.loadIndex();
|
|
58
125
|
if (!this.index) return [];
|
|
@@ -105,7 +172,16 @@ var SessionManager = class {
|
|
|
105
172
|
async loadIndex() {
|
|
106
173
|
const indexPath = path.join(this.sessionsDir, "index.json");
|
|
107
174
|
if (await fs.pathExists(indexPath)) {
|
|
108
|
-
|
|
175
|
+
try {
|
|
176
|
+
this.index = await fs.readJson(indexPath);
|
|
177
|
+
} catch (error) {
|
|
178
|
+
const backupPath = `${indexPath}.corrupt-${Date.now()}`;
|
|
179
|
+
await fs.move(indexPath, backupPath, { overwrite: true });
|
|
180
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
181
|
+
console.warn(`Session index was corrupt and has been reset: ${reason}. Backup saved to ${backupPath}`);
|
|
182
|
+
this.index = { sessions: [], byProject: {} };
|
|
183
|
+
await this.saveIndex();
|
|
184
|
+
}
|
|
109
185
|
} else {
|
|
110
186
|
this.index = { sessions: [], byProject: {} };
|
|
111
187
|
}
|
|
@@ -121,7 +197,12 @@ var SessionManager = class {
|
|
|
121
197
|
id: metadata.sessionId,
|
|
122
198
|
projectPath: metadata.projectPath,
|
|
123
199
|
createdAt: metadata.createdAt,
|
|
124
|
-
summary: metadata.summary
|
|
200
|
+
summary: metadata.summary,
|
|
201
|
+
importedFrom: metadata.importedFrom ? {
|
|
202
|
+
source: metadata.importedFrom.source,
|
|
203
|
+
originalId: metadata.importedFrom.originalId
|
|
204
|
+
} : void 0,
|
|
205
|
+
branch: metadata.branch
|
|
125
206
|
});
|
|
126
207
|
if (!this.index.byProject[metadata.projectPath]) {
|
|
127
208
|
this.index.byProject[metadata.projectPath] = [];
|
|
@@ -134,10 +215,31 @@ var SessionManager = class {
|
|
|
134
215
|
const session = this.index.sessions.find((s) => s.id === metadata.sessionId);
|
|
135
216
|
if (session) {
|
|
136
217
|
session.summary = metadata.summary;
|
|
218
|
+
session.branch = metadata.branch;
|
|
137
219
|
}
|
|
138
220
|
await this.saveIndex();
|
|
139
221
|
}
|
|
140
222
|
};
|
|
223
|
+
function selectBranchMessages(messages, options) {
|
|
224
|
+
if (options.type === "clone" || options.userMessageOrdinal === void 0) {
|
|
225
|
+
return [...messages];
|
|
226
|
+
}
|
|
227
|
+
if (!Number.isInteger(options.userMessageOrdinal) || options.userMessageOrdinal < 1) {
|
|
228
|
+
throw new Error("Fork message must be a positive user-message number");
|
|
229
|
+
}
|
|
230
|
+
let seenUserMessages = 0;
|
|
231
|
+
const selected = [];
|
|
232
|
+
for (const message of messages) {
|
|
233
|
+
selected.push(message);
|
|
234
|
+
if (message.role === "user") {
|
|
235
|
+
seenUserMessages += 1;
|
|
236
|
+
if (seenUserMessages === options.userMessageOrdinal) {
|
|
237
|
+
return selected;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
throw new Error(`User message ${options.userMessageOrdinal} not found`);
|
|
242
|
+
}
|
|
141
243
|
var Session = class {
|
|
142
244
|
sessionDir;
|
|
143
245
|
metadata;
|
|
@@ -147,24 +249,39 @@ var Session = class {
|
|
|
147
249
|
this.sessionDir = sessionDir;
|
|
148
250
|
this.metadata = metadata;
|
|
149
251
|
}
|
|
252
|
+
async ensureSessionDir() {
|
|
253
|
+
await fs.ensureDir(this.sessionDir);
|
|
254
|
+
}
|
|
150
255
|
async append(message) {
|
|
151
256
|
this.messages.push(message);
|
|
152
257
|
this.metadata.messageCount = this.messages.length;
|
|
153
258
|
this.metadata.lastActiveAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
259
|
+
await this.ensureSessionDir();
|
|
154
260
|
const conversationPath = path.join(this.sessionDir, "conversation.jsonl");
|
|
155
261
|
await fs.appendFile(conversationPath, JSON.stringify(message) + "\n");
|
|
156
262
|
await this.save();
|
|
157
263
|
}
|
|
158
264
|
async appendTransient(message) {
|
|
265
|
+
await this.ensureSessionDir();
|
|
159
266
|
const conversationPath = path.join(this.sessionDir, "conversation.jsonl");
|
|
160
267
|
await fs.appendFile(conversationPath, JSON.stringify(message) + "\n");
|
|
161
268
|
}
|
|
269
|
+
async replaceMessages(messages) {
|
|
270
|
+
this.messages = [...messages];
|
|
271
|
+
this.metadata.messageCount = this.messages.length;
|
|
272
|
+
const conversationPath = path.join(this.sessionDir, "conversation.jsonl");
|
|
273
|
+
const content = this.messages.map((message) => JSON.stringify(message)).join("\n");
|
|
274
|
+
await fs.writeFile(conversationPath, content ? `${content}
|
|
275
|
+
` : "");
|
|
276
|
+
}
|
|
162
277
|
async updateState(state) {
|
|
163
278
|
this.state = state;
|
|
279
|
+
await this.ensureSessionDir();
|
|
164
280
|
const statePath = path.join(this.sessionDir, "state.json");
|
|
165
281
|
await fs.writeJson(statePath, state, { spaces: 2 });
|
|
166
282
|
}
|
|
167
283
|
async save() {
|
|
284
|
+
await this.ensureSessionDir();
|
|
168
285
|
const metadataPath = path.join(this.sessionDir, "metadata.json");
|
|
169
286
|
await fs.writeJson(metadataPath, this.metadata, { spaces: 2 });
|
|
170
287
|
}
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var _chunkIGMPWJ2Icjs = require('./chunk-IGMPWJ2I.cjs');
|
|
5
4
|
|
|
5
|
+
var _chunkR75AWII3cjs = require('./chunk-R75AWII3.cjs');
|
|
6
6
|
|
|
7
|
-
var _chunk7MU7LWF3cjs = require('./chunk-7MU7LWF3.cjs');
|
|
8
7
|
|
|
8
|
+
var _chunkGYLGCR6Fcjs = require('./chunk-GYLGCR6F.cjs');
|
|
9
9
|
|
|
10
|
-
var _chunkQ2IL4DDIcjs = require('./chunk-Q2IL4DDI.cjs');
|
|
11
10
|
|
|
11
|
+
var _chunkAZKOIF2Gcjs = require('./chunk-AZKOIF2G.cjs');
|
|
12
12
|
|
|
13
|
-
var _chunk46C73ZKKcjs = require('./chunk-46C73ZKK.cjs');
|
|
14
13
|
|
|
14
|
+
var _chunkCNQKIWIScjs = require('./chunk-CNQKIWIS.cjs');
|
|
15
15
|
|
|
16
|
-
var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
|
|
17
16
|
|
|
17
|
+
var _chunk3JURXAL6cjs = require('./chunk-3JURXAL6.cjs');
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
|
|
20
21
|
|
|
21
22
|
// src/commands/login.ts
|
|
22
23
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
23
24
|
var metadata = {
|
|
24
25
|
command: "/login",
|
|
25
|
-
description:
|
|
26
|
+
description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.login.description"),
|
|
26
27
|
implemented: true
|
|
27
28
|
};
|
|
28
29
|
async function openBrowser(url) {
|
|
@@ -69,33 +70,33 @@ function sleep(ms) {
|
|
|
69
70
|
async function login(ctx) {
|
|
70
71
|
const config = ctx.config;
|
|
71
72
|
if (_optionalChain([config, 'optionalAccess', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'optionalAccess', _3 => _3.auth, 'optionalAccess', _4 => _4.user])) {
|
|
72
|
-
const result = await
|
|
73
|
+
const result = await _chunkGYLGCR6Fcjs.safePrompt.call(void 0, {
|
|
73
74
|
type: "confirm",
|
|
74
75
|
name: "continueLogin",
|
|
75
76
|
message: `Already logged in as ${_chalk2.default.cyan(config.auth.user.email)}. Log in with a different account?`,
|
|
76
77
|
initial: false
|
|
77
78
|
});
|
|
78
79
|
if (!result || !result.continueLogin) {
|
|
79
|
-
console.log(_chalk2.default.gray(
|
|
80
|
+
console.log(_chalk2.default.gray(_chunkRJCZLFHEcjs.t.call(void 0, "commands.login.cancelled")));
|
|
80
81
|
return null;
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
|
-
const authClient =
|
|
84
|
+
const authClient = _chunkAZKOIF2Gcjs.getAuthClient.call(void 0, );
|
|
84
85
|
console.log(_chalk2.default.gray("Initiating authentication..."));
|
|
85
86
|
const initResult = await authClient.initiateDeviceAuth();
|
|
86
87
|
if (!initResult.success || !initResult.deviceCode || !initResult.userCode) {
|
|
87
|
-
console.log(_chalk2.default.red(
|
|
88
|
+
console.log(_chalk2.default.red(_chunkRJCZLFHEcjs.t.call(void 0, "commands.login.failed", { error: initResult.error || "Unknown error" })));
|
|
88
89
|
return null;
|
|
89
90
|
}
|
|
90
91
|
console.log();
|
|
91
92
|
console.log(_chalk2.default.bold("To sign in, visit:"));
|
|
92
|
-
console.log(_chalk2.default.cyan.underline(initResult.verificationUriComplete || `${
|
|
93
|
+
console.log(_chalk2.default.cyan.underline(initResult.verificationUriComplete || `${_chunk3JURXAL6cjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`));
|
|
93
94
|
console.log();
|
|
94
95
|
console.log(_chalk2.default.gray("Or enter this code manually:"));
|
|
95
96
|
console.log(_chalk2.default.bold.yellow(` ${initResult.userCode}`));
|
|
96
97
|
console.log();
|
|
97
98
|
const browserOpened = await openBrowser(
|
|
98
|
-
initResult.verificationUriComplete || `${
|
|
99
|
+
initResult.verificationUriComplete || `${_chunk3JURXAL6cjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`
|
|
99
100
|
);
|
|
100
101
|
if (browserOpened) {
|
|
101
102
|
console.log(_chalk2.default.gray("Browser opened. Complete the login in your browser."));
|
|
@@ -106,8 +107,8 @@ async function login(ctx) {
|
|
|
106
107
|
console.log(_chalk2.default.gray("Waiting for authorization..."));
|
|
107
108
|
console.log(_chalk2.default.gray("(Press Ctrl+C to cancel)"));
|
|
108
109
|
const startTime = Date.now();
|
|
109
|
-
const timeout =
|
|
110
|
-
const pollInterval = initResult.interval ? initResult.interval * 1e3 :
|
|
110
|
+
const timeout = _chunk3JURXAL6cjs.AUTH_CONFIG.authTimeout;
|
|
111
|
+
const pollInterval = initResult.interval ? initResult.interval * 1e3 : _chunk3JURXAL6cjs.AUTH_CONFIG.pollInterval;
|
|
111
112
|
let dots = 0;
|
|
112
113
|
const maxDots = 3;
|
|
113
114
|
while (Date.now() - startTime < timeout) {
|
|
@@ -117,7 +118,7 @@ async function login(ctx) {
|
|
|
117
118
|
const pollResult = await authClient.pollDeviceAuth(initResult.deviceCode);
|
|
118
119
|
if (pollResult.status === "authorized" && pollResult.token && pollResult.user) {
|
|
119
120
|
process.stdout.write("\r" + " ".repeat(20) + "\r");
|
|
120
|
-
const expiresAt = new Date(Date.now() +
|
|
121
|
+
const expiresAt = new Date(Date.now() + _chunk3JURXAL6cjs.AUTH_CONFIG.sessionExpiryDays * 24 * 60 * 60 * 1e3).toISOString();
|
|
121
122
|
const updatedConfig = {
|
|
122
123
|
...config,
|
|
123
124
|
auth: {
|
|
@@ -126,9 +127,9 @@ async function login(ctx) {
|
|
|
126
127
|
expiresAt
|
|
127
128
|
}
|
|
128
129
|
};
|
|
129
|
-
await
|
|
130
|
+
await _chunkCNQKIWIScjs.saveConfig.call(void 0, updatedConfig);
|
|
130
131
|
console.log();
|
|
131
|
-
console.log(_chalk2.default.green(
|
|
132
|
+
console.log(_chalk2.default.green(_chunkRJCZLFHEcjs.t.call(void 0, "commands.login.success", { email: pollResult.user.name || pollResult.user.email })));
|
|
132
133
|
console.log();
|
|
133
134
|
if (process.stdin.isTTY && process.stdout.isTTY) {
|
|
134
135
|
await checkAndRestoreSyncData(pollResult.token, pollResult.user.id, updatedConfig);
|
|
@@ -140,6 +141,11 @@ async function login(ctx) {
|
|
|
140
141
|
console.log(_chalk2.default.red("Authorization code expired. Please try again."));
|
|
141
142
|
return null;
|
|
142
143
|
}
|
|
144
|
+
if (pollResult.status === "cancelled") {
|
|
145
|
+
process.stdout.write("\r" + " ".repeat(20) + "\r");
|
|
146
|
+
console.log(_chalk2.default.yellow("Authentication cancelled. Run /login again when you are ready."));
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
143
149
|
}
|
|
144
150
|
process.stdout.write("\r" + " ".repeat(20) + "\r");
|
|
145
151
|
console.log(_chalk2.default.red("Authorization timed out. Please try again."));
|
|
@@ -147,28 +153,36 @@ async function login(ctx) {
|
|
|
147
153
|
}
|
|
148
154
|
async function checkAndRestoreSyncData(token, userId, config) {
|
|
149
155
|
try {
|
|
150
|
-
const syncService =
|
|
156
|
+
const syncService = _chunkR75AWII3cjs.createSyncService.call(void 0, {
|
|
151
157
|
authToken: token,
|
|
152
158
|
userId,
|
|
153
159
|
config: {
|
|
154
|
-
...
|
|
160
|
+
..._chunkR75AWII3cjs.DEFAULT_SYNC_CONFIG,
|
|
155
161
|
...config.sync,
|
|
156
162
|
enabled: true
|
|
157
163
|
}
|
|
158
164
|
});
|
|
159
|
-
const { getSyncApiClient } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SyncApiClient-
|
|
165
|
+
const { getSyncApiClient } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SyncApiClient-ODBDECOG.cjs")));
|
|
160
166
|
const apiClient = getSyncApiClient();
|
|
161
167
|
const remoteManifest = await apiClient.getRemoteManifest(token);
|
|
162
168
|
if (!remoteManifest || remoteManifest.files.length === 0) {
|
|
163
169
|
return;
|
|
164
170
|
}
|
|
165
|
-
const
|
|
166
|
-
|
|
171
|
+
const memoryFiles = remoteManifest.files.filter((file) => _chunkR75AWII3cjs.isMemorySyncPath.call(void 0, file.path));
|
|
172
|
+
if (memoryFiles.length > 0) {
|
|
173
|
+
await restoreMemorySyncData(syncService, memoryFiles);
|
|
174
|
+
}
|
|
175
|
+
const consentRequiredFiles = remoteManifest.files.filter((file) => !_chunkR75AWII3cjs.isMemorySyncPath.call(void 0, file.path));
|
|
176
|
+
if (consentRequiredFiles.length === 0) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const fileCount = consentRequiredFiles.length;
|
|
180
|
+
const totalSize = consentRequiredFiles.reduce((sum, f) => sum + f.size, 0);
|
|
167
181
|
const sizeStr = formatSize(totalSize);
|
|
168
182
|
console.log(_chalk2.default.cyan(`Found cloud sync data (${fileCount} files, ${sizeStr})`));
|
|
169
|
-
console.log(_chalk2.default.gray("This includes your settings, agents, skills, and
|
|
183
|
+
console.log(_chalk2.default.gray("This includes your settings, agents, skills, sessions, and hooks."));
|
|
170
184
|
console.log();
|
|
171
|
-
const result = await
|
|
185
|
+
const result = await _chunkGYLGCR6Fcjs.safePrompt.call(void 0, {
|
|
172
186
|
type: "confirm",
|
|
173
187
|
name: "restore",
|
|
174
188
|
message: "Would you like to restore your settings from the cloud?",
|
|
@@ -196,6 +210,12 @@ async function checkAndRestoreSyncData(token, userId, config) {
|
|
|
196
210
|
console.log(_chalk2.default.gray("Could not check cloud sync data."));
|
|
197
211
|
}
|
|
198
212
|
}
|
|
213
|
+
async function restoreMemorySyncData(syncService, memoryFiles) {
|
|
214
|
+
try {
|
|
215
|
+
await syncService.forceDownloadPaths(memoryFiles.map((file) => file.path));
|
|
216
|
+
} catch (e4) {
|
|
217
|
+
}
|
|
218
|
+
}
|
|
199
219
|
async function cancellableOperation(fn) {
|
|
200
220
|
const stdin = process.stdin;
|
|
201
221
|
const wasRaw = stdin.isRaw;
|
|
@@ -206,7 +226,7 @@ async function cancellableOperation(fn) {
|
|
|
206
226
|
if (stdin.isTTY && stdin.setRawMode) {
|
|
207
227
|
try {
|
|
208
228
|
stdin.setRawMode(_nullishCoalesce(wasRaw, () => ( false)));
|
|
209
|
-
} catch (
|
|
229
|
+
} catch (e5) {
|
|
210
230
|
}
|
|
211
231
|
}
|
|
212
232
|
};
|
|
@@ -222,7 +242,7 @@ async function cancellableOperation(fn) {
|
|
|
222
242
|
if (stdin.isTTY && stdin.setRawMode) {
|
|
223
243
|
try {
|
|
224
244
|
stdin.setRawMode(true);
|
|
225
|
-
} catch (
|
|
245
|
+
} catch (e6) {
|
|
226
246
|
}
|
|
227
247
|
}
|
|
228
248
|
stdin.on("data", onData);
|