autohand-cli 0.9.1 → 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 +103 -79
- package/dist/AgentRegistry-BBQRODQC.cjs +18 -0
- package/dist/AgentRegistry-JBXZUPML.js +18 -0
- package/dist/{CommunitySkillsCache-ZACDPD4J.js → CommunitySkillsCache-CI7UN2DX.js} +2 -2
- package/dist/CommunitySkillsCache-XTQ6RMTA.cjs +8 -0
- package/dist/{HookManager-2S6AHOC3.js → HookManager-BELBPQQI.js} +1 -1
- package/dist/{HookManager-TVEQI5ZU.cjs → HookManager-ZL2CLAJW.cjs} +2 -2
- package/dist/{ImportWizard-AF2XL6DS.cjs → ImportWizard-U6CIJREW.cjs} +12 -12
- package/dist/{ImportWizard-AEBMAKXE.js → ImportWizard-VJFSWSUQ.js} +3 -3
- 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-SJPY3ONR.js → NVIDIAProvider-AFNJNWJM.js} +1 -1
- package/dist/NVIDIAProvider-L5GTYRCQ.cjs +14 -0
- package/dist/{PermissionManager-MT7KBNNR.js → PermissionManager-N2LDSOYF.js} +3 -3
- package/dist/PermissionManager-ZNURIEYR.cjs +11 -0
- package/dist/ProviderFactory-3BFS65V7.cjs +13 -0
- package/dist/{ProviderFactory-RB4RVAF6.js → ProviderFactory-XUT6BSGB.js} +4 -3
- package/dist/SessionManager-LGPQIA57.cjs +10 -0
- package/dist/{SessionManager-554PHVPC.js → SessionManager-OR4KDDDS.js} +2 -2
- package/dist/{SkillsRegistry-NHHMIUYJ.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/{about-3USFSGOH.js → about-OYVGQMJJ.js} +3 -3
- package/dist/{about-QR52U5DD.cjs → about-U2BH7HDR.cjs} +4 -4
- package/dist/{acp-5Y2W6OZP.js → acp-JWHGXZL5.js} +169 -103
- package/dist/{acp-GSYE75OB.cjs → acp-S37JOBCS.cjs} +184 -118
- package/dist/{actionExecutor-KHUU3Z3Q.cjs → actionExecutor-2QEPMELQ.cjs} +13 -13
- package/dist/{actionExecutor-PLQJZLZV.js → actionExecutor-6NCCORRB.js} +12 -12
- package/dist/add-dir-KFUHSIR2.cjs +11 -0
- package/dist/{add-dir-HCERJDBR.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-7GAQ25EK.js → agents-new-EVTGPTA4.js} +6 -6
- package/dist/{autoSkill-66PKCYTW.js → autoSkill-HEWKJ5JV.js} +2 -2
- package/dist/autoSkill-YL6PN6AV.cjs +20 -0
- package/dist/automode-4BJ7FNPL.cjs +10 -0
- package/dist/{automode-BUF3VGXU.js → automode-S4U7A7Q2.js} +2 -2
- package/dist/chrome-45ZXHL5N.cjs +22 -0
- package/dist/{chrome-Y3T7EIHG.js → chrome-BBSRVG6S.js} +2 -2
- package/dist/chrome-IFVZRHAT.cjs +50 -0
- package/dist/chrome-MYE6DNA2.js +22 -0
- package/dist/{chunk-45CHNQM6.cjs → chunk-24CEJYEG.cjs} +93 -31
- package/dist/{chunk-6JWCGQJU.cjs → chunk-255GIVM2.cjs} +6 -6
- package/dist/{chunk-D546G7DA.cjs → chunk-2BDSR2OW.cjs} +98 -75
- package/dist/{chunk-PGFLPURU.js → chunk-2BPIR7LA.js} +121 -4
- package/dist/{chunk-AOKXYGBQ.cjs → chunk-2NY7OHBF.cjs} +41 -26
- package/dist/chunk-2WUNHTXL.js +303 -0
- package/dist/{chunk-PQBYFEBL.cjs → chunk-34B6ZO6W.cjs} +124 -7
- package/dist/{chunk-5JTTM5SC.js → chunk-3BJN7GAH.js} +1 -1
- package/dist/{chunk-3UC6DMFI.cjs → chunk-3CAXECWJ.cjs} +15 -15
- package/dist/{chunk-YWH55BWK.cjs → chunk-3CBYUBZC.cjs} +6 -9
- package/dist/chunk-3DF3GZQ7.js +277 -0
- package/dist/{chunk-KASXKDF2.cjs → chunk-3JURXAL6.cjs} +58 -7
- package/dist/{chunk-JV5HVCHU.cjs → chunk-3KWAP2Y3.cjs} +88 -9
- package/dist/{chunk-WPE2XHVX.js → chunk-3MCK6UBL.js} +1 -1
- package/dist/{chunk-U2QUMKCB.js → chunk-3TH7IK4M.js} +62 -9
- package/dist/{chunk-YXM6SA7P.js → chunk-3V77OB3W.js} +3 -3
- package/dist/{chunk-MZN6JBRZ.cjs → chunk-3Y5UEK7K.cjs} +4 -4
- package/dist/{chunk-BP37FVBM.js → chunk-4GPPSBEZ.js} +3 -3
- package/dist/{chunk-4XVLNOFA.js → chunk-5CMBAJ6K.js} +20 -3
- package/dist/{chunk-PNIAIOMZ.cjs → chunk-5YRXFBYZ.cjs} +35 -6
- package/dist/chunk-6AC2TT26.js +156 -0
- package/dist/{chunk-PSAH4ZQB.cjs → chunk-6EIQ6A6U.cjs} +2 -2
- package/dist/{chunk-YQDI753V.js → chunk-6HSEDXVF.js} +4 -4
- package/dist/{chunk-O5GI6SR3.js → chunk-6NUXK62F.js} +1 -1
- package/dist/{chunk-HVCIB4SW.cjs → chunk-6TGCAPYH.cjs} +62 -9
- package/dist/{chunk-HZWU6IO3.js → chunk-6W3SZCSP.js} +2 -5
- package/dist/{chunk-Q3BS6FPM.js → chunk-73LV3DDZ.js} +4 -4
- package/dist/{chunk-ZNGRLCFQ.js → chunk-7BGGLIQF.js} +83 -1
- package/dist/{chunk-ZNYZB7XY.cjs → chunk-7EEK7CRR.cjs} +83 -1
- package/dist/{chunk-HK5A54AV.cjs → chunk-7TO3PDMV.cjs} +48 -4
- package/dist/chunk-7UU22RSH.cjs +277 -0
- package/dist/{chunk-XNIMSVS6.cjs → chunk-A3GAM6FM.cjs} +11 -11
- package/dist/{chunk-W5QLA6WP.cjs → chunk-A7DJU75T.cjs} +8 -8
- package/dist/{chunk-7XTUL7ZD.cjs → chunk-AAAO4ERQ.cjs} +9 -9
- package/dist/{chunk-M5DK524Z.js → chunk-AAJLMP57.js} +2 -2
- package/dist/chunk-ABR756QN.js +529 -0
- package/dist/{chunk-OIGYWOL6.js → chunk-APFGDIPD.js} +3 -1
- package/dist/{chunk-PTTZI4QZ.js → chunk-APQYRMYL.js} +4 -4
- package/dist/{chunk-CO2AADYU.cjs → chunk-AZKOIF2G.cjs} +55 -17
- package/dist/{chunk-P6SLT2F4.cjs → chunk-AZLHUPNC.cjs} +2 -2
- package/dist/chunk-B55VCYSQ.cjs +30 -0
- package/dist/{chunk-JMJRFSNJ.js → chunk-BLQUMSM3.js} +1 -1
- package/dist/{chunk-MGNXABSU.cjs → chunk-BXKPX6K4.cjs} +9 -9
- package/dist/{chunk-MQQH4XQH.cjs → chunk-C66FN2LP.cjs} +4 -4
- package/dist/{chunk-CECH6QQP.js → chunk-CH7KUFAS.js} +10 -10
- package/dist/{chunk-PIXQ2AVM.cjs → chunk-CILSXOPI.cjs} +17 -17
- package/dist/{chunk-IEPLQ47J.js → chunk-CM24K6ZT.js} +89 -12
- package/dist/chunk-CMEZ42F2.cjs +303 -0
- package/dist/{chunk-X5P6QQOB.cjs → chunk-CNQKIWIS.cjs} +100 -23
- package/dist/{chunk-AQ5PVHOC.cjs → chunk-CSUGNNJY.cjs} +4 -3
- package/dist/{chunk-QRQF3556.js → chunk-D6HB3H3L.js} +25 -10
- package/dist/{chunk-XZVDYC5U.js → chunk-D7AYKVKW.js} +2 -2
- package/dist/{chunk-3UHRCHKB.cjs → chunk-DLCXWOWT.cjs} +23 -23
- package/dist/{chunk-CK4HAHVY.cjs → chunk-DMM2BKSV.cjs} +118 -25
- package/dist/{chunk-SPQ7QIQ6.js → chunk-DW3DPV77.js} +1 -1
- package/dist/chunk-ECQD2QC3.cjs +33 -0
- package/dist/{chunk-SNDDZG5H.js → chunk-EEYOS3UC.js} +90 -70
- package/dist/{chunk-DGBPWODD.js → chunk-EF2EN5CR.js} +2 -2
- package/dist/{chunk-M7B7RRBK.cjs → chunk-EFXFURDY.cjs} +138 -51
- package/dist/chunk-EK34UZPB.cjs +40 -0
- package/dist/{chunk-CRTCZ4WL.cjs → chunk-FJR6EZLO.cjs} +3834 -2337
- package/dist/{chunk-TYBPTKFT.js → chunk-FPO7YNPQ.js} +1 -1
- package/dist/{chunk-X3TI5TJJ.js → chunk-FS4I6BNR.js} +1 -1
- package/dist/{chunk-WNJXIACY.js → chunk-FSJ2MNOC.js} +3 -3
- package/dist/{chunk-44ZWOBTI.js → chunk-GEHZMC4G.js} +12 -9
- package/dist/{chunk-Y5BDE24P.cjs → chunk-GO6C2RAR.cjs} +3 -0
- package/dist/{chunk-XW3XCK4E.cjs → chunk-GSMR6V36.cjs} +4 -4
- package/dist/{chunk-H426KOGY.js → chunk-GSZWATME.js} +1 -1
- package/dist/{chunk-S5JNQIGL.cjs → chunk-GYLGCR6F.cjs} +5 -5
- package/dist/{chunk-ONVYXTUT.cjs → chunk-H3OOWNYQ.cjs} +3 -3
- package/dist/{chunk-V5ELP2XE.js → chunk-H65446XW.js} +110 -15
- package/dist/{chunk-LANGD5CO.js → chunk-H7HXRRHK.js} +45 -1
- package/dist/{chunk-RBXBH6EB.cjs → chunk-HN2JTDN5.cjs} +17 -17
- package/dist/{chunk-SOVR7S3T.cjs → chunk-HNXUZ5OY.cjs} +2 -2
- package/dist/{chunk-AZ47LKD5.cjs → chunk-HOYT3E65.cjs} +3 -3
- package/dist/{chunk-P4FUTSVK.js → chunk-HTPY5ESD.js} +3 -3
- package/dist/{chunk-5SFV2NCY.cjs → chunk-HVLWH2AF.cjs} +10 -10
- package/dist/{chunk-VQHSYAPZ.cjs → chunk-HZTEU4W5.cjs} +62 -93
- package/dist/{chunk-4XFHP2SN.cjs → chunk-I5T7LPFP.cjs} +7 -7
- package/dist/{chunk-ZPLCAXJW.js → chunk-IB5CJXE7.js} +7 -7
- package/dist/{chunk-KM7R5YPS.cjs → chunk-INNXFLDR.cjs} +9 -6
- package/dist/{chunk-2ESQR35E.cjs → chunk-JFLEP3T7.cjs} +10 -10
- package/dist/chunk-JJGDOBFL.js +40 -0
- package/dist/{chunk-5A7ZL64N.js → chunk-JSU46T6K.js} +1 -1
- package/dist/{chunk-NB6M6ESM.js → chunk-K6WN6BT4.js} +1 -1
- package/dist/{chunk-QQ64HEHP.cjs → chunk-KIQH3SMT.cjs} +34 -31
- package/dist/{chunk-MANJ67D3.js → chunk-KPRXHIE2.js} +52 -83
- package/dist/{chunk-6HF6XSCC.js → chunk-LIO3RX2Z.js} +2 -2
- package/dist/{chunk-NZ3ZWLUW.js → chunk-LOSXLH7P.js} +109 -16
- package/dist/{chunk-NZ7GCK7Y.cjs → chunk-LSOR72PB.cjs} +23 -23
- package/dist/{chunk-6AYJCDTA.js → chunk-MA3AVDCC.js} +47 -9
- package/dist/{chunk-PZZMIYII.js → chunk-ME3S2WIR.js} +3 -3
- package/dist/{chunk-2IW5YFJ4.js → chunk-NC2I2M4P.js} +4 -4
- package/dist/{chunk-AE2ILW25.cjs → chunk-NC4A4LVC.cjs} +13 -13
- package/dist/{chunk-EEHWALXA.js → chunk-NGEK5FCJ.js} +85 -3
- package/dist/{chunk-MMKZSJUN.js → chunk-NKW6CHXQ.js} +1 -1
- package/dist/{chunk-JB3JCYBJ.js → chunk-NOWCRKP2.js} +4 -3
- package/dist/{chunk-3ZOOH44N.js → chunk-NUB2LMB6.js} +2 -2
- package/dist/chunk-O246MKIW.cjs +267 -0
- package/dist/{chunk-SRMGWMQO.js → chunk-OGFWL2PS.js} +1 -1
- package/dist/{chunk-YISPVAXO.cjs → chunk-ONNGAR6W.cjs} +340 -597
- package/dist/{chunk-7WAUCLLQ.js → chunk-OOFR6A62.js} +33 -4
- package/dist/{chunk-4E7SHPNQ.js → chunk-OZ7FHO7J.js} +2 -2
- package/dist/{chunk-NV6LCD2I.cjs → chunk-P5EWGUI2.cjs} +109 -27
- package/dist/{chunk-YC5OBZQU.js → chunk-P6BQJPAI.js} +41 -18
- package/dist/{chunk-SHRLFX6F.js → chunk-PG2JIU5M.js} +57 -6
- package/dist/{chunk-6OECOAK5.cjs → chunk-PI27G2ED.cjs} +25 -8
- package/dist/{chunk-TR6NECEZ.js → chunk-PI7LRPL6.js} +1 -1
- package/dist/{chunk-GAOPJ5S3.cjs → chunk-PMPEC5HN.cjs} +18 -15
- package/dist/{chunk-5GCQ5UMV.cjs → chunk-PYUP7AKY.cjs} +14 -14
- package/dist/{chunk-S5QKRA2V.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-26G7YGOW.js → chunk-QVXMSQOG.js} +84 -21
- package/dist/{chunk-SVVP4UUZ.cjs → chunk-R4UKBKDY.cjs} +11 -11
- package/dist/{chunk-HG3ZASBH.cjs → chunk-R75AWII3.cjs} +112 -17
- package/dist/{chunk-TE4SYTWR.cjs → chunk-RD5PLUIX.cjs} +8 -8
- package/dist/{chunk-FFHSCM5M.js → chunk-RGB34CV5.js} +3 -3
- package/dist/{chunk-SY2P3Z5W.cjs → chunk-RJCZLFHE.cjs} +96 -32
- package/dist/{chunk-22SCR3EV.cjs → chunk-RKWNM2BJ.cjs} +2 -2
- package/dist/{chunk-FBQJZKFX.js → chunk-RMVONICR.js} +3 -3
- package/dist/{chunk-PY73W5MQ.cjs → chunk-RPSYRJL7.cjs} +10 -4
- package/dist/{chunk-HXHE2KAO.js → chunk-RWKU2X7O.js} +7 -4
- package/dist/{chunk-NQZH5CR2.cjs → chunk-RZLEGVMH.cjs} +102 -5
- package/dist/{chunk-KMP6Y3LJ.js → chunk-S2L3Y677.js} +1 -1
- package/dist/{chunk-GSDV75A5.js → chunk-S7KVUIOS.js} +1 -1
- package/dist/{chunk-7PT646AL.cjs → chunk-SACJJ6NO.cjs} +5 -3
- package/dist/{chunk-LEZEWKPA.js → chunk-SJQU2ZFR.js} +96 -32
- package/dist/{chunk-65LRPW5W.js → chunk-SKAQKQFF.js} +12 -2
- package/dist/chunk-T4DXP5OP.js +30 -0
- package/dist/{chunk-EYHKL4QC.js → chunk-T6FTB6K2.js} +1 -1
- package/dist/{chunk-DNSD7DVJ.js → chunk-T6N6GRFT.js} +13 -10
- package/dist/{chunk-575PXZX7.js → chunk-TJFKA6A7.js} +82 -3
- package/dist/{chunk-HSWWM6AM.js → chunk-TJZUPS4Z.js} +34 -291
- package/dist/{chunk-DHUQZ53B.cjs → chunk-TLKHZ425.cjs} +2 -2
- package/dist/{chunk-VLGGMQUN.cjs → chunk-TQ24NLXO.cjs} +6 -6
- package/dist/{chunk-LUMV3DB2.js → chunk-TWBAU46X.js} +1 -1
- package/dist/{chunk-EA2MS25U.cjs → chunk-TZB5XADL.cjs} +4 -4
- package/dist/{chunk-U6PLSPMD.cjs → chunk-UAYXZXWU.cjs} +4 -4
- package/dist/{chunk-OV3T5MUH.cjs → chunk-UKBFNBDO.cjs} +11 -11
- package/dist/{chunk-SZD45IDG.js → chunk-UMJYX5KD.js} +101 -4
- package/dist/{chunk-B76FJKEJ.cjs → chunk-USKYTHDL.cjs} +69 -18
- package/dist/{chunk-NZQFKXM3.cjs → chunk-VAJUSZMC.cjs} +15 -15
- package/dist/{chunk-SDLY4X3G.js → chunk-VGQG4NBJ.js} +2 -2
- package/dist/{chunk-KWXGDSYT.js → chunk-VLUIVJ3J.js} +58 -7
- package/dist/{chunk-KJ26T7GM.cjs → chunk-VOBINVMV.cjs} +105 -42
- package/dist/{chunk-C5QIQQ37.js → chunk-VSHKKCSH.js} +16 -5
- package/dist/{chunk-L46OUKW5.cjs → chunk-VSZU3MGA.cjs} +28 -17
- package/dist/{chunk-YFXTE422.cjs → chunk-VWHAUB77.cjs} +8 -3
- package/dist/{chunk-UWZ4G3SQ.js → chunk-VXGYFX45.js} +4 -4
- package/dist/{chunk-C46B72VK.js → chunk-WH6YUQDB.js} +141 -54
- package/dist/{chunk-SFFEKZGC.js → chunk-WQ6TD55V.js} +2 -2
- package/dist/{chunk-7PJKTSRN.js → chunk-WQWECXTY.js} +3 -3
- package/dist/{chunk-DSSCERHI.cjs → chunk-WVDJUJH6.cjs} +2 -2
- package/dist/{chunk-JPFRI4L4.js → chunk-X24VIVDZ.js} +210 -26
- package/dist/{chunk-7IRQ7JEH.js → chunk-X4NRTLXD.js} +7 -1
- package/dist/{chunk-7MY4JHER.js → chunk-X53SHYCG.js} +2 -2
- package/dist/{chunk-RFUKZIJF.cjs → chunk-XB2Z4ZAK.cjs} +5 -5
- package/dist/{chunk-WJYFLQ7G.cjs → chunk-Y47OJGLB.cjs} +3 -3
- package/dist/{chunk-HC2Q6A3E.cjs → chunk-Y4MN27V3.cjs} +361 -177
- package/dist/{chunk-ZK6HOR62.js → chunk-YEHFYZFU.js} +7 -2
- package/dist/{chunk-FFBDRUO5.cjs → chunk-YICIUY23.cjs} +1 -1
- package/dist/{chunk-63ANVAOJ.cjs → chunk-YMXYC777.cjs} +3 -3
- package/dist/{chunk-X7XMITIL.cjs → chunk-Z3GRWK6O.cjs} +8 -8
- package/dist/{chunk-3ICORF7M.cjs → chunk-Z5GG2KSL.cjs} +4 -4
- package/dist/{chunk-I2ZK3AOD.js → chunk-ZER7DYQK.js} +2 -2
- package/dist/{chunk-V3SZLWEQ.cjs → chunk-ZFDXZEZJ.cjs} +11 -11
- package/dist/{chunk-QBYGMMDD.js → chunk-ZFV4HJA6.js} +66 -4
- package/dist/chunk-ZHMYTI5D.cjs +529 -0
- package/dist/{chunk-4567QNRB.js → chunk-ZLR2TFBC.js} +3 -0
- package/dist/{chunk-OCATAKXV.cjs → chunk-ZTWNU5QZ.cjs} +20 -20
- package/dist/{chunk-CCIDL4SA.js → chunk-ZVLVLDYN.js} +2915 -1418
- package/dist/clear-AJGXD2BB.cjs +12 -0
- package/dist/{clear-Y5TO3RZA.js → clear-HAHDSWKW.js} +3 -3
- package/dist/communityInstaller-IRR6M3N6.cjs +22 -0
- package/dist/{communityInstaller-RVL4STPS.js → communityInstaller-OLKEUGMX.js} +5 -5
- package/dist/completion-G7Z436TF.cjs +17 -0
- package/dist/{completion-SE3XYG74.js → completion-ZS3AXJ6A.js} +4 -4
- package/dist/{config-7KPHKFTP.js → config-OWYAQPCX.js} +5 -4
- package/dist/config-W2BHT2QE.cjs +22 -0
- package/dist/{constants-EJFAWJQI.js → constants-AS6K67AA.js} +5 -3
- package/dist/constants-B4W5BT7F.cjs +23 -0
- package/dist/{export-BJVIDZC4.js → export-5HIU3KMD.js} +4 -4
- 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-V4JF5TNJ.js → feature-OPNVMB2E.js} +2 -2
- 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-MLIROWKM.js → help-TCWD2IRH.js} +2 -2
- package/dist/{history-GQJ6RZD6.js → history-ATOR5OQV.js} +2 -2
- package/dist/history-UUSGX2AL.cjs +14 -0
- package/dist/{hooks-PPFHCF7T.js → hooks-R3Z5QKUP.js} +5 -5
- package/dist/hooks-RWM5UY67.cjs +18 -0
- package/dist/{i18n-Q7UZJRPL.js → i18n-4QI4TD4I.js} +1 -1
- package/dist/i18n-MFAEU5RV.cjs +33 -0
- package/dist/{ide-BUSVE54P.js → ide-6PBTCCUQ.js} +4 -4
- package/dist/ide-UE3G7NMQ.cjs +15 -0
- package/dist/{import-C7S6UJMW.cjs → import-2IG76KAN.cjs} +6 -4
- package/dist/{import-U47DXCA7.js → import-E47QL4DW.js} +2 -2
- package/dist/import-NQDNBFUL.cjs +10 -0
- package/dist/{import-3VBKI6BN.js → import-VQIHGJWS.js} +6 -4
- package/dist/index.cjs +444 -334
- package/dist/index.d.cts +38 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.js +324 -214
- package/dist/init-DX3RDGDT.cjs +10 -0
- package/dist/{init-Q2O4R42R.js → init-Q54OAAFZ.js} +2 -2
- package/dist/{inputPrompt-3CFZDUBH.js → inputPrompt-V2VBDRM7.js} +2 -2
- 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-AH3MMUBU.js → mcp-EN73YFGZ.js} +8 -7
- package/dist/mcp-TADZCPJQ.cjs +22 -0
- package/dist/{mcp-install-IA4ZS2SV.cjs → mcp-install-2GKWWBAS.cjs} +14 -13
- package/dist/{mcp-install-222PCKSW.js → mcp-install-3TBTVSHW.js} +9 -8
- package/dist/memory-GRXFTDIN.cjs +10 -0
- package/dist/{memory-VB46T5H3.js → memory-K2P3CDCH.js} +2 -2
- package/dist/{model-SJJG64AM.js → model-DEG22OWA.js} +2 -2
- package/dist/model-OSD74T7Z.cjs +10 -0
- package/dist/new-4NWBOATU.cjs +12 -0
- package/dist/{new-ERZ5C6CN.js → new-KJAP2MB6.js} +3 -3
- package/dist/{onboarding-ZQXMPSMJ.js → onboarding-2U5WE2OA.js} +17 -14
- package/dist/onboarding-5DZFCO5Q.cjs +39 -0
- package/dist/permissions-KY5I6YQ3.cjs +10 -0
- package/dist/{permissions-7ACNFK7A.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-4DXUDKJN.js → registry-EZ4V4TUQ.js} +1339 -1
- package/dist/{registry-UEO3ETZ7.cjs → registry-LCWYI4IB.cjs} +1378 -40
- package/dist/resume-4VWJXARX.cjs +17 -0
- package/dist/{resume-XSXZMDMD.js → resume-TLHWWWFN.js} +5 -5
- package/dist/{review-QHP2KP4Q.js → review-CSK4IYTO.js} +1 -1
- package/dist/review-XLJEUH5K.cjs +9 -0
- package/dist/{rpc-XH7QLN4H.js → rpc-3DLQBDWU.js} +151 -124
- package/dist/{rpc-YF54T7JU.cjs → rpc-O36WUU3L.cjs} +169 -142
- 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-NJYHJOEL.js → sessions-VWMDIPOS.js} +2 -2
- package/dist/{settings-ZXUQH3DO.js → settings-FT2LZZUV.js} +11 -8
- 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-WFAGZ5PY.js → share-CGB6MAVJ.js} +6 -6
- package/dist/skills/builtin/code-reviewer/SKILL.md +64 -0
- package/dist/skills/builtin/goal-writer/SKILL.md +124 -0
- package/dist/{skills-NBTNDVAY.js → skills-7DKR3HRZ.js} +7 -7
- package/dist/{skills-OB6RDW7D.js → skills-BBBENOEY.js} +9 -9
- package/dist/skills-OQM7IHAF.cjs +29 -0
- package/dist/{skills-ZROBG3RZ.cjs → skills-RA2PKL63.cjs} +9 -9
- package/dist/{skills-install-ILX6QVEF.cjs → skills-install-D7K476SL.cjs} +15 -15
- package/dist/{skills-install-BHTIEMKH.js → skills-install-T4SOKJSL.js} +8 -8
- package/dist/{skills-new-YMRP2HNO.js → skills-new-S33NGEU3.js} +6 -6
- 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-OCJN4ZSO.js → sync-J6I2ZUKQ.js} +5 -3
- package/dist/{sync-7C25MOT2.js → sync-Z3LVSEEV.js} +8 -6
- package/dist/{teammate-D77B6QRT.cjs → teammate-EXR76PEQ.cjs} +5 -5
- package/dist/{teammate-EZCMHOIL.js → teammate-K4DAOFEQ.js} +5 -5
- package/dist/theme-MVQDSU47.js +23 -0
- package/dist/theme-QAKEYWJG.cjs +23 -0
- package/dist/ui/questionModal.cjs +5 -5
- package/dist/ui/questionModal.js +4 -4
- package/dist/{undo-GNUTFXCW.js → undo-5AU47JHF.js} +2 -2
- package/dist/undo-ME6WKUXZ.cjs +10 -0
- package/dist/{usage-QSTNSDAO.js → usage-QTKO2YMD.js} +6 -5
- package/dist/usage-TYNJKVER.cjs +25 -0
- package/package.json +4 -3
- package/dist/AgentRegistry-GOV7FN2O.js +0 -10
- package/dist/AgentRegistry-J2C6JBZ3.cjs +0 -10
- package/dist/CommunitySkillsCache-22BB3J6H.cjs +0 -8
- package/dist/LearnAdvisor-KKEQ5QCV.js +0 -9
- package/dist/LearnAdvisor-Q7RAYLPF.cjs +0 -9
- package/dist/MemoryManager-PMNAEZMB.cjs +0 -8
- package/dist/MemoryManager-QZRLTUB5.js +0 -8
- package/dist/NVIDIAProvider-C3FWQOBZ.cjs +0 -14
- package/dist/PermissionManager-URCNP5EC.cjs +0 -11
- package/dist/ProviderFactory-56N3ECE4.cjs +0 -12
- package/dist/SessionManager-2IZGWASQ.cjs +0 -10
- package/dist/SkillsRegistry-GMRVONOQ.cjs +0 -9
- package/dist/SubAgent-4GOR2FIJ.js +0 -13
- package/dist/SubAgent-ZJMDH4FI.cjs +0 -13
- package/dist/add-dir-BTAD5OZS.cjs +0 -11
- package/dist/agent-B3EVT7NN.cjs +0 -126
- package/dist/agent-SATQ3WZ3.js +0 -126
- package/dist/agents-44CRJGM7.cjs +0 -18
- package/dist/agents-NN4ZAJ7R.js +0 -18
- package/dist/agents-new-6D6G4QS6.cjs +0 -17
- package/dist/autoSkill-VQLGBELN.cjs +0 -20
- package/dist/automode-45DWV4TN.cjs +0 -10
- package/dist/chrome-Q2U73HZB.cjs +0 -50
- package/dist/chrome-Q54OALOK.cjs +0 -21
- package/dist/chrome-ZNJ46OYW.js +0 -21
- package/dist/chunk-JCUHCH37.cjs +0 -247
- package/dist/chunk-VKOXFT4L.cjs +0 -23
- package/dist/clear-QJXU25IF.cjs +0 -12
- package/dist/communityInstaller-LXMVKVAV.cjs +0 -22
- package/dist/completion-JX4T2ONW.cjs +0 -17
- package/dist/config-3224PRW4.cjs +0 -21
- package/dist/constants-MCCGUU5F.cjs +0 -21
- package/dist/export-KU4557HK.cjs +0 -15
- package/dist/feature-K3LG5IJP.cjs +0 -14
- package/dist/features-5OJTLKS7.js +0 -23
- package/dist/features-VCBJQXCX.cjs +0 -23
- package/dist/feedback-D4437VE4.js +0 -18
- package/dist/feedback-VZPEHGFY.cjs +0 -18
- package/dist/go-X4E6BCD6.js +0 -12
- package/dist/go-XREVFS5I.cjs +0 -12
- package/dist/goal-4M3J6JS2.cjs +0 -16
- package/dist/goal-EI66BV7W.js +0 -16
- package/dist/help-GGFS7WHY.cjs +0 -12
- package/dist/history-J4LUIOSI.cjs +0 -14
- package/dist/hooks-FSRIUS6A.cjs +0 -18
- package/dist/i18n-CI6VFXL5.cjs +0 -33
- package/dist/ide-YR27BPGM.cjs +0 -15
- package/dist/import-DBK4OCDF.cjs +0 -10
- package/dist/init-OXTYS72D.cjs +0 -10
- package/dist/inputPrompt-JMACL4EB.cjs +0 -90
- package/dist/language-EK3M6UBV.cjs +0 -22
- package/dist/language-Q3RUGGOW.js +0 -22
- package/dist/learn-3DSX7DYG.cjs +0 -23
- package/dist/learn-OPOH5L43.js +0 -23
- package/dist/login-GST7MWXJ.cjs +0 -27
- package/dist/login-Q7DZKAX4.js +0 -27
- package/dist/logout-2G7OUK7I.cjs +0 -24
- package/dist/logout-FNBBL2UI.js +0 -24
- package/dist/mcp-DW7R63IB.cjs +0 -21
- package/dist/memory-6NX3DAIY.cjs +0 -10
- package/dist/model-64NAELFS.cjs +0 -10
- package/dist/new-DU5SOOOY.cjs +0 -12
- package/dist/onboarding-2U2BV2KE.cjs +0 -36
- package/dist/permissions-GSNNV7RJ.cjs +0 -10
- package/dist/plan-XEJMOT55.cjs +0 -13
- package/dist/quit-WY6T267G.js +0 -10
- package/dist/quit-XIRE2KRE.cjs +0 -10
- package/dist/resume-RQZ3WXBP.cjs +0 -17
- package/dist/review-UWHWQHCB.cjs +0 -9
- package/dist/search-VXXFGZWU.cjs +0 -21
- package/dist/search-YAWGX7P7.js +0 -21
- package/dist/sessions-OSG3UJEZ.cjs +0 -10
- package/dist/settings-SO2UIGWV.cjs +0 -42
- package/dist/setup-KG7EGKF5.js +0 -30
- package/dist/setup-RSOPCQ57.cjs +0 -30
- package/dist/share-ZU3SGACF.cjs +0 -17
- package/dist/skills-KBVAQAD2.cjs +0 -29
- package/dist/skills-new-B45VQ2PP.cjs +0 -18
- package/dist/slashCommands-53VYIBJU.js +0 -105
- package/dist/slashCommands-BG2RGGZ6.cjs +0 -105
- package/dist/status-CQ2IUOVK.cjs +0 -24
- package/dist/status-E7IGNVPC.js +0 -24
- package/dist/sync-XRP46IVG.cjs +0 -40
- package/dist/sync-ZMFVE7T4.cjs +0 -22
- package/dist/theme-KKRDE6P7.cjs +0 -22
- package/dist/theme-XF7XIWBQ.js +0 -22
- package/dist/undo-U4KN7QQM.cjs +0 -10
- package/dist/usage-YDEMQBNQ.cjs +0 -24
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkDMM2BKSVcjs = require('./chunk-DMM2BKSV.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
|
|
9
9
|
|
|
10
10
|
// src/commands/export.ts
|
|
11
11
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
@@ -245,7 +245,7 @@ function getSuggestedFilename(metadata2, format) {
|
|
|
245
245
|
// src/commands/export.ts
|
|
246
246
|
var metadata = {
|
|
247
247
|
command: "/export",
|
|
248
|
-
description:
|
|
248
|
+
description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.export.description"),
|
|
249
249
|
implemented: true
|
|
250
250
|
};
|
|
251
251
|
async function execute(args, context) {
|
|
@@ -265,7 +265,7 @@ async function execute(args, context) {
|
|
|
265
265
|
label: `${s.projectName} - ${new Date(s.createdAt).toLocaleString()} (${s.messageCount} messages)`,
|
|
266
266
|
value: s.sessionId
|
|
267
267
|
}));
|
|
268
|
-
const sessionResult = await
|
|
268
|
+
const sessionResult = await _chunkDMM2BKSVcjs.showModal.call(void 0, {
|
|
269
269
|
title: "Select a session to export:",
|
|
270
270
|
options: sessionOptions
|
|
271
271
|
});
|
|
@@ -286,7 +286,7 @@ async function execute(args, context) {
|
|
|
286
286
|
{ label: "JSON (.json)", value: "json" },
|
|
287
287
|
{ label: "HTML (.html)", value: "html" }
|
|
288
288
|
];
|
|
289
|
-
const formatResult = await
|
|
289
|
+
const formatResult = await _chunkDMM2BKSVcjs.showModal.call(void 0, {
|
|
290
290
|
title: "Export format:",
|
|
291
291
|
options: formatOptions
|
|
292
292
|
});
|
|
@@ -297,17 +297,17 @@ async function execute(args, context) {
|
|
|
297
297
|
const format = formatResult.value;
|
|
298
298
|
const options = {};
|
|
299
299
|
if (format === "md" || format === "html") {
|
|
300
|
-
options.includeToolOutputs = await
|
|
300
|
+
options.includeToolOutputs = await _chunkDMM2BKSVcjs.showConfirm.call(void 0, {
|
|
301
301
|
title: "Include tool outputs?",
|
|
302
302
|
defaultValue: true
|
|
303
303
|
});
|
|
304
|
-
options.includeToc = await
|
|
304
|
+
options.includeToc = await _chunkDMM2BKSVcjs.showConfirm.call(void 0, {
|
|
305
305
|
title: "Include table of contents?",
|
|
306
306
|
defaultValue: false
|
|
307
307
|
});
|
|
308
308
|
}
|
|
309
309
|
const suggestedFilename = getSuggestedFilename(metadata2, format);
|
|
310
|
-
const filename = await
|
|
310
|
+
const filename = await _chunkDMM2BKSVcjs.showInput.call(void 0, {
|
|
311
311
|
title: "Save as:",
|
|
312
312
|
defaultValue: suggestedFilename
|
|
313
313
|
});
|
|
@@ -331,11 +331,11 @@ async function execute(args, context) {
|
|
|
331
331
|
try {
|
|
332
332
|
await saveExport(content, filePath);
|
|
333
333
|
console.log();
|
|
334
|
-
console.log(_chalk2.default.green(
|
|
334
|
+
console.log(_chalk2.default.green(_chunkRJCZLFHEcjs.t.call(void 0, "commands.export.success", { path: filePath })));
|
|
335
335
|
console.log(_chalk2.default.gray(` ${messages.length} messages, ${(Buffer.byteLength(content, "utf8") / 1024).toFixed(1)} KB`));
|
|
336
336
|
console.log();
|
|
337
337
|
} catch (error) {
|
|
338
|
-
console.log(_chalk2.default.red(
|
|
338
|
+
console.log(_chalk2.default.red(_chunkRJCZLFHEcjs.t.call(void 0, "commands.export.failed", { error: error.message })));
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
341
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// src/providers/customProviders.ts
|
|
2
|
+
var CUSTOM_PROVIDER_PREFIX = "custom:";
|
|
3
|
+
function normalizeCustomProviderId(input) {
|
|
4
|
+
return input.trim().toLowerCase().replace(/^custom:/i, "").replace(/[^a-z0-9._-]+/g, "-").replace(/^-+|-+$/g, "");
|
|
5
|
+
}
|
|
6
|
+
function toCustomProviderName(id) {
|
|
7
|
+
return `${CUSTOM_PROVIDER_PREFIX}${normalizeCustomProviderId(id)}`;
|
|
8
|
+
}
|
|
9
|
+
function parseCustomProviderName(provider) {
|
|
10
|
+
if (typeof provider !== "string" || !provider.toLowerCase().startsWith(CUSTOM_PROVIDER_PREFIX)) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const id = normalizeCustomProviderId(provider.slice(CUSTOM_PROVIDER_PREFIX.length));
|
|
14
|
+
return id.length > 0 ? id : null;
|
|
15
|
+
}
|
|
16
|
+
function isCustomProviderName(provider) {
|
|
17
|
+
return parseCustomProviderName(provider) !== null;
|
|
18
|
+
}
|
|
19
|
+
function getCustomProviderConfig(config, provider) {
|
|
20
|
+
const id = parseCustomProviderName(provider);
|
|
21
|
+
if (!id) return void 0;
|
|
22
|
+
const entry = config?.customProviders?.[id];
|
|
23
|
+
if (!entry || entry.disabled === true) return void 0;
|
|
24
|
+
return {
|
|
25
|
+
...entry,
|
|
26
|
+
id
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
normalizeCustomProviderId,
|
|
32
|
+
toCustomProviderName,
|
|
33
|
+
isCustomProviderName,
|
|
34
|
+
getCustomProviderConfig
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* @license
|
|
38
|
+
* Copyright 2025 Autohand AI LLC
|
|
39
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
40
|
+
*/
|
|
@@ -1,21 +1,21 @@
|
|
|
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
|
+
var _chunkQW2RW2GYcjs = require('./chunk-QW2RW2GY.cjs');
|
|
3
4
|
|
|
4
5
|
|
|
5
|
-
var _chunkSVVP4UUZcjs = require('./chunk-SVVP4UUZ.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkR4UKBKDYcjs = require('./chunk-R4UKBKDY.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunk6EIQ6A6Ucjs = require('./chunk-6EIQ6A6U.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkDMM2BKSVcjs = require('./chunk-DMM2BKSV.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
|
|
19
19
|
|
|
20
20
|
// src/commands/skills.ts
|
|
21
21
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
@@ -109,6 +109,8 @@ function generateSkillSuggestion(skillName, description) {
|
|
|
109
109
|
}
|
|
110
110
|
function getSkillSourceLabel(source) {
|
|
111
111
|
switch (source) {
|
|
112
|
+
case "builtin":
|
|
113
|
+
return "Built-in";
|
|
112
114
|
case "autohand-user":
|
|
113
115
|
return "Autohand User";
|
|
114
116
|
case "autohand-project":
|
|
@@ -163,8 +165,8 @@ async function browseInstalledSkills(ctx, registry) {
|
|
|
163
165
|
description: "Open the community skills browser to search and install new skills."
|
|
164
166
|
});
|
|
165
167
|
const initialIndex = Math.max(allSkills.findIndex((skill) => skill.isActive), 0);
|
|
166
|
-
const selected = await withModalPause(ctx, () =>
|
|
167
|
-
title: `\u{1F4DA} ${
|
|
168
|
+
const selected = await withModalPause(ctx, () => _chunkDMM2BKSVcjs.showModal.call(void 0, {
|
|
169
|
+
title: `\u{1F4DA} ${_chunkRJCZLFHEcjs.t.call(void 0, "commands.skills.title")} (${allSkills.length} available, ${activeSkills.length} active)`,
|
|
168
170
|
options,
|
|
169
171
|
initialIndex,
|
|
170
172
|
maxVisible: 12
|
|
@@ -182,10 +184,10 @@ function listSkills(registry) {
|
|
|
182
184
|
const activeSkills = registry.getActiveSkills();
|
|
183
185
|
const lines = [];
|
|
184
186
|
lines.push("");
|
|
185
|
-
lines.push(`\u{1F4DA} ${
|
|
187
|
+
lines.push(`\u{1F4DA} ${_chunkRJCZLFHEcjs.t.call(void 0, "commands.skills.title")}`);
|
|
186
188
|
lines.push("");
|
|
187
189
|
if (allSkills.length === 0) {
|
|
188
|
-
lines.push(
|
|
190
|
+
lines.push(_chunkRJCZLFHEcjs.t.call(void 0, "commands.skills.noSkills"));
|
|
189
191
|
lines.push("");
|
|
190
192
|
lines.push("Get started:");
|
|
191
193
|
lines.push("");
|
|
@@ -204,6 +206,7 @@ function listSkills(registry) {
|
|
|
204
206
|
bySource.set(skill.source, existing);
|
|
205
207
|
}
|
|
206
208
|
const sourceLabels = {
|
|
209
|
+
"builtin": "Built-in Skills",
|
|
207
210
|
"codex-user": "\u{1F4C1} Codex User Skills",
|
|
208
211
|
"claude-user": "\u{1F4C1} Claude User Skills",
|
|
209
212
|
"claude-project": "\u{1F4C1} Project Skills",
|
|
@@ -338,7 +341,7 @@ async function handleSkillsInstall(ctx, skillName) {
|
|
|
338
341
|
if (!workspaceRoot) {
|
|
339
342
|
return "Workspace root not available.";
|
|
340
343
|
}
|
|
341
|
-
const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-
|
|
344
|
+
const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-D7K476SL.cjs")));
|
|
342
345
|
const result = await skillsInstall(
|
|
343
346
|
{
|
|
344
347
|
skillsRegistry,
|
|
@@ -349,19 +352,19 @@ async function handleSkillsInstall(ctx, skillName) {
|
|
|
349
352
|
return _nullishCoalesce(result, () => ( "Skills install completed."));
|
|
350
353
|
}
|
|
351
354
|
async function handleSkillsSearch(ctx, query) {
|
|
352
|
-
const cache = new (0,
|
|
355
|
+
const cache = new (0, _chunk6EIQ6A6Ucjs.CommunitySkillsCache)();
|
|
353
356
|
const fetcher = new (0, _chunkQW2RW2GYcjs.GitHubRegistryFetcher)();
|
|
354
|
-
const registry = await
|
|
357
|
+
const registry = await _chunkR4UKBKDYcjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
|
|
355
358
|
if (!registry) {
|
|
356
359
|
return _chalk2.default.red("Unable to fetch community skills registry. Check your network connection.");
|
|
357
360
|
}
|
|
358
|
-
const client = new (0,
|
|
361
|
+
const client = new (0, _chunkR4UKBKDYcjs.LearnClient)();
|
|
359
362
|
const results = client.search(registry, query);
|
|
360
363
|
if (results.length === 0) {
|
|
361
|
-
return
|
|
364
|
+
return _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.noResults", { query });
|
|
362
365
|
}
|
|
363
366
|
if (ctx.isNonInteractive) {
|
|
364
|
-
const lines = [
|
|
367
|
+
const lines = [_chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.found", { count: String(results.length) })];
|
|
365
368
|
for (const skill2 of results) {
|
|
366
369
|
const stars = skill2.rating ? ` (${skill2.rating.toFixed(1)}/5)` : "";
|
|
367
370
|
lines.push(` ${_chalk2.default.cyan(skill2.name)} - ${skill2.description}${stars}`);
|
|
@@ -372,19 +375,19 @@ async function handleSkillsSearch(ctx, query) {
|
|
|
372
375
|
label: `${s.name} - ${s.description}`,
|
|
373
376
|
value: s.id
|
|
374
377
|
}));
|
|
375
|
-
const selected = await withModalPause(ctx, () =>
|
|
376
|
-
title:
|
|
378
|
+
const selected = await withModalPause(ctx, () => _chunkDMM2BKSVcjs.showModal.call(void 0, {
|
|
379
|
+
title: _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.selectPrompt"),
|
|
377
380
|
options
|
|
378
381
|
}));
|
|
379
382
|
if (!selected) {
|
|
380
|
-
return
|
|
383
|
+
return _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.noResults", { query });
|
|
381
384
|
}
|
|
382
385
|
const skill = results.find((s) => s.id === selected.value);
|
|
383
|
-
if (!skill) return
|
|
386
|
+
if (!skill) return _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.noResults", { query });
|
|
384
387
|
if (!ctx.workspaceRoot) {
|
|
385
388
|
return "Workspace root not available for install.";
|
|
386
389
|
}
|
|
387
|
-
return
|
|
390
|
+
return _chunkR4UKBKDYcjs.installSkillWithSecurity.call(void 0,
|
|
388
391
|
{ skillsRegistry: ctx.skillsRegistry, workspaceRoot: ctx.workspaceRoot, hookManager: ctx.hookManager, isNonInteractive: ctx.isNonInteractive },
|
|
389
392
|
skill,
|
|
390
393
|
cache,
|
|
@@ -392,17 +395,17 @@ async function handleSkillsSearch(ctx, query) {
|
|
|
392
395
|
);
|
|
393
396
|
}
|
|
394
397
|
async function handleSkillsTrending() {
|
|
395
|
-
const cache = new (0,
|
|
398
|
+
const cache = new (0, _chunk6EIQ6A6Ucjs.CommunitySkillsCache)();
|
|
396
399
|
const fetcher = new (0, _chunkQW2RW2GYcjs.GitHubRegistryFetcher)();
|
|
397
|
-
const registry = await
|
|
400
|
+
const registry = await _chunkR4UKBKDYcjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
|
|
398
401
|
if (!registry) {
|
|
399
402
|
return _chalk2.default.red("Unable to fetch community skills registry. Check your network connection.");
|
|
400
403
|
}
|
|
401
|
-
const client = new (0,
|
|
404
|
+
const client = new (0, _chunkR4UKBKDYcjs.LearnClient)();
|
|
402
405
|
const trending = client.trending(registry);
|
|
403
406
|
const lines = [];
|
|
404
407
|
lines.push("");
|
|
405
|
-
lines.push(_chalk2.default.bold(
|
|
408
|
+
lines.push(_chalk2.default.bold(_chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.trendingTitle")));
|
|
406
409
|
lines.push("");
|
|
407
410
|
for (let i = 0; i < trending.length; i++) {
|
|
408
411
|
const skill = trending[i];
|
|
@@ -426,11 +429,11 @@ async function handleSkillsRemove(ctx, slug) {
|
|
|
426
429
|
(s) => _optionalChain([s, 'access', _8 => _8.metadata, 'optionalAccess', _9 => _9["agentskill-slug"]]) === slug || s.name === slug
|
|
427
430
|
);
|
|
428
431
|
if (!target) {
|
|
429
|
-
return
|
|
432
|
+
return _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.removeNotFound", { name: slug });
|
|
430
433
|
}
|
|
431
434
|
if (!ctx.isNonInteractive) {
|
|
432
|
-
const confirmed = await withModalPause(ctx, () =>
|
|
433
|
-
title:
|
|
435
|
+
const confirmed = await withModalPause(ctx, () => _chunkDMM2BKSVcjs.showConfirm.call(void 0, {
|
|
436
|
+
title: _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.confirmRemove", { name: target.name }),
|
|
434
437
|
defaultValue: false
|
|
435
438
|
}));
|
|
436
439
|
if (!confirmed) return null;
|
|
@@ -444,7 +447,7 @@ async function handleSkillsRemove(ctx, slug) {
|
|
|
444
447
|
activationType: "explicit",
|
|
445
448
|
action: "remove"
|
|
446
449
|
});
|
|
447
|
-
return _chalk2.default.green(
|
|
450
|
+
return _chalk2.default.green(_chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.removed", { name: target.name }));
|
|
448
451
|
} catch (err) {
|
|
449
452
|
const msg = err instanceof Error ? err.message : "Unknown error";
|
|
450
453
|
return _chalk2.default.red(`Failed to remove skill: ${msg}`);
|
|
@@ -455,13 +458,13 @@ function handleSkillsFeedback(slug, rating, _comment) {
|
|
|
455
458
|
return "Usage: /skills feedback <skill-slug> <1-5> [comment]";
|
|
456
459
|
}
|
|
457
460
|
if (rating === void 0 || isNaN(rating) || rating < 1 || rating > 5) {
|
|
458
|
-
return
|
|
461
|
+
return _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.feedbackInvalid");
|
|
459
462
|
}
|
|
460
|
-
return
|
|
463
|
+
return _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.feedbackThanks", { name: slug });
|
|
461
464
|
}
|
|
462
465
|
var metadata = {
|
|
463
466
|
command: "/skills",
|
|
464
|
-
description:
|
|
467
|
+
description: "discover and install skills for your project",
|
|
465
468
|
implemented: true,
|
|
466
469
|
subcommands: [
|
|
467
470
|
{ name: "use", description: "Activate a skill" },
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
formatPlanModeToggleMessage,
|
|
10
10
|
getPlanModeManager
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-TWBAU46X.js";
|
|
12
12
|
import {
|
|
13
13
|
safeSetRawMode
|
|
14
14
|
} from "./chunk-BQU3HAE7.js";
|
|
@@ -907,9 +907,7 @@ function parseBase64DataUrl(dataUrl) {
|
|
|
907
907
|
var DEFAULT_BORDER_COLOR = "#8a8a8a";
|
|
908
908
|
var PLAN_BORDER_COLOR = "#ff9d3f";
|
|
909
909
|
var SHELL_BORDER_COLOR = "#000000";
|
|
910
|
-
var SHELL_BOX_BG = "#ffffff";
|
|
911
910
|
var SHELL_BOX_FG = "#000000";
|
|
912
|
-
var FALLBACK_BOX_BG = "#2b2b2b";
|
|
913
911
|
var FALLBACK_BOX_FG = "#a0a0a0";
|
|
914
912
|
var cachedBoxBg = null;
|
|
915
913
|
var cachedBoxFg = null;
|
|
@@ -959,32 +957,6 @@ function hexToAnsiRgb(hex, type) {
|
|
|
959
957
|
const base = type === "fg" ? 38 : 48;
|
|
960
958
|
return `\x1B[${base};2;${rgb.r};${rgb.g};${rgb.b}m`;
|
|
961
959
|
}
|
|
962
|
-
function resolveBoxBg(style = "default") {
|
|
963
|
-
if (style === "shell") {
|
|
964
|
-
if (cachedShellBoxBg !== null) return cachedShellBoxBg;
|
|
965
|
-
const result2 = hexToAnsiRgb(SHELL_BOX_BG, "bg");
|
|
966
|
-
cachedShellBoxBg = result2;
|
|
967
|
-
return result2;
|
|
968
|
-
}
|
|
969
|
-
ensureCacheValid();
|
|
970
|
-
if (cachedBoxBg !== null) return cachedBoxBg;
|
|
971
|
-
if (isThemeInitialized()) {
|
|
972
|
-
try {
|
|
973
|
-
const hex = getTheme().getColor("userMessageBg");
|
|
974
|
-
if (hex) {
|
|
975
|
-
const code = hexToAnsiRgb(hex, "bg");
|
|
976
|
-
if (code) {
|
|
977
|
-
cachedBoxBg = code;
|
|
978
|
-
return code;
|
|
979
|
-
}
|
|
980
|
-
}
|
|
981
|
-
} catch {
|
|
982
|
-
}
|
|
983
|
-
}
|
|
984
|
-
const result = hexToAnsiRgb(FALLBACK_BOX_BG, "bg");
|
|
985
|
-
cachedBoxBg = result;
|
|
986
|
-
return result;
|
|
987
|
-
}
|
|
988
960
|
function resolveBoxFg(style = "default") {
|
|
989
961
|
if (style === "shell") {
|
|
990
962
|
if (cachedShellBoxFg !== null) return cachedShellBoxFg;
|
|
@@ -1039,16 +1011,6 @@ function resolveBorderFg(style) {
|
|
|
1039
1011
|
cachedBorderFg.set(style, result);
|
|
1040
1012
|
return result;
|
|
1041
1013
|
}
|
|
1042
|
-
function drawInputTopBorder(width, style = "default") {
|
|
1043
|
-
const innerWidth = Math.max(0, width - 2);
|
|
1044
|
-
const border = `\u250C${"\u2500".repeat(innerWidth)}\u2510`;
|
|
1045
|
-
return resolveBoxBg(style) + resolveBorderFg(style) + border + RESET_ALL + CLEAR_TO_EOL;
|
|
1046
|
-
}
|
|
1047
|
-
function drawInputBottomBorder(width, style = "default") {
|
|
1048
|
-
const innerWidth = Math.max(0, width - 2);
|
|
1049
|
-
const border = `\u2514${"\u2500".repeat(innerWidth)}\u2518`;
|
|
1050
|
-
return resolveBoxBg(style) + resolveBorderFg(style) + border + RESET_ALL + CLEAR_TO_EOL;
|
|
1051
|
-
}
|
|
1052
1014
|
var ANSI_OR_CHAR_PATTERN = /(?:\u001b\[[0-9;]*m)|[\s\S]/g;
|
|
1053
1015
|
function getVisibleLength(value) {
|
|
1054
1016
|
return stripAnsiCodes(value).length;
|
|
@@ -1075,38 +1037,37 @@ function truncateVisible2(value, maxVisible) {
|
|
|
1075
1037
|
}
|
|
1076
1038
|
var RESET_ALL = "\x1B[0m";
|
|
1077
1039
|
var CLEAR_TO_EOL = "\x1B[K";
|
|
1078
|
-
function
|
|
1079
|
-
|
|
1080
|
-
return text.replace(/\x1b\[0m/g, RESET_ALL + base).replace(/\x1b\[49m/g, bg).replace(/\x1b\[39m/g, fg);
|
|
1040
|
+
function stabilizeOpenLineAnsi(text, fg) {
|
|
1041
|
+
return text.replace(/\x1b\[0m/g, RESET_ALL + fg).replace(/\x1b\[39m/g, fg);
|
|
1081
1042
|
}
|
|
1082
|
-
function
|
|
1043
|
+
function drawOpenInputRule(width, style = "default") {
|
|
1044
|
+
const border = "\u2500".repeat(Math.max(0, width));
|
|
1045
|
+
return resolveBorderFg(style) + border + RESET_ALL + CLEAR_TO_EOL;
|
|
1046
|
+
}
|
|
1047
|
+
function drawOpenInputLine(left, width, right, style = "default") {
|
|
1083
1048
|
const normalizedLeft = style === "shell" ? stripAnsiCodes(left) : left;
|
|
1084
1049
|
const normalizedRight = style === "shell" && right ? stripAnsiCodes(right) : right;
|
|
1085
|
-
const bg = resolveBoxBg(style);
|
|
1086
1050
|
const fg = resolveBoxFg(style);
|
|
1087
|
-
const
|
|
1088
|
-
const
|
|
1089
|
-
const
|
|
1090
|
-
const visLeft = getVisibleLength(
|
|
1091
|
-
const lBorder = borderFg + "\u2502" + fg;
|
|
1092
|
-
const rBorder = borderFg + "\u2502";
|
|
1051
|
+
const base = fg;
|
|
1052
|
+
const lineWidth = Math.max(0, width);
|
|
1053
|
+
const clippedLeft = truncateVisible2(normalizedLeft, lineWidth);
|
|
1054
|
+
const visLeft = getVisibleLength(clippedLeft);
|
|
1093
1055
|
const END = RESET_ALL + CLEAR_TO_EOL;
|
|
1094
1056
|
if (!normalizedRight) {
|
|
1095
|
-
const pad = Math.max(0,
|
|
1096
|
-
return base +
|
|
1057
|
+
const pad = Math.max(0, lineWidth - visLeft);
|
|
1058
|
+
return base + stabilizeOpenLineAnsi(clippedLeft, fg) + " ".repeat(pad) + END;
|
|
1097
1059
|
}
|
|
1098
|
-
const
|
|
1060
|
+
const clippedRight = truncateVisible2(normalizedRight, lineWidth);
|
|
1061
|
+
const visRight = getVisibleLength(clippedRight);
|
|
1099
1062
|
const minGap = 2;
|
|
1100
|
-
const available =
|
|
1063
|
+
const available = lineWidth - visRight - minGap;
|
|
1101
1064
|
if (available <= 0) {
|
|
1102
|
-
|
|
1103
|
-
return base + lBorder + stabilizeBoxAnsi(normalizedLeft, bg, fg) + " ".repeat(pad) + rBorder + END;
|
|
1065
|
+
return base + stabilizeOpenLineAnsi(truncateVisible2(clippedLeft, lineWidth), fg) + END;
|
|
1104
1066
|
}
|
|
1105
|
-
const
|
|
1106
|
-
const
|
|
1107
|
-
const gap = Math.max(
|
|
1108
|
-
|
|
1109
|
-
return base + lBorder + line + rBorder + END;
|
|
1067
|
+
const finalLeft = truncateVisible2(clippedLeft, available);
|
|
1068
|
+
const finalLeftWidth = getVisibleLength(finalLeft);
|
|
1069
|
+
const gap = Math.max(minGap, lineWidth - finalLeftWidth - visRight);
|
|
1070
|
+
return base + stabilizeOpenLineAnsi(finalLeft, fg) + " ".repeat(gap) + stabilizeOpenLineAnsi(clippedRight, fg) + END;
|
|
1110
1071
|
}
|
|
1111
1072
|
|
|
1112
1073
|
// src/ui/textBufferLayout.ts
|
|
@@ -1882,7 +1843,7 @@ var CONTEXTUAL_HELP_ROWS = [
|
|
|
1882
1843
|
{ left: "? toggles this shortcuts panel", right: "shift + tab toggles plan mode" },
|
|
1883
1844
|
{ left: "shift + enter inserts newline", right: "alt + enter inserts newline" },
|
|
1884
1845
|
{ left: "enter submits prompt", right: "ctrl + c clears input / exits" },
|
|
1885
|
-
{ left: "esc interrupts active turn", right: "type /, @, or ! to switch mode" }
|
|
1846
|
+
{ left: "esc interrupts active turn", right: "type /, @, $, or ! to switch mode" }
|
|
1886
1847
|
];
|
|
1887
1848
|
function truncatePlainText(value, width) {
|
|
1888
1849
|
if (width <= 0) {
|
|
@@ -1957,7 +1918,7 @@ function buildPromptHotTips(currentLine, files, slashCommands, workspaceRoot, sk
|
|
|
1957
1918
|
{ label: "Tab -> ! git status" },
|
|
1958
1919
|
defaultFileTip,
|
|
1959
1920
|
{ label: "Type $ for skills" },
|
|
1960
|
-
{ label: "Type /, @, or ! to switch suggestion mode" },
|
|
1921
|
+
{ label: "Type /, @, $, or ! to switch suggestion mode" },
|
|
1961
1922
|
{ label: "Shift+Tab toggles plan mode" }
|
|
1962
1923
|
];
|
|
1963
1924
|
}
|
|
@@ -2077,7 +2038,7 @@ function buildContextualHelpPanelLines(currentLine, width, files, slashCommands,
|
|
|
2077
2038
|
const rightWidth = Math.max(12, panelWidth - leftWidth - gap);
|
|
2078
2039
|
const tips = buildPromptHotTips(currentLine, files, slashCommands, void 0, skillsProvider);
|
|
2079
2040
|
const primaryTip = tips[0]?.label ?? "Tab -> /help";
|
|
2080
|
-
const secondaryTip = tips[1]?.label ?? "Type /, @, or ! to switch suggestion mode";
|
|
2041
|
+
const secondaryTip = tips[1]?.label ?? "Type /, @, $, or ! to switch suggestion mode";
|
|
2081
2042
|
const formatCell = (value, cellWidth) => {
|
|
2082
2043
|
const plain = sanitizeRenderLine(value);
|
|
2083
2044
|
return truncatePlainText(plain, cellWidth).padEnd(cellWidth, " ");
|
|
@@ -2264,7 +2225,7 @@ function renderSegment(rawSegment, cursorPos, width, prefix, showPlaceholder, re
|
|
|
2264
2225
|
} = normalizePromptRenderOptions(renderOptions, legacyInlineGhostSuffix);
|
|
2265
2226
|
const sanitizedLine = sanitizeRenderLine(rawSegment);
|
|
2266
2227
|
const normalizedLine = sanitizedLine.trim().length === 0 ? "" : sanitizedLine;
|
|
2267
|
-
const innerWidth = Math.max(1, width
|
|
2228
|
+
const innerWidth = Math.max(1, width);
|
|
2268
2229
|
const effectiveCursor = Math.max(0, Math.min(normalizedLine.length, cursorPos));
|
|
2269
2230
|
const fullInput = `${prefix}${normalizedLine}`;
|
|
2270
2231
|
const safeGhostSuffix = sanitizeRenderLine(inlineGhostSuffix ?? "");
|
|
@@ -2349,16 +2310,15 @@ function buildPromptRenderState(currentLine, cursorPos, width, options, inlineGh
|
|
|
2349
2310
|
options,
|
|
2350
2311
|
inlineGhostSuffix
|
|
2351
2312
|
);
|
|
2352
|
-
const lineText =
|
|
2353
|
-
const clampedCursor = Math.max(0, Math.min(width - 1, segment.cursorColumn
|
|
2313
|
+
const lineText = drawOpenInputLine(segment.styledText, width);
|
|
2314
|
+
const clampedCursor = Math.max(0, Math.min(width - 1, segment.cursorColumn));
|
|
2354
2315
|
return { lineText, cursorColumn: clampedCursor };
|
|
2355
2316
|
}
|
|
2356
2317
|
function buildMultiLineRenderState(currentLine, cursorPos, width, borderStyle = "default", options, inlineGhostSuffix) {
|
|
2357
2318
|
const renderOptions = normalizePromptRenderOptions(options, inlineGhostSuffix);
|
|
2358
2319
|
const { segments, separatorLengths } = splitMultilineSegments(currentLine);
|
|
2359
|
-
const innerWidth = Math.max(1, width - 2);
|
|
2360
2320
|
const continuationPrefix = " ";
|
|
2361
|
-
const contentWidth = Math.max(1,
|
|
2321
|
+
const contentWidth = Math.max(1, width - continuationPrefix.length);
|
|
2362
2322
|
if (segments.length <= 1) {
|
|
2363
2323
|
const singleSegment = sanitizeRenderLine(segments[0] ?? "");
|
|
2364
2324
|
const singleLayout = calculateLayout([singleSegment], contentWidth);
|
|
@@ -2371,8 +2331,8 @@ function buildMultiLineRenderState(currentLine, cursorPos, width, borderStyle =
|
|
|
2371
2331
|
true,
|
|
2372
2332
|
renderOptions
|
|
2373
2333
|
);
|
|
2374
|
-
const lineText =
|
|
2375
|
-
const clampedCursor = Math.max(0, Math.min(width - 1, seg.cursorColumn
|
|
2334
|
+
const lineText = drawOpenInputLine(seg.styledText, width, void 0, borderStyle);
|
|
2335
|
+
const clampedCursor = Math.max(0, Math.min(width - 1, seg.cursorColumn));
|
|
2376
2336
|
return { lines: [lineText], cursorRow: 0, cursorColumn: clampedCursor, lineCount: 1 };
|
|
2377
2337
|
}
|
|
2378
2338
|
}
|
|
@@ -2385,8 +2345,8 @@ function buildMultiLineRenderState(currentLine, cursorPos, width, borderStyle =
|
|
|
2385
2345
|
true,
|
|
2386
2346
|
renderOptions
|
|
2387
2347
|
);
|
|
2388
|
-
const lineText =
|
|
2389
|
-
const clampedCursor = Math.max(0, Math.min(width - 1, seg.cursorColumn
|
|
2348
|
+
const lineText = drawOpenInputLine(seg.styledText, width, void 0, borderStyle);
|
|
2349
|
+
const clampedCursor = Math.max(0, Math.min(width - 1, seg.cursorColumn));
|
|
2390
2350
|
return { lines: [lineText], cursorRow: 0, cursorColumn: clampedCursor, lineCount: 1 };
|
|
2391
2351
|
}
|
|
2392
2352
|
let cursorRow = 0;
|
|
@@ -2419,14 +2379,14 @@ function buildMultiLineRenderState(currentLine, cursorPos, width, borderStyle =
|
|
|
2419
2379
|
cursorRow = visualRowOffset + wrappedCursorRow;
|
|
2420
2380
|
finalCursorColumn = Math.max(
|
|
2421
2381
|
0,
|
|
2422
|
-
Math.min(width - 1, continuationPrefix.length + wrappedCursorCol
|
|
2382
|
+
Math.min(width - 1, continuationPrefix.length + wrappedCursorCol)
|
|
2423
2383
|
);
|
|
2424
2384
|
}
|
|
2425
2385
|
for (let j = 0; j < wrappedLines.length; j++) {
|
|
2426
2386
|
const prefix = !hasPromptPrefix ? PROMPT_INPUT_PREFIX : continuationPrefix;
|
|
2427
2387
|
const prefixStyled = themedFg("accent", prefix, (value) => chalk2.gray(value));
|
|
2428
2388
|
const styledText = `${prefixStyled}${wrappedLines[j] ?? ""}`;
|
|
2429
|
-
lines.push(
|
|
2389
|
+
lines.push(drawOpenInputLine(styledText, width, void 0, borderStyle));
|
|
2430
2390
|
hasPromptPrefix = true;
|
|
2431
2391
|
overallVisualRow += 1;
|
|
2432
2392
|
}
|
|
@@ -2875,12 +2835,22 @@ async function promptOnce(options) {
|
|
|
2875
2835
|
return applyPlanModePrefix(statusLine ?? "");
|
|
2876
2836
|
};
|
|
2877
2837
|
const getCurrentText = () => textBuffer.getText();
|
|
2838
|
+
const getReadlineCursorOffset = () => {
|
|
2839
|
+
const lines = textBuffer.getLines();
|
|
2840
|
+
const cursorRow = textBuffer.getCursorRow();
|
|
2841
|
+
const cursorCol = textBuffer.getCursorCol();
|
|
2842
|
+
let offset = 0;
|
|
2843
|
+
for (let i = 0; i < cursorRow; i++) {
|
|
2844
|
+
offset += (lines[i] ?? "").length + NEWLINE_MARKER.length;
|
|
2845
|
+
}
|
|
2846
|
+
return offset + cursorCol;
|
|
2847
|
+
};
|
|
2878
2848
|
const syncReadlineFromBuffer = () => {
|
|
2879
2849
|
const rlAny = rl;
|
|
2880
2850
|
const text = textBuffer.getText();
|
|
2881
2851
|
const flat = text.replace(/\n/g, NEWLINE_MARKER);
|
|
2882
2852
|
rlAny.line = flat;
|
|
2883
|
-
rlAny.cursor =
|
|
2853
|
+
rlAny.cursor = getReadlineCursorOffset();
|
|
2884
2854
|
};
|
|
2885
2855
|
const getInlineGhostSuffix = () => {
|
|
2886
2856
|
if (contextualHelpVisible) {
|
|
@@ -3033,7 +3003,7 @@ async function promptOnce(options) {
|
|
|
3033
3003
|
inlineShellSuggestionTimeout = void 0;
|
|
3034
3004
|
}
|
|
3035
3005
|
disableBracketedPaste(stdOutput);
|
|
3036
|
-
stdOutput.write("\x1B[?25h");
|
|
3006
|
+
stdOutput.write("\x1B[0 q\x1B[?25h");
|
|
3037
3007
|
if (contextualHelpVisible) {
|
|
3038
3008
|
contextualHelpVisible = false;
|
|
3039
3009
|
}
|
|
@@ -3744,8 +3714,8 @@ function renderPromptLine(rl, statusLine, output, isResize = false, hasExistingP
|
|
|
3744
3714
|
inlineGhostSuffix
|
|
3745
3715
|
}
|
|
3746
3716
|
);
|
|
3747
|
-
const topBorder =
|
|
3748
|
-
const bottomBorder =
|
|
3717
|
+
const topBorder = drawOpenInputRule(width, borderStyle);
|
|
3718
|
+
const bottomBorder = drawOpenInputRule(width, borderStyle);
|
|
3749
3719
|
const statusRow = formatPromptStatusRow(statusLine, width);
|
|
3750
3720
|
const widthChanged = lastRenderedPromptWidth > 0 && width !== lastRenderedPromptWidth;
|
|
3751
3721
|
const effectiveResize = isResize || widthChanged;
|
|
@@ -3824,7 +3794,7 @@ ${sl}`;
|
|
|
3824
3794
|
const moveUp = PROMPT_LINES_BELOW_INPUT + helpLines.length + STATUS_LINE_COUNT + slashLines.length + (state.lineCount - 1 - state.cursorRow);
|
|
3825
3795
|
readline2.moveCursor(output, 0, -moveUp);
|
|
3826
3796
|
readline2.cursorTo(output, state.cursorColumn);
|
|
3827
|
-
output.write("\x1B[?25h");
|
|
3797
|
+
output.write("\x1B[2 q\x1B[?25h");
|
|
3828
3798
|
lastRenderedContentLines = state.lineCount;
|
|
3829
3799
|
lastRenderedCursorRow = state.cursorRow;
|
|
3830
3800
|
lastRenderedPromptWidth = width;
|
|
@@ -3836,9 +3806,8 @@ export {
|
|
|
3836
3806
|
buildFileMentionSuggestions,
|
|
3837
3807
|
buildSkillMentionSuggestions,
|
|
3838
3808
|
ImageManager,
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
drawInputBox,
|
|
3809
|
+
drawOpenInputRule,
|
|
3810
|
+
drawOpenInputLine,
|
|
3842
3811
|
TextBuffer,
|
|
3843
3812
|
handleTextBufferKey,
|
|
3844
3813
|
promptNotify,
|