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,46 +1,90 @@
|
|
|
1
|
-
import {
|
|
2
|
-
computeProjectHash,
|
|
3
|
-
fetchRegistryWithFallback,
|
|
4
|
-
injectGeneratedMetadata
|
|
5
|
-
} from "./chunk-OHUZKDGX.js";
|
|
6
1
|
import {
|
|
7
2
|
LearnAdvisor
|
|
8
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Z3XSSF7B.js";
|
|
9
4
|
import {
|
|
10
5
|
ProjectAnalyzer
|
|
11
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MX75JYIY.js";
|
|
12
7
|
import {
|
|
13
8
|
CommunitySkillsCache
|
|
14
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5F6ZKSHO.js";
|
|
15
10
|
import {
|
|
16
11
|
GitHubRegistryFetcher
|
|
17
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YVQI26H4.js";
|
|
13
|
+
import {
|
|
14
|
+
computeProjectHash,
|
|
15
|
+
fetchRegistryWithFallback,
|
|
16
|
+
injectGeneratedMetadata
|
|
17
|
+
} from "./chunk-DMRXF5DU.js";
|
|
18
18
|
import {
|
|
19
19
|
showConfirm,
|
|
20
20
|
showModal
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-DLP436GI.js";
|
|
22
22
|
import {
|
|
23
23
|
AUTOHAND_PATHS,
|
|
24
24
|
PROJECT_DIR_NAME
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-TWQDAUZU.js";
|
|
26
26
|
import {
|
|
27
27
|
t
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-CBFH2J3O.js";
|
|
29
29
|
|
|
30
30
|
// src/commands/learn.ts
|
|
31
31
|
import path from "path";
|
|
32
|
-
import
|
|
32
|
+
import chalk2 from "chalk";
|
|
33
33
|
import fse from "fs-extra";
|
|
34
|
-
|
|
34
|
+
|
|
35
|
+
// src/ui/stepProgress.ts
|
|
36
|
+
import chalk from "chalk";
|
|
37
|
+
var BLINK_ON = "\x1B[5m";
|
|
38
|
+
var BLINK_OFF = "\x1B[25m";
|
|
39
|
+
var StepProgress = class {
|
|
40
|
+
currentLabel = "";
|
|
41
|
+
stepCount = 0;
|
|
42
|
+
/**
|
|
43
|
+
* Start the progress display with the first step.
|
|
44
|
+
*/
|
|
45
|
+
start(label) {
|
|
46
|
+
this.currentLabel = label;
|
|
47
|
+
this.stepCount = 1;
|
|
48
|
+
console.log(` ${BLINK_ON}${chalk.cyan("\u25CC")}${BLINK_OFF} ${chalk.cyan(label)}`);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Mark the current step as done and start a new one.
|
|
52
|
+
*/
|
|
53
|
+
advance(label) {
|
|
54
|
+
this.currentLabel = label;
|
|
55
|
+
this.stepCount++;
|
|
56
|
+
console.log(` ${BLINK_ON}${chalk.cyan("\u25CC")}${BLINK_OFF} ${chalk.cyan(label)}`);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Mark the final step as done.
|
|
60
|
+
*/
|
|
61
|
+
finish() {
|
|
62
|
+
this.currentLabel = "";
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Clean up (no-op in console.log mode, kept for API compat).
|
|
66
|
+
*/
|
|
67
|
+
clear() {
|
|
68
|
+
this.currentLabel = "";
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// src/commands/learn.ts
|
|
73
|
+
function useAnimatedProgress(ctx) {
|
|
74
|
+
return !ctx.isNonInteractive && process.stdout.isTTY === true;
|
|
75
|
+
}
|
|
76
|
+
function logProgress(ctx, message, progress) {
|
|
35
77
|
ctx.onProgress?.(message);
|
|
36
|
-
|
|
78
|
+
if (!progress) {
|
|
79
|
+
console.log(chalk2.cyan(message));
|
|
80
|
+
}
|
|
37
81
|
}
|
|
38
82
|
async function withModalPause(ctx, fn) {
|
|
39
|
-
ctx.onBeforeModal?.();
|
|
83
|
+
await ctx.onBeforeModal?.();
|
|
40
84
|
try {
|
|
41
85
|
return await fn();
|
|
42
86
|
} finally {
|
|
43
|
-
ctx.onAfterModal?.();
|
|
87
|
+
await ctx.onAfterModal?.();
|
|
44
88
|
}
|
|
45
89
|
}
|
|
46
90
|
function parseLearnArgs(args) {
|
|
@@ -60,12 +104,18 @@ function parseLearnArgs(args) {
|
|
|
60
104
|
}
|
|
61
105
|
async function handleLearnRecommend(ctx, deep) {
|
|
62
106
|
const { skillsRegistry, workspaceRoot, llm, isNonInteractive } = ctx;
|
|
63
|
-
|
|
107
|
+
const animated = useAnimatedProgress(ctx);
|
|
108
|
+
const progress = animated ? new StepProgress() : void 0;
|
|
109
|
+
const analyzeLabel = deep ? "Deep-analyzing your project..." : "Analyzing your project...";
|
|
110
|
+
logProgress(ctx, analyzeLabel, progress);
|
|
111
|
+
progress?.start(analyzeLabel);
|
|
64
112
|
const analyzer = new ProjectAnalyzer(workspaceRoot);
|
|
65
113
|
const analysis = await analyzer.analyze();
|
|
66
114
|
const cache = new CommunitySkillsCache();
|
|
67
115
|
const fetcher = new GitHubRegistryFetcher();
|
|
68
|
-
|
|
116
|
+
const loadLabel = "Loading community skills...";
|
|
117
|
+
logProgress(ctx, loadLabel, progress);
|
|
118
|
+
progress?.advance(loadLabel);
|
|
69
119
|
let registry = null;
|
|
70
120
|
try {
|
|
71
121
|
registry = await fetchRegistryWithFallback(cache, fetcher);
|
|
@@ -73,17 +123,20 @@ async function handleLearnRecommend(ctx, deep) {
|
|
|
73
123
|
}
|
|
74
124
|
const installedSkills = skillsRegistry.listSkills();
|
|
75
125
|
const registrySkills = registry?.skills ?? [];
|
|
76
|
-
|
|
126
|
+
const evalLabel = "Evaluating skill matches...";
|
|
127
|
+
logProgress(ctx, evalLabel, progress);
|
|
128
|
+
progress?.advance(evalLabel);
|
|
77
129
|
const advisor = new LearnAdvisor(llm);
|
|
78
130
|
const result = await advisor.analyze(analysis, installedSkills, registrySkills);
|
|
131
|
+
progress?.finish();
|
|
79
132
|
const lines = [];
|
|
80
133
|
lines.push("");
|
|
81
134
|
if (result.projectSummary) {
|
|
82
|
-
lines.push(
|
|
135
|
+
lines.push(chalk2.bold(`Project: ${result.projectSummary}`));
|
|
83
136
|
lines.push("");
|
|
84
137
|
}
|
|
85
138
|
if (result.audit.length > 0) {
|
|
86
|
-
lines.push(
|
|
139
|
+
lines.push(chalk2.yellow.bold("Skill Audit"));
|
|
87
140
|
for (const entry of result.audit) {
|
|
88
141
|
const icon = entry.status === "redundant" ? "\u26A0" : entry.status === "outdated" ? "\u23F0" : "\u26A1";
|
|
89
142
|
lines.push(` ${icon} **${entry.skill}** \u2014 ${entry.status}: ${entry.reason}`);
|
|
@@ -92,24 +145,25 @@ async function handleLearnRecommend(ctx, deep) {
|
|
|
92
145
|
}
|
|
93
146
|
const goodMatches = result.recommendations.filter((r) => r.score >= 60).sort((a, b) => b.score - a.score);
|
|
94
147
|
if (goodMatches.length > 0) {
|
|
95
|
-
lines.push(
|
|
148
|
+
lines.push(chalk2.green.bold("Recommended Skills"));
|
|
96
149
|
for (const rec of goodMatches.slice(0, 5)) {
|
|
97
|
-
lines.push(` ${
|
|
150
|
+
lines.push(` ${chalk2.green("\u25CF")} **${rec.slug}** (${rec.score}%) \u2014 ${rec.reason}`);
|
|
98
151
|
lines.push(` {{action:Install|/skills install @${rec.slug}}}`);
|
|
99
152
|
}
|
|
100
153
|
lines.push("");
|
|
101
154
|
ctx.onTopRecommendation?.(goodMatches[0].slug);
|
|
102
155
|
} else {
|
|
103
|
-
lines.push(
|
|
156
|
+
lines.push(chalk2.yellow("No strong matches found in the community registry."));
|
|
104
157
|
if (result.gapAnalysis) {
|
|
105
|
-
lines.push(
|
|
158
|
+
lines.push(chalk2.gray(`Gap: ${result.gapAnalysis}`));
|
|
106
159
|
}
|
|
107
160
|
lines.push("");
|
|
108
161
|
}
|
|
109
162
|
if (goodMatches.length === 0 && !isNonInteractive) {
|
|
110
163
|
const gapDesc = result.gapAnalysis ? `Based on gap analysis: ${result.gapAnalysis}` : `A custom skill tailored for your ${analysis.frameworks.join("/") || analysis.languages.join("/")} project.`;
|
|
111
|
-
lines.push(
|
|
112
|
-
|
|
164
|
+
lines.push(chalk2.cyan(gapDesc));
|
|
165
|
+
const { renderTerminalMarkdown } = await import("./immediateCommandRouter-MTEHZXQX.js");
|
|
166
|
+
console.log(renderTerminalMarkdown(lines.join("\n")));
|
|
113
167
|
const wantGenerate = await withModalPause(
|
|
114
168
|
ctx,
|
|
115
169
|
() => showConfirm({ title: "Generate a custom skill to fill this gap?" })
|
|
@@ -123,18 +177,23 @@ async function handleLearnRecommend(ctx, deep) {
|
|
|
123
177
|
}
|
|
124
178
|
async function handleGeneration(ctx, analysis, analysisResult) {
|
|
125
179
|
const gapHint = analysisResult.gapAnalysis ? ` for: ${analysisResult.gapAnalysis}` : "";
|
|
126
|
-
|
|
180
|
+
const genLabel = `Generating a custom skill${gapHint}...`;
|
|
181
|
+
const animated = useAnimatedProgress(ctx);
|
|
182
|
+
const genProgress = animated ? new StepProgress() : void 0;
|
|
183
|
+
logProgress(ctx, genLabel, genProgress);
|
|
184
|
+
genProgress?.start(genLabel);
|
|
127
185
|
const advisor = new LearnAdvisor(ctx.llm);
|
|
128
186
|
const lowScoring = analysisResult.recommendations.sort((a, b) => b.score - a.score).slice(0, 3);
|
|
129
187
|
const generated = await advisor.generateSkill(analysis, analysisResult.gapAnalysis, lowScoring);
|
|
188
|
+
genProgress?.finish();
|
|
130
189
|
if (!generated) {
|
|
131
|
-
return
|
|
190
|
+
return chalk2.red("Failed to generate a custom skill.\n") + chalk2.gray(" The LLM may have returned an invalid response. Check your provider is configured and try again.\n") + chalk2.gray(" Run with DEBUG=1 for detailed error output.");
|
|
132
191
|
}
|
|
133
|
-
console.log(
|
|
134
|
-
Generated: ${
|
|
135
|
-
console.log(
|
|
192
|
+
console.log(chalk2.green(`
|
|
193
|
+
Generated: ${chalk2.bold(generated.name)}`));
|
|
194
|
+
console.log(chalk2.gray(` ${generated.description}`));
|
|
136
195
|
if (generated.allowedTools.length > 0) {
|
|
137
|
-
console.log(
|
|
196
|
+
console.log(chalk2.gray(` Tools: ${generated.allowedTools.join(", ")}`));
|
|
138
197
|
}
|
|
139
198
|
const scopeChoice = await withModalPause(
|
|
140
199
|
ctx,
|
|
@@ -165,13 +224,17 @@ description: ${generated.description}
|
|
|
165
224
|
const skillDir = path.join(targetDir, generated.name);
|
|
166
225
|
await fse.ensureDir(skillDir);
|
|
167
226
|
await fse.writeFile(path.join(skillDir, "SKILL.md"), skillContent, "utf-8");
|
|
168
|
-
return
|
|
169
|
-
`) +
|
|
170
|
-
`) +
|
|
227
|
+
return chalk2.green(`Generated and installed skill: ${generated.name}
|
|
228
|
+
`) + chalk2.gray(` Location: ${skillDir}/SKILL.md
|
|
229
|
+
`) + chalk2.gray(` Use "/skills use ${generated.name}" to activate it.`);
|
|
171
230
|
}
|
|
172
231
|
async function handleLearnUpdate(ctx) {
|
|
173
232
|
const { skillsRegistry, workspaceRoot, llm } = ctx;
|
|
174
|
-
|
|
233
|
+
const animated = useAnimatedProgress(ctx);
|
|
234
|
+
const progress = animated ? new StepProgress() : void 0;
|
|
235
|
+
const checkLabel = "Checking for skill updates...";
|
|
236
|
+
logProgress(ctx, checkLabel, progress);
|
|
237
|
+
progress?.start(checkLabel);
|
|
175
238
|
const analyzer = new ProjectAnalyzer(workspaceRoot);
|
|
176
239
|
const analysis = await analyzer.analyze();
|
|
177
240
|
const currentHash = computeProjectHash(analysis);
|
|
@@ -192,10 +255,12 @@ async function handleLearnUpdate(ctx) {
|
|
|
192
255
|
unchanged++;
|
|
193
256
|
continue;
|
|
194
257
|
}
|
|
195
|
-
|
|
258
|
+
const regenLabel = `Regenerating ${skill.name}...`;
|
|
259
|
+
logProgress(ctx, regenLabel, progress);
|
|
260
|
+
progress?.advance(regenLabel);
|
|
196
261
|
const generated = await advisor.generateSkill(analysis, null, []);
|
|
197
262
|
if (!generated) {
|
|
198
|
-
lines.push(
|
|
263
|
+
lines.push(chalk2.yellow(` Failed to regenerate ${skill.name}`));
|
|
199
264
|
continue;
|
|
200
265
|
}
|
|
201
266
|
let frontmatter = `---
|
|
@@ -214,17 +279,18 @@ description: ${generated.description}
|
|
|
214
279
|
try {
|
|
215
280
|
await fse.writeFile(skill.path, content, "utf-8");
|
|
216
281
|
updated++;
|
|
217
|
-
lines.push(
|
|
282
|
+
lines.push(chalk2.green(` Regenerated ${skill.name}`));
|
|
218
283
|
} catch {
|
|
219
|
-
lines.push(
|
|
284
|
+
lines.push(chalk2.yellow(` Failed to write ${skill.name}`));
|
|
220
285
|
}
|
|
221
286
|
}
|
|
287
|
+
progress?.finish();
|
|
222
288
|
lines.push("");
|
|
223
289
|
if (updated > 0) {
|
|
224
|
-
lines.push(
|
|
290
|
+
lines.push(chalk2.green(`Updated ${updated} skill${updated !== 1 ? "s" : ""}.`));
|
|
225
291
|
}
|
|
226
292
|
if (unchanged > 0) {
|
|
227
|
-
lines.push(
|
|
293
|
+
lines.push(chalk2.gray(`${unchanged} skill${unchanged !== 1 ? "s" : ""} already up to date.`));
|
|
228
294
|
}
|
|
229
295
|
return lines.join("\n");
|
|
230
296
|
}
|
|
@@ -257,6 +323,11 @@ export {
|
|
|
257
323
|
learn,
|
|
258
324
|
metadata
|
|
259
325
|
};
|
|
326
|
+
/**
|
|
327
|
+
* @license
|
|
328
|
+
* Copyright 2025 Autohand AI LLC
|
|
329
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
330
|
+
*/
|
|
260
331
|
/**
|
|
261
332
|
* @license
|
|
262
333
|
* Copyright 2025 Autohand AI LLC
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
t
|
|
3
|
-
} from "./chunk-APIXPPMT.js";
|
|
4
|
-
|
|
5
|
-
// src/commands/add-dir.ts
|
|
6
|
-
import chalk2 from "chalk";
|
|
7
|
-
import fs2 from "fs-extra";
|
|
8
|
-
import path2 from "path";
|
|
9
|
-
|
|
10
1
|
// src/startup/workspaceSafety.ts
|
|
11
2
|
import os from "os";
|
|
12
3
|
import path from "path";
|
|
@@ -65,9 +56,9 @@ function normalizePath(inputPath) {
|
|
|
65
56
|
}
|
|
66
57
|
return normalized;
|
|
67
58
|
}
|
|
68
|
-
function pathsEqual(path1,
|
|
59
|
+
function pathsEqual(path1, path2) {
|
|
69
60
|
const normalized1 = normalizePath(path1);
|
|
70
|
-
const normalized2 = normalizePath(
|
|
61
|
+
const normalized2 = normalizePath(path2);
|
|
71
62
|
if (process.platform === "darwin" || process.platform === "win32") {
|
|
72
63
|
return normalized1.toLowerCase() === normalized2.toLowerCase();
|
|
73
64
|
}
|
|
@@ -260,73 +251,7 @@ function printDangerousWorkspaceWarning(workspacePath, result) {
|
|
|
260
251
|
console.log();
|
|
261
252
|
}
|
|
262
253
|
|
|
263
|
-
// src/commands/add-dir.ts
|
|
264
|
-
async function addDir(ctx, args) {
|
|
265
|
-
const dirPath = args.join(" ").trim();
|
|
266
|
-
if (!dirPath) {
|
|
267
|
-
console.log();
|
|
268
|
-
console.log(chalk2.bold.cyan("Workspace Directories"));
|
|
269
|
-
console.log(chalk2.gray("\u2500".repeat(50)));
|
|
270
|
-
console.log();
|
|
271
|
-
console.log(chalk2.bold("Primary Workspace:"));
|
|
272
|
-
console.log(chalk2.cyan(` ${ctx.workspaceRoot}`));
|
|
273
|
-
console.log();
|
|
274
|
-
if (ctx.additionalDirs.length > 0) {
|
|
275
|
-
console.log(chalk2.bold("Additional Directories:"));
|
|
276
|
-
ctx.additionalDirs.forEach((dir, index) => {
|
|
277
|
-
console.log(chalk2.green(` ${index + 1}. ${dir}`));
|
|
278
|
-
});
|
|
279
|
-
} else {
|
|
280
|
-
console.log(chalk2.gray("No additional directories configured."));
|
|
281
|
-
}
|
|
282
|
-
console.log();
|
|
283
|
-
console.log(chalk2.gray("Usage: /add-dir <path> to add a new directory"));
|
|
284
|
-
console.log();
|
|
285
|
-
return null;
|
|
286
|
-
}
|
|
287
|
-
const resolvedPath = path2.resolve(dirPath);
|
|
288
|
-
if (!await fs2.pathExists(resolvedPath)) {
|
|
289
|
-
console.log(chalk2.red(t("commands.addDir.notFound", { path: dirPath })));
|
|
290
|
-
return null;
|
|
291
|
-
}
|
|
292
|
-
const stats = await fs2.stat(resolvedPath);
|
|
293
|
-
if (!stats.isDirectory()) {
|
|
294
|
-
console.log(chalk2.red(`Error: Path is not a directory: ${dirPath}`));
|
|
295
|
-
return null;
|
|
296
|
-
}
|
|
297
|
-
const safetyResult = checkWorkspaceSafety(resolvedPath);
|
|
298
|
-
if (!safetyResult.safe) {
|
|
299
|
-
console.log(chalk2.red(`Error: Unsafe directory: ${dirPath}`));
|
|
300
|
-
console.log(chalk2.yellow(` ${safetyResult.reason}`));
|
|
301
|
-
return null;
|
|
302
|
-
}
|
|
303
|
-
if (resolvedPath === ctx.workspaceRoot) {
|
|
304
|
-
console.log(chalk2.yellow(`Directory is already the primary workspace: ${resolvedPath}`));
|
|
305
|
-
return null;
|
|
306
|
-
}
|
|
307
|
-
if (ctx.additionalDirs.includes(resolvedPath)) {
|
|
308
|
-
console.log(chalk2.yellow(t("commands.addDir.alreadyAdded", { path: resolvedPath })));
|
|
309
|
-
return null;
|
|
310
|
-
}
|
|
311
|
-
ctx.addAdditionalDir(resolvedPath);
|
|
312
|
-
console.log(chalk2.green(t("commands.addDir.added", { path: resolvedPath })));
|
|
313
|
-
console.log(chalk2.gray("You can now read, write, and modify files in this directory."));
|
|
314
|
-
return null;
|
|
315
|
-
}
|
|
316
|
-
var metadata = {
|
|
317
|
-
command: "/add-dir",
|
|
318
|
-
description: t("commands.addDir.description"),
|
|
319
|
-
implemented: true
|
|
320
|
-
};
|
|
321
|
-
|
|
322
254
|
export {
|
|
323
255
|
checkWorkspaceSafety,
|
|
324
|
-
printDangerousWorkspaceWarning
|
|
325
|
-
addDir,
|
|
326
|
-
metadata
|
|
256
|
+
printDangerousWorkspaceWarning
|
|
327
257
|
};
|
|
328
|
-
/**
|
|
329
|
-
* @license
|
|
330
|
-
* Copyright 2025 Autohand AI LLC
|
|
331
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
332
|
-
*/
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/commands/yolo.ts
|
|
2
|
+
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
3
|
+
async function toggleYolo(ctx) {
|
|
4
|
+
if (!ctx.setYoloMode) {
|
|
5
|
+
return "YOLO mode toggle not available in this context.";
|
|
6
|
+
}
|
|
7
|
+
const isActive = ctx.permissionManager.getMode() === "unrestricted";
|
|
8
|
+
if (isActive) {
|
|
9
|
+
ctx.setYoloMode(void 0);
|
|
10
|
+
console.log();
|
|
11
|
+
console.log(_chalk2.default.cyan("YOLO mode deactivated. Returning to interactive approval."));
|
|
12
|
+
console.log();
|
|
13
|
+
} else {
|
|
14
|
+
ctx.setYoloMode("allow:*");
|
|
15
|
+
console.log();
|
|
16
|
+
console.log(_chalk2.default.yellow.bold("\u{1F680} YOLO MODE ACTIVATED"));
|
|
17
|
+
console.log(_chalk2.default.gray("You only live once! All actions will be auto-approved."));
|
|
18
|
+
console.log(_chalk2.default.gray("Security blacklist still applies for sensitive files."));
|
|
19
|
+
console.log();
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
var metadata = {
|
|
24
|
+
command: "/yolo",
|
|
25
|
+
description: "Toggle YOLO mode \u2014 auto-approve all actions",
|
|
26
|
+
implemented: true
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
exports.toggleYolo = toggleYolo; exports.metadata = metadata;
|
|
33
|
+
/**
|
|
34
|
+
* @license
|
|
35
|
+
* Copyright 2025 Autohand AI LLC
|
|
36
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
37
|
+
*/
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
|
|
4
4
|
|
|
5
5
|
// src/commands/automode.ts
|
|
6
6
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
7
7
|
var metadata = {
|
|
8
8
|
command: "/automode",
|
|
9
|
-
description:
|
|
9
|
+
description: _chunkCHI52KFRcjs.t.call(void 0, "commands.automode.description"),
|
|
10
10
|
implemented: true,
|
|
11
11
|
subcommands: [
|
|
12
|
+
{ name: "on", description: "Enable interactive auto-mode for this session" },
|
|
13
|
+
{ name: "off", description: "Disable interactive auto-mode for this session" },
|
|
12
14
|
{ name: "status", description: "Show current loop state" },
|
|
13
15
|
{ name: "pause", description: "Pause the active loop" },
|
|
14
16
|
{ name: "resume", description: "Resume paused loop" },
|
|
@@ -22,6 +24,10 @@ function parseArgs(args) {
|
|
|
22
24
|
result.subcommand = firstArg;
|
|
23
25
|
args = args.slice(1);
|
|
24
26
|
}
|
|
27
|
+
if (["on", "off"].includes(firstArg)) {
|
|
28
|
+
result.subcommand = firstArg;
|
|
29
|
+
args = args.slice(1);
|
|
30
|
+
}
|
|
25
31
|
const promptParts = [];
|
|
26
32
|
for (let i = 0; i < args.length; i++) {
|
|
27
33
|
const arg = args[i];
|
|
@@ -42,25 +48,46 @@ function parseArgs(args) {
|
|
|
42
48
|
}
|
|
43
49
|
async function automode(ctx, args = []) {
|
|
44
50
|
const { automodeManager } = ctx;
|
|
45
|
-
|
|
51
|
+
const parsed = parseArgs(args);
|
|
52
|
+
const interactiveAutomodeEnabled = _optionalChain([ctx, 'access', _4 => _4.isInteractiveAutomodeEnabled, 'optionalCall', _5 => _5()]) === true;
|
|
53
|
+
const canToggleInteractiveAutomode = typeof ctx.setInteractiveAutomodeEnabled === "function";
|
|
54
|
+
if (!automodeManager && !canToggleInteractiveAutomode && parsed.subcommand !== "status") {
|
|
46
55
|
return "Auto-mode manager not available. Please restart autohand.";
|
|
47
56
|
}
|
|
48
|
-
const parsed = parseArgs(args);
|
|
49
57
|
switch (parsed.subcommand) {
|
|
50
58
|
case "status":
|
|
51
|
-
return handleStatus(automodeManager);
|
|
59
|
+
return handleStatus(automodeManager, interactiveAutomodeEnabled);
|
|
60
|
+
case "on":
|
|
61
|
+
return handleInteractiveToggle(ctx, true);
|
|
62
|
+
case "off":
|
|
63
|
+
return handleInteractiveToggle(ctx, false);
|
|
52
64
|
case "pause":
|
|
65
|
+
if (!automodeManager) {
|
|
66
|
+
return "No auto-mode session is currently running.";
|
|
67
|
+
}
|
|
53
68
|
return handlePause(automodeManager);
|
|
54
69
|
case "resume":
|
|
70
|
+
if (!automodeManager) {
|
|
71
|
+
return "No auto-mode session to resume.";
|
|
72
|
+
}
|
|
55
73
|
return handleResume(automodeManager);
|
|
56
74
|
case "cancel":
|
|
75
|
+
if (!automodeManager) {
|
|
76
|
+
return "No auto-mode session to cancel.";
|
|
77
|
+
}
|
|
57
78
|
return handleCancel(automodeManager);
|
|
58
79
|
case "help":
|
|
59
80
|
return showHelp();
|
|
60
81
|
default:
|
|
82
|
+
if (!parsed.prompt && canToggleInteractiveAutomode) {
|
|
83
|
+
return handleInteractiveToggle(ctx, !interactiveAutomodeEnabled);
|
|
84
|
+
}
|
|
61
85
|
if (!parsed.prompt) {
|
|
62
86
|
return showHelp();
|
|
63
87
|
}
|
|
88
|
+
if (!automodeManager) {
|
|
89
|
+
return 'Standalone auto-mode loops are only available from the CLI flag today. Use `autohand --auto-mode "<task>"`.';
|
|
90
|
+
}
|
|
64
91
|
return handleStart(automodeManager, parsed);
|
|
65
92
|
}
|
|
66
93
|
}
|
|
@@ -80,10 +107,14 @@ Settings:
|
|
|
80
107
|
|
|
81
108
|
` + _chalk2.default.gray("Press ESC to cancel at any time.");
|
|
82
109
|
}
|
|
83
|
-
function handleStatus(manager) {
|
|
84
|
-
const state = manager.getState();
|
|
110
|
+
function handleStatus(manager, interactiveEnabled) {
|
|
111
|
+
const state = _optionalChain([manager, 'optionalAccess', _6 => _6.getState, 'call', _7 => _7()]);
|
|
112
|
+
const lines = [
|
|
113
|
+
`Interactive auto-mode: ${interactiveEnabled ? "enabled" : "disabled"}`
|
|
114
|
+
];
|
|
85
115
|
if (!state) {
|
|
86
|
-
|
|
116
|
+
lines.push("No auto-mode session is currently active.");
|
|
117
|
+
return lines.join("\n");
|
|
87
118
|
}
|
|
88
119
|
const statusEmoji = {
|
|
89
120
|
running: "\u{1F504}",
|
|
@@ -92,16 +123,16 @@ function handleStatus(manager) {
|
|
|
92
123
|
cancelled: "\u26A0\uFE0F",
|
|
93
124
|
failed: "\u274C"
|
|
94
125
|
};
|
|
95
|
-
|
|
126
|
+
lines.push(
|
|
96
127
|
"",
|
|
97
128
|
`${_nullishCoalesce(statusEmoji[state.status], () => ( "\u2753"))} Auto-Mode Status`,
|
|
98
129
|
"",
|
|
99
130
|
` Session: ${state.sessionId}`,
|
|
100
131
|
` Status: ${state.status}`,
|
|
101
|
-
` ${
|
|
132
|
+
` ${_chunkCHI52KFRcjs.t.call(void 0, "commands.automode.iteration", { current: String(state.currentIteration), max: String(state.maxIterations) })}`,
|
|
102
133
|
` Files created: ${state.filesCreated}`,
|
|
103
134
|
` Files modified: ${state.filesModified}`
|
|
104
|
-
|
|
135
|
+
);
|
|
105
136
|
if (state.branch) {
|
|
106
137
|
lines.push(` Branch: ${state.branch}`);
|
|
107
138
|
}
|
|
@@ -111,6 +142,13 @@ function handleStatus(manager) {
|
|
|
111
142
|
lines.push("");
|
|
112
143
|
return lines.join("\n");
|
|
113
144
|
}
|
|
145
|
+
function handleInteractiveToggle(ctx, enabled) {
|
|
146
|
+
if (!ctx.setInteractiveAutomodeEnabled) {
|
|
147
|
+
return "Interactive auto-mode is not available in this session.";
|
|
148
|
+
}
|
|
149
|
+
ctx.setInteractiveAutomodeEnabled(enabled);
|
|
150
|
+
return `Interactive auto-mode ${enabled ? "enabled" : "disabled"}.`;
|
|
151
|
+
}
|
|
114
152
|
async function handlePause(manager) {
|
|
115
153
|
if (!manager.isActive()) {
|
|
116
154
|
return "No auto-mode session is currently running.";
|
|
@@ -146,6 +184,9 @@ Auto-mode lets autohand work autonomously on tasks through
|
|
|
146
184
|
iterative improvement cycles-inspired by the Ralph technique.
|
|
147
185
|
|
|
148
186
|
${_chalk2.default.yellow("Usage:")}
|
|
187
|
+
/automode Toggle interactive auto-mode on or off
|
|
188
|
+
/automode on Enable interactive auto-mode
|
|
189
|
+
/automode off Disable interactive auto-mode
|
|
149
190
|
/automode <prompt> Start auto-mode with a task
|
|
150
191
|
/automode status Show current loop state
|
|
151
192
|
/automode pause Pause the loop
|
|
@@ -1,14 +1,14 @@
|
|
|
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 }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
|
|
4
4
|
|
|
5
5
|
// src/commands/help.ts
|
|
6
6
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
7
7
|
var _terminallink = require('terminal-link'); var _terminallink2 = _interopRequireDefault(_terminallink);
|
|
8
8
|
async function help() {
|
|
9
|
-
const { SLASH_COMMANDS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./slashCommands-
|
|
9
|
+
const { SLASH_COMMANDS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./slashCommands-FBPCIWM5.cjs")));
|
|
10
10
|
console.log(_chalk2.default.cyan(`
|
|
11
|
-
${
|
|
11
|
+
${_chunkCHI52KFRcjs.t.call(void 0, "commands.help.title")}
|
|
12
12
|
`));
|
|
13
13
|
const commands = SLASH_COMMANDS.filter((cmd) => cmd.implemented && cmd.command !== "/?").sort((a, b) => a.command.localeCompare(b.command));
|
|
14
14
|
const maxLen = Math.max(...commands.map((c) => c.command.length)) + 2;
|
|
@@ -16,15 +16,15 @@ async function help() {
|
|
|
16
16
|
console.log(` ${_chalk2.default.yellow(command.padEnd(maxLen))} ${_chalk2.default.gray(description)}`);
|
|
17
17
|
}
|
|
18
18
|
console.log(_chalk2.default.cyan(`
|
|
19
|
-
${
|
|
19
|
+
${_chunkCHI52KFRcjs.t.call(void 0, "commands.help.tips.title")}
|
|
20
20
|
`));
|
|
21
|
-
console.log(_chalk2.default.gray(` \u2022 ${
|
|
22
|
-
console.log(_chalk2.default.gray(` \u2022 ${
|
|
23
|
-
console.log(_chalk2.default.gray(` \u2022 ${
|
|
24
|
-
console.log(_chalk2.default.gray(` \u2022 ${
|
|
21
|
+
console.log(_chalk2.default.gray(` \u2022 ${_chunkCHI52KFRcjs.t.call(void 0, "commands.help.tips.mention")}`));
|
|
22
|
+
console.log(_chalk2.default.gray(` \u2022 ${_chunkCHI52KFRcjs.t.call(void 0, "commands.help.tips.arrows")}`));
|
|
23
|
+
console.log(_chalk2.default.gray(` \u2022 ${_chunkCHI52KFRcjs.t.call(void 0, "commands.help.tips.tab")}`));
|
|
24
|
+
console.log(_chalk2.default.gray(` \u2022 ${_chunkCHI52KFRcjs.t.call(void 0, "commands.help.tips.escape")}
|
|
25
25
|
`));
|
|
26
26
|
const docLink = _terminallink2.default.call(void 0, "docs.autohand.ai", "https://docs.autohand.ai");
|
|
27
|
-
console.log(_chalk2.default.gray(` ${
|
|
27
|
+
console.log(_chalk2.default.gray(` ${_chunkCHI52KFRcjs.t.call(void 0, "commands.help.docsLink", { link: docLink })}
|
|
28
28
|
`));
|
|
29
29
|
return null;
|
|
30
30
|
}
|