autohand-cli 0.7.14 → 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/assets/icon.png +0 -0
- package/dist/AgentRegistry-7LDL5HJH.js +10 -0
- package/dist/AgentRegistry-NQCLWABO.cjs +10 -0
- package/dist/{AutomodeManager-NGRAO2MH.js → AutomodeManager-MWLKGPZK.js} +2 -0
- package/dist/{AutomodeManager-ZKQMBM4T.cjs → AutomodeManager-NYIZNODK.cjs} +3 -1
- package/dist/CommunitySkillsCache-6QPRMTJO.js +8 -0
- package/dist/CommunitySkillsCache-GTQMOCCO.cjs +8 -0
- package/dist/{GitHubRegistryFetcher-US2JJID4.js → GitHubRegistryFetcher-6JQ5JEDZ.js} +1 -0
- package/dist/{GitHubRegistryFetcher-K744NNAJ.cjs → GitHubRegistryFetcher-S7QFUEKV.cjs} +1 -0
- package/dist/HookManager-Q2KYMCP4.cjs +7 -0
- package/dist/HookManager-TTP4Y6DC.js +7 -0
- package/dist/ImportWizard-35YBJ4AM.cjs +466 -0
- package/dist/ImportWizard-XH7CINCH.js +466 -0
- package/dist/LearnAdvisor-A4Q5PPBI.js +9 -0
- package/dist/LearnAdvisor-GASQD7HT.cjs +9 -0
- package/dist/McpClientManager-7RM6YT35.js +8 -0
- package/dist/McpClientManager-RKD7C6OY.cjs +8 -0
- package/dist/MemoryManager-GUNLRP5S.js +8 -0
- package/dist/MemoryManager-TNSGKDKX.cjs +8 -0
- package/dist/{PermissionManager-U5OMGR3L.js → PermissionManager-ATUV34LQ.js} +4 -3
- package/dist/PermissionManager-KMN53FJP.cjs +11 -0
- package/dist/ProjectProfiler-UMJJSOCE.js +194 -0
- package/dist/ProjectProfiler-ZDWR2ODG.cjs +194 -0
- package/dist/ProviderFactory-MR5B23QJ.js +9 -0
- package/dist/ProviderFactory-VFGCJJX6.cjs +9 -0
- package/dist/SessionManager-FEUAU3ZJ.cjs +10 -0
- package/dist/SessionManager-IKWAK2PI.js +10 -0
- package/dist/SkillsRegistry-KPQFTRIT.cjs +9 -0
- package/dist/SkillsRegistry-XJSKPDF2.js +9 -0
- package/dist/SubAgent-NYH6GWQ3.js +11 -0
- package/dist/SubAgent-PZKBDUBA.cjs +11 -0
- package/dist/{SyncApiClient-AYXYSOJM.js → SyncApiClient-LVIO4C2S.js} +1 -0
- package/dist/{SyncApiClient-ID3KXEMA.cjs → SyncApiClient-ZNYMT36M.cjs} +1 -0
- package/dist/about-HHTF2YFL.js +12 -0
- package/dist/about-JGRVNNQC.cjs +12 -0
- package/dist/actionExecutor-U6IBN2TU.cjs +19 -0
- package/dist/actionExecutor-XT5FW3W6.js +19 -0
- package/dist/add-dir-247K3XRY.js +10 -0
- package/dist/add-dir-GS4DXKKH.cjs +10 -0
- package/dist/agents/builtin/code-cleaner.md +14 -0
- package/dist/agents/builtin/docs-writer.md +14 -0
- package/dist/agents/builtin/researcher.md +14 -0
- package/dist/agents/builtin/reviewer.md +15 -0
- package/dist/agents/builtin/tester.md +15 -0
- package/dist/agents/builtin/todo-resolver.md +15 -0
- package/dist/agents-R6ZEFTVR.cjs +12 -0
- package/dist/agents-WJPQWQF2.js +12 -0
- package/dist/agents-new-HKVEIBDJ.js +14 -0
- package/dist/agents-new-X6GTHIO6.cjs +14 -0
- package/dist/assets/icon.png +0 -0
- package/dist/autoSkill-6TGBTEQD.js +20 -0
- package/dist/autoSkill-H4T6VVDA.cjs +20 -0
- package/dist/automode-BC6NVECO.js +10 -0
- package/dist/automode-WN2RSOGW.cjs +10 -0
- package/dist/{cc-UTTLESTY.js → cc-7LEIJ3KF.js} +1 -0
- package/dist/{cc-2W6M7J45.cjs → cc-Q5MM4AWC.cjs} +1 -0
- package/dist/{chunk-N4ZSG6JJ.cjs → chunk-22D2CNTP.cjs} +2 -2
- package/dist/chunk-245KJE5Y.cjs +55 -0
- package/dist/chunk-24QIWILL.js +51 -0
- package/dist/{chunk-MYNHJHDZ.js → chunk-2AA5MFES.js} +1 -1
- package/dist/{chunk-TSY7JHIV.cjs → chunk-33A755XB.cjs} +2 -2
- package/dist/chunk-33RSHBDH.js +131 -0
- package/dist/{chunk-QRGPAUST.js → chunk-34M3HWLR.js} +2 -2
- package/dist/{chunk-U7CZFKPL.cjs → chunk-3K2ESU53.cjs} +2 -2
- package/dist/{chunk-SIGWDEPS.cjs → chunk-3L53OA4E.cjs} +10 -10
- package/dist/chunk-3OEDGIFW.js +42 -0
- package/dist/chunk-3OTU3RS3.cjs +1607 -0
- package/dist/{chunk-MNSTWHK3.cjs → chunk-3PCTTUNW.cjs} +11 -11
- package/dist/{chunk-P5VDZ6PV.js → chunk-3PDTTAKJ.js} +1 -1
- package/dist/chunk-47CKWKEX.cjs +59 -0
- package/dist/{chunk-Z4J4W6YQ.cjs → chunk-4JNNTOGF.cjs} +2 -48
- package/dist/{chunk-GVZPIQWB.js → chunk-4PKF7WPD.js} +11 -5
- package/dist/{chunk-3S4DEIJP.cjs → chunk-5IXII4HX.cjs} +2 -2
- package/dist/{chunk-CRQKDBLD.js → chunk-5P2NXKP3.js} +98 -64
- package/dist/{chunk-DSKVMFRM.cjs → chunk-643VRA5S.cjs} +12 -4
- package/dist/{chunk-VVBBEYTH.cjs → chunk-6HYLHBQG.cjs} +10 -10
- package/dist/{chunk-L5ZFPWHY.js → chunk-6OYHF6MF.js} +12 -4
- package/dist/{chunk-BPTBKO7D.js → chunk-6RF7UKUS.js} +224 -37
- package/dist/{chunk-YHGTBPEC.js → chunk-6ZCULLCA.js} +1 -1
- package/dist/{chunk-VHBUKGRG.js → chunk-72FKPBT5.js} +4 -4
- package/dist/{chunk-2U5HFVRO.cjs → chunk-7BTSG4ME.cjs} +5165 -2194
- package/dist/chunk-7UOUW76C.js +603 -0
- package/dist/{chunk-FEVHH525.cjs → chunk-A4IJHHV7.cjs} +11 -5
- package/dist/{chunk-B6EBHCK2.cjs → chunk-AEJH23FO.cjs} +6 -6
- package/dist/{chunk-WLTVF77A.js → chunk-ALYU6VTM.js} +1 -1
- package/dist/{chunk-NMWEDN4Z.js → chunk-APIXPPMT.js} +5165 -2194
- package/dist/chunk-AS6RTLN7.cjs +203 -0
- package/dist/{chunk-BHV7CBNT.js → chunk-AYS2ASM7.js} +1 -1
- package/dist/{chunk-GRSVQ5YZ.js → chunk-AYSFIUFW.js} +44 -12
- package/dist/{chunk-NUHYCFHW.cjs → chunk-BVKXEQVG.cjs} +54 -65
- package/dist/chunk-BWN2CLLM.cjs +298 -0
- package/dist/{chunk-4HA7IHLJ.cjs → chunk-C5IJIM2V.cjs} +38 -16
- package/dist/{chunk-SRLY7K6J.js → chunk-CAMZTXV6.js} +2 -2
- package/dist/chunk-CDBPBM2K.cjs +29 -0
- package/dist/chunk-CNBKZEX5.cjs +109 -0
- package/dist/{chunk-WQUQ5JMM.js → chunk-CWMZKFTT.js} +4 -4
- package/dist/{chunk-CKN2BLHK.cjs → chunk-CZXGCVTR.cjs} +2 -2
- package/dist/{chunk-SZP4ULM5.cjs → chunk-DJDE4DTT.cjs} +17 -17
- package/dist/chunk-DN573ME7.cjs +1675 -0
- package/dist/chunk-DRE2RXBZ.js +4498 -0
- package/dist/chunk-DSPQEHDT.js +29 -0
- package/dist/{chunk-SFNT5DYE.cjs → chunk-DVUHHH3B.cjs} +4 -4
- package/dist/chunk-DVZOENQ7.cjs +58 -0
- package/dist/{chunk-PWLLLJHU.js → chunk-EGFT4PGW.js} +3 -1
- package/dist/chunk-EGMZDTSL.js +55 -0
- package/dist/chunk-EZMINVLU.js +123 -0
- package/dist/chunk-FHK7UDOJ.cjs +42 -0
- package/dist/{chunk-KWRUQRXR.js → chunk-FKSDEWDH.js} +44 -10
- package/dist/chunk-FMB3TSWP.cjs +218 -0
- package/dist/chunk-FW774QXH.js +1838 -0
- package/dist/{chunk-MY3TZER2.js → chunk-G27PQQFD.js} +1 -1
- package/dist/{chunk-Y2ZSH3YF.cjs → chunk-G3V4SFET.cjs} +57 -23
- package/dist/chunk-G4CAKI3V.js +58 -0
- package/dist/{chunk-FB6JWNJS.js → chunk-GBHDROGL.js} +54 -65
- package/dist/{chunk-DEAEO7RI.js → chunk-GJH7XMSK.js} +15 -1
- package/dist/chunk-GLBAF54O.js +218 -0
- package/dist/{chunk-S47TCZDL.js → chunk-H5SWOLG6.js} +7 -7
- package/dist/chunk-HBXAA3XB.js +83 -0
- package/dist/{chunk-63BXZQZW.js → chunk-HIVRCQS2.js} +26 -4
- package/dist/{chunk-WOGJXDBU.cjs → chunk-HLHTG5ZU.cjs} +18 -4
- package/dist/{chunk-FK2DVRPJ.js → chunk-HLQV64Y5.js} +170 -4
- package/dist/chunk-HOAHWIQ5.cjs +260 -0
- package/dist/{chunk-D2XFTCRP.js → chunk-HQ7YZKXE.js} +1 -1
- package/dist/{chunk-L42HTMMR.cjs → chunk-HTLINWX6.cjs} +2 -2
- package/dist/{chunk-PKOAXQKW.cjs → chunk-HVKOZ2VP.cjs} +11 -11
- package/dist/chunk-HXGBSJL5.cjs +27 -0
- package/dist/chunk-I5IW3T2Y.js +310 -0
- package/dist/chunk-IETRBBMP.cjs +603 -0
- package/dist/{chunk-MTALRU7R.cjs → chunk-IFFXSTOM.cjs} +3 -3
- package/dist/{chunk-V7YTCNMN.cjs → chunk-IKGWDOGU.cjs} +174 -8
- package/dist/chunk-IQ5RXU6O.js +1675 -0
- package/dist/{chunk-ZBIBLOZL.js → chunk-IVM5F2AE.js} +500 -317
- package/dist/chunk-J4Q7XR3G.js +260 -0
- package/dist/{chunk-XL77XYI2.cjs → chunk-J6QET7EF.cjs} +27 -7
- package/dist/{chunk-TQB222ZB.js → chunk-JCLYQ2JC.js} +2 -2
- package/dist/chunk-JSBRDJBE.js +30 -0
- package/dist/{chunk-XPOHYKR3.js → chunk-JX3DFKBI.js} +2 -2
- package/dist/chunk-JYTDYJVW.js +27 -0
- package/dist/{chunk-6SHHB2VD.js → chunk-KPELYZ6L.js} +2 -2
- package/dist/{chunk-ZLOTP56B.cjs → chunk-KWXVKLQ5.cjs} +5 -5
- package/dist/chunk-L3WAH3EM.cjs +131 -0
- package/dist/{chunk-ZXIQCYYV.cjs → chunk-LA7H35XM.cjs} +9 -9
- package/dist/chunk-LENHP55G.cjs +1838 -0
- package/dist/chunk-LJFUXC56.cjs +123 -0
- package/dist/{chunk-R5OO7MEB.cjs → chunk-LNMYK2F5.cjs} +22 -22
- package/dist/chunk-LQGVEP3E.js +109 -0
- package/dist/{chunk-KXAAEROY.js → chunk-LWUJFGOZ.js} +2 -2
- package/dist/chunk-MAKMSQMQ.cjs +504 -0
- package/dist/{chunk-BG4OQUKP.js → chunk-MBBY4ZIK.js} +1 -1
- package/dist/chunk-MSED7RH2.cjs +267 -0
- package/dist/{chunk-NMGF2KUN.js → chunk-MYISNQH4.js} +1 -1
- package/dist/chunk-N23UAW4I.js +59 -0
- package/dist/chunk-N254NRHT.cjs +30 -0
- package/dist/{chunk-TOTDRAWG.js → chunk-NDMIPTV4.js} +1 -1
- package/dist/{chunk-AIH6GUGB.cjs → chunk-NNPAM4HC.cjs} +5 -5
- package/dist/{chunk-HSPWX4Z2.cjs → chunk-O4IF4NJT.cjs} +231 -44
- package/dist/{chunk-DZHR34H6.cjs → chunk-OGV4WJ5L.cjs} +8 -8
- package/dist/chunk-OHUZKDGX.js +348 -0
- package/dist/{chunk-BRXIEKJ3.cjs → chunk-OLSBBZW6.cjs} +5 -5
- package/dist/{chunk-MILZEEUV.js → chunk-OOKY3HPZ.js} +9 -3
- package/dist/chunk-P47WPOXN.js +298 -0
- package/dist/{chunk-ULMPJUJW.cjs → chunk-PRRCJFU3.cjs} +23 -23
- package/dist/{chunk-SMHY3Q7B.cjs → chunk-Q7XSCYND.cjs} +54 -22
- package/dist/chunk-QCLYBIMM.cjs +51 -0
- package/dist/chunk-QMAKTSZB.cjs +48 -0
- package/dist/{chunk-DTFR3WD6.js → chunk-QNGEW5TC.js} +1 -1
- package/dist/chunk-QOXPOR5D.js +267 -0
- package/dist/chunk-R33VKSH5.cjs +348 -0
- package/dist/{chunk-RJP3SZ7Q.cjs → chunk-RD5XAJR2.cjs} +492 -309
- package/dist/chunk-RGR6ME5J.cjs +844 -0
- package/dist/{chunk-EOGKE5GD.cjs → chunk-RKJTGGMU.cjs} +221 -126
- package/dist/{chunk-GD4AFYJ3.js → chunk-RO6WYEWH.js} +24 -4
- package/dist/chunk-S52YW5ZQ.js +844 -0
- package/dist/{chunk-6DWXHBAY.js → chunk-SAHBLB3E.js} +222 -127
- package/dist/{chunk-JHOQABEF.js → chunk-SCXX4LW5.js} +5 -5
- package/dist/{chunk-GIZL57FE.cjs → chunk-SEKD5FH3.cjs} +3 -1
- package/dist/{chunk-JWPI6O5Z.js → chunk-SKV2F3NM.js} +31 -4
- package/dist/{chunk-FHUNAB2K.cjs → chunk-SKYG33B2.cjs} +33 -6
- package/dist/{chunk-BISFR6ZL.js → chunk-SLQAYV3W.js} +1 -1
- package/dist/{chunk-RFNCTE4V.cjs → chunk-SYVYLZZF.cjs} +2 -2
- package/dist/{chunk-3XJD56Z4.js → chunk-T73IDKDF.js} +10 -3
- package/dist/chunk-TBEGGJNC.cjs +310 -0
- package/dist/{chunk-RRZS5A53.js → chunk-TNZRZQ7Q.js} +1 -1
- package/dist/{chunk-CH4SPVFD.cjs → chunk-TXSDBGKX.cjs} +10 -3
- package/dist/chunk-U3WDY42C.cjs +42 -0
- package/dist/{chunk-425MT6Y5.cjs → chunk-U46VYPLR.cjs} +9 -9
- package/dist/{chunk-OLG7LZBD.js → chunk-VG34MG2U.js} +1 -1
- package/dist/{chunk-XDVG3NM4.js → chunk-W3X6PAC7.js} +2 -48
- package/dist/{chunk-LYMTYC67.js → chunk-WHE2SWHU.js} +2 -2
- package/dist/chunk-WM5PAOTQ.cjs +4498 -0
- package/dist/chunk-WNUVPKBW.js +42 -0
- package/dist/{chunk-EV53SLSB.cjs → chunk-WPVWQSL7.cjs} +4 -4
- package/dist/chunk-WQ3VJXZB.js +118 -0
- package/dist/{chunk-HMRDNRTH.js → chunk-X2MSVKDV.js} +2 -2
- package/dist/chunk-X3WS5LDG.js +504 -0
- package/dist/{chunk-43XS26AQ.cjs → chunk-X5VSP65C.cjs} +4 -4
- package/dist/{chunk-DSCQPWUB.cjs → chunk-X5YJ34FZ.cjs} +15 -15
- package/dist/chunk-XAV24VYN.js +48 -0
- package/dist/chunk-XDLH4EDL.cjs +118 -0
- package/dist/{chunk-X765A7J5.js → chunk-XRZEUWKF.js} +1 -1
- package/dist/{chunk-ZKZRFH37.cjs → chunk-XTB6VJVQ.cjs} +6 -6
- package/dist/{chunk-H3GBSPK5.js → chunk-XX2ZO7DS.js} +14 -6
- package/dist/{chunk-RUZB43HU.cjs → chunk-Y72HH2TF.cjs} +22 -14
- package/dist/chunk-YFXTE422.cjs +92 -0
- package/dist/{chunk-OSUWEUZE.js → chunk-YGN4CQIP.js} +1 -1
- package/dist/{chunk-KC5FPUOF.cjs → chunk-YRLYSQEQ.cjs} +2 -2
- package/dist/{chunk-3KBBARKO.js → chunk-YZXUDM5X.js} +85 -28
- package/dist/chunk-Z36XBUMX.cjs +83 -0
- package/dist/chunk-ZK6HOR62.js +92 -0
- package/dist/{chunk-PDKNHU5G.cjs → chunk-ZQE72E6W.cjs} +22 -16
- package/dist/chunk-ZVY2XD6T.js +1607 -0
- package/dist/{chunk-XBUMKEFN.cjs → chunk-ZYQMLKOK.cjs} +91 -34
- package/dist/clear-UO4MNWZW.cjs +12 -0
- package/dist/clear-ZJ5NYP6E.js +12 -0
- package/dist/communityInstaller-6KCFN7YZ.js +19 -0
- package/dist/communityInstaller-PVSOFDZD.cjs +19 -0
- package/dist/completion-MMF2PN2H.js +14 -0
- package/dist/completion-UI5WKHXI.cjs +14 -0
- package/dist/config-E7RINK4R.cjs +18 -0
- package/dist/config-ZN66VXPS.js +18 -0
- package/dist/constants-6CPCJ3DY.cjs +21 -0
- package/dist/{constants-V6J54N3X.js → constants-UFM5B232.js} +2 -1
- package/dist/{defaultHooks-WLMRQUXG.cjs → defaultHooks-RCXPHF4M.cjs} +3 -1
- package/dist/{defaultHooks-R56VYG7I.js → defaultHooks-RDRMER3Z.js} +2 -0
- package/dist/export-N4XIVDSL.cjs +12 -0
- package/dist/export-W22L4D5C.js +12 -0
- package/dist/extractSessionMemories-SDW2MVBQ.cjs +7 -0
- package/dist/extractSessionMemories-V7K42ZHW.js +7 -0
- package/dist/feedback-DR6ADSNE.cjs +15 -0
- package/dist/feedback-FEEAP4QW.js +15 -0
- package/dist/filesystem-3SGCW2BF.js +10 -0
- package/dist/filesystem-MCFXJQ6R.cjs +10 -0
- package/dist/formatters-6K7QVWQL.cjs +10 -0
- package/dist/formatters-DQHO5I36.js +10 -0
- package/dist/{help-LKKQU2TN.js → help-2BLR7L43.js} +3 -2
- package/dist/help-AQHGTS7P.cjs +12 -0
- package/dist/{history-AV4XBFRK.js → history-5FZ3M2AK.js} +3 -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-BSAPXM56.js → i18n-K7QOWIBH.js} +2 -1
- package/dist/ide-GFW6IJHD.js +12 -0
- package/dist/ide-N2ZNSSB3.cjs +12 -0
- package/dist/import-DFVN3KNZ.js +10 -0
- package/dist/import-QEME3E4T.cjs +170 -0
- package/dist/import-UXM3VK7B.js +170 -0
- package/dist/import-ZS6DPGU5.cjs +10 -0
- package/dist/index.cjs +11233 -11804
- package/dist/index.js +12594 -13165
- package/dist/init-PY75HA3S.cjs +10 -0
- package/dist/init-QNMWLAVY.js +10 -0
- package/dist/language-5UE4G2BT.cjs +18 -0
- package/dist/language-UXMHEZUJ.js +18 -0
- package/dist/learn-HJ3FLNZC.cjs +20 -0
- package/dist/learn-MVYS3RU5.js +20 -0
- package/dist/{lint-44UQJ673.cjs → lint-D5UOJWIK.cjs} +1 -0
- package/dist/{lint-TA2ZHVLM.js → lint-NJPZWVN2.js} +1 -0
- package/dist/{localProjectPermissions-WQYMGI42.js → localProjectPermissions-N77HA3XK.js} +3 -2
- package/dist/localProjectPermissions-UFSMNTBJ.cjs +18 -0
- package/dist/login-DSE7H63A.js +20 -0
- package/dist/login-V3MEWPKN.cjs +20 -0
- package/dist/logout-BMVCLKKW.js +18 -0
- package/dist/logout-XEG7FHOZ.cjs +18 -0
- package/dist/mcp-PYUR4PHO.js +18 -0
- package/dist/mcp-SG6JFLGC.cjs +18 -0
- package/dist/{mcp-install-2KVKRAMQ.cjs → mcp-install-G27HSS3Z.cjs} +26 -14
- package/dist/{mcp-install-77UXRN6R.js → mcp-install-VESN42PI.js} +21 -9
- package/dist/memory-4ZMMEZ2Z.js +10 -0
- package/dist/memory-QSGMVVGH.cjs +10 -0
- package/dist/message-JUBOK2VU.js +9 -0
- package/dist/message-ZJ5AYAMT.cjs +9 -0
- package/dist/model-NANLBZ4Z.cjs +10 -0
- package/dist/model-ZXNV4AF7.js +10 -0
- package/dist/new-5QJY5JP2.js +12 -0
- package/dist/new-PMMG55UX.cjs +12 -0
- package/dist/{patch-BAAQIYSW.js → patch-5F6VBIT3.js} +2 -0
- package/dist/{patch-J32X2QQP.cjs → patch-MOD7QC3D.cjs} +3 -1
- package/dist/permissions-LECTCJ4H.cjs +13 -0
- package/dist/permissions-VP5VGIBL.js +13 -0
- package/dist/{plan-JFGNRL2S.js → plan-G5CEKJI4.js} +1 -0
- package/dist/{plan-B3CW5DXJ.cjs → plan-QKOHE3LH.cjs} +1 -0
- package/dist/quit-BKOOPHU5.cjs +10 -0
- package/dist/quit-FVFNYACP.js +10 -0
- package/dist/registry-KWZGYJC2.js +2108 -0
- package/dist/registry-YN4FQPOO.cjs +2108 -0
- package/dist/resume-EXFQSQPH.js +13 -0
- package/dist/resume-PP2IQM5S.cjs +13 -0
- package/dist/search-C56FBN67.cjs +17 -0
- package/dist/search-XGZDYBF4.js +17 -0
- package/dist/{session-T3TAZ5ZU.cjs → session-BSU2L5UI.cjs} +1 -0
- package/dist/{session-H5QWKE5E.js → session-SZMRN5KG.js} +1 -0
- package/dist/sessions-54KI3F2Q.js +10 -0
- package/dist/sessions-DDTSPNVW.cjs +10 -0
- package/dist/settings-BDO37TTO.cjs +30 -0
- package/dist/settings-FHRDFPLK.js +30 -0
- 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-MQINL3EC.js → skills-install-6CSWC24P.js} +97 -26
- package/dist/{skills-install-IKJZN4G2.cjs → skills-install-O3LZ2ETC.cjs} +106 -35
- package/dist/skills-new-ALD2PTHN.js +15 -0
- 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-KCLVOYPD.js +11 -0
- package/dist/sync-6SDWG5RK.js +18 -0
- package/dist/sync-7JMZVEQD.cjs +40 -0
- package/dist/{sync-EXYX7HXW.js → sync-KWX67OUN.js} +3 -2
- package/dist/sync-WHURZL3U.cjs +18 -0
- package/dist/tasks-5FPBIFLC.js +9 -0
- package/dist/tasks-TXGKGNH6.cjs +9 -0
- package/dist/team-5YXP3JGR.js +9 -0
- package/dist/team-IIWEZKNR.cjs +9 -0
- package/dist/teammate-2KMKJXAM.cjs +139 -0
- package/dist/teammate-L6EZQ3I2.js +139 -0
- package/dist/theme-BE5A4FPN.cjs +18 -0
- package/dist/theme-YMFCQP7J.js +18 -0
- package/dist/ui/questionModal.cjs +7 -25
- package/dist/ui/questionModal.js +6 -24
- package/dist/undo-KZHUUZTD.cjs +10 -0
- package/dist/undo-NEIEHQVX.js +10 -0
- package/dist/update-TVAJMMBC.js +82 -0
- package/dist/update-Z6BIIQDC.cjs +82 -0
- package/package.json +10 -3
- package/dist/CommunitySkillsCache-ILWHWE5P.js +0 -7
- package/dist/CommunitySkillsCache-KHC6RUJW.cjs +0 -7
- package/dist/HookManager-X47HCM5G.cjs +0 -6
- package/dist/HookManager-ZXKHCD7U.js +0 -6
- package/dist/MemoryManager-6ZT7IDO5.cjs +0 -7
- package/dist/MemoryManager-AJGS5AKB.js +0 -7
- package/dist/PermissionManager-HG6W2DGU.cjs +0 -10
- package/dist/SessionManager-BJ2G6VV4.cjs +0 -9
- package/dist/SessionManager-ENPGYK5J.js +0 -9
- package/dist/SkillsRegistry-6ZFOCT25.cjs +0 -8
- package/dist/SkillsRegistry-C2SHOZ5D.js +0 -8
- package/dist/about-3BJTNSLK.js +0 -11
- package/dist/about-EABQNJGV.cjs +0 -11
- package/dist/add-dir-7FD4DMDA.cjs +0 -9
- package/dist/add-dir-LOYJ4YB5.js +0 -9
- package/dist/agents-2Y6ASV7C.js +0 -10
- package/dist/agents-UOSPKLQL.cjs +0 -10
- package/dist/agents-new-23NSGAM5.js +0 -13
- package/dist/agents-new-WI2EL7IJ.cjs +0 -13
- package/dist/automode-LGWTY3UX.js +0 -9
- package/dist/automode-WLBQ7MN7.cjs +0 -9
- package/dist/chunk-5UBW2BGC.js +0 -33
- package/dist/chunk-I6DBWNLN.cjs +0 -169
- package/dist/chunk-IZBCMJHJ.cjs +0 -33
- package/dist/completion-7WGMHKOR.cjs +0 -13
- package/dist/completion-KH33NSGP.js +0 -13
- package/dist/constants-RBQTR32A.cjs +0 -20
- package/dist/export-3QN3IH7A.js +0 -11
- package/dist/export-BI54X3MP.cjs +0 -11
- package/dist/feedback-CI4OIPOS.cjs +0 -14
- package/dist/feedback-GFPL5STE.js +0 -14
- package/dist/formatters-N5IJKYZY.cjs +0 -8
- package/dist/formatters-UG6VZJJ5.js +0 -8
- package/dist/help-CWMUGD3V.cjs +0 -11
- package/dist/history-73VBEMSI.cjs +0 -13
- package/dist/hooks-62UDQBGH.cjs +0 -12
- package/dist/hooks-XORDJD5X.js +0 -12
- package/dist/i18n-X2IU2EZD.cjs +0 -32
- package/dist/ide-RPKZALQV.js +0 -11
- package/dist/ide-YMNXJB6A.cjs +0 -11
- package/dist/init-J5HR4R7U.js +0 -9
- package/dist/init-JCC7RVMC.cjs +0 -9
- package/dist/language-AZISJCEZ.js +0 -16
- package/dist/language-F65RA6FZ.cjs +0 -16
- package/dist/localProjectPermissions-2EATUDZM.cjs +0 -17
- package/dist/login-5HLPMECE.js +0 -18
- package/dist/login-ISWYYBXP.cjs +0 -18
- package/dist/logout-3EKZM5J3.cjs +0 -16
- package/dist/logout-GE7TSZ24.js +0 -16
- package/dist/mcp-EW64QRFA.cjs +0 -15
- package/dist/mcp-VHS7AMF2.js +0 -15
- package/dist/memory-2I473RU3.js +0 -9
- package/dist/memory-JZ6NPSP3.cjs +0 -9
- package/dist/model-GXZLARPT.js +0 -9
- package/dist/model-Y274DBDO.cjs +0 -9
- package/dist/new-BG5VIGZ7.cjs +0 -9
- package/dist/new-YXFDQOA7.js +0 -9
- package/dist/permissions-QILEAGBP.cjs +0 -12
- package/dist/permissions-WVEOVMWO.js +0 -12
- package/dist/quit-NC32OEJG.cjs +0 -9
- package/dist/quit-WRRIGU33.js +0 -9
- package/dist/resume-GJIKIDPR.cjs +0 -12
- package/dist/resume-RMJNCAOK.js +0 -12
- package/dist/search-UIWIXB73.js +0 -14
- package/dist/search-WQNXDA2E.cjs +0 -14
- package/dist/sessions-HPFX2GDD.js +0 -9
- package/dist/sessions-SAQU6MFA.cjs +0 -9
- package/dist/share-2WH5ZVOO.cjs +0 -13
- package/dist/share-PSSWWVV5.js +0 -13
- package/dist/skills-LJZA6PVJ.js +0 -13
- package/dist/skills-YTYGART7.cjs +0 -13
- package/dist/skills-new-3WCU3CWB.js +0 -14
- package/dist/skills-new-O5LFVFZU.cjs +0 -14
- package/dist/slashCommands-7IRDOXOQ.cjs +0 -55
- package/dist/slashCommands-C6CAQA25.js +0 -55
- package/dist/status-4EDV2LSY.cjs +0 -10
- package/dist/status-NU7TJDCE.js +0 -10
- package/dist/sync-3GFSEIAZ.js +0 -16
- package/dist/sync-6M3WRKMH.cjs +0 -39
- package/dist/sync-CQNQDNTJ.cjs +0 -16
- package/dist/theme-EMJGULMI.cjs +0 -16
- package/dist/theme-FGDSXNU3.js +0 -16
- package/dist/undo-CTXQYE7C.cjs +0 -9
- package/dist/undo-HX2ZMECP.js +0 -9
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_SYNC_CONFIG,
|
|
3
3
|
createSyncService
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3PDTTAKJ.js";
|
|
5
5
|
import {
|
|
6
6
|
getAuthClient
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-HQ7YZKXE.js";
|
|
8
8
|
import {
|
|
9
9
|
safePrompt
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6ZCULLCA.js";
|
|
11
11
|
import {
|
|
12
12
|
saveConfig
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-P47WPOXN.js";
|
|
14
14
|
import {
|
|
15
15
|
AUTH_CONFIG
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-EGFT4PGW.js";
|
|
17
17
|
import {
|
|
18
18
|
t
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-APIXPPMT.js";
|
|
20
20
|
|
|
21
21
|
// src/commands/login.ts
|
|
22
22
|
import chalk from "chalk";
|
|
@@ -141,7 +141,7 @@ async function checkAndRestoreSyncData(token, userId, config) {
|
|
|
141
141
|
enabled: true
|
|
142
142
|
}
|
|
143
143
|
});
|
|
144
|
-
const { getSyncApiClient } = await import("./SyncApiClient-
|
|
144
|
+
const { getSyncApiClient } = await import("./SyncApiClient-LVIO4C2S.js");
|
|
145
145
|
const apiClient = getSyncApiClient();
|
|
146
146
|
const remoteManifest = await apiClient.getRemoteManifest(token);
|
|
147
147
|
if (!remoteManifest || remoteManifest.files.length === 0) {
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// src/commands/team.ts
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
var metadata = {
|
|
4
|
+
command: "/team",
|
|
5
|
+
description: "Manage agent teams (create, status, shutdown)",
|
|
6
|
+
implemented: true,
|
|
7
|
+
subcommands: [
|
|
8
|
+
{ name: "create", description: "Create a new team" },
|
|
9
|
+
{ name: "status", description: "Show team status" },
|
|
10
|
+
{ name: "shutdown", description: "Shut down all teammates" }
|
|
11
|
+
]
|
|
12
|
+
};
|
|
13
|
+
async function team(ctx, args) {
|
|
14
|
+
if (!ctx.teamManager) {
|
|
15
|
+
return chalk.yellow("Team manager not available.");
|
|
16
|
+
}
|
|
17
|
+
const subcommand = args[0]?.toLowerCase();
|
|
18
|
+
if (!subcommand || subcommand === "help") {
|
|
19
|
+
return [
|
|
20
|
+
chalk.bold("Team Commands:"),
|
|
21
|
+
"",
|
|
22
|
+
` ${chalk.cyan("/team create <name>")} Create a new team`,
|
|
23
|
+
` ${chalk.cyan("/team status")} Show current team status`,
|
|
24
|
+
` ${chalk.cyan("/team shutdown")} Shut down all teammates`,
|
|
25
|
+
` ${chalk.cyan("/team")} Show this help`
|
|
26
|
+
].join("\n");
|
|
27
|
+
}
|
|
28
|
+
switch (subcommand) {
|
|
29
|
+
case "create": {
|
|
30
|
+
const name = args.slice(1).join("-") || "default";
|
|
31
|
+
ctx.teamManager.createTeam(name);
|
|
32
|
+
return chalk.green(`Team "${name}" created. Use /team status to view.`);
|
|
33
|
+
}
|
|
34
|
+
case "status": {
|
|
35
|
+
const team2 = ctx.teamManager.getTeam();
|
|
36
|
+
if (!team2) {
|
|
37
|
+
return chalk.yellow("No active team.");
|
|
38
|
+
}
|
|
39
|
+
const status = ctx.teamManager.getStatus();
|
|
40
|
+
const lines = [
|
|
41
|
+
chalk.bold(`Team: ${team2.name}`),
|
|
42
|
+
`${chalk.gray("Status:")} ${team2.status === "active" ? chalk.green("active") : chalk.gray("completed")}`,
|
|
43
|
+
`${chalk.gray("Members:")} ${status.memberCount}`,
|
|
44
|
+
`${chalk.gray("Tasks:")} ${status.tasksDone}/${status.tasksTotal} completed`,
|
|
45
|
+
""
|
|
46
|
+
];
|
|
47
|
+
for (const member of team2.members) {
|
|
48
|
+
const statusColor = member.status === "working" ? chalk.yellow : member.status === "idle" ? chalk.green : member.status === "shutdown" ? chalk.red : chalk.gray;
|
|
49
|
+
lines.push(` ${statusColor("\u25CF")} ${chalk.white(member.name)} (${member.agentName}) - ${statusColor(member.status)}`);
|
|
50
|
+
}
|
|
51
|
+
const tasks = ctx.teamManager.tasks.listTasks();
|
|
52
|
+
if (tasks.length > 0) {
|
|
53
|
+
lines.push("", chalk.bold("Tasks:"));
|
|
54
|
+
for (const task of tasks) {
|
|
55
|
+
const icon = task.status === "completed" ? chalk.green("\u2713") : task.status === "in_progress" ? chalk.yellow("\u25CF") : chalk.gray("\u25CB");
|
|
56
|
+
const owner = task.owner ? chalk.gray(` [${task.owner}]`) : "";
|
|
57
|
+
lines.push(` ${icon} ${task.subject}${owner}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return lines.join("\n");
|
|
61
|
+
}
|
|
62
|
+
case "shutdown": {
|
|
63
|
+
const team2 = ctx.teamManager.getTeam();
|
|
64
|
+
if (!team2) {
|
|
65
|
+
return chalk.yellow("No active team to shut down.");
|
|
66
|
+
}
|
|
67
|
+
await ctx.teamManager.shutdown();
|
|
68
|
+
return chalk.green(`Team "${team2.name}" has been shut down.`);
|
|
69
|
+
}
|
|
70
|
+
default:
|
|
71
|
+
return chalk.yellow(`Unknown team subcommand: ${subcommand}. Use /team for help.`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export {
|
|
76
|
+
metadata,
|
|
77
|
+
team
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* @license
|
|
81
|
+
* Copyright 2025 Autohand AI LLC
|
|
82
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
83
|
+
*/
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
safePrompt
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6ZCULLCA.js";
|
|
4
4
|
import {
|
|
5
5
|
t
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-APIXPPMT.js";
|
|
7
7
|
|
|
8
8
|
// src/commands/hooks.ts
|
|
9
9
|
import chalk from "chalk";
|
|
10
10
|
var HOOK_EVENTS = [
|
|
11
11
|
"session-start",
|
|
12
12
|
"session-end",
|
|
13
|
+
"pre-clear",
|
|
13
14
|
"pre-prompt",
|
|
14
15
|
"pre-tool",
|
|
15
16
|
"post-tool",
|
|
@@ -27,11 +28,22 @@ var HOOK_EVENTS = [
|
|
|
27
28
|
"automode:resume",
|
|
28
29
|
"automode:cancel",
|
|
29
30
|
"automode:complete",
|
|
30
|
-
"automode:error"
|
|
31
|
+
"automode:error",
|
|
32
|
+
// Learn events
|
|
33
|
+
"pre-learn",
|
|
34
|
+
"post-learn",
|
|
35
|
+
// Team events
|
|
36
|
+
"team-created",
|
|
37
|
+
"teammate-spawned",
|
|
38
|
+
"teammate-idle",
|
|
39
|
+
"task-assigned",
|
|
40
|
+
"task-completed",
|
|
41
|
+
"team-shutdown"
|
|
31
42
|
];
|
|
32
43
|
var EVENT_DESCRIPTIONS = {
|
|
33
44
|
"session-start": "When a session begins",
|
|
34
45
|
"session-end": "When a session ends",
|
|
46
|
+
"pre-clear": "Before memory extraction on /clear or /new",
|
|
35
47
|
"pre-prompt": "Before processing user input",
|
|
36
48
|
"pre-tool": "Before a tool executes",
|
|
37
49
|
"post-tool": "After a tool completes",
|
|
@@ -50,7 +62,17 @@ var EVENT_DESCRIPTIONS = {
|
|
|
50
62
|
"automode:resume": "When auto-mode is resumed",
|
|
51
63
|
"automode:cancel": "When auto-mode is cancelled",
|
|
52
64
|
"automode:complete": "When auto-mode completes",
|
|
53
|
-
"automode:error": "When auto-mode encounters an error"
|
|
65
|
+
"automode:error": "When auto-mode encounters an error",
|
|
66
|
+
// Learn events
|
|
67
|
+
"pre-learn": "Before a learn operation begins",
|
|
68
|
+
"post-learn": "After a learn operation completes",
|
|
69
|
+
// Team events
|
|
70
|
+
"team-created": "When a team is created",
|
|
71
|
+
"teammate-spawned": "When a teammate process starts",
|
|
72
|
+
"teammate-idle": "When a teammate becomes idle",
|
|
73
|
+
"task-assigned": "When a task is assigned to a teammate",
|
|
74
|
+
"task-completed": "When a task is marked as done",
|
|
75
|
+
"team-shutdown": "When team cleanup completes"
|
|
54
76
|
};
|
|
55
77
|
var HOOK_ICONS = {
|
|
56
78
|
// Script-based hooks
|
|
@@ -1,9 +1,9 @@
|
|
|
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(); } }
|
|
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
|
var _chunkJHGIWNHLcjs = require('./chunk-JHGIWNHL.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
|
|
7
7
|
|
|
8
8
|
// src/skills/SkillsRegistry.ts
|
|
9
9
|
var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
@@ -232,7 +232,7 @@ var SkillsRegistry = class {
|
|
|
232
232
|
this.workspaceRoot = workspaceRoot;
|
|
233
233
|
const claudeProjectSkillsDir = _path2.default.join(workspaceRoot, ".claude", "skills");
|
|
234
234
|
await this.loadFromDirectory(claudeProjectSkillsDir, "claude-project", false);
|
|
235
|
-
const autohandProjectSkillsDir = _path2.default.join(workspaceRoot,
|
|
235
|
+
const autohandProjectSkillsDir = _path2.default.join(workspaceRoot, _chunkSEKD5FH3cjs.PROJECT_DIR_NAME, "skills");
|
|
236
236
|
await this.loadFromDirectory(autohandProjectSkillsDir, "autohand-project", true);
|
|
237
237
|
}
|
|
238
238
|
/**
|
|
@@ -291,7 +291,7 @@ var SkillsRegistry = class {
|
|
|
291
291
|
async setWorkspaceWithAutoCopy(workspaceRoot) {
|
|
292
292
|
this.workspaceRoot = workspaceRoot;
|
|
293
293
|
const claudeProjectSkillsDir = _path2.default.join(workspaceRoot, ".claude", "skills");
|
|
294
|
-
const autohandProjectSkillsDir = _path2.default.join(workspaceRoot,
|
|
294
|
+
const autohandProjectSkillsDir = _path2.default.join(workspaceRoot, _chunkSEKD5FH3cjs.PROJECT_DIR_NAME, "skills");
|
|
295
295
|
await this.addLocationWithAutoCopy(
|
|
296
296
|
claudeProjectSkillsDir,
|
|
297
297
|
"claude-project",
|
|
@@ -405,6 +405,14 @@ var SkillsRegistry = class {
|
|
|
405
405
|
getSkill(name) {
|
|
406
406
|
return _nullishCoalesce(this.skills.get(name), () => ( null));
|
|
407
407
|
}
|
|
408
|
+
/**
|
|
409
|
+
* Track a skill event via the telemetry manager.
|
|
410
|
+
* Safe to call even without a telemetry manager configured.
|
|
411
|
+
*/
|
|
412
|
+
trackSkillEvent(data) {
|
|
413
|
+
_optionalChain([this, 'access', _ => _.telemetryManager, 'optionalAccess', _2 => _2.trackSkillUse, 'call', _3 => _3(data), 'access', _4 => _4.catch, 'call', _5 => _5(() => {
|
|
414
|
+
})]);
|
|
415
|
+
}
|
|
408
416
|
/**
|
|
409
417
|
* Activate a skill by name
|
|
410
418
|
*/
|
|
@@ -414,6 +422,12 @@ var SkillsRegistry = class {
|
|
|
414
422
|
return false;
|
|
415
423
|
}
|
|
416
424
|
skill.isActive = true;
|
|
425
|
+
this.trackSkillEvent({
|
|
426
|
+
skillName: name,
|
|
427
|
+
source: skill.source,
|
|
428
|
+
activationType: "explicit",
|
|
429
|
+
action: "activate"
|
|
430
|
+
});
|
|
417
431
|
return true;
|
|
418
432
|
}
|
|
419
433
|
/**
|
|
@@ -1,8 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
LearnClient,
|
|
3
|
+
fetchRegistryWithFallback,
|
|
4
|
+
installSkillWithSecurity
|
|
5
|
+
} from "./chunk-OHUZKDGX.js";
|
|
6
|
+
import {
|
|
7
|
+
CommunitySkillsCache
|
|
8
|
+
} from "./chunk-MBBY4ZIK.js";
|
|
9
|
+
import {
|
|
10
|
+
GitHubRegistryFetcher
|
|
11
|
+
} from "./chunk-UJ2JSM6H.js";
|
|
12
|
+
import {
|
|
13
|
+
showConfirm,
|
|
14
|
+
showModal
|
|
15
|
+
} from "./chunk-YZXUDM5X.js";
|
|
1
16
|
import {
|
|
2
17
|
t
|
|
3
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-APIXPPMT.js";
|
|
4
19
|
|
|
5
20
|
// src/commands/skills.ts
|
|
21
|
+
import path from "path";
|
|
22
|
+
import fse from "fs-extra";
|
|
23
|
+
import chalk from "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);
|
|
@@ -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 import("./skills-install-
|
|
261
|
+
const { skillsInstall } = await import("./skills-install-6CSWC24P.js");
|
|
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 result ?? "Skills install completed.";
|
|
242
270
|
}
|
|
271
|
+
async function handleSkillsSearch(ctx, query) {
|
|
272
|
+
const cache = new CommunitySkillsCache();
|
|
273
|
+
const fetcher = new GitHubRegistryFetcher();
|
|
274
|
+
const registry = await fetchRegistryWithFallback(cache, fetcher);
|
|
275
|
+
if (!registry) {
|
|
276
|
+
return chalk.red("Unable to fetch community skills registry. Check your network connection.");
|
|
277
|
+
}
|
|
278
|
+
const client = new LearnClient();
|
|
279
|
+
const results = client.search(registry, query);
|
|
280
|
+
if (results.length === 0) {
|
|
281
|
+
return t("commands.learn.noResults", { query });
|
|
282
|
+
}
|
|
283
|
+
if (ctx.isNonInteractive) {
|
|
284
|
+
const lines = [t("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(` ${chalk.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 showModal({
|
|
296
|
+
title: t("commands.learn.selectPrompt"),
|
|
297
|
+
options
|
|
298
|
+
});
|
|
299
|
+
if (!selected) {
|
|
300
|
+
return t("commands.learn.noResults", { query });
|
|
301
|
+
}
|
|
302
|
+
const skill = results.find((s) => s.id === selected.value);
|
|
303
|
+
if (!skill) return t("commands.learn.noResults", { query });
|
|
304
|
+
if (!ctx.workspaceRoot) {
|
|
305
|
+
return "Workspace root not available for install.";
|
|
306
|
+
}
|
|
307
|
+
return installSkillWithSecurity(
|
|
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 CommunitySkillsCache();
|
|
316
|
+
const fetcher = new GitHubRegistryFetcher();
|
|
317
|
+
const registry = await fetchRegistryWithFallback(cache, fetcher);
|
|
318
|
+
if (!registry) {
|
|
319
|
+
return chalk.red("Unable to fetch community skills registry. Check your network connection.");
|
|
320
|
+
}
|
|
321
|
+
const client = new LearnClient();
|
|
322
|
+
const trending = client.trending(registry);
|
|
323
|
+
const lines = [];
|
|
324
|
+
lines.push("");
|
|
325
|
+
lines.push(chalk.bold(t("commands.learn.trendingTitle")));
|
|
326
|
+
lines.push("");
|
|
327
|
+
for (let i = 0; i < trending.length; i++) {
|
|
328
|
+
const skill = trending[i];
|
|
329
|
+
const idx = chalk.gray(`${i + 1}.`);
|
|
330
|
+
const name = chalk.cyan(skill.name);
|
|
331
|
+
const featured = skill.isFeatured ? chalk.yellow(" [featured]") : "";
|
|
332
|
+
const downloads = skill.downloadCount ? chalk.gray(` (${skill.downloadCount} installs)`) : "";
|
|
333
|
+
lines.push(`${idx} ${name}${featured}${downloads}`);
|
|
334
|
+
lines.push(` ${skill.description}`);
|
|
335
|
+
lines.push(` {{action:Install|/skills install @${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) => s.metadata?.["agentskill-slug"] === slug || s.name === slug
|
|
347
|
+
);
|
|
348
|
+
if (!target) {
|
|
349
|
+
return t("commands.learn.removeNotFound", { name: slug });
|
|
350
|
+
}
|
|
351
|
+
if (!ctx.isNonInteractive) {
|
|
352
|
+
const confirmed = await showConfirm({
|
|
353
|
+
title: t("commands.learn.confirmRemove", { name: target.name }),
|
|
354
|
+
defaultValue: false
|
|
355
|
+
});
|
|
356
|
+
if (!confirmed) return null;
|
|
357
|
+
}
|
|
358
|
+
const skillDir = path.dirname(target.path);
|
|
359
|
+
try {
|
|
360
|
+
await fse.remove(skillDir);
|
|
361
|
+
ctx.skillsRegistry.trackSkillEvent({
|
|
362
|
+
skillName: target.name,
|
|
363
|
+
source: target.source,
|
|
364
|
+
activationType: "explicit",
|
|
365
|
+
action: "remove"
|
|
366
|
+
});
|
|
367
|
+
return chalk.green(t("commands.learn.removed", { name: target.name }));
|
|
368
|
+
} catch (err) {
|
|
369
|
+
const msg = err instanceof Error ? err.message : "Unknown error";
|
|
370
|
+
return chalk.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 t("commands.learn.feedbackInvalid");
|
|
379
|
+
}
|
|
380
|
+
return t("commands.learn.feedbackThanks", { name: slug });
|
|
381
|
+
}
|
|
243
382
|
var metadata = {
|
|
244
383
|
command: "/skills",
|
|
245
384
|
description: t("commands.skills.description"),
|
|
246
|
-
implemented: true
|
|
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,12 +402,30 @@ 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
|
+
};
|
|
258
420
|
|
|
259
421
|
export {
|
|
260
422
|
skills,
|
|
261
423
|
metadata,
|
|
262
424
|
useMetadata,
|
|
263
|
-
installMetadata
|
|
425
|
+
installMetadata,
|
|
426
|
+
searchMetadata,
|
|
427
|
+
trendingMetadata,
|
|
428
|
+
removeMetadata
|
|
264
429
|
};
|
|
265
430
|
/**
|
|
266
431
|
* @license
|
|
@@ -268,4 +433,5 @@ export {
|
|
|
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
|
*/
|