autohand-cli 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -2
- package/dist/{ImportWizard-IWVPRKFF.cjs → ImportWizard-35YBJ4AM.cjs} +8 -8
- package/dist/{ImportWizard-KASGQPUY.js → ImportWizard-XH7CINCH.js} +3 -3
- package/dist/LearnAdvisor-A4Q5PPBI.js +9 -0
- package/dist/LearnAdvisor-GASQD7HT.cjs +9 -0
- package/dist/{PermissionManager-K7UWSNB6.js → PermissionManager-ATUV34LQ.js} +1 -1
- package/dist/{PermissionManager-2GO5PQ6M.cjs → PermissionManager-KMN53FJP.cjs} +2 -2
- package/dist/{ProviderFactory-S3LWTQQC.js → ProviderFactory-MR5B23QJ.js} +1 -1
- package/dist/ProviderFactory-VFGCJJX6.cjs +9 -0
- package/dist/{SkillsRegistry-GDEGFP6O.cjs → SkillsRegistry-KPQFTRIT.cjs} +2 -2
- package/dist/{SkillsRegistry-SI5RUHQ4.js → SkillsRegistry-XJSKPDF2.js} +1 -1
- package/dist/{SubAgent-I75HELJG.js → SubAgent-NYH6GWQ3.js} +1 -1
- package/dist/{SubAgent-K3QP6WHC.cjs → SubAgent-PZKBDUBA.cjs} +2 -2
- package/dist/{about-B2AGTV6N.js → about-HHTF2YFL.js} +3 -3
- package/dist/about-JGRVNNQC.cjs +12 -0
- package/dist/{actionExecutor-YRUJNB5G.cjs → actionExecutor-U6IBN2TU.cjs} +7 -7
- package/dist/{actionExecutor-6XCVL2SJ.js → actionExecutor-XT5FW3W6.js} +6 -6
- package/dist/{add-dir-7FBQ5IFV.js → add-dir-247K3XRY.js} +2 -2
- package/dist/add-dir-GS4DXKKH.cjs +10 -0
- package/dist/agents-R6ZEFTVR.cjs +12 -0
- package/dist/{agents-FENGUSJD.js → agents-WJPQWQF2.js} +2 -2
- package/dist/agents-new-HKVEIBDJ.js +14 -0
- package/dist/agents-new-X6GTHIO6.cjs +14 -0
- package/dist/autoSkill-6TGBTEQD.js +20 -0
- package/dist/autoSkill-H4T6VVDA.cjs +20 -0
- package/dist/{automode-O7G3DUYN.js → automode-BC6NVECO.js} +2 -2
- package/dist/automode-WN2RSOGW.cjs +10 -0
- package/dist/{chunk-MUBW5UDH.cjs → chunk-245KJE5Y.cjs} +4 -4
- package/dist/{chunk-GCHELXLO.js → chunk-33RSHBDH.js} +2 -2
- package/dist/{chunk-Q5RN7RXC.js → chunk-34M3HWLR.js} +2 -2
- package/dist/{chunk-XMNHZRUB.cjs → chunk-3K2ESU53.cjs} +2 -2
- package/dist/{chunk-OI7OIGNB.cjs → chunk-3L53OA4E.cjs} +10 -10
- package/dist/{chunk-2JYIR3EC.cjs → chunk-3OTU3RS3.cjs} +435 -4
- package/dist/{chunk-MVWOQBCC.cjs → chunk-3PCTTUNW.cjs} +11 -11
- package/dist/{chunk-JJWCQLOU.cjs → chunk-47CKWKEX.cjs} +2 -2
- package/dist/{chunk-ITB3FS72.js → chunk-4PKF7WPD.js} +3 -3
- package/dist/{chunk-2RIAPTET.js → chunk-5P2NXKP3.js} +64 -54
- package/dist/{chunk-5YJG6H6P.cjs → chunk-6HYLHBQG.cjs} +8 -8
- package/dist/{chunk-SO3QQJAZ.js → chunk-6RF7UKUS.js} +11 -4
- package/dist/{chunk-VNQ5GL34.js → chunk-6ZCULLCA.js} +1 -1
- package/dist/{chunk-WJDPVW7T.js → chunk-72FKPBT5.js} +3 -3
- package/dist/{chunk-RVUQKMXX.cjs → chunk-7BTSG4ME.cjs} +5067 -2204
- package/dist/{chunk-YYB42DCU.cjs → chunk-A4IJHHV7.cjs} +10 -4
- package/dist/{chunk-IUMJYXBX.cjs → chunk-AEJH23FO.cjs} +6 -6
- package/dist/{chunk-HFMLWH7B.js → chunk-APIXPPMT.js} +5067 -2204
- package/dist/chunk-AS6RTLN7.cjs +203 -0
- package/dist/{chunk-ZSE42BRE.js → chunk-AYS2ASM7.js} +1 -1
- package/dist/{chunk-IWVQ2EW3.js → chunk-AYSFIUFW.js} +3 -3
- package/dist/{chunk-UJTCTTUF.cjs → chunk-BWN2CLLM.cjs} +30 -3
- package/dist/{chunk-EEGK5DYE.cjs → chunk-C5IJIM2V.cjs} +20 -14
- package/dist/{chunk-OBLIITWJ.js → chunk-CAMZTXV6.js} +2 -2
- package/dist/{chunk-5DDDUUBM.cjs → chunk-CDBPBM2K.cjs} +3 -3
- package/dist/{chunk-XWASJ2QL.js → chunk-CWMZKFTT.js} +3 -3
- package/dist/{chunk-UBS46QL3.cjs → chunk-CZXGCVTR.cjs} +2 -2
- package/dist/{chunk-AFN7LH5N.cjs → chunk-DJDE4DTT.cjs} +17 -17
- package/dist/{chunk-LL3PQ2U6.js → chunk-DRE2RXBZ.js} +33 -5
- package/dist/{chunk-QT2VZNFA.js → chunk-DSPQEHDT.js} +2 -2
- package/dist/{chunk-BT35E7NE.cjs → chunk-DVUHHH3B.cjs} +4 -4
- package/dist/{chunk-MHSDHPC4.cjs → chunk-DVZOENQ7.cjs} +2 -2
- package/dist/{chunk-Y2SXUCNJ.js → chunk-EGMZDTSL.js} +1 -1
- package/dist/{chunk-2ELK5DMH.js → chunk-FKSDEWDH.js} +3 -3
- package/dist/{chunk-YKS55CMT.js → chunk-FW774QXH.js} +19 -3
- package/dist/{chunk-T63AMO6H.js → chunk-G27PQQFD.js} +1 -1
- package/dist/{chunk-H6ZGZEBG.cjs → chunk-G3V4SFET.cjs} +9 -9
- package/dist/{chunk-CWALFEGU.js → chunk-G4CAKI3V.js} +1 -1
- package/dist/{chunk-FYZ67R4R.js → chunk-GJH7XMSK.js} +14 -0
- package/dist/{chunk-EIU7K7CM.js → chunk-H5SWOLG6.js} +3 -3
- package/dist/{chunk-OUHQZFN4.js → chunk-HBXAA3XB.js} +6 -1
- package/dist/{chunk-E23CMMNJ.js → chunk-HIVRCQS2.js} +8 -2
- package/dist/{chunk-TFSRRZWP.cjs → chunk-HLHTG5ZU.cjs} +15 -1
- package/dist/{chunk-WFUUXADU.js → chunk-HLQV64Y5.js} +170 -4
- package/dist/{chunk-7QEE6SW6.cjs → chunk-HOAHWIQ5.cjs} +26 -26
- package/dist/{chunk-63WXWFDI.cjs → chunk-HVKOZ2VP.cjs} +11 -11
- package/dist/{chunk-LQ4LQQG6.cjs → chunk-HXGBSJL5.cjs} +2 -2
- package/dist/chunk-I5IW3T2Y.js +310 -0
- package/dist/{chunk-D3YCFT5O.cjs → chunk-IFFXSTOM.cjs} +3 -3
- package/dist/{chunk-OPR34VHL.cjs → chunk-IKGWDOGU.cjs} +174 -8
- package/dist/{chunk-55B6SBHK.js → chunk-J4Q7XR3G.js} +3 -3
- package/dist/{chunk-LXDOQTXQ.cjs → chunk-J6QET7EF.cjs} +24 -4
- package/dist/{chunk-5EIEWVYX.js → chunk-JCLYQ2JC.js} +2 -2
- package/dist/{chunk-GHSBZ3YB.js → chunk-JX3DFKBI.js} +2 -2
- package/dist/{chunk-SALLHB2I.js → chunk-JYTDYJVW.js} +1 -1
- package/dist/{chunk-G7SZIOHF.js → chunk-KPELYZ6L.js} +2 -2
- package/dist/{chunk-S6BDWWUG.cjs → chunk-KWXVKLQ5.cjs} +5 -5
- package/dist/{chunk-GO3N7LRW.cjs → chunk-L3WAH3EM.cjs} +6 -6
- package/dist/{chunk-MGMXR67S.cjs → chunk-LA7H35XM.cjs} +9 -9
- package/dist/{chunk-XUDSXGGV.cjs → chunk-LENHP55G.cjs} +19 -3
- package/dist/{chunk-WGTJOIB7.cjs → chunk-LNMYK2F5.cjs} +10 -10
- package/dist/{chunk-JMFDD7IZ.js → chunk-LWUJFGOZ.js} +2 -2
- package/dist/chunk-MAKMSQMQ.cjs +504 -0
- package/dist/chunk-MSED7RH2.cjs +267 -0
- package/dist/{chunk-RO46YAPI.js → chunk-MYISNQH4.js} +1 -1
- package/dist/{chunk-Q2VYSHWU.js → chunk-N23UAW4I.js} +1 -1
- package/dist/{chunk-DH7DKCUL.js → chunk-NDMIPTV4.js} +1 -1
- package/dist/{chunk-YDCDGTK6.cjs → chunk-NNPAM4HC.cjs} +5 -5
- package/dist/{chunk-SRQW3B6J.cjs → chunk-O4IF4NJT.cjs} +24 -17
- package/dist/{chunk-SHFA46CS.cjs → chunk-OGV4WJ5L.cjs} +8 -8
- package/dist/chunk-OHUZKDGX.js +348 -0
- package/dist/{chunk-AMT2UZBI.cjs → chunk-OLSBBZW6.cjs} +5 -5
- package/dist/{chunk-SIHRD34Z.js → chunk-OOKY3HPZ.js} +8 -2
- package/dist/{chunk-WTNBX2JO.js → chunk-P47WPOXN.js} +30 -3
- package/dist/{chunk-3WCOFXQS.cjs → chunk-PRRCJFU3.cjs} +23 -23
- package/dist/{chunk-5GGX6WNY.cjs → chunk-Q7XSCYND.cjs} +11 -11
- package/dist/{chunk-EF4LKUQY.js → chunk-QNGEW5TC.js} +1 -1
- package/dist/chunk-QOXPOR5D.js +267 -0
- package/dist/chunk-R33VKSH5.cjs +348 -0
- package/dist/{chunk-CVVEYUFR.js → chunk-RO6WYEWH.js} +23 -3
- package/dist/{chunk-TWEKBHUO.js → chunk-SCXX4LW5.js} +3 -3
- package/dist/{chunk-YS34SVY5.js → chunk-SKV2F3NM.js} +1 -1
- package/dist/{chunk-MHLE6AVN.cjs → chunk-SKYG33B2.cjs} +3 -3
- package/dist/{chunk-EPNYD4NV.js → chunk-SLQAYV3W.js} +1 -1
- package/dist/{chunk-DLG43ZJ7.cjs → chunk-SYVYLZZF.cjs} +2 -2
- package/dist/{chunk-QUFAULH7.js → chunk-T73IDKDF.js} +2 -1
- package/dist/chunk-TBEGGJNC.cjs +310 -0
- package/dist/{chunk-TQHOVHRS.js → chunk-TNZRZQ7Q.js} +1 -1
- package/dist/{chunk-D6VG7B5X.cjs → chunk-TXSDBGKX.cjs} +2 -1
- package/dist/{chunk-LVE6Z5SL.cjs → chunk-U46VYPLR.cjs} +7 -7
- package/dist/{chunk-F23EVNJU.js → chunk-WHE2SWHU.js} +1 -1
- package/dist/{chunk-CDMGQR4L.cjs → chunk-WM5PAOTQ.cjs} +38 -10
- package/dist/{chunk-PEC45WYS.js → chunk-X2MSVKDV.js} +1 -1
- package/dist/chunk-X3WS5LDG.js +504 -0
- package/dist/{chunk-Q5RX3XGB.cjs → chunk-X5VSP65C.cjs} +2 -2
- package/dist/{chunk-HA7OAVOB.cjs → chunk-X5YJ34FZ.cjs} +12 -12
- package/dist/{chunk-TERCG25S.js → chunk-XRZEUWKF.js} +1 -1
- package/dist/{chunk-VJYPP6PP.cjs → chunk-XTB6VJVQ.cjs} +6 -6
- package/dist/{chunk-UGTFKUW4.js → chunk-XX2ZO7DS.js} +2 -2
- package/dist/{chunk-UTI6ZQEY.cjs → chunk-Y72HH2TF.cjs} +9 -9
- package/dist/{chunk-PUOE5BCN.js → chunk-YGN4CQIP.js} +1 -1
- package/dist/{chunk-5OBNULPU.js → chunk-YZXUDM5X.js} +1 -1
- package/dist/{chunk-AHD5JJ6F.cjs → chunk-Z36XBUMX.cjs} +6 -1
- package/dist/{chunk-4HKTYHNL.cjs → chunk-ZQE72E6W.cjs} +14 -14
- package/dist/{chunk-7GDVDSNI.js → chunk-ZVY2XD6T.js} +435 -4
- package/dist/{chunk-FPAE6ORV.cjs → chunk-ZYQMLKOK.cjs} +6 -6
- package/dist/clear-UO4MNWZW.cjs +12 -0
- package/dist/{clear-J7XS6T5W.js → clear-ZJ5NYP6E.js} +2 -2
- package/dist/communityInstaller-6KCFN7YZ.js +19 -0
- package/dist/communityInstaller-PVSOFDZD.cjs +19 -0
- package/dist/{completion-XR6ZONJQ.js → completion-MMF2PN2H.js} +4 -4
- package/dist/completion-UI5WKHXI.cjs +14 -0
- package/dist/config-E7RINK4R.cjs +18 -0
- package/dist/{config-2TB3A55J.js → config-ZN66VXPS.js} +1 -1
- package/dist/export-N4XIVDSL.cjs +12 -0
- package/dist/export-W22L4D5C.js +12 -0
- package/dist/feedback-DR6ADSNE.cjs +15 -0
- package/dist/feedback-FEEAP4QW.js +15 -0
- package/dist/{help-I5GRCA3S.js → help-2BLR7L43.js} +2 -2
- package/dist/help-AQHGTS7P.cjs +12 -0
- package/dist/{history-OCHJBJW7.js → history-5FZ3M2AK.js} +2 -2
- package/dist/history-NIUDRMKA.cjs +14 -0
- package/dist/hooks-2EY4IPKV.js +13 -0
- package/dist/hooks-LJVORRIG.cjs +13 -0
- package/dist/i18n-ARDG2SMC.cjs +33 -0
- package/dist/{i18n-KHBXUALK.js → i18n-K7QOWIBH.js} +1 -1
- package/dist/ide-GFW6IJHD.js +12 -0
- package/dist/ide-N2ZNSSB3.cjs +12 -0
- package/dist/{import-KRVVYJCZ.js → import-DFVN3KNZ.js} +2 -2
- package/dist/{import-PQJPNXA4.cjs → import-QEME3E4T.cjs} +3 -3
- package/dist/{import-EAAX5HJR.js → import-UXM3VK7B.js} +3 -3
- package/dist/import-ZS6DPGU5.cjs +10 -0
- package/dist/index.cjs +5451 -2274
- package/dist/index.js +5345 -2168
- package/dist/init-PY75HA3S.cjs +10 -0
- package/dist/{init-6K3NRDOM.js → init-QNMWLAVY.js} +2 -2
- package/dist/language-5UE4G2BT.cjs +18 -0
- package/dist/{language-Y6ZC7LET.js → language-UXMHEZUJ.js} +5 -5
- package/dist/learn-HJ3FLNZC.cjs +20 -0
- package/dist/learn-MVYS3RU5.js +20 -0
- package/dist/{login-DL3377MD.js → login-DSE7H63A.js} +6 -6
- package/dist/{login-6OAH2NEH.cjs → login-V3MEWPKN.cjs} +7 -7
- package/dist/{logout-TLYA5W45.js → logout-BMVCLKKW.js} +6 -6
- package/dist/logout-XEG7FHOZ.cjs +18 -0
- package/dist/{mcp-BHOIBYUB.js → mcp-PYUR4PHO.js} +4 -4
- package/dist/mcp-SG6JFLGC.cjs +18 -0
- package/dist/{mcp-install-GROTZHAW.cjs → mcp-install-G27HSS3Z.cjs} +9 -9
- package/dist/{mcp-install-KSADVDBE.js → mcp-install-VESN42PI.js} +5 -5
- package/dist/{memory-6DRFA43C.js → memory-4ZMMEZ2Z.js} +2 -2
- package/dist/memory-QSGMVVGH.cjs +10 -0
- package/dist/model-NANLBZ4Z.cjs +10 -0
- package/dist/{model-MQXC56ES.js → model-ZXNV4AF7.js} +2 -2
- package/dist/{new-7VYM36RC.js → new-5QJY5JP2.js} +2 -2
- package/dist/new-PMMG55UX.cjs +12 -0
- package/dist/permissions-LECTCJ4H.cjs +13 -0
- package/dist/permissions-VP5VGIBL.js +13 -0
- package/dist/quit-BKOOPHU5.cjs +10 -0
- package/dist/{quit-PKBSEJOL.js → quit-FVFNYACP.js} +2 -2
- package/dist/{registry-WQLWHOLY.js → registry-KWZGYJC2.js} +289 -9
- package/dist/{registry-A5XLMQVC.cjs → registry-YN4FQPOO.cjs} +298 -18
- package/dist/{resume-FBKXSDOA.js → resume-EXFQSQPH.js} +4 -4
- package/dist/resume-PP2IQM5S.cjs +13 -0
- package/dist/search-C56FBN67.cjs +17 -0
- package/dist/{search-7RNYTCNO.js → search-XGZDYBF4.js} +5 -5
- package/dist/{sessions-WAXBUQTU.js → sessions-54KI3F2Q.js} +2 -2
- package/dist/sessions-DDTSPNVW.cjs +10 -0
- package/dist/settings-BDO37TTO.cjs +30 -0
- package/dist/{settings-D6JXX5RG.js → settings-FHRDFPLK.js} +5 -5
- package/dist/share-IERCTBGN.cjs +14 -0
- package/dist/share-TGROUE6R.js +14 -0
- package/dist/skills-6OL4OSGA.js +76 -0
- package/dist/skills-FYY6F2WV.cjs +76 -0
- package/dist/skills-OM4IGBAA.cjs +26 -0
- package/dist/skills-S3GRN323.js +26 -0
- package/dist/{skills-install-QNQWC2MV.js → skills-install-6CSWC24P.js} +7 -7
- package/dist/{skills-install-UMK5H3SO.cjs → skills-install-O3LZ2ETC.cjs} +11 -11
- package/dist/{skills-new-NZFGFKML.js → skills-new-ALD2PTHN.js} +5 -5
- package/dist/skills-new-PWLKK7GW.cjs +15 -0
- package/dist/slashCommands-L4ZD33LJ.js +75 -0
- package/dist/slashCommands-YY2VUUDF.cjs +75 -0
- package/dist/status-3PC5XWSS.cjs +11 -0
- package/dist/{status-BKC7GBNQ.js → status-KCLVOYPD.js} +3 -3
- package/dist/{sync-YVPFT7SL.js → sync-6SDWG5RK.js} +3 -3
- package/dist/sync-WHURZL3U.cjs +18 -0
- package/dist/{team-RWIKCLTG.js → team-5YXP3JGR.js} +1 -1
- package/dist/team-IIWEZKNR.cjs +9 -0
- package/dist/{teammate-7C3UDQSH.cjs → teammate-2KMKJXAM.cjs} +4 -4
- package/dist/{teammate-3C4MLRGH.js → teammate-L6EZQ3I2.js} +4 -4
- package/dist/theme-BE5A4FPN.cjs +18 -0
- package/dist/{theme-A2CEHI7W.js → theme-YMFCQP7J.js} +5 -5
- package/dist/ui/questionModal.cjs +5 -5
- package/dist/ui/questionModal.js +4 -4
- package/dist/undo-KZHUUZTD.cjs +10 -0
- package/dist/{undo-F2IZJQUV.js → undo-NEIEHQVX.js} +2 -2
- package/package.json +2 -1
- package/dist/ProviderFactory-EFFQBRQ6.cjs +0 -9
- package/dist/about-V2HWEZZO.cjs +0 -12
- package/dist/add-dir-ALBSYRV3.cjs +0 -10
- package/dist/agents-FCGEWTA3.cjs +0 -12
- package/dist/agents-new-FU3O55CO.js +0 -14
- package/dist/agents-new-SAFTJ7TK.cjs +0 -14
- package/dist/automode-CYLGXQ4A.cjs +0 -10
- package/dist/chunk-Q3MJ6CYS.cjs +0 -193
- package/dist/clear-ES5WCZRF.cjs +0 -12
- package/dist/completion-XQTDTJLK.cjs +0 -14
- package/dist/config-RDMVIV26.cjs +0 -18
- package/dist/export-EWAYH353.cjs +0 -12
- package/dist/export-ZWA6XGVS.js +0 -12
- package/dist/feedback-5RV6ODW4.js +0 -15
- package/dist/feedback-ZPITHFJR.cjs +0 -15
- package/dist/help-X52PZM24.cjs +0 -12
- package/dist/history-4WIOZ4TW.cjs +0 -14
- package/dist/hooks-IAVTXUAI.cjs +0 -13
- package/dist/hooks-YF6HL23E.js +0 -13
- package/dist/i18n-MVQIAZWS.cjs +0 -33
- package/dist/ide-4R3BEBIS.js +0 -12
- package/dist/ide-C7WSPQTR.cjs +0 -12
- package/dist/import-2ICSKDL7.cjs +0 -10
- package/dist/init-AOUGGITS.cjs +0 -10
- package/dist/language-Q7YFDVSR.cjs +0 -18
- package/dist/logout-ELQBUMTU.cjs +0 -18
- package/dist/mcp-TNUEXR5T.cjs +0 -18
- package/dist/memory-IORZE6WF.cjs +0 -10
- package/dist/model-CJPSPGIC.cjs +0 -10
- package/dist/new-7D2B7IWM.cjs +0 -12
- package/dist/permissions-MM77OSFO.js +0 -13
- package/dist/permissions-W2F62DJ6.cjs +0 -13
- package/dist/quit-7D2RDGTD.cjs +0 -10
- package/dist/resume-KLPDYPWQ.cjs +0 -13
- package/dist/search-UESMQZC3.cjs +0 -17
- package/dist/sessions-TSSUFWIJ.cjs +0 -10
- package/dist/settings-RKYGXKDG.cjs +0 -30
- package/dist/share-GLX4YHS4.cjs +0 -14
- package/dist/share-U2M2KBFJ.js +0 -14
- package/dist/skills-63QLZMUO.cjs +0 -14
- package/dist/skills-BAMMXP3Q.js +0 -14
- package/dist/skills-new-NYKNHJHV.cjs +0 -15
- package/dist/slashCommands-EJ23C3Z4.cjs +0 -69
- package/dist/slashCommands-JQIL4EWX.js +0 -69
- package/dist/status-FU3CPJWQ.cjs +0 -11
- package/dist/sync-3IEIHXIP.cjs +0 -18
- package/dist/team-GVK5L73L.cjs +0 -9
- package/dist/theme-LNOQOVR4.cjs +0 -18
- package/dist/undo-QEV42XLU.cjs +0 -10
|
@@ -1,8 +1,26 @@
|
|
|
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 _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; }
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkR33VKSH5cjs = require('./chunk-R33VKSH5.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _chunk22D2CNTPcjs = require('./chunk-22D2CNTP.cjs');
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
var _chunkYHD6TUIRcjs = require('./chunk-YHD6TUIR.cjs');
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunkZYQMLKOKcjs = require('./chunk-ZYQMLKOK.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
|
|
4
19
|
|
|
5
20
|
// src/commands/skills.ts
|
|
21
|
+
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
22
|
+
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
23
|
+
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
6
24
|
async function skills(ctx, args = []) {
|
|
7
25
|
const { skillsRegistry } = ctx;
|
|
8
26
|
if (!skillsRegistry) {
|
|
@@ -15,6 +33,16 @@ async function skills(ctx, args = []) {
|
|
|
15
33
|
case "get":
|
|
16
34
|
case "add":
|
|
17
35
|
return handleSkillsInstall(ctx, skillName);
|
|
36
|
+
case "search":
|
|
37
|
+
return handleSkillsSearch(ctx, args.slice(1).join(" "));
|
|
38
|
+
case "trending":
|
|
39
|
+
return handleSkillsTrending();
|
|
40
|
+
case "remove":
|
|
41
|
+
case "uninstall":
|
|
42
|
+
return handleSkillsRemove(ctx, skillName);
|
|
43
|
+
case "feedback":
|
|
44
|
+
case "rate":
|
|
45
|
+
return handleSkillsFeedback(args[1], Number(args[2]), args.slice(3).join(" "));
|
|
18
46
|
case "use":
|
|
19
47
|
case "activate":
|
|
20
48
|
return activateSkill(skillsRegistry, skillName);
|
|
@@ -73,10 +101,10 @@ function listSkills(registry) {
|
|
|
73
101
|
const activeSkills = registry.getActiveSkills();
|
|
74
102
|
const lines = [];
|
|
75
103
|
lines.push("");
|
|
76
|
-
lines.push(`\u{1F4DA} **${
|
|
104
|
+
lines.push(`\u{1F4DA} **${_chunk7BTSG4MEcjs.t.call(void 0, "commands.skills.title")}**`);
|
|
77
105
|
lines.push("");
|
|
78
106
|
if (allSkills.length === 0) {
|
|
79
|
-
lines.push(
|
|
107
|
+
lines.push(_chunk7BTSG4MEcjs.t.call(void 0, "commands.skills.noSkills"));
|
|
80
108
|
lines.push("");
|
|
81
109
|
lines.push("**Get started:**");
|
|
82
110
|
lines.push("");
|
|
@@ -230,7 +258,7 @@ async function handleSkillsInstall(ctx, skillName) {
|
|
|
230
258
|
if (!workspaceRoot) {
|
|
231
259
|
return "Workspace root not available.";
|
|
232
260
|
}
|
|
233
|
-
const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-
|
|
261
|
+
const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-O3LZ2ETC.cjs")));
|
|
234
262
|
const result = await skillsInstall(
|
|
235
263
|
{
|
|
236
264
|
skillsRegistry,
|
|
@@ -240,10 +268,129 @@ async function handleSkillsInstall(ctx, skillName) {
|
|
|
240
268
|
);
|
|
241
269
|
return _nullishCoalesce(result, () => ( "Skills install completed."));
|
|
242
270
|
}
|
|
271
|
+
async function handleSkillsSearch(ctx, query) {
|
|
272
|
+
const cache = new (0, _chunk22D2CNTPcjs.CommunitySkillsCache)();
|
|
273
|
+
const fetcher = new (0, _chunkYHD6TUIRcjs.GitHubRegistryFetcher)();
|
|
274
|
+
const registry = await _chunkR33VKSH5cjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
|
|
275
|
+
if (!registry) {
|
|
276
|
+
return _chalk2.default.red("Unable to fetch community skills registry. Check your network connection.");
|
|
277
|
+
}
|
|
278
|
+
const client = new (0, _chunkR33VKSH5cjs.LearnClient)();
|
|
279
|
+
const results = client.search(registry, query);
|
|
280
|
+
if (results.length === 0) {
|
|
281
|
+
return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.noResults", { query });
|
|
282
|
+
}
|
|
283
|
+
if (ctx.isNonInteractive) {
|
|
284
|
+
const lines = [_chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.found", { count: String(results.length) })];
|
|
285
|
+
for (const skill2 of results) {
|
|
286
|
+
const stars = skill2.rating ? ` (${skill2.rating.toFixed(1)}/5)` : "";
|
|
287
|
+
lines.push(` ${_chalk2.default.cyan(skill2.name)} - ${skill2.description}${stars}`);
|
|
288
|
+
}
|
|
289
|
+
return lines.join("\n");
|
|
290
|
+
}
|
|
291
|
+
const options = results.map((s) => ({
|
|
292
|
+
label: `${s.name} - ${s.description}`,
|
|
293
|
+
value: s.id
|
|
294
|
+
}));
|
|
295
|
+
const selected = await _chunkZYQMLKOKcjs.showModal.call(void 0, {
|
|
296
|
+
title: _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.selectPrompt"),
|
|
297
|
+
options
|
|
298
|
+
});
|
|
299
|
+
if (!selected) {
|
|
300
|
+
return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.noResults", { query });
|
|
301
|
+
}
|
|
302
|
+
const skill = results.find((s) => s.id === selected.value);
|
|
303
|
+
if (!skill) return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.noResults", { query });
|
|
304
|
+
if (!ctx.workspaceRoot) {
|
|
305
|
+
return "Workspace root not available for install.";
|
|
306
|
+
}
|
|
307
|
+
return _chunkR33VKSH5cjs.installSkillWithSecurity.call(void 0,
|
|
308
|
+
{ skillsRegistry: ctx.skillsRegistry, workspaceRoot: ctx.workspaceRoot, hookManager: ctx.hookManager, isNonInteractive: ctx.isNonInteractive },
|
|
309
|
+
skill,
|
|
310
|
+
cache,
|
|
311
|
+
fetcher
|
|
312
|
+
);
|
|
313
|
+
}
|
|
314
|
+
async function handleSkillsTrending() {
|
|
315
|
+
const cache = new (0, _chunk22D2CNTPcjs.CommunitySkillsCache)();
|
|
316
|
+
const fetcher = new (0, _chunkYHD6TUIRcjs.GitHubRegistryFetcher)();
|
|
317
|
+
const registry = await _chunkR33VKSH5cjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
|
|
318
|
+
if (!registry) {
|
|
319
|
+
return _chalk2.default.red("Unable to fetch community skills registry. Check your network connection.");
|
|
320
|
+
}
|
|
321
|
+
const client = new (0, _chunkR33VKSH5cjs.LearnClient)();
|
|
322
|
+
const trending = client.trending(registry);
|
|
323
|
+
const lines = [];
|
|
324
|
+
lines.push("");
|
|
325
|
+
lines.push(_chalk2.default.bold(_chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.trendingTitle")));
|
|
326
|
+
lines.push("");
|
|
327
|
+
for (let i = 0; i < trending.length; i++) {
|
|
328
|
+
const skill = trending[i];
|
|
329
|
+
const idx = _chalk2.default.gray(`${i + 1}.`);
|
|
330
|
+
const name = _chalk2.default.cyan(skill.name);
|
|
331
|
+
const featured = skill.isFeatured ? _chalk2.default.yellow(" [featured]") : "";
|
|
332
|
+
const downloads = skill.downloadCount ? _chalk2.default.gray(` (${skill.downloadCount} installs)`) : "";
|
|
333
|
+
lines.push(`${idx} ${name}${featured}${downloads}`);
|
|
334
|
+
lines.push(` ${skill.description}`);
|
|
335
|
+
lines.push(` {{action:Install|/skills install @${_nullishCoalesce(skill.author, () => ( "community"))}/${skill.id}}}`);
|
|
336
|
+
lines.push("");
|
|
337
|
+
}
|
|
338
|
+
return lines.join("\n");
|
|
339
|
+
}
|
|
340
|
+
async function handleSkillsRemove(ctx, slug) {
|
|
341
|
+
if (!slug) {
|
|
342
|
+
return "Usage: /skills remove <skill-slug>";
|
|
343
|
+
}
|
|
344
|
+
const allSkills = ctx.skillsRegistry.listSkills();
|
|
345
|
+
const target = allSkills.find(
|
|
346
|
+
(s) => _optionalChain([s, 'access', _4 => _4.metadata, 'optionalAccess', _5 => _5["agentskill-slug"]]) === slug || s.name === slug
|
|
347
|
+
);
|
|
348
|
+
if (!target) {
|
|
349
|
+
return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.removeNotFound", { name: slug });
|
|
350
|
+
}
|
|
351
|
+
if (!ctx.isNonInteractive) {
|
|
352
|
+
const confirmed = await _chunkZYQMLKOKcjs.showConfirm.call(void 0, {
|
|
353
|
+
title: _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.confirmRemove", { name: target.name }),
|
|
354
|
+
defaultValue: false
|
|
355
|
+
});
|
|
356
|
+
if (!confirmed) return null;
|
|
357
|
+
}
|
|
358
|
+
const skillDir = _path2.default.dirname(target.path);
|
|
359
|
+
try {
|
|
360
|
+
await _fsextra2.default.remove(skillDir);
|
|
361
|
+
ctx.skillsRegistry.trackSkillEvent({
|
|
362
|
+
skillName: target.name,
|
|
363
|
+
source: target.source,
|
|
364
|
+
activationType: "explicit",
|
|
365
|
+
action: "remove"
|
|
366
|
+
});
|
|
367
|
+
return _chalk2.default.green(_chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.removed", { name: target.name }));
|
|
368
|
+
} catch (err) {
|
|
369
|
+
const msg = err instanceof Error ? err.message : "Unknown error";
|
|
370
|
+
return _chalk2.default.red(`Failed to remove skill: ${msg}`);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
function handleSkillsFeedback(slug, rating, _comment) {
|
|
374
|
+
if (!slug) {
|
|
375
|
+
return "Usage: /skills feedback <skill-slug> <1-5> [comment]";
|
|
376
|
+
}
|
|
377
|
+
if (rating === void 0 || isNaN(rating) || rating < 1 || rating > 5) {
|
|
378
|
+
return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.feedbackInvalid");
|
|
379
|
+
}
|
|
380
|
+
return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.feedbackThanks", { name: slug });
|
|
381
|
+
}
|
|
243
382
|
var metadata = {
|
|
244
383
|
command: "/skills",
|
|
245
|
-
description:
|
|
246
|
-
implemented: true
|
|
384
|
+
description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.skills.description"),
|
|
385
|
+
implemented: true,
|
|
386
|
+
subcommands: [
|
|
387
|
+
{ name: "use", description: "Activate a skill" },
|
|
388
|
+
{ name: "install", description: "Browse and install community skills" },
|
|
389
|
+
{ name: "search", description: "Search community skills" },
|
|
390
|
+
{ name: "trending", description: "Show trending community skills" },
|
|
391
|
+
{ name: "remove", description: "Remove an installed skill" },
|
|
392
|
+
{ name: "info", description: "Show detailed skill info" }
|
|
393
|
+
]
|
|
247
394
|
};
|
|
248
395
|
var useMetadata = {
|
|
249
396
|
command: "/skills use",
|
|
@@ -255,17 +402,36 @@ var installMetadata = {
|
|
|
255
402
|
description: "browse and install community skills",
|
|
256
403
|
implemented: true
|
|
257
404
|
};
|
|
405
|
+
var searchMetadata = {
|
|
406
|
+
command: "/skills search",
|
|
407
|
+
description: "search community skills",
|
|
408
|
+
implemented: true
|
|
409
|
+
};
|
|
410
|
+
var trendingMetadata = {
|
|
411
|
+
command: "/skills trending",
|
|
412
|
+
description: "show trending community skills",
|
|
413
|
+
implemented: true
|
|
414
|
+
};
|
|
415
|
+
var removeMetadata = {
|
|
416
|
+
command: "/skills remove",
|
|
417
|
+
description: "remove an installed skill",
|
|
418
|
+
implemented: true
|
|
419
|
+
};
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
258
423
|
|
|
259
424
|
|
|
260
425
|
|
|
261
426
|
|
|
262
427
|
|
|
263
428
|
|
|
264
|
-
exports.skills = skills; exports.metadata = metadata; exports.useMetadata = useMetadata; exports.installMetadata = installMetadata;
|
|
429
|
+
exports.skills = skills; exports.metadata = metadata; exports.useMetadata = useMetadata; exports.installMetadata = installMetadata; exports.searchMetadata = searchMetadata; exports.trendingMetadata = trendingMetadata; exports.removeMetadata = removeMetadata;
|
|
265
430
|
/**
|
|
266
431
|
* @license
|
|
267
432
|
* Copyright 2025 Autohand AI LLC
|
|
268
433
|
* SPDX-License-Identifier: Apache-2.0
|
|
269
434
|
*
|
|
270
435
|
* Skills command - List and manage available skills
|
|
436
|
+
* Also handles package-management subcommands: search, trending, remove, feedback
|
|
271
437
|
*/
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
showInput,
|
|
4
4
|
showModal,
|
|
5
5
|
showPassword
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YZXUDM5X.js";
|
|
7
7
|
import {
|
|
8
8
|
saveConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-P47WPOXN.js";
|
|
10
10
|
import {
|
|
11
11
|
t
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-APIXPPMT.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/settings.ts
|
|
15
15
|
import chalk from "chalk";
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
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
3
|
|
|
4
4
|
|
|
5
5
|
var _chunkYRLYSQEQcjs = require('./chunk-YRLYSQEQ.cjs');
|
|
6
6
|
|
|
7
7
|
// src/permissions/PermissionManager.ts
|
|
8
|
+
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
8
9
|
var DEFAULT_SECURITY_BLACKLIST = [
|
|
9
10
|
// === Sensitive Files (read/write blocked) ===
|
|
10
11
|
// Environment files with secrets
|
|
@@ -191,23 +192,31 @@ var PermissionManager = class {
|
|
|
191
192
|
this.sessionCache.set(cacheKey, allowed);
|
|
192
193
|
}
|
|
193
194
|
const pattern = this.contextToPattern(context);
|
|
195
|
+
const dirPattern = allowed && context.path ? this.buildDirectoryWildcard(context) : null;
|
|
194
196
|
if (allowed && this.workspaceRoot) {
|
|
195
197
|
try {
|
|
196
|
-
|
|
198
|
+
const patterns = dirPattern ? [pattern, dirPattern] : [pattern];
|
|
199
|
+
for (const p of patterns) {
|
|
200
|
+
await _chunkYRLYSQEQcjs.addToLocalWhitelist.call(void 0, this.workspaceRoot, p);
|
|
201
|
+
}
|
|
197
202
|
if (!this.localSettings) {
|
|
198
203
|
this.localSettings = { whitelist: [] };
|
|
199
204
|
}
|
|
200
205
|
if (!this.localSettings.whitelist) {
|
|
201
206
|
this.localSettings.whitelist = [];
|
|
202
207
|
}
|
|
203
|
-
|
|
204
|
-
this.localSettings.whitelist.
|
|
208
|
+
for (const p of patterns) {
|
|
209
|
+
if (!this.localSettings.whitelist.includes(p)) {
|
|
210
|
+
this.localSettings.whitelist.push(p);
|
|
211
|
+
}
|
|
205
212
|
}
|
|
206
213
|
} catch (e2) {
|
|
207
214
|
this.addToWhitelist(pattern);
|
|
215
|
+
if (dirPattern) this.addToWhitelist(dirPattern);
|
|
208
216
|
}
|
|
209
217
|
} else if (allowed) {
|
|
210
218
|
this.addToWhitelist(pattern);
|
|
219
|
+
if (dirPattern) this.addToWhitelist(dirPattern);
|
|
211
220
|
} else {
|
|
212
221
|
this.addToBlacklist(pattern);
|
|
213
222
|
}
|
|
@@ -231,6 +240,17 @@ var PermissionManager = class {
|
|
|
231
240
|
}
|
|
232
241
|
return `${tool}:${value}`;
|
|
233
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Build a directory-level wildcard pattern for path-based approvals.
|
|
245
|
+
* E.g., write_file:/project/tests/foo.ts → write_file:/project/tests/*
|
|
246
|
+
* This allows future writes in the same directory to be auto-approved.
|
|
247
|
+
*/
|
|
248
|
+
buildDirectoryWildcard(context) {
|
|
249
|
+
if (!context.path) return null;
|
|
250
|
+
const dir = _path2.default.dirname(context.path);
|
|
251
|
+
if (dir === "." || dir === "/") return null;
|
|
252
|
+
return `${context.tool}:${dir}/*`;
|
|
253
|
+
}
|
|
234
254
|
/**
|
|
235
255
|
* Check if context matches the immutable security blacklist
|
|
236
256
|
* This check CANNOT be bypassed by any mode, whitelist, or user setting
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
|
|
4
4
|
|
|
5
5
|
// src/commands/add-dir.ts
|
|
6
6
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
@@ -286,7 +286,7 @@ async function addDir(ctx, args) {
|
|
|
286
286
|
}
|
|
287
287
|
const resolvedPath = _path2.default.resolve(dirPath);
|
|
288
288
|
if (!await _fsextra2.default.pathExists(resolvedPath)) {
|
|
289
|
-
console.log(_chalk2.default.red(
|
|
289
|
+
console.log(_chalk2.default.red(_chunk7BTSG4MEcjs.t.call(void 0, "commands.addDir.notFound", { path: dirPath })));
|
|
290
290
|
return null;
|
|
291
291
|
}
|
|
292
292
|
const stats = await _fsextra2.default.stat(resolvedPath);
|
|
@@ -305,17 +305,17 @@ async function addDir(ctx, args) {
|
|
|
305
305
|
return null;
|
|
306
306
|
}
|
|
307
307
|
if (ctx.additionalDirs.includes(resolvedPath)) {
|
|
308
|
-
console.log(_chalk2.default.yellow(
|
|
308
|
+
console.log(_chalk2.default.yellow(_chunk7BTSG4MEcjs.t.call(void 0, "commands.addDir.alreadyAdded", { path: resolvedPath })));
|
|
309
309
|
return null;
|
|
310
310
|
}
|
|
311
311
|
ctx.addAdditionalDir(resolvedPath);
|
|
312
|
-
console.log(_chalk2.default.green(
|
|
312
|
+
console.log(_chalk2.default.green(_chunk7BTSG4MEcjs.t.call(void 0, "commands.addDir.added", { path: resolvedPath })));
|
|
313
313
|
console.log(_chalk2.default.gray("You can now read, write, and modify files in this directory."));
|
|
314
314
|
return null;
|
|
315
315
|
}
|
|
316
316
|
var metadata = {
|
|
317
317
|
command: "/add-dir",
|
|
318
|
-
description:
|
|
318
|
+
description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.addDir.description"),
|
|
319
319
|
implemented: true
|
|
320
320
|
};
|
|
321
321
|
|
|
@@ -5,10 +5,10 @@ var _chunkRKJTGGMUcjs = require('./chunk-RKJTGGMU.cjs');
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkZYQMLKOKcjs = require('./chunk-ZYQMLKOK.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkBWN2CLLMcjs = require('./chunk-BWN2CLLM.cjs');
|
|
12
12
|
|
|
13
13
|
// src/commands/search.ts
|
|
14
14
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
@@ -41,7 +41,7 @@ async function search(ctx) {
|
|
|
41
41
|
}
|
|
42
42
|
];
|
|
43
43
|
try {
|
|
44
|
-
const result = await
|
|
44
|
+
const result = await _chunkZYQMLKOKcjs.showModal.call(void 0, {
|
|
45
45
|
title: "Select search provider:",
|
|
46
46
|
options: providerOptions,
|
|
47
47
|
initialIndex: providerOptions.findIndex((c) => c.value === currentConfig.provider)
|
|
@@ -55,7 +55,7 @@ async function search(ctx) {
|
|
|
55
55
|
let parallelApiKey = currentConfig.parallelApiKey;
|
|
56
56
|
if (provider === "brave" && !braveKeySet) {
|
|
57
57
|
console.log(_chalk2.default.gray("\nGet your free Brave Search API key at: https://brave.com/search/api/\n"));
|
|
58
|
-
const apiKey = await
|
|
58
|
+
const apiKey = await _chunkZYQMLKOKcjs.showPassword.call(void 0, {
|
|
59
59
|
title: "Enter Brave Search API key:"
|
|
60
60
|
});
|
|
61
61
|
if (_optionalChain([apiKey, 'optionalAccess', _ => _.trim, 'call', _2 => _2()])) {
|
|
@@ -67,7 +67,7 @@ async function search(ctx) {
|
|
|
67
67
|
}
|
|
68
68
|
if (provider === "parallel" && !parallelKeySet) {
|
|
69
69
|
console.log(_chalk2.default.gray("\nGet your Parallel.ai API key at: https://platform.parallel.ai\n"));
|
|
70
|
-
const apiKey = await
|
|
70
|
+
const apiKey = await _chunkZYQMLKOKcjs.showPassword.call(void 0, {
|
|
71
71
|
title: "Enter Parallel.ai API key:"
|
|
72
72
|
});
|
|
73
73
|
if (_optionalChain([apiKey, 'optionalAccess', _3 => _3.trim, 'call', _4 => _4()])) {
|
|
@@ -88,7 +88,7 @@ async function search(ctx) {
|
|
|
88
88
|
braveApiKey,
|
|
89
89
|
parallelApiKey
|
|
90
90
|
};
|
|
91
|
-
await
|
|
91
|
+
await _chunkBWN2CLLMcjs.saveConfig.call(void 0, config);
|
|
92
92
|
console.log(_chalk2.default.green(`
|
|
93
93
|
\u2713 Search provider set to ${provider} and saved to config`));
|
|
94
94
|
} else {
|
|
@@ -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 _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.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-YY2VUUDF.cjs")));
|
|
10
10
|
console.log(_chalk2.default.cyan(`
|
|
11
|
-
${
|
|
11
|
+
${_chunk7BTSG4MEcjs.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
|
+
${_chunk7BTSG4MEcjs.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 ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.tips.mention")}`));
|
|
22
|
+
console.log(_chalk2.default.gray(` \u2022 ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.tips.arrows")}`));
|
|
23
|
+
console.log(_chalk2.default.gray(` \u2022 ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.tips.tab")}`));
|
|
24
|
+
console.log(_chalk2.default.gray(` \u2022 ${_chunk7BTSG4MEcjs.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(` ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.docsLink", { link: docLink })}
|
|
28
28
|
`));
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
@@ -314,8 +314,10 @@ var RELEVANCE_CATEGORIES = {
|
|
|
314
314
|
create_task: "meta",
|
|
315
315
|
team_status: "meta",
|
|
316
316
|
send_team_message: "meta",
|
|
317
|
-
ask_followup_question: "always"
|
|
317
|
+
ask_followup_question: "always",
|
|
318
318
|
// User interaction should always be available when in interactive mode
|
|
319
|
+
find_agent_skills: "always"
|
|
320
|
+
// Skill search should always be available so the LLM can explore community skills
|
|
319
321
|
};
|
|
320
322
|
var CATEGORY_TRIGGERS = {
|
|
321
323
|
always: [],
|
|
@@ -981,7 +983,7 @@ var DEFAULT_TOOL_DEFINITIONS = [
|
|
|
981
983
|
},
|
|
982
984
|
{
|
|
983
985
|
name: "auto_commit",
|
|
984
|
-
description: "Automatically stage all changes and create a commit.
|
|
986
|
+
description: "Automatically stage all changes and create a commit. In interactive mode, user can accept/edit/reject the message. In yes/non-interactive mode, commits immediately with the suggested or provided message.",
|
|
985
987
|
parameters: {
|
|
986
988
|
type: "object",
|
|
987
989
|
properties: {
|
|
@@ -990,7 +992,7 @@ var DEFAULT_TOOL_DEFINITIONS = [
|
|
|
990
992
|
}
|
|
991
993
|
},
|
|
992
994
|
requiresApproval: false
|
|
993
|
-
//
|
|
995
|
+
// Interactive flow prompts inside the tool; yes/non-interactive auto-approves
|
|
994
996
|
},
|
|
995
997
|
{
|
|
996
998
|
name: "git_log",
|
|
@@ -1220,6 +1222,20 @@ Examples:
|
|
|
1220
1222
|
},
|
|
1221
1223
|
required: ["repo", "operation"]
|
|
1222
1224
|
}
|
|
1225
|
+
},
|
|
1226
|
+
// Skills Discovery
|
|
1227
|
+
{
|
|
1228
|
+
name: "find_agent_skills",
|
|
1229
|
+
description: "Search the community skills registry for agent skills that match a query. Returns skills with name, description, category, languages, and frameworks. Use this to discover skills that could help with the current task or project.",
|
|
1230
|
+
parameters: {
|
|
1231
|
+
type: "object",
|
|
1232
|
+
properties: {
|
|
1233
|
+
query: { type: "string", description: 'Search terms \u2014 skill name, language, framework, or use-case (e.g. "react testing", "python api", "docker deployment")' },
|
|
1234
|
+
category: { type: "string", description: 'Optional category filter (e.g. "languages", "frameworks", "workflows", "testing")' },
|
|
1235
|
+
limit: { type: "number", description: "Maximum results to return (default: 10, max: 20)" }
|
|
1236
|
+
},
|
|
1237
|
+
required: ["query"]
|
|
1238
|
+
}
|
|
1223
1239
|
}
|
|
1224
1240
|
];
|
|
1225
1241
|
var ToolManager = class _ToolManager {
|
|
@@ -7,22 +7,22 @@ var _chunk5IXII4HXcjs = require('./chunk-5IXII4HX.cjs');
|
|
|
7
7
|
var _chunk33A755XBcjs = require('./chunk-33A755XB.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkOLSBBZW6cjs = require('./chunk-OLSBBZW6.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkBWN2CLLMcjs = require('./chunk-BWN2CLLM.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
|
|
20
20
|
|
|
21
21
|
// src/commands/login.ts
|
|
22
22
|
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
23
23
|
var metadata = {
|
|
24
24
|
command: "/login",
|
|
25
|
-
description:
|
|
25
|
+
description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.login.description"),
|
|
26
26
|
implemented: true
|
|
27
27
|
};
|
|
28
28
|
async function openBrowser(url) {
|
|
@@ -56,14 +56,14 @@ function sleep(ms) {
|
|
|
56
56
|
async function login(ctx) {
|
|
57
57
|
const config = ctx.config;
|
|
58
58
|
if (_optionalChain([config, 'optionalAccess', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'optionalAccess', _3 => _3.auth, 'optionalAccess', _4 => _4.user])) {
|
|
59
|
-
const result = await
|
|
59
|
+
const result = await _chunkOLSBBZW6cjs.safePrompt.call(void 0, {
|
|
60
60
|
type: "confirm",
|
|
61
61
|
name: "continueLogin",
|
|
62
62
|
message: `Already logged in as ${_chalk2.default.cyan(config.auth.user.email)}. Log in with a different account?`,
|
|
63
63
|
initial: false
|
|
64
64
|
});
|
|
65
65
|
if (!result || !result.continueLogin) {
|
|
66
|
-
console.log(_chalk2.default.gray(
|
|
66
|
+
console.log(_chalk2.default.gray(_chunk7BTSG4MEcjs.t.call(void 0, "commands.login.cancelled")));
|
|
67
67
|
return null;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -71,7 +71,7 @@ async function login(ctx) {
|
|
|
71
71
|
console.log(_chalk2.default.gray("Initiating authentication..."));
|
|
72
72
|
const initResult = await authClient.initiateDeviceAuth();
|
|
73
73
|
if (!initResult.success || !initResult.deviceCode || !initResult.userCode) {
|
|
74
|
-
console.log(_chalk2.default.red(
|
|
74
|
+
console.log(_chalk2.default.red(_chunk7BTSG4MEcjs.t.call(void 0, "commands.login.failed", { error: initResult.error || "Unknown error" })));
|
|
75
75
|
return null;
|
|
76
76
|
}
|
|
77
77
|
console.log();
|
|
@@ -113,9 +113,9 @@ async function login(ctx) {
|
|
|
113
113
|
expiresAt
|
|
114
114
|
}
|
|
115
115
|
};
|
|
116
|
-
await
|
|
116
|
+
await _chunkBWN2CLLMcjs.saveConfig.call(void 0, updatedConfig);
|
|
117
117
|
console.log();
|
|
118
|
-
console.log(_chalk2.default.green(
|
|
118
|
+
console.log(_chalk2.default.green(_chunk7BTSG4MEcjs.t.call(void 0, "commands.login.success", { email: pollResult.user.name || pollResult.user.email })));
|
|
119
119
|
console.log();
|
|
120
120
|
await checkAndRestoreSyncData(pollResult.token, pollResult.user.id, updatedConfig);
|
|
121
121
|
return null;
|
|
@@ -153,7 +153,7 @@ async function checkAndRestoreSyncData(token, userId, config) {
|
|
|
153
153
|
console.log(_chalk2.default.cyan(`Found cloud sync data (${fileCount} files, ${sizeStr})`));
|
|
154
154
|
console.log(_chalk2.default.gray("This includes your settings, agents, skills, and memory."));
|
|
155
155
|
console.log();
|
|
156
|
-
const result = await
|
|
156
|
+
const result = await _chunkOLSBBZW6cjs.safePrompt.call(void 0, {
|
|
157
157
|
type: "confirm",
|
|
158
158
|
name: "restore",
|
|
159
159
|
message: "Would you like to restore your settings from the cloud?",
|