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
|
-
"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; }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
|
|
2
2
|
|
|
3
|
+
var _chunkSOLBYSLYcjs = require('./chunk-SOLBYSLY.cjs');
|
|
3
4
|
|
|
4
5
|
|
|
5
|
-
var
|
|
6
|
+
var _chunkOPNI6O7Fcjs = require('./chunk-OPNI6O7F.cjs');
|
|
6
7
|
|
|
7
8
|
|
|
8
|
-
var
|
|
9
|
+
var _chunkUGFVM77Jcjs = require('./chunk-UGFVM77J.cjs');
|
|
9
10
|
|
|
10
11
|
|
|
11
|
-
var
|
|
12
|
+
var _chunkQW2RW2GYcjs = require('./chunk-QW2RW2GY.cjs');
|
|
12
13
|
|
|
13
14
|
|
|
14
|
-
var _chunk22D2CNTPcjs = require('./chunk-22D2CNTP.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkZHJ7JGMEcjs = require('./chunk-ZHJ7JGME.cjs');
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunkCH2J4PVEcjs = require('./chunk-CH2J4PVE.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
|
|
29
29
|
|
|
30
30
|
// src/commands/learn.ts
|
|
31
31
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
32
32
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
33
33
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
34
|
-
|
|
34
|
+
|
|
35
|
+
// src/ui/stepProgress.ts
|
|
36
|
+
|
|
37
|
+
var BLINK_ON = "\x1B[5m";
|
|
38
|
+
var BLINK_OFF = "\x1B[25m";
|
|
39
|
+
var StepProgress = (_class = class {constructor() { _class.prototype.__init.call(this);_class.prototype.__init2.call(this); }
|
|
40
|
+
__init() {this.currentLabel = ""}
|
|
41
|
+
__init2() {this.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}${_chalk2.default.cyan("\u25CC")}${BLINK_OFF} ${_chalk2.default.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}${_chalk2.default.cyan("\u25CC")}${BLINK_OFF} ${_chalk2.default.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
|
+
}, _class);
|
|
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
|
_optionalChain([ctx, 'access', _ => _.onProgress, 'optionalCall', _2 => _2(message)]);
|
|
36
|
-
|
|
78
|
+
if (!progress) {
|
|
79
|
+
console.log(_chalk2.default.cyan(message));
|
|
80
|
+
}
|
|
37
81
|
}
|
|
38
82
|
async function withModalPause(ctx, fn) {
|
|
39
|
-
_optionalChain([ctx, 'access', _3 => _3.onBeforeModal, 'optionalCall', _4 => _4()]);
|
|
83
|
+
await _optionalChain([ctx, 'access', _3 => _3.onBeforeModal, 'optionalCall', _4 => _4()]);
|
|
40
84
|
try {
|
|
41
85
|
return await fn();
|
|
42
86
|
} finally {
|
|
43
|
-
_optionalChain([ctx, 'access', _5 => _5.onAfterModal, 'optionalCall', _6 => _6()]);
|
|
87
|
+
await _optionalChain([ctx, 'access', _5 => _5.onAfterModal, 'optionalCall', _6 => _6()]);
|
|
44
88
|
}
|
|
45
89
|
}
|
|
46
90
|
function parseLearnArgs(args) {
|
|
@@ -60,22 +104,31 @@ function parseLearnArgs(args) {
|
|
|
60
104
|
}
|
|
61
105
|
async function handleLearnRecommend(ctx, deep) {
|
|
62
106
|
const { skillsRegistry, workspaceRoot, llm, isNonInteractive } = ctx;
|
|
63
|
-
|
|
64
|
-
const
|
|
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
|
+
_optionalChain([progress, 'optionalAccess', _7 => _7.start, 'call', _8 => _8(analyzeLabel)]);
|
|
112
|
+
const analyzer = new (0, _chunkOPNI6O7Fcjs.ProjectAnalyzer)(workspaceRoot);
|
|
65
113
|
const analysis = await analyzer.analyze();
|
|
66
|
-
const cache = new (0,
|
|
67
|
-
const fetcher = new (0,
|
|
68
|
-
|
|
114
|
+
const cache = new (0, _chunkUGFVM77Jcjs.CommunitySkillsCache)();
|
|
115
|
+
const fetcher = new (0, _chunkQW2RW2GYcjs.GitHubRegistryFetcher)();
|
|
116
|
+
const loadLabel = "Loading community skills...";
|
|
117
|
+
logProgress(ctx, loadLabel, progress);
|
|
118
|
+
_optionalChain([progress, 'optionalAccess', _9 => _9.advance, 'call', _10 => _10(loadLabel)]);
|
|
69
119
|
let registry = null;
|
|
70
120
|
try {
|
|
71
|
-
registry = await
|
|
121
|
+
registry = await _chunkZHJ7JGMEcjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
|
|
72
122
|
} catch (e) {
|
|
73
123
|
}
|
|
74
124
|
const installedSkills = skillsRegistry.listSkills();
|
|
75
|
-
const registrySkills = _nullishCoalesce(_optionalChain([registry, 'optionalAccess',
|
|
76
|
-
|
|
77
|
-
|
|
125
|
+
const registrySkills = _nullishCoalesce(_optionalChain([registry, 'optionalAccess', _11 => _11.skills]), () => ( []));
|
|
126
|
+
const evalLabel = "Evaluating skill matches...";
|
|
127
|
+
logProgress(ctx, evalLabel, progress);
|
|
128
|
+
_optionalChain([progress, 'optionalAccess', _12 => _12.advance, 'call', _13 => _13(evalLabel)]);
|
|
129
|
+
const advisor = new (0, _chunkSOLBYSLYcjs.LearnAdvisor)(llm);
|
|
78
130
|
const result = await advisor.analyze(analysis, installedSkills, registrySkills);
|
|
131
|
+
_optionalChain([progress, 'optionalAccess', _14 => _14.finish, 'call', _15 => _15()]);
|
|
79
132
|
const lines = [];
|
|
80
133
|
lines.push("");
|
|
81
134
|
if (result.projectSummary) {
|
|
@@ -98,7 +151,7 @@ async function handleLearnRecommend(ctx, deep) {
|
|
|
98
151
|
lines.push(` {{action:Install|/skills install @${rec.slug}}}`);
|
|
99
152
|
}
|
|
100
153
|
lines.push("");
|
|
101
|
-
_optionalChain([ctx, 'access',
|
|
154
|
+
_optionalChain([ctx, 'access', _16 => _16.onTopRecommendation, 'optionalCall', _17 => _17(goodMatches[0].slug)]);
|
|
102
155
|
} else {
|
|
103
156
|
lines.push(_chalk2.default.yellow("No strong matches found in the community registry."));
|
|
104
157
|
if (result.gapAnalysis) {
|
|
@@ -109,10 +162,11 @@ async function handleLearnRecommend(ctx, deep) {
|
|
|
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
164
|
lines.push(_chalk2.default.cyan(gapDesc));
|
|
112
|
-
|
|
165
|
+
const { renderTerminalMarkdown } = await Promise.resolve().then(() => _interopRequireWildcard(require("./immediateCommandRouter-ROXU3MWT.cjs")));
|
|
166
|
+
console.log(renderTerminalMarkdown(lines.join("\n")));
|
|
113
167
|
const wantGenerate = await withModalPause(
|
|
114
168
|
ctx,
|
|
115
|
-
() =>
|
|
169
|
+
() => _chunkCH2J4PVEcjs.showConfirm.call(void 0, { title: "Generate a custom skill to fill this gap?" })
|
|
116
170
|
);
|
|
117
171
|
if (wantGenerate) {
|
|
118
172
|
return await handleGeneration(ctx, analysis, result);
|
|
@@ -123,10 +177,15 @@ 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
|
-
|
|
127
|
-
const
|
|
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
|
+
_optionalChain([genProgress, 'optionalAccess', _18 => _18.start, 'call', _19 => _19(genLabel)]);
|
|
185
|
+
const advisor = new (0, _chunkSOLBYSLYcjs.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
|
+
_optionalChain([genProgress, 'optionalAccess', _20 => _20.finish, 'call', _21 => _21()]);
|
|
130
189
|
if (!generated) {
|
|
131
190
|
return _chalk2.default.red("Failed to generate a custom skill.\n") + _chalk2.default.gray(" The LLM may have returned an invalid response. Check your provider is configured and try again.\n") + _chalk2.default.gray(" Run with DEBUG=1 for detailed error output.");
|
|
132
191
|
}
|
|
@@ -138,7 +197,7 @@ Generated: ${_chalk2.default.bold(generated.name)}`));
|
|
|
138
197
|
}
|
|
139
198
|
const scopeChoice = await withModalPause(
|
|
140
199
|
ctx,
|
|
141
|
-
() =>
|
|
200
|
+
() => _chunkCH2J4PVEcjs.showModal.call(void 0, {
|
|
142
201
|
title: "Where should this skill be installed?",
|
|
143
202
|
options: [
|
|
144
203
|
{ label: `Project (.autohand/skills/)`, value: "project" },
|
|
@@ -146,7 +205,7 @@ Generated: ${_chalk2.default.bold(generated.name)}`));
|
|
|
146
205
|
]
|
|
147
206
|
})
|
|
148
207
|
);
|
|
149
|
-
const scope = _optionalChain([scopeChoice, 'optionalAccess',
|
|
208
|
+
const scope = _optionalChain([scopeChoice, 'optionalAccess', _22 => _22.value]) === "project" ? "project" : "user";
|
|
150
209
|
let frontmatter = `---
|
|
151
210
|
name: ${generated.name}
|
|
152
211
|
description: ${generated.description}
|
|
@@ -159,9 +218,9 @@ description: ${generated.description}
|
|
|
159
218
|
|
|
160
219
|
`;
|
|
161
220
|
let skillContent = frontmatter + generated.body + "\n";
|
|
162
|
-
const projectHash =
|
|
163
|
-
skillContent =
|
|
164
|
-
const targetDir = scope === "project" ? _path2.default.join(ctx.workspaceRoot,
|
|
221
|
+
const projectHash = _chunkZHJ7JGMEcjs.computeProjectHash.call(void 0, analysis);
|
|
222
|
+
skillContent = _chunkZHJ7JGMEcjs.injectGeneratedMetadata.call(void 0, skillContent, generated.name, projectHash);
|
|
223
|
+
const targetDir = scope === "project" ? _path2.default.join(ctx.workspaceRoot, _chunkE26KKI46cjs.PROJECT_DIR_NAME, "skills") : _chunkE26KKI46cjs.AUTOHAND_PATHS.skills;
|
|
165
224
|
const skillDir = _path2.default.join(targetDir, generated.name);
|
|
166
225
|
await _fsextra2.default.ensureDir(skillDir);
|
|
167
226
|
await _fsextra2.default.writeFile(_path2.default.join(skillDir, "SKILL.md"), skillContent, "utf-8");
|
|
@@ -171,28 +230,34 @@ description: ${generated.description}
|
|
|
171
230
|
}
|
|
172
231
|
async function handleLearnUpdate(ctx) {
|
|
173
232
|
const { skillsRegistry, workspaceRoot, llm } = ctx;
|
|
174
|
-
|
|
175
|
-
const
|
|
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
|
+
_optionalChain([progress, 'optionalAccess', _23 => _23.start, 'call', _24 => _24(checkLabel)]);
|
|
238
|
+
const analyzer = new (0, _chunkOPNI6O7Fcjs.ProjectAnalyzer)(workspaceRoot);
|
|
176
239
|
const analysis = await analyzer.analyze();
|
|
177
|
-
const currentHash =
|
|
240
|
+
const currentHash = _chunkZHJ7JGMEcjs.computeProjectHash.call(void 0, analysis);
|
|
178
241
|
const allSkills = skillsRegistry.listSkills();
|
|
179
242
|
const generatedSkills = allSkills.filter(
|
|
180
|
-
(s) => _optionalChain([s, 'access',
|
|
243
|
+
(s) => _optionalChain([s, 'access', _25 => _25.metadata, 'optionalAccess', _26 => _26["agentskill-source"]]) === "llm-generated"
|
|
181
244
|
);
|
|
182
245
|
if (generatedSkills.length === 0) {
|
|
183
246
|
return "No LLM-generated skills found. Use /learn to generate skills first.";
|
|
184
247
|
}
|
|
185
|
-
const advisor = new (0,
|
|
248
|
+
const advisor = new (0, _chunkSOLBYSLYcjs.LearnAdvisor)(llm);
|
|
186
249
|
let updated = 0;
|
|
187
250
|
let unchanged = 0;
|
|
188
251
|
const lines = [];
|
|
189
252
|
for (const skill of generatedSkills) {
|
|
190
|
-
const storedHash = _optionalChain([skill, 'access',
|
|
253
|
+
const storedHash = _optionalChain([skill, 'access', _27 => _27.metadata, 'optionalAccess', _28 => _28["agentskill-project-hash"]]);
|
|
191
254
|
if (storedHash === currentHash) {
|
|
192
255
|
unchanged++;
|
|
193
256
|
continue;
|
|
194
257
|
}
|
|
195
|
-
|
|
258
|
+
const regenLabel = `Regenerating ${skill.name}...`;
|
|
259
|
+
logProgress(ctx, regenLabel, progress);
|
|
260
|
+
_optionalChain([progress, 'optionalAccess', _29 => _29.advance, 'call', _30 => _30(regenLabel)]);
|
|
196
261
|
const generated = await advisor.generateSkill(analysis, null, []);
|
|
197
262
|
if (!generated) {
|
|
198
263
|
lines.push(_chalk2.default.yellow(` Failed to regenerate ${skill.name}`));
|
|
@@ -210,7 +275,7 @@ description: ${generated.description}
|
|
|
210
275
|
|
|
211
276
|
`;
|
|
212
277
|
let content = frontmatter + generated.body + "\n";
|
|
213
|
-
content =
|
|
278
|
+
content = _chunkZHJ7JGMEcjs.injectGeneratedMetadata.call(void 0, content, skill.name, currentHash);
|
|
214
279
|
try {
|
|
215
280
|
await _fsextra2.default.writeFile(skill.path, content, "utf-8");
|
|
216
281
|
updated++;
|
|
@@ -219,6 +284,7 @@ description: ${generated.description}
|
|
|
219
284
|
lines.push(_chalk2.default.yellow(` Failed to write ${skill.name}`));
|
|
220
285
|
}
|
|
221
286
|
}
|
|
287
|
+
_optionalChain([progress, 'optionalAccess', _31 => _31.finish, 'call', _32 => _32()]);
|
|
222
288
|
lines.push("");
|
|
223
289
|
if (updated > 0) {
|
|
224
290
|
lines.push(_chalk2.default.green(`Updated ${updated} skill${updated !== 1 ? "s" : ""}.`));
|
|
@@ -244,7 +310,7 @@ async function learn(ctx, args) {
|
|
|
244
310
|
}
|
|
245
311
|
var metadata = {
|
|
246
312
|
command: "/learn",
|
|
247
|
-
description:
|
|
313
|
+
description: _chunkCHI52KFRcjs.t.call(void 0, "commands.learn.description"),
|
|
248
314
|
implemented: true,
|
|
249
315
|
subcommands: [
|
|
250
316
|
{ name: "deep", description: "Deep-analyze project for better skill matching" },
|
|
@@ -257,6 +323,11 @@ var metadata = {
|
|
|
257
323
|
|
|
258
324
|
|
|
259
325
|
exports.parseLearnArgs = parseLearnArgs; exports.learn = learn; exports.metadata = metadata;
|
|
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,12 @@
|
|
|
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 _chunkDA7NBAJKcjs = require('./chunk-DA7NBAJK.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkYFXTE422cjs = require('./chunk-YFXTE422.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
|
|
10
10
|
|
|
11
11
|
// src/commands/new.ts
|
|
12
12
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
@@ -16,7 +16,7 @@ async function newConversation(ctx) {
|
|
|
16
16
|
sessionId: _nullishCoalesce(_optionalChain([ctx, 'access', _ => _.sessionManager, 'access', _2 => _2.getCurrentSession, 'call', _3 => _3(), 'optionalAccess', _4 => _4.metadata, 'access', _5 => _5.sessionId]), () => ( ""))
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
-
const conversationHistory =
|
|
19
|
+
const conversationHistory = _chunkDA7NBAJKcjs.ConversationManager.getInstance().history();
|
|
20
20
|
const saved = await _chunkYFXTE422cjs.extractAndSaveSessionMemories.call(void 0, {
|
|
21
21
|
llm: ctx.llm,
|
|
22
22
|
memoryManager: ctx.memoryManager,
|
|
@@ -29,6 +29,11 @@ async function newConversation(ctx) {
|
|
|
29
29
|
}
|
|
30
30
|
await ctx.resetConversation();
|
|
31
31
|
await ctx.sessionManager.createSession(ctx.workspaceRoot, ctx.model);
|
|
32
|
+
if (ctx.clearScreen) {
|
|
33
|
+
ctx.clearScreen();
|
|
34
|
+
} else {
|
|
35
|
+
process.stdout.write("\x1B[2J\x1B[H");
|
|
36
|
+
}
|
|
32
37
|
console.log();
|
|
33
38
|
if (saved.length > 0) {
|
|
34
39
|
console.log(
|
|
@@ -37,7 +42,7 @@ async function newConversation(ctx) {
|
|
|
37
42
|
)
|
|
38
43
|
);
|
|
39
44
|
} else {
|
|
40
|
-
console.log(_chalk2.default.cyan(
|
|
45
|
+
console.log(_chalk2.default.cyan(_chunkCHI52KFRcjs.t.call(void 0, "commands.new.cleared")));
|
|
41
46
|
}
|
|
42
47
|
console.log();
|
|
43
48
|
return null;
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-QHPFA6OE.js";
|
|
4
4
|
import {
|
|
5
5
|
safePrompt
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-62RTC3XX.js";
|
|
7
7
|
import {
|
|
8
8
|
AUTOHAND_PATHS
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TWQDAUZU.js";
|
|
10
10
|
|
|
11
11
|
// src/commands/skills-new.ts
|
|
12
12
|
import path from "path";
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// src/commands/tools.ts
|
|
2
|
+
function renderUsage() {
|
|
3
|
+
return [
|
|
4
|
+
"Usage: /tools [list|show|doctor|disable|enable|rename|delete]",
|
|
5
|
+
"",
|
|
6
|
+
"Commands:",
|
|
7
|
+
" /tools list",
|
|
8
|
+
" /tools show <name>",
|
|
9
|
+
" /tools doctor",
|
|
10
|
+
" /tools disable <name>",
|
|
11
|
+
" /tools enable <name>",
|
|
12
|
+
" /tools rename <name> <new_name>",
|
|
13
|
+
" /tools delete <name>"
|
|
14
|
+
].join("\n");
|
|
15
|
+
}
|
|
16
|
+
function renderToolList(registry) {
|
|
17
|
+
const tools2 = registry.listMetaTools({ includeDisabled: true });
|
|
18
|
+
if (tools2.length === 0) {
|
|
19
|
+
return "No meta-tools are installed.";
|
|
20
|
+
}
|
|
21
|
+
return tools2.map((tool) => {
|
|
22
|
+
const state = tool.disabled ? "disabled" : "enabled";
|
|
23
|
+
return `${tool.name} ${tool.scope} ${state} ${tool.description}`;
|
|
24
|
+
}).join("\n");
|
|
25
|
+
}
|
|
26
|
+
function renderTool(registry, name) {
|
|
27
|
+
const tool = registry.listMetaTools({ includeDisabled: true }).find((candidate) => candidate.name === name);
|
|
28
|
+
if (!tool) {
|
|
29
|
+
return `Meta-tool "${name}" not found.`;
|
|
30
|
+
}
|
|
31
|
+
return [
|
|
32
|
+
`${tool.name}`,
|
|
33
|
+
`Description: ${tool.description}`,
|
|
34
|
+
`Scope: ${tool.scope}`,
|
|
35
|
+
`State: ${tool.disabled ? "disabled" : "enabled"}`,
|
|
36
|
+
`Source: ${tool.source}`,
|
|
37
|
+
`Created: ${tool.createdAt}`,
|
|
38
|
+
`Updated: ${tool.updatedAt ?? tool.createdAt}`,
|
|
39
|
+
`Handler: ${tool.handler}`,
|
|
40
|
+
`Parameters: ${JSON.stringify(tool.parameters, null, 2)}`
|
|
41
|
+
].join("\n");
|
|
42
|
+
}
|
|
43
|
+
function renderDiagnostics(registry) {
|
|
44
|
+
const diagnostics = registry.getDiagnostics();
|
|
45
|
+
if (diagnostics.length === 0) {
|
|
46
|
+
return "No meta-tool diagnostics.";
|
|
47
|
+
}
|
|
48
|
+
return diagnostics.map((diagnostic) => `${diagnostic.file}: ${diagnostic.reason}`).join("\n");
|
|
49
|
+
}
|
|
50
|
+
async function tools(ctx, args = []) {
|
|
51
|
+
const registry = ctx.toolsRegistry;
|
|
52
|
+
if (!registry) {
|
|
53
|
+
return "Tools registry not available.";
|
|
54
|
+
}
|
|
55
|
+
const subcommand = (args[0] ?? "list").toLowerCase();
|
|
56
|
+
switch (subcommand) {
|
|
57
|
+
case "list":
|
|
58
|
+
case "ls":
|
|
59
|
+
return renderToolList(registry);
|
|
60
|
+
case "show":
|
|
61
|
+
case "inspect": {
|
|
62
|
+
const name = args[1];
|
|
63
|
+
return name ? renderTool(registry, name) : renderUsage();
|
|
64
|
+
}
|
|
65
|
+
case "doctor":
|
|
66
|
+
case "diagnostics":
|
|
67
|
+
return renderDiagnostics(registry);
|
|
68
|
+
case "disable": {
|
|
69
|
+
const name = args[1];
|
|
70
|
+
if (!name) return renderUsage();
|
|
71
|
+
await registry.setMetaToolDisabled(name, true);
|
|
72
|
+
return `Disabled ${name}`;
|
|
73
|
+
}
|
|
74
|
+
case "enable": {
|
|
75
|
+
const name = args[1];
|
|
76
|
+
if (!name) return renderUsage();
|
|
77
|
+
await registry.setMetaToolDisabled(name, false);
|
|
78
|
+
return `Enabled ${name}`;
|
|
79
|
+
}
|
|
80
|
+
case "rename": {
|
|
81
|
+
const [name, newName] = args.slice(1);
|
|
82
|
+
if (!name || !newName) return renderUsage();
|
|
83
|
+
await registry.renameMetaTool(name, newName);
|
|
84
|
+
return `Renamed ${name} to ${newName}`;
|
|
85
|
+
}
|
|
86
|
+
case "delete":
|
|
87
|
+
case "remove":
|
|
88
|
+
case "rm": {
|
|
89
|
+
const name = args[1];
|
|
90
|
+
if (!name) return renderUsage();
|
|
91
|
+
await registry.deleteMetaTool(name);
|
|
92
|
+
return `Deleted ${name}`;
|
|
93
|
+
}
|
|
94
|
+
default:
|
|
95
|
+
return renderUsage();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
var metadata = {
|
|
99
|
+
command: "/tools",
|
|
100
|
+
description: "List, inspect, disable, rename, or delete persisted meta-tools",
|
|
101
|
+
implemented: true,
|
|
102
|
+
subcommands: [
|
|
103
|
+
{ name: "list", description: "List installed meta-tools" },
|
|
104
|
+
{ name: "show", description: "Show one meta-tool definition" },
|
|
105
|
+
{ name: "doctor", description: "Show skipped or invalid meta-tool diagnostics" },
|
|
106
|
+
{ name: "disable", description: "Disable a meta-tool without deleting it" },
|
|
107
|
+
{ name: "enable", description: "Re-enable a disabled meta-tool" },
|
|
108
|
+
{ name: "rename", description: "Rename a persisted meta-tool" },
|
|
109
|
+
{ name: "delete", description: "Delete a persisted meta-tool" }
|
|
110
|
+
]
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export {
|
|
114
|
+
tools,
|
|
115
|
+
metadata
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* @license
|
|
119
|
+
* Copyright 2025 Autohand AI LLC
|
|
120
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
121
|
+
*/
|
|
@@ -1,12 +1,18 @@
|
|
|
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 _chunkLJD7KR3Lcjs = require('./chunk-LJD7KR3L.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkREMGR23Vcjs = require('./chunk-REMGR23V.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunkCH2J4PVEcjs = require('./chunk-CH2J4PVE.cjs');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
|
|
7
14
|
|
|
8
15
|
// src/commands/status.ts
|
|
9
|
-
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
10
16
|
var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);
|
|
11
17
|
var metadata = {
|
|
12
18
|
command: "/status",
|
|
@@ -28,7 +34,7 @@ async function gatherStatusData(ctx) {
|
|
|
28
34
|
apiConnected = false;
|
|
29
35
|
}
|
|
30
36
|
return {
|
|
31
|
-
version:
|
|
37
|
+
version: _chunkREMGR23Vcjs.package_default.version,
|
|
32
38
|
sessionId: _nullishCoalesce(_optionalChain([currentSession, 'optionalAccess', _ => _.metadata, 'access', _2 => _2.sessionId]), () => ( null)),
|
|
33
39
|
cwd: ctx.workspaceRoot,
|
|
34
40
|
provider: _nullishCoalesce(ctx.provider, () => ( "openrouter")),
|
|
@@ -45,27 +51,36 @@ function renderStatusUI(data) {
|
|
|
45
51
|
return new Promise((resolve) => {
|
|
46
52
|
const tabs = ["Status", "Config", "Usage"];
|
|
47
53
|
let currentTab = 0;
|
|
54
|
+
let completed = false;
|
|
48
55
|
const input = process.stdin;
|
|
49
56
|
const isTTY = input.isTTY;
|
|
57
|
+
const useAlternateScreen = process.stdout.isTTY;
|
|
50
58
|
const wasRaw = input.isRaw;
|
|
51
59
|
const wasPaused = typeof input.isPaused === "function" ? input.isPaused() : false;
|
|
60
|
+
if (useAlternateScreen) {
|
|
61
|
+
_chunkCH2J4PVEcjs.prepareModalRender.call(void 0, process.stdout);
|
|
62
|
+
}
|
|
52
63
|
if (wasPaused && typeof input.resume === "function") {
|
|
53
64
|
input.resume();
|
|
54
65
|
}
|
|
55
66
|
if (isTTY) {
|
|
56
67
|
_readline2.default.emitKeypressEvents(input);
|
|
57
68
|
if (!wasRaw && typeof input.setRawMode === "function") {
|
|
58
|
-
|
|
69
|
+
try {
|
|
70
|
+
input.setRawMode(true);
|
|
71
|
+
} catch (e2) {
|
|
72
|
+
}
|
|
59
73
|
}
|
|
60
74
|
if (typeof input.setEncoding === "function") {
|
|
61
75
|
input.setEncoding("utf8");
|
|
62
76
|
}
|
|
63
77
|
}
|
|
64
78
|
const render = () => {
|
|
79
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
65
80
|
process.stdout.write("\x1B[2J\x1B[H");
|
|
66
81
|
renderTabHeader(tabs, currentTab);
|
|
67
82
|
renderTabContent(tabs[currentTab], data);
|
|
68
|
-
console.log(
|
|
83
|
+
console.log(theme.muted("\nEsc to exit"));
|
|
69
84
|
};
|
|
70
85
|
let buffer = "";
|
|
71
86
|
const handler = (chunk) => {
|
|
@@ -124,24 +139,35 @@ function renderStatusUI(data) {
|
|
|
124
139
|
}
|
|
125
140
|
};
|
|
126
141
|
const cleanup = () => {
|
|
142
|
+
if (completed) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
completed = true;
|
|
127
146
|
input.off("data", handler);
|
|
128
147
|
if (isTTY && !wasRaw && typeof input.setRawMode === "function") {
|
|
129
|
-
|
|
148
|
+
try {
|
|
149
|
+
input.setRawMode(false);
|
|
150
|
+
} catch (e3) {
|
|
151
|
+
}
|
|
130
152
|
}
|
|
131
153
|
if (wasPaused && typeof input.pause === "function") {
|
|
132
154
|
input.pause();
|
|
133
155
|
}
|
|
134
156
|
process.stdout.write("\x1B[2J\x1B[H");
|
|
157
|
+
if (useAlternateScreen) {
|
|
158
|
+
_chunkCH2J4PVEcjs.cleanupModalRender.call(void 0, process.stdout);
|
|
159
|
+
}
|
|
135
160
|
};
|
|
136
161
|
input.on("data", handler);
|
|
137
162
|
render();
|
|
138
163
|
});
|
|
139
164
|
}
|
|
140
165
|
function renderTabHeader(tabs, currentIndex) {
|
|
166
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
141
167
|
const header = tabs.map((tab, i) => {
|
|
142
|
-
return i === currentIndex ?
|
|
168
|
+
return i === currentIndex ? theme.selectedTab(tab) : theme.tab(tab);
|
|
143
169
|
}).join(" ");
|
|
144
|
-
console.log(`Settings: ${header} ${
|
|
170
|
+
console.log(`Settings: ${header} ${theme.muted("(tab to cycle)")}
|
|
145
171
|
`);
|
|
146
172
|
}
|
|
147
173
|
function renderTabContent(tab, data) {
|
|
@@ -158,26 +184,28 @@ function renderTabContent(tab, data) {
|
|
|
158
184
|
}
|
|
159
185
|
}
|
|
160
186
|
function renderStatusTab(data) {
|
|
161
|
-
|
|
162
|
-
console.log(
|
|
163
|
-
console.log(
|
|
164
|
-
console.log(
|
|
165
|
-
console.log(
|
|
187
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
188
|
+
console.log(theme.bold(`${_chunkCHI52KFRcjs.t.call(void 0, "commands.status.version")}:`), data.version);
|
|
189
|
+
console.log(theme.bold(`${_chunkCHI52KFRcjs.t.call(void 0, "commands.status.sessionId")}:`), _nullishCoalesce(data.sessionId, () => ( theme.muted("none"))));
|
|
190
|
+
console.log(theme.bold(`${_chunkCHI52KFRcjs.t.call(void 0, "commands.status.cwd")}:`), data.cwd);
|
|
191
|
+
console.log(theme.bold(`${_chunkCHI52KFRcjs.t.call(void 0, "commands.status.provider")}:`), data.provider);
|
|
192
|
+
console.log(theme.bold(`${_chunkCHI52KFRcjs.t.call(void 0, "commands.status.model")}:`), data.model);
|
|
166
193
|
console.log(
|
|
167
|
-
|
|
168
|
-
data.contextCompactionEnabled ?
|
|
194
|
+
theme.bold("Context Compaction:"),
|
|
195
|
+
data.contextCompactionEnabled ? theme.success("ON") : theme.warning("OFF")
|
|
169
196
|
);
|
|
170
197
|
console.log();
|
|
171
198
|
console.log(
|
|
172
|
-
|
|
173
|
-
data.apiConnected ?
|
|
199
|
+
theme.bold(`${_chunkCHI52KFRcjs.t.call(void 0, "commands.status.apiStatus")}:`),
|
|
200
|
+
data.apiConnected ? theme.success(_chunkCHI52KFRcjs.t.call(void 0, "commands.status.connected")) : theme.error(_chunkCHI52KFRcjs.t.call(void 0, "commands.status.disconnected"))
|
|
174
201
|
);
|
|
175
|
-
console.log(
|
|
176
|
-
console.log(
|
|
202
|
+
console.log(theme.bold(`${_chunkCHI52KFRcjs.t.call(void 0, "commands.status.sessions")}:`), _chunkCHI52KFRcjs.t.call(void 0, "commands.status.total", { count: String(data.sessionsCount) }));
|
|
203
|
+
console.log(theme.bold("Memory:"), "user (~/.autohand/memory/), project (.autohand/memory/)");
|
|
177
204
|
}
|
|
178
205
|
function renderConfigTab(data) {
|
|
206
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
179
207
|
const config = data.config;
|
|
180
|
-
console.log(
|
|
208
|
+
console.log(theme.bold("Autohand preferences\n"));
|
|
181
209
|
const settings = [
|
|
182
210
|
["Theme", _nullishCoalesce(_optionalChain([config, 'optionalAccess', _9 => _9.ui, 'optionalAccess', _10 => _10.theme]), () => ( "dark"))],
|
|
183
211
|
["Auto-confirm", _optionalChain([config, 'optionalAccess', _11 => _11.ui, 'optionalAccess', _12 => _12.autoConfirm]) ? "true" : "false"],
|
|
@@ -189,21 +217,23 @@ function renderConfigTab(data) {
|
|
|
189
217
|
["Network timeout", `${_nullishCoalesce(_optionalChain([config, 'optionalAccess', _23 => _23.network, 'optionalAccess', _24 => _24.timeout]), () => ( 3e4))}ms`]
|
|
190
218
|
];
|
|
191
219
|
for (const [name, value] of settings) {
|
|
192
|
-
console.log(` ${
|
|
220
|
+
console.log(` ${theme.accent(name.padEnd(30))} ${value}`);
|
|
193
221
|
}
|
|
194
222
|
}
|
|
195
223
|
function renderUsageTab(data) {
|
|
224
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
196
225
|
const contextUsed = 100 - data.contextPercentLeft;
|
|
197
|
-
console.log(
|
|
226
|
+
console.log(theme.bold("Current session\n"));
|
|
198
227
|
renderProgressBar("Context used", contextUsed, 100);
|
|
199
228
|
console.log();
|
|
200
|
-
console.log(
|
|
229
|
+
console.log(theme.bold("Tokens used:"), formatTokens(data.totalTokensUsed));
|
|
201
230
|
}
|
|
202
231
|
function renderProgressBar(label, value, max) {
|
|
232
|
+
const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
|
|
203
233
|
const width = 30;
|
|
204
234
|
const filled = Math.round(value / max * width);
|
|
205
235
|
const empty = width - filled;
|
|
206
|
-
const bar =
|
|
236
|
+
const bar = theme.progressFilled("\u2588".repeat(filled)) + theme.progressEmpty("\u2591".repeat(empty));
|
|
207
237
|
const percent = Math.round(value / max * 100);
|
|
208
238
|
console.log(label);
|
|
209
239
|
console.log(`${bar} ${percent}% used`);
|