autohand-cli 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +173 -74
- package/dist/AgentRegistry-EGBDIUAK.cjs +10 -0
- package/dist/{AgentRegistry-7LDL5HJH.js → AgentRegistry-XPWSVO3Q.js} +3 -3
- package/dist/{AutomodeManager-MWLKGPZK.js → AutomodeManager-APLLPEYJ.js} +32 -18
- package/dist/{AutomodeManager-NYIZNODK.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
- package/dist/CommunitySkillsCache-2OIUV227.cjs +8 -0
- package/dist/CommunitySkillsCache-ZEQWP6YM.js +8 -0
- package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
- package/dist/{GitHubRegistryFetcher-6JQ5JEDZ.js → GitHubRegistryFetcher-J2BWPXJF.js} +2 -2
- package/dist/HookManager-CWLTFKWO.js +7 -0
- package/dist/HookManager-TMAJQU4S.cjs +7 -0
- package/dist/{ImportWizard-35YBJ4AM.cjs → ImportWizard-MQXEED2U.cjs} +41 -17
- package/dist/{ImportWizard-XH7CINCH.js → ImportWizard-QBKQEXDW.js} +35 -11
- package/dist/LearnAdvisor-46FG2XIP.js +9 -0
- package/dist/LearnAdvisor-XBRDNAGH.cjs +9 -0
- package/dist/McpClientManager-BNSKLHIN.cjs +8 -0
- package/dist/{McpClientManager-7RM6YT35.js → McpClientManager-SL35BR24.js} +2 -2
- package/dist/MemoryManager-34L4YOKA.cjs +8 -0
- package/dist/MemoryManager-WJMLPWGU.js +8 -0
- package/dist/NVIDIAProvider-2HR737UE.js +14 -0
- package/dist/NVIDIAProvider-MVTL62PR.cjs +14 -0
- package/dist/PermissionManager-5OOJ7FAT.cjs +11 -0
- package/dist/{PermissionManager-ATUV34LQ.js → PermissionManager-KMYILJ4Z.js} +4 -4
- package/dist/{ProjectProfiler-ZDWR2ODG.cjs → ProjectProfiler-CDAE7ECW.cjs} +2 -1
- package/dist/{ProjectProfiler-UMJJSOCE.js → ProjectProfiler-NZTJDRHD.js} +2 -1
- package/dist/ProviderFactory-C3YPXTDD.cjs +11 -0
- package/dist/ProviderFactory-HFPRVQ25.js +11 -0
- package/dist/SessionManager-PNBTJJTQ.js +10 -0
- package/dist/SessionManager-WAPTFMDO.cjs +10 -0
- package/dist/SkillsRegistry-4RRD5GMX.js +9 -0
- package/dist/SkillsRegistry-7AJP74GJ.cjs +9 -0
- package/dist/SubAgent-FDIH3DXB.js +11 -0
- package/dist/SubAgent-HVL2ICVZ.cjs +11 -0
- package/dist/{SyncApiClient-LVIO4C2S.js → SyncApiClient-LRPFNCKJ.js} +2 -2
- package/dist/SyncApiClient-VMBOLQ6H.cjs +11 -0
- package/dist/about-BW3PDZUU.js +14 -0
- package/dist/about-FCAX37YC.cjs +14 -0
- package/dist/acp-EOETGAHC.cjs +1517 -0
- package/dist/acp-VHEL7BOW.js +1517 -0
- package/dist/actionExecutor-33I47NZS.js +24 -0
- package/dist/actionExecutor-4YBMR3YH.cjs +24 -0
- package/dist/add-dir-7SS6KSH5.cjs +11 -0
- package/dist/add-dir-VFX7QT4E.js +11 -0
- package/dist/agent-DMRUFU4M.cjs +116 -0
- package/dist/agent-WCJEYQJT.js +116 -0
- package/dist/agents/builtin/code-cleaner.md +1 -1
- package/dist/agents/builtin/docs-writer.md +1 -1
- package/dist/agents/builtin/researcher.md +2 -2
- package/dist/agents/builtin/reviewer.md +1 -1
- package/dist/agents/builtin/tester.md +1 -1
- package/dist/agents/builtin/todo-resolver.md +1 -1
- package/dist/agents-CHROO3VU.cjs +17 -0
- package/dist/agents-UVDUL65K.js +17 -0
- package/dist/agents-new-AUBWSOXP.js +17 -0
- package/dist/agents-new-Y562WC47.cjs +17 -0
- package/dist/{autoSkill-6TGBTEQD.js → autoSkill-EFMK6WU6.js} +3 -3
- package/dist/autoSkill-YOLLFTP2.cjs +20 -0
- package/dist/automode-BMYSRM34.js +10 -0
- package/dist/automode-DBLKTTKD.cjs +10 -0
- package/dist/browserToolBridge-BXRQB4B4.cjs +58 -0
- package/dist/browserToolBridge-F5N66PE7.js +58 -0
- package/dist/{cc-7LEIJ3KF.js → cc-AYEP2CA3.js} +1 -1
- package/dist/{cc-Q5MM4AWC.cjs → cc-S2QLQFBR.cjs} +1 -1
- package/dist/chrome-ATC4OO5I.cjs +20 -0
- package/dist/chrome-NHJ44WUN.js +50 -0
- package/dist/chrome-O62WXV7F.js +20 -0
- package/dist/chrome-XHJLCO4M.cjs +50 -0
- package/dist/chromeSkill-53TH55PM.js +105 -0
- package/dist/chromeSkill-THW7N4IY.cjs +105 -0
- package/dist/{chunk-HOAHWIQ5.cjs → chunk-2CGE7ZV3.cjs} +26 -26
- package/dist/chunk-2H5O745H.js +63 -0
- package/dist/chunk-2HOLOHVK.js +2219 -0
- package/dist/{chunk-3PDTTAKJ.js → chunk-2QL6MNXG.js} +15 -8
- package/dist/{chunk-PGRH5Q77.cjs → chunk-2VHB43IX.cjs} +35 -6
- package/dist/{chunk-VG34MG2U.js → chunk-37M5UM6I.js} +9 -6
- package/dist/{chunk-6HYLHBQG.cjs → chunk-3DDL2E55.cjs} +20 -16
- package/dist/chunk-3EDDDZS2.cjs +5 -0
- package/dist/{chunk-6OYHF6MF.js → chunk-3GUEUCZK.js} +28 -4
- package/dist/{chunk-N254NRHT.cjs → chunk-3HT76LNN.cjs} +9 -2
- package/dist/{chunk-DVUHHH3B.cjs → chunk-3KLSNNRW.cjs} +4 -4
- package/dist/chunk-3LJJG5YY.cjs +387 -0
- package/dist/chunk-3OF56EMA.cjs +197 -0
- package/dist/chunk-3PXKRVCW.js +108 -0
- package/dist/{chunk-IKGWDOGU.cjs → chunk-3S563FNF.cjs} +160 -79
- package/dist/chunk-3UT7R3XV.js +663 -0
- package/dist/chunk-4256YRCO.cjs +80 -0
- package/dist/chunk-46C73ZKK.cjs +663 -0
- package/dist/chunk-46MTALKD.js +44 -0
- package/dist/{chunk-AEJH23FO.cjs → chunk-47PHDKNW.cjs} +6 -6
- package/dist/chunk-4LMUDS2K.js +124 -0
- package/dist/{chunk-HLHTG5ZU.cjs → chunk-5CMYEM3R.cjs} +14 -12
- package/dist/{chunk-MBBY4ZIK.js → chunk-5F6ZKSHO.js} +4 -1
- package/dist/chunk-5JFTY3VU.js +74 -0
- package/dist/chunk-5JTTM5SC.js +59 -0
- package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
- package/dist/{chunk-GJH7XMSK.js → chunk-5VHP6HDQ.js} +8 -6
- package/dist/{chunk-6ZCULLCA.js → chunk-62RTC3XX.js} +1 -1
- package/dist/{chunk-MSED7RH2.cjs → chunk-6GUODJKM.cjs} +112 -41
- package/dist/{chunk-47CKWKEX.cjs → chunk-6HH236FV.cjs} +9 -4
- package/dist/{chunk-WHE2SWHU.js → chunk-6NVAK6CK.js} +2 -2
- package/dist/chunk-6R25D2H5.js +121 -0
- package/dist/{chunk-3PCTTUNW.cjs → chunk-6XVVIY54.cjs} +55 -25
- package/dist/{chunk-3L53OA4E.cjs → chunk-75EDROHL.cjs} +10 -10
- package/dist/{chunk-G4CAKI3V.js → chunk-7HPWMALN.js} +7 -2
- package/dist/chunk-7JLT2VNW.cjs +18963 -0
- package/dist/chunk-7LWQCE4Y.cjs +987 -0
- package/dist/{chunk-OLSBBZW6.cjs → chunk-7MU7LWF3.cjs} +5 -5
- package/dist/{chunk-HLQV64Y5.js → chunk-7RFJB75Y.js} +140 -59
- package/dist/{chunk-X2MSVKDV.js → chunk-A7HHCIDQ.js} +2 -2
- package/dist/{chunk-SKYG33B2.cjs → chunk-AC7DZ6SK.cjs} +3 -3
- package/dist/{chunk-XX2ZO7DS.js → chunk-ACDQGA4Z.js} +90 -16
- package/dist/{chunk-CZXGCVTR.cjs → chunk-AOKCI722.cjs} +2 -2
- package/dist/chunk-ARBEHFCG.js +715 -0
- package/dist/{chunk-OOKY3HPZ.js → chunk-AT7OWLY5.js} +50 -9
- package/dist/chunk-AU6JAGZJ.cjs +231 -0
- package/dist/chunk-AUFNACED.js +18963 -0
- package/dist/{chunk-CDBPBM2K.cjs → chunk-AUYSIEVV.cjs} +3 -3
- package/dist/chunk-B4HSNOIH.cjs +354 -0
- package/dist/{chunk-EGMZDTSL.js → chunk-B5CGDNMR.js} +10 -2
- package/dist/{chunk-34M3HWLR.js → chunk-BFQDQRDE.js} +2 -2
- package/dist/{chunk-2AA5MFES.js → chunk-BL2UC7HC.js} +8 -5
- package/dist/{chunk-LNMYK2F5.cjs → chunk-BQ22N3TX.cjs} +56 -41
- package/dist/chunk-BQU3HAE7.js +21 -0
- package/dist/chunk-BWF4VDYE.js +3897 -0
- package/dist/chunk-BYE7RQFZ.cjs +121 -0
- package/dist/{chunk-APIXPPMT.js → chunk-CBFH2J3O.js} +855 -33
- package/dist/chunk-CCVMREXI.js +420 -0
- package/dist/chunk-CFAWTLSC.js +13 -0
- package/dist/{chunk-G27PQQFD.js → chunk-CFFE4VA3.js} +1 -1
- package/dist/{chunk-ZYQMLKOK.cjs → chunk-CH2J4PVE.cjs} +212 -70
- package/dist/{chunk-7BTSG4ME.cjs → chunk-CHI52KFR.cjs} +855 -33
- package/dist/{chunk-DJDE4DTT.cjs → chunk-CWINVFRI.cjs} +25 -19
- package/dist/{chunk-HXGBSJL5.cjs → chunk-D2OSPLYC.cjs} +2 -2
- package/dist/{chunk-GBHDROGL.js → chunk-D6GZBSOX.js} +16 -4
- package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
- package/dist/chunk-DEQVRSV5.cjs +866 -0
- package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
- package/dist/{chunk-WM5PAOTQ.cjs → chunk-DIZTWFVR.cjs} +1649 -484
- package/dist/{chunk-YZXUDM5X.js → chunk-DLP436GI.js} +204 -62
- package/dist/{chunk-OHUZKDGX.js → chunk-DMRXF5DU.js} +3 -3
- package/dist/{chunk-U46VYPLR.cjs → chunk-DPSIGY6L.cjs} +9 -9
- package/dist/{chunk-DN573ME7.cjs → chunk-DRWDEHE5.cjs} +4 -4
- package/dist/{chunk-SEKD5FH3.cjs → chunk-E26KKI46.cjs} +5 -2
- package/dist/{chunk-J4Q7XR3G.js → chunk-E46DJH5S.js} +3 -3
- package/dist/{chunk-Q7XSCYND.cjs → chunk-E6GFD7VR.cjs} +49 -26
- package/dist/chunk-ES2HJQ4N.js +37 -0
- package/dist/chunk-EZJHLOWP.js +80 -0
- package/dist/chunk-FFBDRUO5.cjs +59 -0
- package/dist/{chunk-AYSFIUFW.js → chunk-FGT6KK6T.js} +38 -15
- package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
- package/dist/{chunk-DSPQEHDT.js → chunk-FQAVGSPW.js} +2 -2
- package/dist/chunk-FQVG6ZHF.js +197 -0
- package/dist/chunk-GBMDFWJX.cjs +152 -0
- package/dist/{chunk-DRE2RXBZ.js → chunk-GGLKUENP.js} +1605 -440
- package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
- package/dist/{chunk-MYISNQH4.js → chunk-GWO66KBI.js} +1 -1
- package/dist/chunk-GWY26SUD.cjs +63 -0
- package/dist/{chunk-YGN4CQIP.js → chunk-GZ6DV2UG.js} +1 -1
- package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
- package/dist/chunk-HDK2EHVH.cjs +570 -0
- package/dist/chunk-HJIXWGQZ.js +139 -0
- package/dist/{chunk-6RF7UKUS.js → chunk-HKYZSUQ5.js} +48 -47
- package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
- package/dist/{chunk-HTLINWX6.cjs → chunk-HQWQZML5.cjs} +16 -13
- package/dist/{chunk-DVZOENQ7.cjs → chunk-HS4USDND.cjs} +9 -4
- package/dist/chunk-HSCUPEA4.cjs +3897 -0
- package/dist/{chunk-JCLYQ2JC.js → chunk-HXJEGMGB.js} +12 -6
- package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
- package/dist/{chunk-SCXX4LW5.js → chunk-I24CWKKK.js} +15 -8
- package/dist/chunk-IAGCRVJ3.js +355 -0
- package/dist/chunk-IEXKKKOF.cjs +92 -0
- package/dist/{chunk-5IXII4HX.cjs → chunk-IGMPWJ2I.cjs} +19 -12
- package/dist/chunk-IKUMVBCW.cjs +33 -0
- package/dist/{chunk-XTB6VJVQ.cjs → chunk-J2K57QM7.cjs} +6 -6
- package/dist/{chunk-O4IF4NJT.cjs → chunk-J5ADZN6V.cjs} +57 -56
- package/dist/chunk-J5HE6CUM.cjs +124 -0
- package/dist/{chunk-JS7IPR7P.js → chunk-JAQO6XDB.js} +31 -2
- package/dist/chunk-JIMSII7R.js +987 -0
- package/dist/chunk-JJ4KA7HK.cjs +2219 -0
- package/dist/chunk-JMN3GZU6.js +570 -0
- package/dist/{chunk-X5VSP65C.cjs → chunk-JP3YHTQ2.cjs} +4 -4
- package/dist/{chunk-SKV2F3NM.js → chunk-JYKPWK5O.js} +1 -1
- package/dist/{chunk-NNPAM4HC.cjs → chunk-KNTUI4TZ.cjs} +12 -6
- package/dist/{chunk-HIVRCQS2.js → chunk-L4F7SUYL.js} +56 -25
- package/dist/{chunk-C5IJIM2V.cjs → chunk-LDJQ5QHG.cjs} +68 -37
- package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
- package/dist/chunk-LJD7KR3L.cjs +44 -0
- package/dist/chunk-LN7D3EJZ.js +387 -0
- package/dist/{chunk-643VRA5S.cjs → chunk-LQBONA55.cjs} +32 -8
- package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
- package/dist/chunk-M4KNC5BQ.js +78 -0
- package/dist/chunk-MO4KP6XS.cjs +229 -0
- package/dist/{chunk-BVKXEQVG.cjs → chunk-MOJ7ADW4.cjs} +22 -10
- package/dist/chunk-MPULXVC4.cjs +715 -0
- package/dist/{chunk-X5YJ34FZ.cjs → chunk-MQESBFBZ.cjs} +46 -23
- package/dist/chunk-MUNUUFU7.cjs +21 -0
- package/dist/{chunk-X3WS5LDG.js → chunk-MX75JYIY.js} +7 -5
- package/dist/chunk-MXVIDIC6.cjs +139 -0
- package/dist/{chunk-3K2ESU53.cjs → chunk-N6O3XUZ2.cjs} +2 -2
- package/dist/{chunk-IVM5F2AE.js → chunk-NBGOIFKP.js} +265 -18
- package/dist/{chunk-SLQAYV3W.js → chunk-NMQ47RCG.js} +8 -2
- package/dist/{chunk-JYTDYJVW.js → chunk-O64I2GYI.js} +1 -1
- package/dist/{chunk-IFFXSTOM.cjs → chunk-O6TQP7U7.cjs} +3 -3
- package/dist/{chunk-AYS2ASM7.js → chunk-OHWMWKJQ.js} +1 -1
- package/dist/{chunk-N23UAW4I.js → chunk-OM24WXEE.js} +7 -2
- package/dist/{chunk-MAKMSQMQ.cjs → chunk-OPNI6O7F.cjs} +8 -6
- package/dist/chunk-OR67YXQK.cjs +13 -0
- package/dist/{chunk-QOXPOR5D.js → chunk-OV3PVUYN.js} +115 -44
- package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
- package/dist/chunk-PCM3N3CL.cjs +37 -0
- package/dist/{chunk-A4IJHHV7.cjs → chunk-PDHT7LQS.cjs} +52 -11
- package/dist/{chunk-LA7H35XM.cjs → chunk-PHJO5YAL.cjs} +9 -9
- package/dist/{chunk-KPELYZ6L.js → chunk-PQLKJCIE.js} +2 -2
- package/dist/chunk-PUD76XQT.cjs +78 -0
- package/dist/chunk-Q2IL4DDI.cjs +355 -0
- package/dist/{chunk-WPVWQSL7.cjs → chunk-Q6AC3PHY.cjs} +16 -13
- package/dist/{chunk-XRZEUWKF.js → chunk-QCHIDZBA.js} +1 -1
- package/dist/{chunk-IQ5RXU6O.js → chunk-QEGOB6QV.js} +1 -1
- package/dist/{chunk-JSBRDJBE.js → chunk-QGM4M3NI.js} +8 -1
- package/dist/chunk-QKP772OZ.js +4291 -0
- package/dist/chunk-QQ7PANOP.js +59 -0
- package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
- package/dist/chunk-RAKO7UN7.js +114 -0
- package/dist/chunk-RBHANOYY.js +33 -0
- package/dist/chunk-RBZ7AFX7.cjs +29 -0
- package/dist/{chunk-TXSDBGKX.cjs → chunk-REMGR23V.cjs} +46 -49
- package/dist/chunk-ROLA6EFO.cjs +85 -0
- package/dist/{chunk-TBEGGJNC.cjs → chunk-SOLBYSLY.cjs} +33 -16
- package/dist/{chunk-FKSDEWDH.js → chunk-SWCQM52V.js} +68 -25
- package/dist/{chunk-H5SWOLG6.js → chunk-TBOLJDUG.js} +39 -24
- package/dist/chunk-TH26BQJG.js +101 -0
- package/dist/{chunk-245KJE5Y.cjs → chunk-TJNBASFD.cjs} +14 -6
- package/dist/chunk-TKKN34TV.js +229 -0
- package/dist/chunk-TQ33WBY5.cjs +74 -0
- package/dist/{chunk-EGFT4PGW.js → chunk-TWQDAUZU.js} +5 -2
- package/dist/{chunk-OGV4WJ5L.cjs → chunk-TXPSTCG7.cjs} +74 -59
- package/dist/{chunk-CAMZTXV6.js → chunk-U4C3HW6P.js} +67 -52
- package/dist/{chunk-5P2NXKP3.js → chunk-UEIXJG45.js} +104 -76
- package/dist/{chunk-22D2CNTP.cjs → chunk-UGFVM77J.cjs} +5 -2
- package/dist/chunk-UOQECODR.js +34 -0
- package/dist/chunk-UR27UDTB.js +354 -0
- package/dist/chunk-UWFG2R2I.cjs +420 -0
- package/dist/{chunk-Y72HH2TF.cjs → chunk-UXLW45ZE.cjs} +102 -28
- package/dist/{chunk-FPHU2ES6.cjs → chunk-VBOFPU5M.cjs} +6 -0
- package/dist/{chunk-JX3DFKBI.js → chunk-VDWJMWDF.js} +54 -24
- package/dist/{chunk-LENHP55G.cjs → chunk-VGEV44V2.cjs} +1076 -158
- package/dist/{chunk-33RSHBDH.js → chunk-VKBIE6I6.js} +38 -7
- package/dist/{chunk-CWMZKFTT.js → chunk-VRMZO6TB.js} +31 -8
- package/dist/chunk-VUGOOGHB.js +400 -0
- package/dist/chunk-WBU4Q4GS.cjs +400 -0
- package/dist/chunk-WGLBC5AY.cjs +59 -0
- package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
- package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
- package/dist/chunk-WRTXCQ3V.cjs +4291 -0
- package/dist/chunk-WTB7AFL6.cjs +101 -0
- package/dist/{chunk-NDMIPTV4.js → chunk-WZV6UVPY.js} +8 -3
- package/dist/chunk-XF2WIKHR.cjs +34 -0
- package/dist/{chunk-L3WAH3EM.cjs → chunk-XGMI6IYB.cjs} +46 -15
- package/dist/{chunk-FW774QXH.js → chunk-XIVFAD2L.js} +1048 -130
- package/dist/chunk-XV2HXRHX.js +85 -0
- package/dist/{chunk-72FKPBT5.js → chunk-Y3M2DABP.js} +16 -12
- package/dist/{chunk-QNGEW5TC.js → chunk-YV63VW4K.js} +1 -1
- package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
- package/dist/{chunk-RD5XAJR2.cjs → chunk-YWTIXHU6.cjs} +266 -19
- package/dist/chunk-YZWE7XSM.js +5 -0
- package/dist/{chunk-I5IW3T2Y.js → chunk-Z3XSSF7B.js} +32 -15
- package/dist/{chunk-6UJMCWRY.js → chunk-Z4LIPMPM.js} +6 -0
- package/dist/chunk-ZASDSY7P.cjs +114 -0
- package/dist/{chunk-R33VKSH5.cjs → chunk-ZHJ7JGME.cjs} +11 -11
- package/dist/chunk-ZPD2AO3U.js +866 -0
- package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
- package/dist/chunk-ZR46OJNZ.js +152 -0
- package/dist/{chunk-G3V4SFET.cjs → chunk-ZZ63NW7A.cjs} +78 -35
- package/dist/clear-33TWQ2ES.cjs +12 -0
- package/dist/clear-OFLFQ3MR.js +12 -0
- package/dist/{communityInstaller-6KCFN7YZ.js → communityInstaller-COB2KTOW.js} +9 -6
- package/dist/communityInstaller-TWMGPSYM.cjs +22 -0
- package/dist/completion-IIZMHXYP.cjs +17 -0
- package/dist/completion-PT4VM2H2.js +17 -0
- package/dist/config-KL6WU7R2.cjs +20 -0
- package/dist/{config-ZN66VXPS.js → config-R4O7GBTY.js} +7 -5
- package/dist/{constants-UFM5B232.js → constants-HVCHVQAF.js} +2 -2
- package/dist/constants-RLMJ5D5P.cjs +21 -0
- package/dist/{defaultHooks-RCXPHF4M.cjs → defaultHooks-2V2CQL63.cjs} +26 -11
- package/dist/{defaultHooks-RDRMER3Z.js → defaultHooks-TMHDU3FS.js} +26 -11
- package/dist/export-3PK3VFCE.js +15 -0
- package/dist/export-WLGNWEMJ.cjs +15 -0
- package/dist/{extractSessionMemories-V7K42ZHW.js → extractSessionMemories-A2JX5WJ2.js} +1 -1
- package/dist/{extractSessionMemories-SDW2MVBQ.cjs → extractSessionMemories-XL3MS37F.cjs} +1 -1
- package/dist/feedback-G635NCLJ.js +18 -0
- package/dist/feedback-LLMK3TZH.cjs +18 -0
- package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
- package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
- package/dist/filesystem-L6DQKGWK.js +11 -0
- package/dist/filesystem-PGUPCMVK.cjs +11 -0
- package/dist/{formatters-6K7QVWQL.cjs → formatters-53XTCNGQ.cjs} +1 -1
- package/dist/{formatters-DQHO5I36.js → formatters-T6KV4BPP.js} +1 -1
- package/dist/help-BAXLP2M2.cjs +12 -0
- package/dist/{help-2BLR7L43.js → help-X3OAZ3CY.js} +3 -3
- package/dist/history-6HOJSEMT.cjs +14 -0
- package/dist/{history-5FZ3M2AK.js → history-YKFPHBJN.js} +3 -3
- package/dist/hooks-7TA4PIIB.js +18 -0
- package/dist/hooks-XVFU67T2.cjs +18 -0
- package/dist/{i18n-K7QOWIBH.js → i18n-2KBUU7XL.js} +2 -2
- package/dist/i18n-MUJMKTFM.cjs +33 -0
- package/dist/ide-CCQ33PGC.cjs +15 -0
- package/dist/ide-VLVFBZ5F.js +15 -0
- package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
- package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
- package/dist/{import-UXM3VK7B.js → import-4CHYLS4K.js} +4 -4
- package/dist/{import-QEME3E4T.cjs → import-I7T4ZHYL.cjs} +4 -4
- package/dist/import-J46F54JY.cjs +10 -0
- package/dist/import-JWPYKXCZ.js +10 -0
- package/dist/index.cjs +747 -22356
- package/dist/index.d.cts +93 -0
- package/dist/index.d.ts +93 -0
- package/dist/index.js +786 -22395
- package/dist/init-262MWZV4.js +10 -0
- package/dist/init-EE5Y7RBL.cjs +10 -0
- package/dist/inkMode-VUE6ZDLD.cjs +7 -0
- package/dist/inkMode-WBNFOSAT.js +7 -0
- package/dist/inputPrompt-IIFKCX5Q.cjs +90 -0
- package/dist/inputPrompt-YGBHDUEP.js +90 -0
- package/dist/language-CVLPB7OV.js +21 -0
- package/dist/language-ZTWFHUSV.cjs +21 -0
- package/dist/learn-PON7I5QS.js +23 -0
- package/dist/learn-XLRSVNA3.cjs +23 -0
- package/dist/{lint-D5UOJWIK.cjs → lint-4NDGCSCL.cjs} +1 -1
- package/dist/{lint-NJPZWVN2.js → lint-FZ7ZJUB3.js} +1 -1
- package/dist/login-223QTGBG.cjs +26 -0
- package/dist/login-6IKTBUBY.js +26 -0
- package/dist/logout-RN2AG6SI.js +23 -0
- package/dist/logout-U3M4FFX7.cjs +23 -0
- package/dist/mcp-5O6PUL4G.js +20 -0
- package/dist/mcp-NUQ76QQB.cjs +20 -0
- package/dist/{mcp-install-VESN42PI.js → mcp-install-6XWXLFVY.js} +18 -11
- package/dist/{mcp-install-G27HSS3Z.cjs → mcp-install-P6DHES7V.cjs} +22 -15
- package/dist/memory-CYMDQ2YC.cjs +10 -0
- package/dist/memory-Q54CESNM.js +10 -0
- package/dist/{message-ZJ5AYAMT.cjs → message-4OKO775J.cjs} +1 -1
- package/dist/{message-JUBOK2VU.js → message-X3LOAAM7.js} +1 -1
- package/dist/model-6AJ77PJG.js +10 -0
- package/dist/model-IDRCKDML.cjs +10 -0
- package/dist/new-7LEWOUF2.cjs +12 -0
- package/dist/new-ZXHEWC2S.js +12 -0
- package/dist/onboarding-FXX7YHSJ.cjs +35 -0
- package/dist/onboarding-JYNMK6NI.js +35 -0
- package/dist/{patch-MOD7QC3D.cjs → patch-DJ2GPFST.cjs} +1 -1
- package/dist/{patch-5F6VBIT3.js → patch-NIJWIRHS.js} +1 -1
- package/dist/permissions-YBNSANIA.cjs +10 -0
- package/dist/permissions-YHJMVA6L.js +10 -0
- package/dist/plan-XEJMOT55.cjs +13 -0
- package/dist/plan-YYUAXPTL.js +13 -0
- package/dist/pr-review-CW6J7P62.cjs +9 -0
- package/dist/pr-review-YZSBQVT2.js +9 -0
- package/dist/quit-B43SJ6E4.cjs +10 -0
- package/dist/quit-GWTNHQSP.js +10 -0
- package/dist/rawMode-6W5AXAKI.cjs +7 -0
- package/dist/rawMode-GFNLXQPU.js +7 -0
- package/dist/{registry-KWZGYJC2.js → registry-34GL6BNJ.js} +30 -45
- package/dist/{registry-YN4FQPOO.cjs → registry-V24W7YK6.cjs} +66 -81
- package/dist/repeat-P4FAPE3Y.cjs +17 -0
- package/dist/repeat-RALE6AUO.js +17 -0
- package/dist/resume-DYVOQN5L.cjs +16 -0
- package/dist/resume-M25UQKOX.js +16 -0
- package/dist/review-QHP2KP4Q.js +9 -0
- package/dist/review-UWHWQHCB.cjs +9 -0
- package/dist/ripgrep-67SCU2BA.cjs +9 -0
- package/dist/ripgrep-VHJQQ55W.js +9 -0
- package/dist/rpc-NPS3PU4O.cjs +3730 -0
- package/dist/rpc-S3DGW6KV.js +3730 -0
- package/dist/search-CPX4PWHP.js +20 -0
- package/dist/search-VUF3M4N3.cjs +20 -0
- package/dist/{session-BSU2L5UI.cjs → session-LXKC4X5Q.cjs} +1 -1
- package/dist/{session-SZMRN5KG.js → session-NMMO4QOL.js} +1 -1
- package/dist/sessions-IYAXMK23.js +10 -0
- package/dist/sessions-JODKER5D.cjs +10 -0
- package/dist/settings-55BNW6BF.js +33 -0
- package/dist/settings-BKTS7OMC.cjs +33 -0
- package/dist/setup-IRC5HQG2.js +29 -0
- package/dist/setup-MMQ7TWOP.cjs +29 -0
- package/dist/share-6JRQECAH.cjs +17 -0
- package/dist/share-YM5MJKMO.js +17 -0
- package/dist/{skills-FYY6F2WV.cjs → skills-GGMZOVIE.cjs} +14 -11
- package/dist/skills-LWSOKOSH.cjs +29 -0
- package/dist/{skills-6OL4OSGA.js → skills-MVIZNHT4.js} +13 -10
- package/dist/skills-VWOMV3CR.js +29 -0
- package/dist/{skills-install-6CSWC24P.js → skills-install-QBA5RCV6.js} +22 -71
- package/dist/{skills-install-O3LZ2ETC.cjs → skills-install-VTAMCNNY.cjs} +35 -84
- package/dist/skills-new-GPL46YV2.js +18 -0
- package/dist/skills-new-L5BEZN5V.cjs +18 -0
- package/dist/slashCommands-FBPCIWM5.cjs +95 -0
- package/dist/slashCommands-FCWY5DXW.js +95 -0
- package/dist/status-3B5SDZPL.js +17 -0
- package/dist/status-TTGRF6NC.cjs +17 -0
- package/dist/summarizer-DGPHE5IQ.js +17 -0
- package/dist/summarizer-JNXLUAQG.cjs +17 -0
- package/dist/sync-77CXVVTK.cjs +21 -0
- package/dist/{sync-KWX67OUN.js → sync-7BILIQHP.js} +4 -4
- package/dist/sync-7OKF6636.js +21 -0
- package/dist/sync-EH4K5U3N.cjs +40 -0
- package/dist/{tasks-5FPBIFLC.js → tasks-R5MBGAQ6.js} +1 -1
- package/dist/{tasks-TXGKGNH6.cjs → tasks-V4WB3MFR.cjs} +1 -1
- package/dist/{team-5YXP3JGR.js → team-JESCHGWB.js} +1 -1
- package/dist/{team-IIWEZKNR.cjs → team-VQQKWGZB.cjs} +1 -1
- package/dist/{teammate-L6EZQ3I2.js → teammate-GZQSCIMS.js} +29 -8
- package/dist/{teammate-2KMKJXAM.cjs → teammate-J6PHGL23.cjs} +30 -9
- package/dist/theme-64BYGJ57.cjs +21 -0
- package/dist/theme-YJE6HEON.js +21 -0
- package/dist/tools-3PPTTKFV.js +9 -0
- package/dist/tools-THIQA7WC.cjs +9 -0
- package/dist/ui/questionModal.cjs +9 -6
- package/dist/ui/questionModal.js +8 -5
- package/dist/undo-PRTEGL2J.cjs +10 -0
- package/dist/undo-SZEHLX7X.js +10 -0
- package/dist/{update-TVAJMMBC.js → update-53WMKYVS.js} +1 -1
- package/dist/{update-Z6BIIQDC.cjs → update-NV6QRYY7.cjs} +1 -1
- package/dist/web-3BA2WV37.cjs +37 -0
- package/dist/web-6FYGBX5K.js +37 -0
- package/dist/workspaceSafety-MDJGHK6D.cjs +9 -0
- package/dist/workspaceSafety-XOUMUBVB.js +9 -0
- package/dist/yolo-GF2YD7ZI.js +9 -0
- package/dist/yolo-OGDA7HNC.cjs +9 -0
- package/dist/yoloMode-3DJDA75U.cjs +17 -0
- package/dist/yoloMode-4JOOSU26.js +17 -0
- package/package.json +46 -49
- package/dist/AgentRegistry-NQCLWABO.cjs +0 -10
- package/dist/CommunitySkillsCache-6QPRMTJO.js +0 -8
- package/dist/CommunitySkillsCache-GTQMOCCO.cjs +0 -8
- package/dist/GitHubRegistryFetcher-S7QFUEKV.cjs +0 -7
- package/dist/HookManager-Q2KYMCP4.cjs +0 -7
- package/dist/HookManager-TTP4Y6DC.js +0 -7
- package/dist/LearnAdvisor-A4Q5PPBI.js +0 -9
- package/dist/LearnAdvisor-GASQD7HT.cjs +0 -9
- package/dist/McpClientManager-RKD7C6OY.cjs +0 -8
- package/dist/MemoryManager-GUNLRP5S.js +0 -8
- package/dist/MemoryManager-TNSGKDKX.cjs +0 -8
- package/dist/PermissionManager-KMN53FJP.cjs +0 -11
- package/dist/ProviderFactory-MR5B23QJ.js +0 -9
- package/dist/ProviderFactory-VFGCJJX6.cjs +0 -9
- package/dist/SessionManager-FEUAU3ZJ.cjs +0 -10
- package/dist/SessionManager-IKWAK2PI.js +0 -10
- package/dist/SkillsRegistry-KPQFTRIT.cjs +0 -9
- package/dist/SkillsRegistry-XJSKPDF2.js +0 -9
- package/dist/SubAgent-NYH6GWQ3.js +0 -11
- package/dist/SubAgent-PZKBDUBA.cjs +0 -11
- package/dist/SyncApiClient-ZNYMT36M.cjs +0 -11
- package/dist/about-HHTF2YFL.js +0 -12
- package/dist/about-JGRVNNQC.cjs +0 -12
- package/dist/actionExecutor-U6IBN2TU.cjs +0 -19
- package/dist/actionExecutor-XT5FW3W6.js +0 -19
- package/dist/add-dir-247K3XRY.js +0 -10
- package/dist/add-dir-GS4DXKKH.cjs +0 -10
- package/dist/agents-R6ZEFTVR.cjs +0 -12
- package/dist/agents-WJPQWQF2.js +0 -12
- package/dist/agents-new-HKVEIBDJ.js +0 -14
- package/dist/agents-new-X6GTHIO6.cjs +0 -14
- package/dist/autoSkill-H4T6VVDA.cjs +0 -20
- package/dist/automode-BC6NVECO.js +0 -10
- package/dist/automode-WN2RSOGW.cjs +0 -10
- package/dist/chunk-33A755XB.cjs +0 -168
- package/dist/chunk-3OTU3RS3.cjs +0 -1607
- package/dist/chunk-4PKF7WPD.js +0 -100
- package/dist/chunk-ALYU6VTM.js +0 -105
- package/dist/chunk-AS6RTLN7.cjs +0 -203
- package/dist/chunk-BWN2CLLM.cjs +0 -298
- package/dist/chunk-HQ7YZKXE.js +0 -168
- package/dist/chunk-HVKOZ2VP.cjs +0 -115
- package/dist/chunk-J6QET7EF.cjs +0 -454
- package/dist/chunk-LWUJFGOZ.js +0 -115
- package/dist/chunk-P47WPOXN.js +0 -298
- package/dist/chunk-PRRCJFU3.cjs +0 -85
- package/dist/chunk-RO6WYEWH.js +0 -454
- package/dist/chunk-SYVYLZZF.cjs +0 -24
- package/dist/chunk-T73IDKDF.js +0 -111
- package/dist/chunk-YRLYSQEQ.cjs +0 -105
- package/dist/chunk-ZQE72E6W.cjs +0 -100
- package/dist/chunk-ZVY2XD6T.js +0 -1607
- package/dist/clear-UO4MNWZW.cjs +0 -12
- package/dist/clear-ZJ5NYP6E.js +0 -12
- package/dist/communityInstaller-PVSOFDZD.cjs +0 -19
- package/dist/completion-MMF2PN2H.js +0 -14
- package/dist/completion-UI5WKHXI.cjs +0 -14
- package/dist/config-E7RINK4R.cjs +0 -18
- package/dist/constants-6CPCJ3DY.cjs +0 -21
- package/dist/export-N4XIVDSL.cjs +0 -12
- package/dist/export-W22L4D5C.js +0 -12
- package/dist/feedback-DR6ADSNE.cjs +0 -15
- package/dist/feedback-FEEAP4QW.js +0 -15
- package/dist/filesystem-3SGCW2BF.js +0 -10
- package/dist/filesystem-MCFXJQ6R.cjs +0 -10
- package/dist/help-AQHGTS7P.cjs +0 -12
- package/dist/history-NIUDRMKA.cjs +0 -14
- package/dist/hooks-2EY4IPKV.js +0 -13
- package/dist/hooks-LJVORRIG.cjs +0 -13
- package/dist/i18n-ARDG2SMC.cjs +0 -33
- package/dist/ide-GFW6IJHD.js +0 -12
- package/dist/ide-N2ZNSSB3.cjs +0 -12
- package/dist/import-DFVN3KNZ.js +0 -10
- package/dist/import-ZS6DPGU5.cjs +0 -10
- package/dist/init-PY75HA3S.cjs +0 -10
- package/dist/init-QNMWLAVY.js +0 -10
- package/dist/language-5UE4G2BT.cjs +0 -18
- package/dist/language-UXMHEZUJ.js +0 -18
- package/dist/learn-HJ3FLNZC.cjs +0 -20
- package/dist/learn-MVYS3RU5.js +0 -20
- package/dist/localProjectPermissions-N77HA3XK.js +0 -18
- package/dist/localProjectPermissions-UFSMNTBJ.cjs +0 -18
- package/dist/login-DSE7H63A.js +0 -20
- package/dist/login-V3MEWPKN.cjs +0 -20
- package/dist/logout-BMVCLKKW.js +0 -18
- package/dist/logout-XEG7FHOZ.cjs +0 -18
- package/dist/mcp-PYUR4PHO.js +0 -18
- package/dist/mcp-SG6JFLGC.cjs +0 -18
- package/dist/memory-4ZMMEZ2Z.js +0 -10
- package/dist/memory-QSGMVVGH.cjs +0 -10
- package/dist/model-NANLBZ4Z.cjs +0 -10
- package/dist/model-ZXNV4AF7.js +0 -10
- package/dist/new-5QJY5JP2.js +0 -12
- package/dist/new-PMMG55UX.cjs +0 -12
- package/dist/permissions-LECTCJ4H.cjs +0 -13
- package/dist/permissions-VP5VGIBL.js +0 -13
- package/dist/plan-G5CEKJI4.js +0 -11
- package/dist/plan-QKOHE3LH.cjs +0 -11
- package/dist/quit-BKOOPHU5.cjs +0 -10
- package/dist/quit-FVFNYACP.js +0 -10
- package/dist/resume-EXFQSQPH.js +0 -13
- package/dist/resume-PP2IQM5S.cjs +0 -13
- package/dist/search-C56FBN67.cjs +0 -17
- package/dist/search-XGZDYBF4.js +0 -17
- package/dist/sessions-54KI3F2Q.js +0 -10
- package/dist/sessions-DDTSPNVW.cjs +0 -10
- package/dist/settings-BDO37TTO.cjs +0 -30
- package/dist/settings-FHRDFPLK.js +0 -30
- package/dist/share-IERCTBGN.cjs +0 -14
- package/dist/share-TGROUE6R.js +0 -14
- package/dist/skills-OM4IGBAA.cjs +0 -26
- package/dist/skills-S3GRN323.js +0 -26
- package/dist/skills-new-ALD2PTHN.js +0 -15
- package/dist/skills-new-PWLKK7GW.cjs +0 -15
- package/dist/slashCommands-L4ZD33LJ.js +0 -75
- package/dist/slashCommands-YY2VUUDF.cjs +0 -75
- package/dist/status-3PC5XWSS.cjs +0 -11
- package/dist/status-KCLVOYPD.js +0 -11
- package/dist/sync-6SDWG5RK.js +0 -18
- package/dist/sync-7JMZVEQD.cjs +0 -40
- package/dist/sync-WHURZL3U.cjs +0 -18
- package/dist/theme-BE5A4FPN.cjs +0 -18
- package/dist/theme-YMFCQP7J.js +0 -18
- package/dist/undo-KZHUUZTD.cjs +0 -10
- package/dist/undo-NEIEHQVX.js +0 -10
|
@@ -1,15 +1,15 @@
|
|
|
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; } }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
|
|
4
4
|
|
|
5
5
|
// src/commands/import.ts
|
|
6
6
|
var metadata = {
|
|
7
7
|
command: "/import",
|
|
8
|
-
description:
|
|
8
|
+
description: _chunkCHI52KFRcjs.t.call(void 0, "commands.import.description") || "Import data from other coding agents",
|
|
9
9
|
implemented: true
|
|
10
10
|
};
|
|
11
11
|
async function execute(args) {
|
|
12
|
-
const { runImport } = await Promise.resolve().then(() => _interopRequireWildcard(require("./import-
|
|
12
|
+
const { runImport } = await Promise.resolve().then(() => _interopRequireWildcard(require("./import-I7T4ZHYL.cjs")));
|
|
13
13
|
const source = args[0];
|
|
14
14
|
const flags = args.slice(1);
|
|
15
15
|
const all = flags.includes("--all");
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }// src/core/context/priority.ts
|
|
2
|
+
function extractMessageMetadata(message) {
|
|
3
|
+
const content = _nullishCoalesce(message.content, () => ( ""));
|
|
4
|
+
const metadata = {};
|
|
5
|
+
const filePatterns = [
|
|
6
|
+
/(?:^|\s)([\/\w.-]+\.[a-zA-Z]{1,5})(?:\s|$|:|\()/gm,
|
|
7
|
+
/`([^`]+\.[a-zA-Z]{1,5})`/g,
|
|
8
|
+
/["']([^"']+\.[a-zA-Z]{1,5})["']/g
|
|
9
|
+
];
|
|
10
|
+
const files = /* @__PURE__ */ new Set();
|
|
11
|
+
for (const pattern of filePatterns) {
|
|
12
|
+
let match;
|
|
13
|
+
while ((match = pattern.exec(content)) !== null) {
|
|
14
|
+
const file = match[1];
|
|
15
|
+
if (file && !file.startsWith("http") && !file.includes("://")) {
|
|
16
|
+
files.add(file);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (files.size > 0) {
|
|
21
|
+
metadata.files = [...files];
|
|
22
|
+
}
|
|
23
|
+
if (message.name) {
|
|
24
|
+
metadata.tools = [message.name];
|
|
25
|
+
}
|
|
26
|
+
if (message.tool_calls && message.tool_calls.length > 0) {
|
|
27
|
+
metadata.tools = message.tool_calls.map((tc) => tc.function.name);
|
|
28
|
+
}
|
|
29
|
+
const decisionPatterns = [
|
|
30
|
+
/I('ll| will|'m going to| chose| decided| picked| selected)/i,
|
|
31
|
+
/let's (use|go with|implement|create)/i,
|
|
32
|
+
/we should (use|implement|create|add)/i,
|
|
33
|
+
/the (best|better|recommended) (approach|option|choice)/i
|
|
34
|
+
];
|
|
35
|
+
metadata.isDecision = decisionPatterns.some((p) => p.test(content));
|
|
36
|
+
const errorPatterns = [
|
|
37
|
+
/error:|failed:|exception:|crash|bug|issue:|problem:/i,
|
|
38
|
+
/TypeError|SyntaxError|ReferenceError|Error:/,
|
|
39
|
+
/❌|✗|FAIL|FAILED/
|
|
40
|
+
];
|
|
41
|
+
metadata.isError = errorPatterns.some((p) => p.test(content));
|
|
42
|
+
return metadata;
|
|
43
|
+
}
|
|
44
|
+
function determineMessagePriority(message) {
|
|
45
|
+
const content = _nullishCoalesce(message.content, () => ( ""));
|
|
46
|
+
const metadata = _nullishCoalesce(message.metadata, () => ( extractMessageMetadata(message)));
|
|
47
|
+
if (message.role === "system") {
|
|
48
|
+
return "critical";
|
|
49
|
+
}
|
|
50
|
+
if (message.role === "user") {
|
|
51
|
+
if (metadata.isDecision) return "critical";
|
|
52
|
+
if (content.length < 100) return "high";
|
|
53
|
+
return "high";
|
|
54
|
+
}
|
|
55
|
+
if (metadata.isError) {
|
|
56
|
+
return "high";
|
|
57
|
+
}
|
|
58
|
+
if (message.role === "tool" && metadata.files && metadata.files.length > 0) {
|
|
59
|
+
return "medium";
|
|
60
|
+
}
|
|
61
|
+
if (message.role === "tool" && content.length > 2e3) {
|
|
62
|
+
return "low";
|
|
63
|
+
}
|
|
64
|
+
if (message.role === "assistant" && metadata.isDecision) {
|
|
65
|
+
return "high";
|
|
66
|
+
}
|
|
67
|
+
return "medium";
|
|
68
|
+
}
|
|
69
|
+
function sortMessagesByPriority(messages) {
|
|
70
|
+
const priorityOrder = {
|
|
71
|
+
"low": 0,
|
|
72
|
+
"medium": 1,
|
|
73
|
+
"high": 2,
|
|
74
|
+
"critical": 3
|
|
75
|
+
};
|
|
76
|
+
const indices = messages.map((msg, i) => ({
|
|
77
|
+
index: i,
|
|
78
|
+
priority: _nullishCoalesce(msg.priority, () => ( determineMessagePriority(msg))),
|
|
79
|
+
age: i
|
|
80
|
+
}));
|
|
81
|
+
indices.sort((a, b) => {
|
|
82
|
+
const priorityDiff = priorityOrder[a.priority] - priorityOrder[b.priority];
|
|
83
|
+
if (priorityDiff !== 0) return priorityDiff;
|
|
84
|
+
return a.age - b.age;
|
|
85
|
+
});
|
|
86
|
+
return indices.map((i) => i.index);
|
|
87
|
+
}
|
|
88
|
+
function findCoherentRemovalIndices(messages, targetIndices) {
|
|
89
|
+
const toRemove = new Set(targetIndices);
|
|
90
|
+
for (const idx of [...toRemove]) {
|
|
91
|
+
const msg = messages[idx];
|
|
92
|
+
if (msg.role === "tool" && msg.tool_call_id) {
|
|
93
|
+
const assistantIdx = messages.findIndex(
|
|
94
|
+
(m) => m.role === "assistant" && _optionalChain([m, 'access', _ => _.tool_calls, 'optionalAccess', _2 => _2.some, 'call', _3 => _3((tc) => tc.id === msg.tool_call_id)])
|
|
95
|
+
);
|
|
96
|
+
if (assistantIdx >= 0) toRemove.add(assistantIdx);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
for (const idx of [...toRemove]) {
|
|
100
|
+
const msg = messages[idx];
|
|
101
|
+
if (msg.role === "assistant" && msg.tool_calls) {
|
|
102
|
+
for (const tc of msg.tool_calls) {
|
|
103
|
+
const toolIdx = messages.findIndex(
|
|
104
|
+
(m) => m.role === "tool" && m.tool_call_id === tc.id
|
|
105
|
+
);
|
|
106
|
+
if (toolIdx >= 0) toRemove.add(toolIdx);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return [...toRemove].sort((a, b) => a - b);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// src/core/context/serializer.ts
|
|
114
|
+
var TOOL_RESULT_MAX_LENGTH = 2e3;
|
|
115
|
+
function serializeMessagesForSummary(messages) {
|
|
116
|
+
const lines = [];
|
|
117
|
+
for (const msg of messages) {
|
|
118
|
+
switch (msg.role) {
|
|
119
|
+
case "system":
|
|
120
|
+
break;
|
|
121
|
+
case "user":
|
|
122
|
+
lines.push(`[User]: ${_nullishCoalesce(msg.content, () => ( ""))}`);
|
|
123
|
+
break;
|
|
124
|
+
case "assistant": {
|
|
125
|
+
const content = _nullishCoalesce(msg.content, () => ( ""));
|
|
126
|
+
if (msg.tool_calls && msg.tool_calls.length > 0) {
|
|
127
|
+
const callDescriptions = msg.tool_calls.map((tc) => {
|
|
128
|
+
const args = _nullishCoalesce(tc.function.arguments, () => ( "{}"));
|
|
129
|
+
let shortArgs = args;
|
|
130
|
+
try {
|
|
131
|
+
const parsed = JSON.parse(args);
|
|
132
|
+
const keys = Object.keys(parsed);
|
|
133
|
+
const preview = keys.slice(0, 3).map((k) => `${k}="${String(parsed[k]).slice(0, 80)}"`).join(", ");
|
|
134
|
+
shortArgs = keys.length > 3 ? `${preview}, +${keys.length - 3} more` : preview;
|
|
135
|
+
} catch (e) {
|
|
136
|
+
shortArgs = args.slice(0, 100);
|
|
137
|
+
}
|
|
138
|
+
return `${tc.function.name}(${shortArgs})`;
|
|
139
|
+
}).join("; ");
|
|
140
|
+
if (content) {
|
|
141
|
+
lines.push(`[Assistant]: ${content.slice(0, 500)}`);
|
|
142
|
+
}
|
|
143
|
+
lines.push(`[Assistant tool calls]: ${callDescriptions}`);
|
|
144
|
+
} else {
|
|
145
|
+
lines.push(`[Assistant]: ${content.slice(0, 500)}`);
|
|
146
|
+
}
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
case "tool": {
|
|
150
|
+
const toolName = _nullishCoalesce(msg.name, () => ( "unknown"));
|
|
151
|
+
const rawContent = _nullishCoalesce(msg.content, () => ( ""));
|
|
152
|
+
const truncated = rawContent.length > TOOL_RESULT_MAX_LENGTH ? rawContent.slice(0, Math.floor(TOOL_RESULT_MAX_LENGTH * 0.6)) + `
|
|
153
|
+
... [${rawContent.length - TOOL_RESULT_MAX_LENGTH} chars truncated] ...
|
|
154
|
+
` + rawContent.slice(-Math.floor(TOOL_RESULT_MAX_LENGTH * 0.3)) : rawContent;
|
|
155
|
+
lines.push(`[Tool result (${toolName})]: ${truncated}`);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return lines.join("\n");
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// src/core/context/summarizer.ts
|
|
164
|
+
function summarizeMessagesStatic(messages) {
|
|
165
|
+
const files = /* @__PURE__ */ new Set();
|
|
166
|
+
const tools = /* @__PURE__ */ new Set();
|
|
167
|
+
const decisions = [];
|
|
168
|
+
const errors = [];
|
|
169
|
+
const userRequests = [];
|
|
170
|
+
for (const msg of messages) {
|
|
171
|
+
const metadata = _nullishCoalesce(msg.metadata, () => ( extractMessageMetadata(msg)));
|
|
172
|
+
if (metadata.files) {
|
|
173
|
+
metadata.files.forEach((f) => files.add(f));
|
|
174
|
+
}
|
|
175
|
+
if (metadata.tools) {
|
|
176
|
+
metadata.tools.forEach((t) => tools.add(t));
|
|
177
|
+
}
|
|
178
|
+
if (msg.role === "user") {
|
|
179
|
+
const preview = (_nullishCoalesce(msg.content, () => ( ""))).slice(0, 100);
|
|
180
|
+
userRequests.push(preview + (preview.length < (_nullishCoalesce(_optionalChain([msg, 'access', _4 => _4.content, 'optionalAccess', _5 => _5.length]), () => ( 0))) ? "..." : ""));
|
|
181
|
+
}
|
|
182
|
+
if (metadata.isDecision && msg.role === "assistant") {
|
|
183
|
+
const preview = (_nullishCoalesce(msg.content, () => ( ""))).slice(0, 150);
|
|
184
|
+
decisions.push(preview);
|
|
185
|
+
}
|
|
186
|
+
if (metadata.isError) {
|
|
187
|
+
const preview = (_nullishCoalesce(msg.content, () => ( ""))).slice(0, 150);
|
|
188
|
+
errors.push(preview);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const parts = [
|
|
192
|
+
`[Context Summary - ${messages.length} messages condensed]`
|
|
193
|
+
];
|
|
194
|
+
if (userRequests.length > 0) {
|
|
195
|
+
parts.push(`User requests: ${userRequests.slice(0, 3).join(" | ")}`);
|
|
196
|
+
}
|
|
197
|
+
if (files.size > 0) {
|
|
198
|
+
parts.push(`Files touched: ${[...files].slice(0, 10).join(", ")}${files.size > 10 ? ` (+${files.size - 10} more)` : ""}`);
|
|
199
|
+
}
|
|
200
|
+
if (tools.size > 0) {
|
|
201
|
+
parts.push(`Tools used: ${[...tools].join(", ")}`);
|
|
202
|
+
}
|
|
203
|
+
if (decisions.length > 0) {
|
|
204
|
+
parts.push(`Key decisions: ${decisions.slice(0, 2).join(" | ")}`);
|
|
205
|
+
}
|
|
206
|
+
if (errors.length > 0) {
|
|
207
|
+
parts.push(`Errors encountered: ${errors.slice(0, 2).join(" | ")}`);
|
|
208
|
+
}
|
|
209
|
+
return parts.join("\n");
|
|
210
|
+
}
|
|
211
|
+
async function summarizeWithLLM(messages, llm, memoryManager) {
|
|
212
|
+
if (!llm || messages.length === 0) {
|
|
213
|
+
return summarizeMessagesStatic(messages);
|
|
214
|
+
}
|
|
215
|
+
try {
|
|
216
|
+
const serializedLog = serializeMessagesForSummary(messages);
|
|
217
|
+
const summarizationPrompt = [
|
|
218
|
+
"Summarize the following conversation for context preservation. Include:",
|
|
219
|
+
"1. The user's original request and intent",
|
|
220
|
+
"2. What has been accomplished so far (files created/modified, commands run)",
|
|
221
|
+
"3. What remains to be done",
|
|
222
|
+
"4. Any key decisions or constraints discovered",
|
|
223
|
+
"5. Any user preferences or project-relevant points worth remembering",
|
|
224
|
+
"",
|
|
225
|
+
"Keep it concise (under 500 words). This summary replaces the removed messages.",
|
|
226
|
+
"",
|
|
227
|
+
"--- Conversation ---",
|
|
228
|
+
serializedLog
|
|
229
|
+
].join("\n");
|
|
230
|
+
const response = await llm.complete({
|
|
231
|
+
messages: [
|
|
232
|
+
{ role: "system", content: "You are a context summarization assistant. Produce concise, factual summaries that preserve task continuity." },
|
|
233
|
+
{ role: "user", content: summarizationPrompt }
|
|
234
|
+
],
|
|
235
|
+
temperature: 0.1,
|
|
236
|
+
maxTokens: 1e3
|
|
237
|
+
});
|
|
238
|
+
const summaryText = _optionalChain([response, 'access', _6 => _6.content, 'optionalAccess', _7 => _7.trim, 'call', _8 => _8()]);
|
|
239
|
+
if (!summaryText) {
|
|
240
|
+
return summarizeMessagesStatic(messages);
|
|
241
|
+
}
|
|
242
|
+
if (memoryManager) {
|
|
243
|
+
await persistKeyFacts(summaryText, memoryManager).catch(() => {
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
return `[LLM Context Summary - ${messages.length} messages condensed]
|
|
247
|
+
${summaryText}`;
|
|
248
|
+
} catch (e2) {
|
|
249
|
+
return summarizeMessagesStatic(messages);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
function buildStructuredSummary(summaryText, fileOps) {
|
|
253
|
+
const lines = summaryText.split("\n").map((l) => l.trim()).filter(Boolean);
|
|
254
|
+
const goal = _nullishCoalesce(_nullishCoalesce(lines.find((l) => /goal|intent|request|objective/i.test(l)), () => ( lines[0])), () => ( ""));
|
|
255
|
+
const constraints = [];
|
|
256
|
+
const progress = [];
|
|
257
|
+
const keyDecisions = [];
|
|
258
|
+
const nextSteps = [];
|
|
259
|
+
const criticalContext = [];
|
|
260
|
+
for (const line of lines) {
|
|
261
|
+
if (/constraint|requirement|must|should/i.test(line)) constraints.push(line);
|
|
262
|
+
else if (/accomplished|done|completed|created|modified|implemented/i.test(line)) progress.push(line);
|
|
263
|
+
else if (/decided|chose|selected|preference/i.test(line)) keyDecisions.push(line);
|
|
264
|
+
else if (/remain|todo|next|pending|still/i.test(line)) nextSteps.push(line);
|
|
265
|
+
else if (/critical|important|essential|key/i.test(line)) criticalContext.push(line);
|
|
266
|
+
}
|
|
267
|
+
return {
|
|
268
|
+
goal,
|
|
269
|
+
constraints,
|
|
270
|
+
progress,
|
|
271
|
+
keyDecisions,
|
|
272
|
+
nextSteps,
|
|
273
|
+
criticalContext,
|
|
274
|
+
readFiles: fileOps.readFiles,
|
|
275
|
+
modifiedFiles: fileOps.modifiedFiles
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
function extractFileOperations(messages) {
|
|
279
|
+
const readFiles = /* @__PURE__ */ new Set();
|
|
280
|
+
const modifiedFiles = /* @__PURE__ */ new Set();
|
|
281
|
+
for (const msg of messages) {
|
|
282
|
+
const metadata = _nullishCoalesce(msg.metadata, () => ( extractMessageMetadata(msg)));
|
|
283
|
+
if (!metadata.tools || !metadata.files) continue;
|
|
284
|
+
for (const tool of metadata.tools) {
|
|
285
|
+
const isReadTool = tool.includes("read") || tool.includes("cat") || tool.includes("grep") || tool.includes("search");
|
|
286
|
+
const isWriteTool = tool.includes("write") || tool.includes("edit") || tool.includes("create") || tool.includes("delete") || tool.includes("move");
|
|
287
|
+
if (isReadTool) {
|
|
288
|
+
metadata.files.forEach((f) => readFiles.add(f));
|
|
289
|
+
}
|
|
290
|
+
if (isWriteTool) {
|
|
291
|
+
metadata.files.forEach((f) => modifiedFiles.add(f));
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return {
|
|
296
|
+
readFiles: [...readFiles],
|
|
297
|
+
modifiedFiles: [...modifiedFiles]
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
async function persistKeyFacts(summary, memoryManager) {
|
|
301
|
+
const factPatterns = [
|
|
302
|
+
/(?:chose|decided|selected|using|preference|prefer)\s+.{10,100}/gi,
|
|
303
|
+
/(?:constraint|requirement|must|should)\s+.{10,100}/gi
|
|
304
|
+
];
|
|
305
|
+
const facts = /* @__PURE__ */ new Set();
|
|
306
|
+
for (const pattern of factPatterns) {
|
|
307
|
+
let match;
|
|
308
|
+
while ((match = pattern.exec(summary)) !== null) {
|
|
309
|
+
facts.add(match[0].trim());
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
for (const fact of [...facts].slice(0, 5)) {
|
|
313
|
+
await memoryManager.store(fact, "project", ["context-summary"], "context-summarization");
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
var summarizeMessages = summarizeMessagesStatic;
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
exports.extractMessageMetadata = extractMessageMetadata; exports.determineMessagePriority = determineMessagePriority; exports.sortMessagesByPriority = sortMessagesByPriority; exports.findCoherentRemovalIndices = findCoherentRemovalIndices; exports.summarizeMessagesStatic = summarizeMessagesStatic; exports.summarizeWithLLM = summarizeWithLLM; exports.buildStructuredSummary = buildStructuredSummary; exports.extractFileOperations = extractFileOperations; exports.persistKeyFacts = persistKeyFacts; exports.summarizeMessages = summarizeMessages;
|
|
330
|
+
/**
|
|
331
|
+
* @license
|
|
332
|
+
* Copyright 2025 Autohand AI LLC
|
|
333
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
334
|
+
*
|
|
335
|
+
* Metadata extraction, priority scoring, sorting, and tool-call coherence.
|
|
336
|
+
* Extracted from contextManager.ts for composability.
|
|
337
|
+
*/
|
|
338
|
+
/**
|
|
339
|
+
* @license
|
|
340
|
+
* Copyright 2025 Autohand AI LLC
|
|
341
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
342
|
+
*
|
|
343
|
+
* Message → text serialization for summarization prompts.
|
|
344
|
+
* Converts LLMMessage[] into a plain-text conversation log that
|
|
345
|
+
* prevents the LLM from treating it as a conversation to continue.
|
|
346
|
+
*/
|
|
347
|
+
/**
|
|
348
|
+
* @license
|
|
349
|
+
* Copyright 2025 Autohand AI LLC
|
|
350
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
351
|
+
*
|
|
352
|
+
* LLM-powered + static summarization with structured format.
|
|
353
|
+
* Extracted from contextManager.ts for composability.
|
|
354
|
+
*/
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentRegistry
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-D6GZBSOX.js";
|
|
4
|
+
import {
|
|
5
|
+
loadConfig
|
|
6
|
+
} from "./chunk-3UT7R3XV.js";
|
|
4
7
|
import {
|
|
5
8
|
t
|
|
6
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CBFH2J3O.js";
|
|
7
10
|
|
|
8
11
|
// src/commands/agents.ts
|
|
9
12
|
import chalk from "chalk";
|
|
@@ -11,10 +14,15 @@ var metadata = {
|
|
|
11
14
|
command: "/agents",
|
|
12
15
|
description: t("commands.agents.description"),
|
|
13
16
|
implemented: true,
|
|
17
|
+
subcommands: [
|
|
18
|
+
{ name: "new", description: "create a new sub-agent from a description" }
|
|
19
|
+
],
|
|
14
20
|
prd: "prd/sub_agents_architecture.md"
|
|
15
21
|
};
|
|
16
22
|
async function handler() {
|
|
17
23
|
const registry = AgentRegistry.getInstance();
|
|
24
|
+
const config = await loadConfig(void 0, process.cwd());
|
|
25
|
+
registry.configureExternalAgents(config.externalAgents);
|
|
18
26
|
await registry.loadAgents();
|
|
19
27
|
const agents = registry.getAllAgents();
|
|
20
28
|
if (agents.length === 0) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
t
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CBFH2J3O.js";
|
|
4
4
|
|
|
5
5
|
// src/commands/help.ts
|
|
6
6
|
import chalk from "chalk";
|
|
7
7
|
import terminalLink from "terminal-link";
|
|
8
8
|
async function help() {
|
|
9
|
-
const { SLASH_COMMANDS } = await import("./slashCommands-
|
|
9
|
+
const { SLASH_COMMANDS } = await import("./slashCommands-FCWY5DXW.js");
|
|
10
10
|
console.log(chalk.cyan(`
|
|
11
11
|
${t("commands.help.title")}
|
|
12
12
|
`));
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AUTOHAND_PATHS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TWQDAUZU.js";
|
|
4
4
|
|
|
5
5
|
// src/session/SessionManager.ts
|
|
6
6
|
import fs from "fs-extra";
|
|
7
7
|
import path from "path";
|
|
8
8
|
import crypto from "crypto";
|
|
9
9
|
var SessionManager = class {
|
|
10
|
+
sessionsDir;
|
|
11
|
+
currentSession = null;
|
|
12
|
+
index = null;
|
|
10
13
|
constructor(baseDir) {
|
|
11
|
-
this.currentSession = null;
|
|
12
|
-
this.index = null;
|
|
13
14
|
this.sessionsDir = baseDir ?? AUTOHAND_PATHS.sessions;
|
|
14
15
|
}
|
|
15
16
|
async initialize() {
|
|
@@ -138,9 +139,11 @@ var SessionManager = class {
|
|
|
138
139
|
}
|
|
139
140
|
};
|
|
140
141
|
var Session = class {
|
|
142
|
+
sessionDir;
|
|
143
|
+
metadata;
|
|
144
|
+
messages = [];
|
|
145
|
+
state = null;
|
|
141
146
|
constructor(sessionDir, metadata) {
|
|
142
|
-
this.messages = [];
|
|
143
|
-
this.state = null;
|
|
144
147
|
this.sessionDir = sessionDir;
|
|
145
148
|
this.metadata = metadata;
|
|
146
149
|
}
|
|
@@ -1,52 +1,65 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkIGMPWJ2Icjs = require('./chunk-IGMPWJ2I.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunk7MU7LWF3cjs = require('./chunk-7MU7LWF3.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkQ2IL4DDIcjs = require('./chunk-Q2IL4DDI.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunk46C73ZKKcjs = require('./chunk-46C73ZKK.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
|
|
20
20
|
|
|
21
21
|
// src/commands/login.ts
|
|
22
22
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
23
23
|
var metadata = {
|
|
24
24
|
command: "/login",
|
|
25
|
-
description:
|
|
25
|
+
description: _chunkCHI52KFRcjs.t.call(void 0, "commands.login.description"),
|
|
26
26
|
implemented: true
|
|
27
27
|
};
|
|
28
28
|
async function openBrowser(url) {
|
|
29
29
|
try {
|
|
30
|
-
const
|
|
31
|
-
if (open) {
|
|
32
|
-
await open(url);
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
const { exec } = await Promise.resolve().then(() => _interopRequireWildcard(require("child_process")));
|
|
30
|
+
const { exec, execFile } = await Promise.resolve().then(() => _interopRequireWildcard(require("child_process")));
|
|
36
31
|
const { promisify } = await Promise.resolve().then(() => _interopRequireWildcard(require("util")));
|
|
37
32
|
const execAsync = promisify(exec);
|
|
33
|
+
const execFileAsync = promisify(execFile);
|
|
38
34
|
const platform = process.platform;
|
|
39
|
-
let command;
|
|
40
35
|
if (platform === "darwin") {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
command = `start "" "${url}"`;
|
|
44
|
-
} else {
|
|
45
|
-
command = `xdg-open "${url}"`;
|
|
36
|
+
await execFileAsync("open", [url]);
|
|
37
|
+
return true;
|
|
46
38
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
if (platform === "win32") {
|
|
40
|
+
await execAsync(`start "" "${url}"`);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
const openers = ["xdg-open", "sensible-browser", "x-www-browser", "firefox", "chromium", "google-chrome"];
|
|
44
|
+
for (const opener of openers) {
|
|
45
|
+
try {
|
|
46
|
+
await execAsync(`command -v ${opener}`);
|
|
47
|
+
await execFileAsync(opener, [url]);
|
|
48
|
+
return true;
|
|
49
|
+
} catch (e) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
console.log(`
|
|
54
|
+
Please open this URL manually:
|
|
55
|
+
${url}
|
|
56
|
+
`);
|
|
57
|
+
return false;
|
|
58
|
+
} catch (e2) {
|
|
59
|
+
console.log(`
|
|
60
|
+
Please open this URL manually:
|
|
61
|
+
${url}
|
|
62
|
+
`);
|
|
50
63
|
return false;
|
|
51
64
|
}
|
|
52
65
|
}
|
|
@@ -56,33 +69,33 @@ function sleep(ms) {
|
|
|
56
69
|
async function login(ctx) {
|
|
57
70
|
const config = ctx.config;
|
|
58
71
|
if (_optionalChain([config, 'optionalAccess', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'optionalAccess', _3 => _3.auth, 'optionalAccess', _4 => _4.user])) {
|
|
59
|
-
const result = await
|
|
72
|
+
const result = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, {
|
|
60
73
|
type: "confirm",
|
|
61
74
|
name: "continueLogin",
|
|
62
75
|
message: `Already logged in as ${_chalk2.default.cyan(config.auth.user.email)}. Log in with a different account?`,
|
|
63
76
|
initial: false
|
|
64
77
|
});
|
|
65
78
|
if (!result || !result.continueLogin) {
|
|
66
|
-
console.log(_chalk2.default.gray(
|
|
79
|
+
console.log(_chalk2.default.gray(_chunkCHI52KFRcjs.t.call(void 0, "commands.login.cancelled")));
|
|
67
80
|
return null;
|
|
68
81
|
}
|
|
69
82
|
}
|
|
70
|
-
const authClient =
|
|
83
|
+
const authClient = _chunkQ2IL4DDIcjs.getAuthClient.call(void 0, );
|
|
71
84
|
console.log(_chalk2.default.gray("Initiating authentication..."));
|
|
72
85
|
const initResult = await authClient.initiateDeviceAuth();
|
|
73
86
|
if (!initResult.success || !initResult.deviceCode || !initResult.userCode) {
|
|
74
|
-
console.log(_chalk2.default.red(
|
|
87
|
+
console.log(_chalk2.default.red(_chunkCHI52KFRcjs.t.call(void 0, "commands.login.failed", { error: initResult.error || "Unknown error" })));
|
|
75
88
|
return null;
|
|
76
89
|
}
|
|
77
90
|
console.log();
|
|
78
91
|
console.log(_chalk2.default.bold("To sign in, visit:"));
|
|
79
|
-
console.log(_chalk2.default.cyan.underline(initResult.verificationUriComplete || `${
|
|
92
|
+
console.log(_chalk2.default.cyan.underline(initResult.verificationUriComplete || `${_chunkE26KKI46cjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`));
|
|
80
93
|
console.log();
|
|
81
94
|
console.log(_chalk2.default.gray("Or enter this code manually:"));
|
|
82
95
|
console.log(_chalk2.default.bold.yellow(` ${initResult.userCode}`));
|
|
83
96
|
console.log();
|
|
84
97
|
const browserOpened = await openBrowser(
|
|
85
|
-
initResult.verificationUriComplete || `${
|
|
98
|
+
initResult.verificationUriComplete || `${_chunkE26KKI46cjs.AUTH_CONFIG.authorizationUrl}?code=${initResult.userCode}`
|
|
86
99
|
);
|
|
87
100
|
if (browserOpened) {
|
|
88
101
|
console.log(_chalk2.default.gray("Browser opened. Complete the login in your browser."));
|
|
@@ -93,8 +106,8 @@ async function login(ctx) {
|
|
|
93
106
|
console.log(_chalk2.default.gray("Waiting for authorization..."));
|
|
94
107
|
console.log(_chalk2.default.gray("(Press Ctrl+C to cancel)"));
|
|
95
108
|
const startTime = Date.now();
|
|
96
|
-
const timeout =
|
|
97
|
-
const pollInterval = initResult.interval ? initResult.interval * 1e3 :
|
|
109
|
+
const timeout = _chunkE26KKI46cjs.AUTH_CONFIG.authTimeout;
|
|
110
|
+
const pollInterval = initResult.interval ? initResult.interval * 1e3 : _chunkE26KKI46cjs.AUTH_CONFIG.pollInterval;
|
|
98
111
|
let dots = 0;
|
|
99
112
|
const maxDots = 3;
|
|
100
113
|
while (Date.now() - startTime < timeout) {
|
|
@@ -104,7 +117,7 @@ async function login(ctx) {
|
|
|
104
117
|
const pollResult = await authClient.pollDeviceAuth(initResult.deviceCode);
|
|
105
118
|
if (pollResult.status === "authorized" && pollResult.token && pollResult.user) {
|
|
106
119
|
process.stdout.write("\r" + " ".repeat(20) + "\r");
|
|
107
|
-
const expiresAt = new Date(Date.now() +
|
|
120
|
+
const expiresAt = new Date(Date.now() + _chunkE26KKI46cjs.AUTH_CONFIG.sessionExpiryDays * 24 * 60 * 60 * 1e3).toISOString();
|
|
108
121
|
const updatedConfig = {
|
|
109
122
|
...config,
|
|
110
123
|
auth: {
|
|
@@ -113,11 +126,13 @@ async function login(ctx) {
|
|
|
113
126
|
expiresAt
|
|
114
127
|
}
|
|
115
128
|
};
|
|
116
|
-
await
|
|
129
|
+
await _chunk46C73ZKKcjs.saveConfig.call(void 0, updatedConfig);
|
|
117
130
|
console.log();
|
|
118
|
-
console.log(_chalk2.default.green(
|
|
131
|
+
console.log(_chalk2.default.green(_chunkCHI52KFRcjs.t.call(void 0, "commands.login.success", { email: pollResult.user.name || pollResult.user.email })));
|
|
119
132
|
console.log();
|
|
120
|
-
|
|
133
|
+
if (process.stdin.isTTY && process.stdout.isTTY) {
|
|
134
|
+
await checkAndRestoreSyncData(pollResult.token, pollResult.user.id, updatedConfig);
|
|
135
|
+
}
|
|
121
136
|
return null;
|
|
122
137
|
}
|
|
123
138
|
if (pollResult.status === "expired") {
|
|
@@ -132,16 +147,16 @@ async function login(ctx) {
|
|
|
132
147
|
}
|
|
133
148
|
async function checkAndRestoreSyncData(token, userId, config) {
|
|
134
149
|
try {
|
|
135
|
-
const syncService =
|
|
150
|
+
const syncService = _chunkIGMPWJ2Icjs.createSyncService.call(void 0, {
|
|
136
151
|
authToken: token,
|
|
137
152
|
userId,
|
|
138
153
|
config: {
|
|
139
|
-
...
|
|
154
|
+
..._chunkIGMPWJ2Icjs.DEFAULT_SYNC_CONFIG,
|
|
140
155
|
...config.sync,
|
|
141
156
|
enabled: true
|
|
142
157
|
}
|
|
143
158
|
});
|
|
144
|
-
const { getSyncApiClient } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SyncApiClient-
|
|
159
|
+
const { getSyncApiClient } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SyncApiClient-VMBOLQ6H.cjs")));
|
|
145
160
|
const apiClient = getSyncApiClient();
|
|
146
161
|
const remoteManifest = await apiClient.getRemoteManifest(token);
|
|
147
162
|
if (!remoteManifest || remoteManifest.files.length === 0) {
|
|
@@ -153,7 +168,7 @@ async function checkAndRestoreSyncData(token, userId, config) {
|
|
|
153
168
|
console.log(_chalk2.default.cyan(`Found cloud sync data (${fileCount} files, ${sizeStr})`));
|
|
154
169
|
console.log(_chalk2.default.gray("This includes your settings, agents, skills, and memory."));
|
|
155
170
|
console.log();
|
|
156
|
-
const result = await
|
|
171
|
+
const result = await _chunk7MU7LWF3cjs.safePrompt.call(void 0, {
|
|
157
172
|
type: "confirm",
|
|
158
173
|
name: "restore",
|
|
159
174
|
message: "Would you like to restore your settings from the cloud?",
|
|
@@ -177,7 +192,7 @@ async function checkAndRestoreSyncData(token, userId, config) {
|
|
|
177
192
|
console.log(_chalk2.default.yellow(`Sync restore failed: ${syncResult.error}`));
|
|
178
193
|
console.log(_chalk2.default.gray("You can try again later with /sync."));
|
|
179
194
|
}
|
|
180
|
-
} catch (
|
|
195
|
+
} catch (e3) {
|
|
181
196
|
console.log(_chalk2.default.gray("Could not check cloud sync data."));
|
|
182
197
|
}
|
|
183
198
|
}
|
|
@@ -191,7 +206,7 @@ async function cancellableOperation(fn) {
|
|
|
191
206
|
if (stdin.isTTY && stdin.setRawMode) {
|
|
192
207
|
try {
|
|
193
208
|
stdin.setRawMode(_nullishCoalesce(wasRaw, () => ( false)));
|
|
194
|
-
} catch (
|
|
209
|
+
} catch (e4) {
|
|
195
210
|
}
|
|
196
211
|
}
|
|
197
212
|
};
|
|
@@ -207,7 +222,7 @@ async function cancellableOperation(fn) {
|
|
|
207
222
|
if (stdin.isTTY && stdin.setRawMode) {
|
|
208
223
|
try {
|
|
209
224
|
stdin.setRawMode(true);
|
|
210
|
-
} catch (
|
|
225
|
+
} catch (e5) {
|
|
211
226
|
}
|
|
212
227
|
}
|
|
213
228
|
stdin.on("data", onData);
|