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,13 @@
|
|
|
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 _chunkAZLHUPNCcjs = require('./chunk-AZLHUPNC.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkEK34UZPBcjs = require('./chunk-EK34UZPB.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunk7TO3PDMVcjs = require('./chunk-7TO3PDMV.cjs');
|
|
4
11
|
|
|
5
12
|
|
|
6
13
|
|
|
@@ -8,16 +15,16 @@ var _chunkMXVIDIC6cjs = require('./chunk-MXVIDIC6.cjs');
|
|
|
8
15
|
var _chunkYWTIXHU6cjs = require('./chunk-YWTIXHU6.cjs');
|
|
9
16
|
|
|
10
17
|
|
|
11
|
-
var
|
|
18
|
+
var _chunk3JURXAL6cjs = require('./chunk-3JURXAL6.cjs');
|
|
12
19
|
|
|
13
20
|
// src/config.ts
|
|
14
21
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
15
22
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
16
23
|
var _yaml = require('yaml'); var _yaml2 = _interopRequireDefault(_yaml);
|
|
17
|
-
var DEFAULT_CONFIG_PATH =
|
|
18
|
-
var TOML_CONFIG_PATH =
|
|
19
|
-
var YAML_CONFIG_PATH =
|
|
20
|
-
var YML_CONFIG_PATH =
|
|
24
|
+
var DEFAULT_CONFIG_PATH = _chunk3JURXAL6cjs.AUTOHAND_FILES.configJson;
|
|
25
|
+
var TOML_CONFIG_PATH = _chunk3JURXAL6cjs.AUTOHAND_FILES.configToml;
|
|
26
|
+
var YAML_CONFIG_PATH = _chunk3JURXAL6cjs.AUTOHAND_FILES.configYaml;
|
|
27
|
+
var YML_CONFIG_PATH = _chunk3JURXAL6cjs.AUTOHAND_FILES.configYml;
|
|
21
28
|
var DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
|
|
22
29
|
var DEFAULT_OLLAMA_URL = "http://localhost:11434";
|
|
23
30
|
var DEFAULT_LLAMACPP_URL = "http://localhost:8080";
|
|
@@ -25,7 +32,9 @@ var DEFAULT_OPENAI_URL = "https://api.openai.com/v1";
|
|
|
25
32
|
var DEFAULT_MLX_URL = "http://localhost:8080";
|
|
26
33
|
var DEFAULT_LLMGATEWAY_URL = "https://api.llmgateway.io/v1";
|
|
27
34
|
var DEFAULT_ZAI_URL = "https://api.z.ai/api/paas/v4";
|
|
35
|
+
var DEFAULT_SAKANA_URL = "https://api.sakana.ai/v1";
|
|
28
36
|
var DEFAULT_DEEPSEEK_URL = "https://api.deepseek.com";
|
|
37
|
+
var DEFAULT_BEDROCK_REGION = "us-east-1";
|
|
29
38
|
function normalizeProviderName(provider) {
|
|
30
39
|
if (provider === void 0) {
|
|
31
40
|
return void 0;
|
|
@@ -33,6 +42,9 @@ function normalizeProviderName(provider) {
|
|
|
33
42
|
if (provider === "vertex") {
|
|
34
43
|
return "vertexai";
|
|
35
44
|
}
|
|
45
|
+
if (_chunkEK34UZPBcjs.isCustomProviderName.call(void 0, provider)) {
|
|
46
|
+
return provider;
|
|
47
|
+
}
|
|
36
48
|
const validProviders = [
|
|
37
49
|
"openrouter",
|
|
38
50
|
"ollama",
|
|
@@ -42,11 +54,13 @@ function normalizeProviderName(provider) {
|
|
|
42
54
|
"llmgateway",
|
|
43
55
|
"azure",
|
|
44
56
|
"zai",
|
|
57
|
+
"sakana",
|
|
45
58
|
"vertexai",
|
|
46
59
|
"xai",
|
|
47
60
|
"cerebras",
|
|
48
61
|
"nvidia",
|
|
49
|
-
"deepseek"
|
|
62
|
+
"deepseek",
|
|
63
|
+
"bedrock"
|
|
50
64
|
];
|
|
51
65
|
if (typeof provider === "string" && validProviders.includes(provider)) {
|
|
52
66
|
return provider;
|
|
@@ -306,6 +320,9 @@ async function loadConfig(customPath, workspaceRoot) {
|
|
|
306
320
|
ui: {
|
|
307
321
|
theme: "dark",
|
|
308
322
|
autoConfirm: false,
|
|
323
|
+
silentToolOutput: false,
|
|
324
|
+
completionReportEnabled: true,
|
|
325
|
+
activityVerbsEnabled: true,
|
|
309
326
|
promptSuggestions: true
|
|
310
327
|
},
|
|
311
328
|
telemetry: {
|
|
@@ -335,7 +352,7 @@ async function loadConfig(customPath, workspaceRoot) {
|
|
|
335
352
|
const normalized = normalizeConfig(parsed);
|
|
336
353
|
let workspaceSettings = null;
|
|
337
354
|
if (workspaceRoot) {
|
|
338
|
-
workspaceSettings = await
|
|
355
|
+
workspaceSettings = await _chunkAZLHUPNCcjs.loadLocalProjectSettings.call(void 0, workspaceRoot);
|
|
339
356
|
}
|
|
340
357
|
const withWorkspace = mergeWorkspaceSettings(normalized, workspaceSettings);
|
|
341
358
|
const withEnv = mergeEnvVariables(withWorkspace);
|
|
@@ -355,7 +372,18 @@ function mergeWorkspaceSettings(globalConfig, workspaceSettings) {
|
|
|
355
372
|
}
|
|
356
373
|
if (workspaceSettings.model !== void 0) {
|
|
357
374
|
const provider = workspaceSettings.provider || merged.provider;
|
|
358
|
-
if (provider &&
|
|
375
|
+
if (provider && _chunkEK34UZPBcjs.isCustomProviderName.call(void 0, provider)) {
|
|
376
|
+
const customProvider = _chunkEK34UZPBcjs.getCustomProviderConfig.call(void 0, merged, provider);
|
|
377
|
+
if (customProvider) {
|
|
378
|
+
merged.customProviders = {
|
|
379
|
+
...merged.customProviders,
|
|
380
|
+
[customProvider.id]: {
|
|
381
|
+
...customProvider,
|
|
382
|
+
model: workspaceSettings.model
|
|
383
|
+
}
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
} else if (provider && merged[provider]) {
|
|
359
387
|
merged[provider].model = workspaceSettings.model;
|
|
360
388
|
}
|
|
361
389
|
}
|
|
@@ -422,6 +450,16 @@ function mergeEnvVariables(config) {
|
|
|
422
450
|
}
|
|
423
451
|
};
|
|
424
452
|
}
|
|
453
|
+
const envRegion = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION;
|
|
454
|
+
if (envRegion && config.bedrock) {
|
|
455
|
+
config = {
|
|
456
|
+
...config,
|
|
457
|
+
bedrock: {
|
|
458
|
+
...config.bedrock,
|
|
459
|
+
region: config.bedrock.region || envRegion
|
|
460
|
+
}
|
|
461
|
+
};
|
|
462
|
+
}
|
|
425
463
|
return config;
|
|
426
464
|
}
|
|
427
465
|
function normalizeConfig(config) {
|
|
@@ -449,6 +487,9 @@ function normalizeConfig(config) {
|
|
|
449
487
|
ui: {
|
|
450
488
|
autoConfirm: _nullishCoalesce(config.dry_run, () => ( false)),
|
|
451
489
|
theme: "dark",
|
|
490
|
+
silentToolOutput: false,
|
|
491
|
+
completionReportEnabled: true,
|
|
492
|
+
activityVerbsEnabled: true,
|
|
452
493
|
promptSuggestions: true
|
|
453
494
|
}
|
|
454
495
|
};
|
|
@@ -456,7 +497,7 @@ function normalizeConfig(config) {
|
|
|
456
497
|
return config;
|
|
457
498
|
}
|
|
458
499
|
function isModernConfig(config) {
|
|
459
|
-
return typeof config.openrouter === "object" || typeof config.ollama === "object" || typeof config.llamacpp === "object" || typeof config.openai === "object" || typeof config.mlx === "object" || typeof config.azure === "object" || typeof config.zai === "object" || typeof config.vertexai === "object" || typeof config.xai === "object" || typeof config.cerebras === "object" || typeof config.nvidia === "object" || typeof config.deepseek === "object";
|
|
500
|
+
return typeof config.openrouter === "object" || typeof config.ollama === "object" || typeof config.llamacpp === "object" || typeof config.openai === "object" || typeof config.mlx === "object" || typeof config.azure === "object" || typeof config.zai === "object" || typeof config.sakana === "object" || typeof config.vertexai === "object" || typeof config.xai === "object" || typeof config.cerebras === "object" || typeof config.nvidia === "object" || typeof config.deepseek === "object" || typeof config.bedrock === "object" || typeof config.customProviders === "object";
|
|
460
501
|
}
|
|
461
502
|
function isLegacyConfig(config) {
|
|
462
503
|
return typeof config.api_key === "string";
|
|
@@ -489,6 +530,15 @@ function validateConfig(config, configPath) {
|
|
|
489
530
|
if (config.ui.promptSuggestions !== void 0 && typeof config.ui.promptSuggestions !== "boolean") {
|
|
490
531
|
throw new Error(`ui.promptSuggestions must be boolean in ${configPath}`);
|
|
491
532
|
}
|
|
533
|
+
if (config.ui.completionReportEnabled !== void 0 && typeof config.ui.completionReportEnabled !== "boolean") {
|
|
534
|
+
throw new Error(`ui.completionReportEnabled must be boolean in ${configPath}`);
|
|
535
|
+
}
|
|
536
|
+
if (config.ui.activityVerbsEnabled !== void 0 && typeof config.ui.activityVerbsEnabled !== "boolean") {
|
|
537
|
+
throw new Error(`ui.activityVerbsEnabled must be boolean in ${configPath}`);
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
if (_optionalChain([config, 'access', _9 => _9.auth, 'optionalAccess', _10 => _10.apiKeyHelper]) !== void 0 && typeof config.auth.apiKeyHelper !== "string") {
|
|
541
|
+
throw new Error(`auth.apiKeyHelper must be a string in ${configPath}`);
|
|
492
542
|
}
|
|
493
543
|
if (config.agent) {
|
|
494
544
|
if (config.agent.toolSelectionCache !== void 0 && typeof config.agent.toolSelectionCache !== "boolean") {
|
|
@@ -548,13 +598,68 @@ function validateConfig(config, configPath) {
|
|
|
548
598
|
}
|
|
549
599
|
}
|
|
550
600
|
}
|
|
601
|
+
if (config.customProviders !== void 0) {
|
|
602
|
+
if (!isPlainObject(config.customProviders)) {
|
|
603
|
+
throw new Error(`customProviders must be an object in ${configPath}`);
|
|
604
|
+
}
|
|
605
|
+
for (const [key, provider] of Object.entries(config.customProviders)) {
|
|
606
|
+
if (!isPlainObject(provider)) {
|
|
607
|
+
throw new Error(`customProviders.${key} must be an object in ${configPath}`);
|
|
608
|
+
}
|
|
609
|
+
if (provider.id !== key) {
|
|
610
|
+
throw new Error(`customProviders.${key}.id must match its config key in ${configPath}`);
|
|
611
|
+
}
|
|
612
|
+
if (typeof provider.displayName !== "string" || provider.displayName.trim() === "") {
|
|
613
|
+
throw new Error(`customProviders.${key}.displayName must be a non-empty string in ${configPath}`);
|
|
614
|
+
}
|
|
615
|
+
if (provider.apiFormat !== "openai-compatible") {
|
|
616
|
+
throw new Error(`customProviders.${key}.apiFormat must be "openai-compatible" in ${configPath}`);
|
|
617
|
+
}
|
|
618
|
+
if (typeof provider.baseUrl !== "string" || provider.baseUrl.trim() === "") {
|
|
619
|
+
throw new Error(`customProviders.${key}.baseUrl must be a non-empty string in ${configPath}`);
|
|
620
|
+
}
|
|
621
|
+
if (typeof provider.model !== "string" || provider.model.trim() === "") {
|
|
622
|
+
throw new Error(`customProviders.${key}.model must be a non-empty string in ${configPath}`);
|
|
623
|
+
}
|
|
624
|
+
if (provider.apiKeyRequired !== void 0 && typeof provider.apiKeyRequired !== "boolean") {
|
|
625
|
+
throw new Error(`customProviders.${key}.apiKeyRequired must be boolean in ${configPath}`);
|
|
626
|
+
}
|
|
627
|
+
if (provider.contextWindow !== void 0 && (typeof provider.contextWindow !== "number" || provider.contextWindow <= 0)) {
|
|
628
|
+
throw new Error(`customProviders.${key}.contextWindow must be a positive number in ${configPath}`);
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
}
|
|
551
632
|
}
|
|
552
633
|
function resolveWorkspaceRoot(config, requestedPath) {
|
|
553
|
-
const candidate = _nullishCoalesce(_nullishCoalesce(requestedPath, () => ( process.cwd())), () => ( _optionalChain([config, 'access',
|
|
634
|
+
const candidate = _nullishCoalesce(_nullishCoalesce(requestedPath, () => ( process.cwd())), () => ( _optionalChain([config, 'access', _11 => _11.workspace, 'optionalAccess', _12 => _12.defaultRoot])));
|
|
554
635
|
return _path2.default.resolve(candidate);
|
|
555
636
|
}
|
|
556
637
|
function getProviderConfig(config, provider) {
|
|
557
638
|
const chosen = _nullishCoalesce(_nullishCoalesce(provider, () => ( config.provider)), () => ( "openrouter"));
|
|
639
|
+
if (_chunkEK34UZPBcjs.isCustomProviderName.call(void 0, chosen)) {
|
|
640
|
+
const entry2 = _chunkEK34UZPBcjs.getCustomProviderConfig.call(void 0, config, chosen);
|
|
641
|
+
if (!entry2 || entry2.apiFormat !== "openai-compatible") {
|
|
642
|
+
return null;
|
|
643
|
+
}
|
|
644
|
+
const model = _optionalChain([entry2, 'access', _13 => _13.model, 'optionalAccess', _14 => _14.trim, 'call', _15 => _15()]);
|
|
645
|
+
const baseUrl = _optionalChain([entry2, 'access', _16 => _16.baseUrl, 'optionalAccess', _17 => _17.trim, 'call', _18 => _18()]);
|
|
646
|
+
const requiresApiKey = entry2.apiKeyRequired !== false;
|
|
647
|
+
if (!model || !baseUrl) {
|
|
648
|
+
return null;
|
|
649
|
+
}
|
|
650
|
+
if (requiresApiKey && (!entry2.apiKey || entry2.apiKey === "replace-me")) {
|
|
651
|
+
return null;
|
|
652
|
+
}
|
|
653
|
+
return {
|
|
654
|
+
...entry2,
|
|
655
|
+
model,
|
|
656
|
+
baseUrl
|
|
657
|
+
};
|
|
658
|
+
}
|
|
659
|
+
if (chosen === "bedrock" && !_chunk7TO3PDMVcjs.isAwsBedrockProviderEnabled.call(void 0, config)) {
|
|
660
|
+
return null;
|
|
661
|
+
}
|
|
662
|
+
const builtInProvider = chosen;
|
|
558
663
|
const configByProvider = {
|
|
559
664
|
openrouter: config.openrouter,
|
|
560
665
|
ollama: config.ollama,
|
|
@@ -564,13 +669,15 @@ function getProviderConfig(config, provider) {
|
|
|
564
669
|
llmgateway: config.llmgateway,
|
|
565
670
|
azure: config.azure,
|
|
566
671
|
zai: config.zai,
|
|
672
|
+
sakana: config.sakana,
|
|
567
673
|
vertexai: config.vertexai,
|
|
568
674
|
xai: config.xai,
|
|
569
675
|
cerebras: config.cerebras,
|
|
570
676
|
nvidia: config.nvidia,
|
|
571
|
-
deepseek: config.deepseek
|
|
677
|
+
deepseek: config.deepseek,
|
|
678
|
+
bedrock: config.bedrock
|
|
572
679
|
};
|
|
573
|
-
const entry = configByProvider[
|
|
680
|
+
const entry = configByProvider[builtInProvider];
|
|
574
681
|
if (!entry) {
|
|
575
682
|
return null;
|
|
576
683
|
}
|
|
@@ -580,7 +687,7 @@ function getProviderConfig(config, provider) {
|
|
|
580
687
|
return null;
|
|
581
688
|
}
|
|
582
689
|
if (openAIEntry.authMode === "chatgpt") {
|
|
583
|
-
if (!_optionalChain([openAIEntry, 'access',
|
|
690
|
+
if (!_optionalChain([openAIEntry, 'access', _19 => _19.chatgptAuth, 'optionalAccess', _20 => _20.accessToken]) || !_optionalChain([openAIEntry, 'access', _21 => _21.chatgptAuth, 'optionalAccess', _22 => _22.accountId])) {
|
|
584
691
|
return null;
|
|
585
692
|
}
|
|
586
693
|
} else {
|
|
@@ -588,22 +695,24 @@ function getProviderConfig(config, provider) {
|
|
|
588
695
|
return null;
|
|
589
696
|
}
|
|
590
697
|
}
|
|
591
|
-
} else if (
|
|
698
|
+
} else if (builtInProvider === "openrouter" || builtInProvider === "llmgateway" || builtInProvider === "zai" || builtInProvider === "sakana" || builtInProvider === "nvidia" || builtInProvider === "deepseek") {
|
|
592
699
|
const { apiKey, model } = entry;
|
|
593
700
|
if (!apiKey || apiKey === "replace-me" || !model) {
|
|
594
701
|
return null;
|
|
595
702
|
}
|
|
596
|
-
} else if (
|
|
703
|
+
} else if (builtInProvider === "vertexai") {
|
|
597
704
|
const { authToken, projectId, model } = entry;
|
|
598
705
|
if (!authToken || !projectId || !model) {
|
|
599
706
|
return null;
|
|
600
707
|
}
|
|
708
|
+
} else if (builtInProvider === "bedrock") {
|
|
709
|
+
return normalizeBedrockProviderConfig(entry);
|
|
601
710
|
} else {
|
|
602
|
-
if (
|
|
711
|
+
if (builtInProvider === "llamacpp") {
|
|
603
712
|
return {
|
|
604
713
|
...entry,
|
|
605
714
|
model: _nullishCoalesce(entry.model, () => ( "local")),
|
|
606
|
-
baseUrl: _nullishCoalesce(entry.baseUrl, () => ( defaultBaseUrlFor(
|
|
715
|
+
baseUrl: _nullishCoalesce(entry.baseUrl, () => ( defaultBaseUrlFor(builtInProvider, entry.port)))
|
|
607
716
|
};
|
|
608
717
|
}
|
|
609
718
|
if (!entry.model) {
|
|
@@ -612,13 +721,14 @@ function getProviderConfig(config, provider) {
|
|
|
612
721
|
}
|
|
613
722
|
return {
|
|
614
723
|
...entry,
|
|
615
|
-
baseUrl: _nullishCoalesce(entry.baseUrl, () => ( defaultBaseUrlFor(
|
|
724
|
+
baseUrl: _nullishCoalesce(entry.baseUrl, () => ( defaultBaseUrlFor(builtInProvider, entry.port)))
|
|
616
725
|
};
|
|
617
726
|
}
|
|
618
727
|
function defaultBaseUrlFor(provider, port) {
|
|
619
728
|
if (provider === "openrouter") return DEFAULT_BASE_URL;
|
|
620
729
|
if (provider === "llmgateway") return DEFAULT_LLMGATEWAY_URL;
|
|
621
730
|
if (provider === "zai") return DEFAULT_ZAI_URL;
|
|
731
|
+
if (provider === "sakana") return DEFAULT_SAKANA_URL;
|
|
622
732
|
if (provider === "deepseek") return DEFAULT_DEEPSEEK_URL;
|
|
623
733
|
const p = port ? port.toString() : void 0;
|
|
624
734
|
switch (provider) {
|
|
@@ -632,10 +742,33 @@ function defaultBaseUrlFor(provider, port) {
|
|
|
632
742
|
return p ? `http://localhost:${p}` : DEFAULT_MLX_URL;
|
|
633
743
|
case "nvidia":
|
|
634
744
|
return "https://integrate.api.nvidia.com/v1";
|
|
745
|
+
case "bedrock":
|
|
746
|
+
return `https://bedrock-runtime.${DEFAULT_BEDROCK_REGION}.amazonaws.com`;
|
|
635
747
|
default:
|
|
636
748
|
return void 0;
|
|
637
749
|
}
|
|
638
750
|
}
|
|
751
|
+
function normalizeBedrockProviderConfig(entry) {
|
|
752
|
+
const model = _optionalChain([entry, 'access', _23 => _23.model, 'optionalAccess', _24 => _24.trim, 'call', _25 => _25()]);
|
|
753
|
+
const region = _optionalChain([entry, 'access', _26 => _26.region, 'optionalAccess', _27 => _27.trim, 'call', _28 => _28()]) || process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION || DEFAULT_BEDROCK_REGION;
|
|
754
|
+
const apiMode = _nullishCoalesce(entry.apiMode, () => ( "converse"));
|
|
755
|
+
const authMode = _nullishCoalesce(entry.authMode, () => ( (apiMode === "converse" ? "aws-credentials" : "bedrock-api-key")));
|
|
756
|
+
const endpoint = _nullishCoalesce(_optionalChain([entry, 'access', _29 => _29.endpoint, 'optionalAccess', _30 => _30.replace, 'call', _31 => _31(/\/+$/, "")]), () => ( (apiMode === "converse" ? `https://bedrock-runtime.${region}.amazonaws.com` : `https://bedrock-runtime.${region}.amazonaws.com/openai/v1`)));
|
|
757
|
+
if (!model || !region) {
|
|
758
|
+
return null;
|
|
759
|
+
}
|
|
760
|
+
if (authMode === "bedrock-api-key" && (!entry.apiKey || entry.apiKey === "replace-me")) {
|
|
761
|
+
return null;
|
|
762
|
+
}
|
|
763
|
+
return {
|
|
764
|
+
...entry,
|
|
765
|
+
model,
|
|
766
|
+
region,
|
|
767
|
+
apiMode,
|
|
768
|
+
authMode,
|
|
769
|
+
endpoint
|
|
770
|
+
};
|
|
771
|
+
}
|
|
639
772
|
async function saveConfig(config) {
|
|
640
773
|
const { configPath, ...data } = config;
|
|
641
774
|
delete data.isNewConfig;
|
|
@@ -41,8 +41,9 @@ function getContentDisplay(text) {
|
|
|
41
41
|
const lines = text.split("\n");
|
|
42
42
|
const lineCount = lines.length;
|
|
43
43
|
if (lineCount >= PASTE_LINE_THRESHOLD || charCount >= PASTE_CHAR_THRESHOLD) {
|
|
44
|
+
const visual = lineCount >= PASTE_LINE_THRESHOLD ? `[Text Pasted +${lineCount} lines]` : `[Text Pasted ${charCount} chars]`;
|
|
44
45
|
return {
|
|
45
|
-
visual
|
|
46
|
+
visual,
|
|
46
47
|
actual: text,
|
|
47
48
|
isPasted: true,
|
|
48
49
|
lineCount,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// package.json
|
|
2
2
|
var package_default = {
|
|
3
3
|
name: "autohand-cli",
|
|
4
|
-
version: "0.9.
|
|
4
|
+
version: "0.9.2",
|
|
5
5
|
license: "Apache-2.0",
|
|
6
6
|
description: "Autohand Code CLI is a fast, terminal-native AI coding agent for planning, editing, testing, and automating software work.",
|
|
7
7
|
repository: {
|
|
@@ -24,7 +24,7 @@ var package_default = {
|
|
|
24
24
|
scripts: {
|
|
25
25
|
go: './install-local.sh && echo "COMPLETED"',
|
|
26
26
|
build: "tsup",
|
|
27
|
-
dev: 'env -i PATH="/Users/igorcosta/.bun/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" HOME="$HOME" bun src/index.ts',
|
|
27
|
+
dev: 'env -i PATH="/Users/igorcosta/.bun/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" HOME="$HOME" AUTOHAND_DEBUG="$AUTOHAND_DEBUG" bun src/index.ts',
|
|
28
28
|
typecheck: "tsc --noEmit",
|
|
29
29
|
lint: "eslint .",
|
|
30
30
|
proof: "eslint . && tsc --noEmit && node --max-old-space-size=8192 ./node_modules/vitest/vitest.mjs run",
|
|
@@ -54,6 +54,9 @@ var package_default = {
|
|
|
54
54
|
},
|
|
55
55
|
dependencies: {
|
|
56
56
|
"@agentclientprotocol/sdk": "0.19.1",
|
|
57
|
+
"@aws-sdk/client-bedrock": "^3.1045.0",
|
|
58
|
+
"@aws-sdk/client-bedrock-runtime": "^3.1045.0",
|
|
59
|
+
"@aws-sdk/credential-providers": "^3.1045.0",
|
|
57
60
|
"@ff-labs/fff-bun": "0.6.4",
|
|
58
61
|
chalk: "^5.6.2",
|
|
59
62
|
commander: "^14.0.3",
|
|
@@ -61,13 +64,14 @@ var package_default = {
|
|
|
61
64
|
dotenv: "^17.4.2",
|
|
62
65
|
"fs-extra": "^11.3.4",
|
|
63
66
|
ignore: "^7.0.5",
|
|
64
|
-
ink: "^7.0.
|
|
67
|
+
ink: "^7.0.5",
|
|
65
68
|
"ink-spinner": "^5.0.0",
|
|
66
69
|
minimatch: "^10.2.5",
|
|
67
70
|
"node-notifier": "^10.0.1",
|
|
68
71
|
"node-pty": "^1.1.0",
|
|
69
72
|
open: "^11.0.0",
|
|
70
73
|
ora: "^9.4.0",
|
|
74
|
+
qrcode: "^1.5.4",
|
|
71
75
|
react: "^19.2.5",
|
|
72
76
|
sharp: "^0.34.5",
|
|
73
77
|
"string-width": "^8.2.0",
|
|
@@ -84,6 +88,7 @@ var package_default = {
|
|
|
84
88
|
"@types/fs-extra": "^11.0.4",
|
|
85
89
|
"@types/node": "^25.6.0",
|
|
86
90
|
"@types/node-notifier": "^8.0.5",
|
|
91
|
+
"@types/qrcode": "^1.5.6",
|
|
87
92
|
"@types/react": "^19.2.5",
|
|
88
93
|
"@typescript-eslint/eslint-plugin": "^8.59.0",
|
|
89
94
|
"@typescript-eslint/parser": "^8.59.0",
|
|
@@ -99,7 +104,8 @@ var package_default = {
|
|
|
99
104
|
vitest: "^4.1.5"
|
|
100
105
|
},
|
|
101
106
|
overrides: {
|
|
102
|
-
"ansi-styles": "^6.2.3"
|
|
107
|
+
"ansi-styles": "^6.2.3",
|
|
108
|
+
uuid: "^11.1.0"
|
|
103
109
|
}
|
|
104
110
|
};
|
|
105
111
|
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_SYNC_CONFIG,
|
|
3
|
-
createSyncService
|
|
4
|
-
|
|
3
|
+
createSyncService,
|
|
4
|
+
isMemorySyncPath
|
|
5
|
+
} from "./chunk-H65446XW.js";
|
|
5
6
|
import {
|
|
6
7
|
safePrompt
|
|
7
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-NKW6CHXQ.js";
|
|
8
9
|
import {
|
|
9
10
|
getAuthClient
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-MA3AVDCC.js";
|
|
11
12
|
import {
|
|
12
13
|
saveConfig
|
|
13
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-CM24K6ZT.js";
|
|
14
15
|
import {
|
|
15
16
|
AUTH_CONFIG
|
|
16
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-PG2JIU5M.js";
|
|
17
18
|
import {
|
|
18
19
|
t
|
|
19
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-SJQU2ZFR.js";
|
|
20
21
|
|
|
21
22
|
// src/commands/login.ts
|
|
22
23
|
import chalk from "chalk";
|
|
@@ -140,6 +141,11 @@ async function login(ctx) {
|
|
|
140
141
|
console.log(chalk.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(chalk.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(chalk.red("Authorization timed out. Please try again."));
|
|
@@ -156,17 +162,25 @@ async function checkAndRestoreSyncData(token, userId, config) {
|
|
|
156
162
|
enabled: true
|
|
157
163
|
}
|
|
158
164
|
});
|
|
159
|
-
const { getSyncApiClient } = await import("./SyncApiClient-
|
|
165
|
+
const { getSyncApiClient } = await import("./SyncApiClient-G3FM65IV.js");
|
|
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) => isMemorySyncPath(file.path));
|
|
172
|
+
if (memoryFiles.length > 0) {
|
|
173
|
+
await restoreMemorySyncData(syncService, memoryFiles);
|
|
174
|
+
}
|
|
175
|
+
const consentRequiredFiles = remoteManifest.files.filter((file) => !isMemorySyncPath(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(chalk.cyan(`Found cloud sync data (${fileCount} files, ${sizeStr})`));
|
|
169
|
-
console.log(chalk.gray("This includes your settings, agents, skills, and
|
|
183
|
+
console.log(chalk.gray("This includes your settings, agents, skills, sessions, and hooks."));
|
|
170
184
|
console.log();
|
|
171
185
|
const result = await safePrompt({
|
|
172
186
|
type: "confirm",
|
|
@@ -196,6 +210,12 @@ async function checkAndRestoreSyncData(token, userId, config) {
|
|
|
196
210
|
console.log(chalk.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 {
|
|
217
|
+
}
|
|
218
|
+
}
|
|
199
219
|
async function cancellableOperation(fn) {
|
|
200
220
|
const stdin = process.stdin;
|
|
201
221
|
const wasRaw = stdin.isRaw;
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-HQUSEWT4.js";
|
|
4
4
|
import {
|
|
5
5
|
extractAndSaveSessionMemories
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YEHFYZFU.js";
|
|
7
7
|
import {
|
|
8
8
|
t
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SJQU2ZFR.js";
|
|
10
10
|
|
|
11
11
|
// src/commands/new.ts
|
|
12
12
|
import chalk from "chalk";
|
|
@@ -1,31 +1,31 @@
|
|
|
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; } var _class;
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkWVDJUJH6cjs = require('./chunk-WVDJUJH6.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkTZB5XADLcjs = require('./chunk-TZB5XADL.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkQW2RW2GYcjs = require('./chunk-QW2RW2GY.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var _chunkQW2RW2GYcjs = require('./chunk-QW2RW2GY.cjs');
|
|
13
12
|
|
|
14
13
|
|
|
14
|
+
var _chunkR4UKBKDYcjs = require('./chunk-R4UKBKDY.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunk6EIQ6A6Ucjs = require('./chunk-6EIQ6A6U.cjs');
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunkDMM2BKSVcjs = require('./chunk-DMM2BKSV.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _chunk3JURXAL6cjs = require('./chunk-3JURXAL6.cjs');
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
|
|
29
29
|
|
|
30
30
|
// src/commands/learn.ts
|
|
31
31
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
@@ -109,16 +109,16 @@ async function handleLearnRecommend(ctx, deep) {
|
|
|
109
109
|
const analyzeLabel = deep ? "Deep-analyzing your project..." : "Analyzing your project...";
|
|
110
110
|
logProgress(ctx, analyzeLabel, progress);
|
|
111
111
|
_optionalChain([progress, 'optionalAccess', _7 => _7.start, 'call', _8 => _8(analyzeLabel)]);
|
|
112
|
-
const analyzer = new (0,
|
|
112
|
+
const analyzer = new (0, _chunkTZB5XADLcjs.ProjectAnalyzer)(workspaceRoot);
|
|
113
113
|
const analysis = await analyzer.analyze();
|
|
114
|
-
const cache = new (0,
|
|
114
|
+
const cache = new (0, _chunk6EIQ6A6Ucjs.CommunitySkillsCache)();
|
|
115
115
|
const fetcher = new (0, _chunkQW2RW2GYcjs.GitHubRegistryFetcher)();
|
|
116
116
|
const loadLabel = "Loading community skills...";
|
|
117
117
|
logProgress(ctx, loadLabel, progress);
|
|
118
118
|
_optionalChain([progress, 'optionalAccess', _9 => _9.advance, 'call', _10 => _10(loadLabel)]);
|
|
119
119
|
let registry = null;
|
|
120
120
|
try {
|
|
121
|
-
registry = await
|
|
121
|
+
registry = await _chunkR4UKBKDYcjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
|
|
122
122
|
} catch (e) {
|
|
123
123
|
}
|
|
124
124
|
const installedSkills = skillsRegistry.listSkills();
|
|
@@ -126,7 +126,7 @@ async function handleLearnRecommend(ctx, deep) {
|
|
|
126
126
|
const evalLabel = "Evaluating skill matches...";
|
|
127
127
|
logProgress(ctx, evalLabel, progress);
|
|
128
128
|
_optionalChain([progress, 'optionalAccess', _12 => _12.advance, 'call', _13 => _13(evalLabel)]);
|
|
129
|
-
const advisor = new (0,
|
|
129
|
+
const advisor = new (0, _chunkWVDJUJH6cjs.LearnAdvisor)(llm);
|
|
130
130
|
const result = await advisor.analyze(analysis, installedSkills, registrySkills);
|
|
131
131
|
_optionalChain([progress, 'optionalAccess', _14 => _14.finish, 'call', _15 => _15()]);
|
|
132
132
|
const lines = [];
|
|
@@ -166,7 +166,7 @@ async function handleLearnRecommend(ctx, deep) {
|
|
|
166
166
|
console.log(renderTerminalMarkdown(lines.join("\n")));
|
|
167
167
|
const wantGenerate = await withModalPause(
|
|
168
168
|
ctx,
|
|
169
|
-
() =>
|
|
169
|
+
() => _chunkDMM2BKSVcjs.showConfirm.call(void 0, { title: "Generate a custom skill to fill this gap?" })
|
|
170
170
|
);
|
|
171
171
|
if (wantGenerate) {
|
|
172
172
|
return await handleGeneration(ctx, analysis, result);
|
|
@@ -182,7 +182,7 @@ async function handleGeneration(ctx, analysis, analysisResult) {
|
|
|
182
182
|
const genProgress = animated ? new StepProgress() : void 0;
|
|
183
183
|
logProgress(ctx, genLabel, genProgress);
|
|
184
184
|
_optionalChain([genProgress, 'optionalAccess', _18 => _18.start, 'call', _19 => _19(genLabel)]);
|
|
185
|
-
const advisor = new (0,
|
|
185
|
+
const advisor = new (0, _chunkWVDJUJH6cjs.LearnAdvisor)(ctx.llm);
|
|
186
186
|
const lowScoring = analysisResult.recommendations.sort((a, b) => b.score - a.score).slice(0, 3);
|
|
187
187
|
const generated = await advisor.generateSkill(analysis, analysisResult.gapAnalysis, lowScoring);
|
|
188
188
|
_optionalChain([genProgress, 'optionalAccess', _20 => _20.finish, 'call', _21 => _21()]);
|
|
@@ -197,7 +197,7 @@ Generated: ${_chalk2.default.bold(generated.name)}`));
|
|
|
197
197
|
}
|
|
198
198
|
const scopeChoice = await withModalPause(
|
|
199
199
|
ctx,
|
|
200
|
-
() =>
|
|
200
|
+
() => _chunkDMM2BKSVcjs.showModal.call(void 0, {
|
|
201
201
|
title: "Where should this skill be installed?",
|
|
202
202
|
options: [
|
|
203
203
|
{ label: `Project (.autohand/skills/)`, value: "project" },
|
|
@@ -218,9 +218,9 @@ description: ${generated.description}
|
|
|
218
218
|
|
|
219
219
|
`;
|
|
220
220
|
let skillContent = frontmatter + generated.body + "\n";
|
|
221
|
-
const projectHash =
|
|
222
|
-
skillContent =
|
|
223
|
-
const targetDir = scope === "project" ? _path2.default.join(ctx.workspaceRoot,
|
|
221
|
+
const projectHash = _chunkR4UKBKDYcjs.computeProjectHash.call(void 0, analysis);
|
|
222
|
+
skillContent = _chunkR4UKBKDYcjs.injectGeneratedMetadata.call(void 0, skillContent, generated.name, projectHash);
|
|
223
|
+
const targetDir = scope === "project" ? _path2.default.join(ctx.workspaceRoot, _chunk3JURXAL6cjs.PROJECT_DIR_NAME, "skills") : _chunk3JURXAL6cjs.AUTOHAND_PATHS.skills;
|
|
224
224
|
const skillDir = _path2.default.join(targetDir, generated.name);
|
|
225
225
|
await _fsextra2.default.ensureDir(skillDir);
|
|
226
226
|
await _fsextra2.default.writeFile(_path2.default.join(skillDir, "SKILL.md"), skillContent, "utf-8");
|
|
@@ -235,9 +235,9 @@ async function handleLearnUpdate(ctx) {
|
|
|
235
235
|
const checkLabel = "Checking for skill updates...";
|
|
236
236
|
logProgress(ctx, checkLabel, progress);
|
|
237
237
|
_optionalChain([progress, 'optionalAccess', _23 => _23.start, 'call', _24 => _24(checkLabel)]);
|
|
238
|
-
const analyzer = new (0,
|
|
238
|
+
const analyzer = new (0, _chunkTZB5XADLcjs.ProjectAnalyzer)(workspaceRoot);
|
|
239
239
|
const analysis = await analyzer.analyze();
|
|
240
|
-
const currentHash =
|
|
240
|
+
const currentHash = _chunkR4UKBKDYcjs.computeProjectHash.call(void 0, analysis);
|
|
241
241
|
const allSkills = skillsRegistry.listSkills();
|
|
242
242
|
const generatedSkills = allSkills.filter(
|
|
243
243
|
(s) => _optionalChain([s, 'access', _25 => _25.metadata, 'optionalAccess', _26 => _26["agentskill-source"]]) === "llm-generated"
|
|
@@ -245,7 +245,7 @@ async function handleLearnUpdate(ctx) {
|
|
|
245
245
|
if (generatedSkills.length === 0) {
|
|
246
246
|
return "No LLM-generated skills found. Use /learn to generate skills first.";
|
|
247
247
|
}
|
|
248
|
-
const advisor = new (0,
|
|
248
|
+
const advisor = new (0, _chunkWVDJUJH6cjs.LearnAdvisor)(llm);
|
|
249
249
|
let updated = 0;
|
|
250
250
|
let unchanged = 0;
|
|
251
251
|
const lines = [];
|
|
@@ -275,7 +275,7 @@ description: ${generated.description}
|
|
|
275
275
|
|
|
276
276
|
`;
|
|
277
277
|
let content = frontmatter + generated.body + "\n";
|
|
278
|
-
content =
|
|
278
|
+
content = _chunkR4UKBKDYcjs.injectGeneratedMetadata.call(void 0, content, skill.name, currentHash);
|
|
279
279
|
try {
|
|
280
280
|
await _fsextra2.default.writeFile(skill.path, content, "utf-8");
|
|
281
281
|
updated++;
|
|
@@ -310,7 +310,7 @@ async function learn(ctx, args) {
|
|
|
310
310
|
}
|
|
311
311
|
var metadata = {
|
|
312
312
|
command: "/learn",
|
|
313
|
-
description:
|
|
313
|
+
description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.description"),
|
|
314
314
|
implemented: true,
|
|
315
315
|
subcommands: [
|
|
316
316
|
{ name: "deep", description: "Deep-analyze project for better skill matching" },
|