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.
Files changed (271) hide show
  1. package/README.md +97 -2
  2. package/dist/{ImportWizard-IWVPRKFF.cjs → ImportWizard-35YBJ4AM.cjs} +8 -8
  3. package/dist/{ImportWizard-KASGQPUY.js → ImportWizard-XH7CINCH.js} +3 -3
  4. package/dist/LearnAdvisor-A4Q5PPBI.js +9 -0
  5. package/dist/LearnAdvisor-GASQD7HT.cjs +9 -0
  6. package/dist/{PermissionManager-K7UWSNB6.js → PermissionManager-ATUV34LQ.js} +1 -1
  7. package/dist/{PermissionManager-2GO5PQ6M.cjs → PermissionManager-KMN53FJP.cjs} +2 -2
  8. package/dist/{ProviderFactory-S3LWTQQC.js → ProviderFactory-MR5B23QJ.js} +1 -1
  9. package/dist/ProviderFactory-VFGCJJX6.cjs +9 -0
  10. package/dist/{SkillsRegistry-GDEGFP6O.cjs → SkillsRegistry-KPQFTRIT.cjs} +2 -2
  11. package/dist/{SkillsRegistry-SI5RUHQ4.js → SkillsRegistry-XJSKPDF2.js} +1 -1
  12. package/dist/{SubAgent-I75HELJG.js → SubAgent-NYH6GWQ3.js} +1 -1
  13. package/dist/{SubAgent-K3QP6WHC.cjs → SubAgent-PZKBDUBA.cjs} +2 -2
  14. package/dist/{about-B2AGTV6N.js → about-HHTF2YFL.js} +3 -3
  15. package/dist/about-JGRVNNQC.cjs +12 -0
  16. package/dist/{actionExecutor-YRUJNB5G.cjs → actionExecutor-U6IBN2TU.cjs} +7 -7
  17. package/dist/{actionExecutor-6XCVL2SJ.js → actionExecutor-XT5FW3W6.js} +6 -6
  18. package/dist/{add-dir-7FBQ5IFV.js → add-dir-247K3XRY.js} +2 -2
  19. package/dist/add-dir-GS4DXKKH.cjs +10 -0
  20. package/dist/agents-R6ZEFTVR.cjs +12 -0
  21. package/dist/{agents-FENGUSJD.js → agents-WJPQWQF2.js} +2 -2
  22. package/dist/agents-new-HKVEIBDJ.js +14 -0
  23. package/dist/agents-new-X6GTHIO6.cjs +14 -0
  24. package/dist/autoSkill-6TGBTEQD.js +20 -0
  25. package/dist/autoSkill-H4T6VVDA.cjs +20 -0
  26. package/dist/{automode-O7G3DUYN.js → automode-BC6NVECO.js} +2 -2
  27. package/dist/automode-WN2RSOGW.cjs +10 -0
  28. package/dist/{chunk-MUBW5UDH.cjs → chunk-245KJE5Y.cjs} +4 -4
  29. package/dist/{chunk-GCHELXLO.js → chunk-33RSHBDH.js} +2 -2
  30. package/dist/{chunk-Q5RN7RXC.js → chunk-34M3HWLR.js} +2 -2
  31. package/dist/{chunk-XMNHZRUB.cjs → chunk-3K2ESU53.cjs} +2 -2
  32. package/dist/{chunk-OI7OIGNB.cjs → chunk-3L53OA4E.cjs} +10 -10
  33. package/dist/{chunk-2JYIR3EC.cjs → chunk-3OTU3RS3.cjs} +435 -4
  34. package/dist/{chunk-MVWOQBCC.cjs → chunk-3PCTTUNW.cjs} +11 -11
  35. package/dist/{chunk-JJWCQLOU.cjs → chunk-47CKWKEX.cjs} +2 -2
  36. package/dist/{chunk-ITB3FS72.js → chunk-4PKF7WPD.js} +3 -3
  37. package/dist/{chunk-2RIAPTET.js → chunk-5P2NXKP3.js} +64 -54
  38. package/dist/{chunk-5YJG6H6P.cjs → chunk-6HYLHBQG.cjs} +8 -8
  39. package/dist/{chunk-SO3QQJAZ.js → chunk-6RF7UKUS.js} +11 -4
  40. package/dist/{chunk-VNQ5GL34.js → chunk-6ZCULLCA.js} +1 -1
  41. package/dist/{chunk-WJDPVW7T.js → chunk-72FKPBT5.js} +3 -3
  42. package/dist/{chunk-RVUQKMXX.cjs → chunk-7BTSG4ME.cjs} +5067 -2204
  43. package/dist/{chunk-YYB42DCU.cjs → chunk-A4IJHHV7.cjs} +10 -4
  44. package/dist/{chunk-IUMJYXBX.cjs → chunk-AEJH23FO.cjs} +6 -6
  45. package/dist/{chunk-HFMLWH7B.js → chunk-APIXPPMT.js} +5067 -2204
  46. package/dist/chunk-AS6RTLN7.cjs +203 -0
  47. package/dist/{chunk-ZSE42BRE.js → chunk-AYS2ASM7.js} +1 -1
  48. package/dist/{chunk-IWVQ2EW3.js → chunk-AYSFIUFW.js} +3 -3
  49. package/dist/{chunk-UJTCTTUF.cjs → chunk-BWN2CLLM.cjs} +30 -3
  50. package/dist/{chunk-EEGK5DYE.cjs → chunk-C5IJIM2V.cjs} +20 -14
  51. package/dist/{chunk-OBLIITWJ.js → chunk-CAMZTXV6.js} +2 -2
  52. package/dist/{chunk-5DDDUUBM.cjs → chunk-CDBPBM2K.cjs} +3 -3
  53. package/dist/{chunk-XWASJ2QL.js → chunk-CWMZKFTT.js} +3 -3
  54. package/dist/{chunk-UBS46QL3.cjs → chunk-CZXGCVTR.cjs} +2 -2
  55. package/dist/{chunk-AFN7LH5N.cjs → chunk-DJDE4DTT.cjs} +17 -17
  56. package/dist/{chunk-LL3PQ2U6.js → chunk-DRE2RXBZ.js} +33 -5
  57. package/dist/{chunk-QT2VZNFA.js → chunk-DSPQEHDT.js} +2 -2
  58. package/dist/{chunk-BT35E7NE.cjs → chunk-DVUHHH3B.cjs} +4 -4
  59. package/dist/{chunk-MHSDHPC4.cjs → chunk-DVZOENQ7.cjs} +2 -2
  60. package/dist/{chunk-Y2SXUCNJ.js → chunk-EGMZDTSL.js} +1 -1
  61. package/dist/{chunk-2ELK5DMH.js → chunk-FKSDEWDH.js} +3 -3
  62. package/dist/{chunk-YKS55CMT.js → chunk-FW774QXH.js} +19 -3
  63. package/dist/{chunk-T63AMO6H.js → chunk-G27PQQFD.js} +1 -1
  64. package/dist/{chunk-H6ZGZEBG.cjs → chunk-G3V4SFET.cjs} +9 -9
  65. package/dist/{chunk-CWALFEGU.js → chunk-G4CAKI3V.js} +1 -1
  66. package/dist/{chunk-FYZ67R4R.js → chunk-GJH7XMSK.js} +14 -0
  67. package/dist/{chunk-EIU7K7CM.js → chunk-H5SWOLG6.js} +3 -3
  68. package/dist/{chunk-OUHQZFN4.js → chunk-HBXAA3XB.js} +6 -1
  69. package/dist/{chunk-E23CMMNJ.js → chunk-HIVRCQS2.js} +8 -2
  70. package/dist/{chunk-TFSRRZWP.cjs → chunk-HLHTG5ZU.cjs} +15 -1
  71. package/dist/{chunk-WFUUXADU.js → chunk-HLQV64Y5.js} +170 -4
  72. package/dist/{chunk-7QEE6SW6.cjs → chunk-HOAHWIQ5.cjs} +26 -26
  73. package/dist/{chunk-63WXWFDI.cjs → chunk-HVKOZ2VP.cjs} +11 -11
  74. package/dist/{chunk-LQ4LQQG6.cjs → chunk-HXGBSJL5.cjs} +2 -2
  75. package/dist/chunk-I5IW3T2Y.js +310 -0
  76. package/dist/{chunk-D3YCFT5O.cjs → chunk-IFFXSTOM.cjs} +3 -3
  77. package/dist/{chunk-OPR34VHL.cjs → chunk-IKGWDOGU.cjs} +174 -8
  78. package/dist/{chunk-55B6SBHK.js → chunk-J4Q7XR3G.js} +3 -3
  79. package/dist/{chunk-LXDOQTXQ.cjs → chunk-J6QET7EF.cjs} +24 -4
  80. package/dist/{chunk-5EIEWVYX.js → chunk-JCLYQ2JC.js} +2 -2
  81. package/dist/{chunk-GHSBZ3YB.js → chunk-JX3DFKBI.js} +2 -2
  82. package/dist/{chunk-SALLHB2I.js → chunk-JYTDYJVW.js} +1 -1
  83. package/dist/{chunk-G7SZIOHF.js → chunk-KPELYZ6L.js} +2 -2
  84. package/dist/{chunk-S6BDWWUG.cjs → chunk-KWXVKLQ5.cjs} +5 -5
  85. package/dist/{chunk-GO3N7LRW.cjs → chunk-L3WAH3EM.cjs} +6 -6
  86. package/dist/{chunk-MGMXR67S.cjs → chunk-LA7H35XM.cjs} +9 -9
  87. package/dist/{chunk-XUDSXGGV.cjs → chunk-LENHP55G.cjs} +19 -3
  88. package/dist/{chunk-WGTJOIB7.cjs → chunk-LNMYK2F5.cjs} +10 -10
  89. package/dist/{chunk-JMFDD7IZ.js → chunk-LWUJFGOZ.js} +2 -2
  90. package/dist/chunk-MAKMSQMQ.cjs +504 -0
  91. package/dist/chunk-MSED7RH2.cjs +267 -0
  92. package/dist/{chunk-RO46YAPI.js → chunk-MYISNQH4.js} +1 -1
  93. package/dist/{chunk-Q2VYSHWU.js → chunk-N23UAW4I.js} +1 -1
  94. package/dist/{chunk-DH7DKCUL.js → chunk-NDMIPTV4.js} +1 -1
  95. package/dist/{chunk-YDCDGTK6.cjs → chunk-NNPAM4HC.cjs} +5 -5
  96. package/dist/{chunk-SRQW3B6J.cjs → chunk-O4IF4NJT.cjs} +24 -17
  97. package/dist/{chunk-SHFA46CS.cjs → chunk-OGV4WJ5L.cjs} +8 -8
  98. package/dist/chunk-OHUZKDGX.js +348 -0
  99. package/dist/{chunk-AMT2UZBI.cjs → chunk-OLSBBZW6.cjs} +5 -5
  100. package/dist/{chunk-SIHRD34Z.js → chunk-OOKY3HPZ.js} +8 -2
  101. package/dist/{chunk-WTNBX2JO.js → chunk-P47WPOXN.js} +30 -3
  102. package/dist/{chunk-3WCOFXQS.cjs → chunk-PRRCJFU3.cjs} +23 -23
  103. package/dist/{chunk-5GGX6WNY.cjs → chunk-Q7XSCYND.cjs} +11 -11
  104. package/dist/{chunk-EF4LKUQY.js → chunk-QNGEW5TC.js} +1 -1
  105. package/dist/chunk-QOXPOR5D.js +267 -0
  106. package/dist/chunk-R33VKSH5.cjs +348 -0
  107. package/dist/{chunk-CVVEYUFR.js → chunk-RO6WYEWH.js} +23 -3
  108. package/dist/{chunk-TWEKBHUO.js → chunk-SCXX4LW5.js} +3 -3
  109. package/dist/{chunk-YS34SVY5.js → chunk-SKV2F3NM.js} +1 -1
  110. package/dist/{chunk-MHLE6AVN.cjs → chunk-SKYG33B2.cjs} +3 -3
  111. package/dist/{chunk-EPNYD4NV.js → chunk-SLQAYV3W.js} +1 -1
  112. package/dist/{chunk-DLG43ZJ7.cjs → chunk-SYVYLZZF.cjs} +2 -2
  113. package/dist/{chunk-QUFAULH7.js → chunk-T73IDKDF.js} +2 -1
  114. package/dist/chunk-TBEGGJNC.cjs +310 -0
  115. package/dist/{chunk-TQHOVHRS.js → chunk-TNZRZQ7Q.js} +1 -1
  116. package/dist/{chunk-D6VG7B5X.cjs → chunk-TXSDBGKX.cjs} +2 -1
  117. package/dist/{chunk-LVE6Z5SL.cjs → chunk-U46VYPLR.cjs} +7 -7
  118. package/dist/{chunk-F23EVNJU.js → chunk-WHE2SWHU.js} +1 -1
  119. package/dist/{chunk-CDMGQR4L.cjs → chunk-WM5PAOTQ.cjs} +38 -10
  120. package/dist/{chunk-PEC45WYS.js → chunk-X2MSVKDV.js} +1 -1
  121. package/dist/chunk-X3WS5LDG.js +504 -0
  122. package/dist/{chunk-Q5RX3XGB.cjs → chunk-X5VSP65C.cjs} +2 -2
  123. package/dist/{chunk-HA7OAVOB.cjs → chunk-X5YJ34FZ.cjs} +12 -12
  124. package/dist/{chunk-TERCG25S.js → chunk-XRZEUWKF.js} +1 -1
  125. package/dist/{chunk-VJYPP6PP.cjs → chunk-XTB6VJVQ.cjs} +6 -6
  126. package/dist/{chunk-UGTFKUW4.js → chunk-XX2ZO7DS.js} +2 -2
  127. package/dist/{chunk-UTI6ZQEY.cjs → chunk-Y72HH2TF.cjs} +9 -9
  128. package/dist/{chunk-PUOE5BCN.js → chunk-YGN4CQIP.js} +1 -1
  129. package/dist/{chunk-5OBNULPU.js → chunk-YZXUDM5X.js} +1 -1
  130. package/dist/{chunk-AHD5JJ6F.cjs → chunk-Z36XBUMX.cjs} +6 -1
  131. package/dist/{chunk-4HKTYHNL.cjs → chunk-ZQE72E6W.cjs} +14 -14
  132. package/dist/{chunk-7GDVDSNI.js → chunk-ZVY2XD6T.js} +435 -4
  133. package/dist/{chunk-FPAE6ORV.cjs → chunk-ZYQMLKOK.cjs} +6 -6
  134. package/dist/clear-UO4MNWZW.cjs +12 -0
  135. package/dist/{clear-J7XS6T5W.js → clear-ZJ5NYP6E.js} +2 -2
  136. package/dist/communityInstaller-6KCFN7YZ.js +19 -0
  137. package/dist/communityInstaller-PVSOFDZD.cjs +19 -0
  138. package/dist/{completion-XR6ZONJQ.js → completion-MMF2PN2H.js} +4 -4
  139. package/dist/completion-UI5WKHXI.cjs +14 -0
  140. package/dist/config-E7RINK4R.cjs +18 -0
  141. package/dist/{config-2TB3A55J.js → config-ZN66VXPS.js} +1 -1
  142. package/dist/export-N4XIVDSL.cjs +12 -0
  143. package/dist/export-W22L4D5C.js +12 -0
  144. package/dist/feedback-DR6ADSNE.cjs +15 -0
  145. package/dist/feedback-FEEAP4QW.js +15 -0
  146. package/dist/{help-I5GRCA3S.js → help-2BLR7L43.js} +2 -2
  147. package/dist/help-AQHGTS7P.cjs +12 -0
  148. package/dist/{history-OCHJBJW7.js → history-5FZ3M2AK.js} +2 -2
  149. package/dist/history-NIUDRMKA.cjs +14 -0
  150. package/dist/hooks-2EY4IPKV.js +13 -0
  151. package/dist/hooks-LJVORRIG.cjs +13 -0
  152. package/dist/i18n-ARDG2SMC.cjs +33 -0
  153. package/dist/{i18n-KHBXUALK.js → i18n-K7QOWIBH.js} +1 -1
  154. package/dist/ide-GFW6IJHD.js +12 -0
  155. package/dist/ide-N2ZNSSB3.cjs +12 -0
  156. package/dist/{import-KRVVYJCZ.js → import-DFVN3KNZ.js} +2 -2
  157. package/dist/{import-PQJPNXA4.cjs → import-QEME3E4T.cjs} +3 -3
  158. package/dist/{import-EAAX5HJR.js → import-UXM3VK7B.js} +3 -3
  159. package/dist/import-ZS6DPGU5.cjs +10 -0
  160. package/dist/index.cjs +5451 -2274
  161. package/dist/index.js +5345 -2168
  162. package/dist/init-PY75HA3S.cjs +10 -0
  163. package/dist/{init-6K3NRDOM.js → init-QNMWLAVY.js} +2 -2
  164. package/dist/language-5UE4G2BT.cjs +18 -0
  165. package/dist/{language-Y6ZC7LET.js → language-UXMHEZUJ.js} +5 -5
  166. package/dist/learn-HJ3FLNZC.cjs +20 -0
  167. package/dist/learn-MVYS3RU5.js +20 -0
  168. package/dist/{login-DL3377MD.js → login-DSE7H63A.js} +6 -6
  169. package/dist/{login-6OAH2NEH.cjs → login-V3MEWPKN.cjs} +7 -7
  170. package/dist/{logout-TLYA5W45.js → logout-BMVCLKKW.js} +6 -6
  171. package/dist/logout-XEG7FHOZ.cjs +18 -0
  172. package/dist/{mcp-BHOIBYUB.js → mcp-PYUR4PHO.js} +4 -4
  173. package/dist/mcp-SG6JFLGC.cjs +18 -0
  174. package/dist/{mcp-install-GROTZHAW.cjs → mcp-install-G27HSS3Z.cjs} +9 -9
  175. package/dist/{mcp-install-KSADVDBE.js → mcp-install-VESN42PI.js} +5 -5
  176. package/dist/{memory-6DRFA43C.js → memory-4ZMMEZ2Z.js} +2 -2
  177. package/dist/memory-QSGMVVGH.cjs +10 -0
  178. package/dist/model-NANLBZ4Z.cjs +10 -0
  179. package/dist/{model-MQXC56ES.js → model-ZXNV4AF7.js} +2 -2
  180. package/dist/{new-7VYM36RC.js → new-5QJY5JP2.js} +2 -2
  181. package/dist/new-PMMG55UX.cjs +12 -0
  182. package/dist/permissions-LECTCJ4H.cjs +13 -0
  183. package/dist/permissions-VP5VGIBL.js +13 -0
  184. package/dist/quit-BKOOPHU5.cjs +10 -0
  185. package/dist/{quit-PKBSEJOL.js → quit-FVFNYACP.js} +2 -2
  186. package/dist/{registry-WQLWHOLY.js → registry-KWZGYJC2.js} +289 -9
  187. package/dist/{registry-A5XLMQVC.cjs → registry-YN4FQPOO.cjs} +298 -18
  188. package/dist/{resume-FBKXSDOA.js → resume-EXFQSQPH.js} +4 -4
  189. package/dist/resume-PP2IQM5S.cjs +13 -0
  190. package/dist/search-C56FBN67.cjs +17 -0
  191. package/dist/{search-7RNYTCNO.js → search-XGZDYBF4.js} +5 -5
  192. package/dist/{sessions-WAXBUQTU.js → sessions-54KI3F2Q.js} +2 -2
  193. package/dist/sessions-DDTSPNVW.cjs +10 -0
  194. package/dist/settings-BDO37TTO.cjs +30 -0
  195. package/dist/{settings-D6JXX5RG.js → settings-FHRDFPLK.js} +5 -5
  196. package/dist/share-IERCTBGN.cjs +14 -0
  197. package/dist/share-TGROUE6R.js +14 -0
  198. package/dist/skills-6OL4OSGA.js +76 -0
  199. package/dist/skills-FYY6F2WV.cjs +76 -0
  200. package/dist/skills-OM4IGBAA.cjs +26 -0
  201. package/dist/skills-S3GRN323.js +26 -0
  202. package/dist/{skills-install-QNQWC2MV.js → skills-install-6CSWC24P.js} +7 -7
  203. package/dist/{skills-install-UMK5H3SO.cjs → skills-install-O3LZ2ETC.cjs} +11 -11
  204. package/dist/{skills-new-NZFGFKML.js → skills-new-ALD2PTHN.js} +5 -5
  205. package/dist/skills-new-PWLKK7GW.cjs +15 -0
  206. package/dist/slashCommands-L4ZD33LJ.js +75 -0
  207. package/dist/slashCommands-YY2VUUDF.cjs +75 -0
  208. package/dist/status-3PC5XWSS.cjs +11 -0
  209. package/dist/{status-BKC7GBNQ.js → status-KCLVOYPD.js} +3 -3
  210. package/dist/{sync-YVPFT7SL.js → sync-6SDWG5RK.js} +3 -3
  211. package/dist/sync-WHURZL3U.cjs +18 -0
  212. package/dist/{team-RWIKCLTG.js → team-5YXP3JGR.js} +1 -1
  213. package/dist/team-IIWEZKNR.cjs +9 -0
  214. package/dist/{teammate-7C3UDQSH.cjs → teammate-2KMKJXAM.cjs} +4 -4
  215. package/dist/{teammate-3C4MLRGH.js → teammate-L6EZQ3I2.js} +4 -4
  216. package/dist/theme-BE5A4FPN.cjs +18 -0
  217. package/dist/{theme-A2CEHI7W.js → theme-YMFCQP7J.js} +5 -5
  218. package/dist/ui/questionModal.cjs +5 -5
  219. package/dist/ui/questionModal.js +4 -4
  220. package/dist/undo-KZHUUZTD.cjs +10 -0
  221. package/dist/{undo-F2IZJQUV.js → undo-NEIEHQVX.js} +2 -2
  222. package/package.json +2 -1
  223. package/dist/ProviderFactory-EFFQBRQ6.cjs +0 -9
  224. package/dist/about-V2HWEZZO.cjs +0 -12
  225. package/dist/add-dir-ALBSYRV3.cjs +0 -10
  226. package/dist/agents-FCGEWTA3.cjs +0 -12
  227. package/dist/agents-new-FU3O55CO.js +0 -14
  228. package/dist/agents-new-SAFTJ7TK.cjs +0 -14
  229. package/dist/automode-CYLGXQ4A.cjs +0 -10
  230. package/dist/chunk-Q3MJ6CYS.cjs +0 -193
  231. package/dist/clear-ES5WCZRF.cjs +0 -12
  232. package/dist/completion-XQTDTJLK.cjs +0 -14
  233. package/dist/config-RDMVIV26.cjs +0 -18
  234. package/dist/export-EWAYH353.cjs +0 -12
  235. package/dist/export-ZWA6XGVS.js +0 -12
  236. package/dist/feedback-5RV6ODW4.js +0 -15
  237. package/dist/feedback-ZPITHFJR.cjs +0 -15
  238. package/dist/help-X52PZM24.cjs +0 -12
  239. package/dist/history-4WIOZ4TW.cjs +0 -14
  240. package/dist/hooks-IAVTXUAI.cjs +0 -13
  241. package/dist/hooks-YF6HL23E.js +0 -13
  242. package/dist/i18n-MVQIAZWS.cjs +0 -33
  243. package/dist/ide-4R3BEBIS.js +0 -12
  244. package/dist/ide-C7WSPQTR.cjs +0 -12
  245. package/dist/import-2ICSKDL7.cjs +0 -10
  246. package/dist/init-AOUGGITS.cjs +0 -10
  247. package/dist/language-Q7YFDVSR.cjs +0 -18
  248. package/dist/logout-ELQBUMTU.cjs +0 -18
  249. package/dist/mcp-TNUEXR5T.cjs +0 -18
  250. package/dist/memory-IORZE6WF.cjs +0 -10
  251. package/dist/model-CJPSPGIC.cjs +0 -10
  252. package/dist/new-7D2B7IWM.cjs +0 -12
  253. package/dist/permissions-MM77OSFO.js +0 -13
  254. package/dist/permissions-W2F62DJ6.cjs +0 -13
  255. package/dist/quit-7D2RDGTD.cjs +0 -10
  256. package/dist/resume-KLPDYPWQ.cjs +0 -13
  257. package/dist/search-UESMQZC3.cjs +0 -17
  258. package/dist/sessions-TSSUFWIJ.cjs +0 -10
  259. package/dist/settings-RKYGXKDG.cjs +0 -30
  260. package/dist/share-GLX4YHS4.cjs +0 -14
  261. package/dist/share-U2M2KBFJ.js +0 -14
  262. package/dist/skills-63QLZMUO.cjs +0 -14
  263. package/dist/skills-BAMMXP3Q.js +0 -14
  264. package/dist/skills-new-NYKNHJHV.cjs +0 -15
  265. package/dist/slashCommands-EJ23C3Z4.cjs +0 -69
  266. package/dist/slashCommands-JQIL4EWX.js +0 -69
  267. package/dist/status-FU3CPJWQ.cjs +0 -11
  268. package/dist/sync-3IEIHXIP.cjs +0 -18
  269. package/dist/team-GVK5L73L.cjs +0 -9
  270. package/dist/theme-LNOQOVR4.cjs +0 -18
  271. 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
- var _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.cjs');
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} **${_chunkRVUQKMXXcjs.t.call(void 0, "commands.skills.title")}**`);
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(_chunkRVUQKMXXcjs.t.call(void 0, "commands.skills.noSkills"));
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-UMK5H3SO.cjs")));
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: _chunkRVUQKMXXcjs.t.call(void 0, "commands.skills.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-5OBNULPU.js";
6
+ } from "./chunk-YZXUDM5X.js";
7
7
  import {
8
8
  saveConfig
9
- } from "./chunk-WTNBX2JO.js";
9
+ } from "./chunk-P47WPOXN.js";
10
10
  import {
11
11
  t
12
- } from "./chunk-HFMLWH7B.js";
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
- await _chunkYRLYSQEQcjs.addToLocalWhitelist.call(void 0, this.workspaceRoot, pattern);
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
- if (!this.localSettings.whitelist.includes(pattern)) {
204
- this.localSettings.whitelist.push(pattern);
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,9 +1,9 @@
1
1
  import {
2
2
  showModal
3
- } from "./chunk-5OBNULPU.js";
3
+ } from "./chunk-YZXUDM5X.js";
4
4
  import {
5
5
  t
6
- } from "./chunk-HFMLWH7B.js";
6
+ } from "./chunk-APIXPPMT.js";
7
7
 
8
8
  // src/commands/ide.ts
9
9
  import chalk from "chalk";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  package_default
3
- } from "./chunk-QUFAULH7.js";
3
+ } from "./chunk-T73IDKDF.js";
4
4
  import {
5
5
  t
6
- } from "./chunk-HFMLWH7B.js";
6
+ } from "./chunk-APIXPPMT.js";
7
7
 
8
8
  // src/commands/status.ts
9
9
  import chalk from "chalk";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  showModal
3
- } from "./chunk-5OBNULPU.js";
3
+ } from "./chunk-YZXUDM5X.js";
4
4
 
5
5
  // src/ui/questionModal.tsx
6
6
  async function showQuestionModal(options) {
@@ -2,10 +2,10 @@ import {
2
2
  showConfirm,
3
3
  showInput,
4
4
  showModal
5
- } from "./chunk-5OBNULPU.js";
5
+ } from "./chunk-YZXUDM5X.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-HFMLWH7B.js";
8
+ } from "./chunk-APIXPPMT.js";
9
9
 
10
10
  // src/commands/export.ts
11
11
  import chalk from "chalk";
@@ -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 _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.cjs');
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(_chunkRVUQKMXXcjs.t.call(void 0, "commands.addDir.notFound", { path: dirPath })));
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(_chunkRVUQKMXXcjs.t.call(void 0, "commands.addDir.alreadyAdded", { path: resolvedPath })));
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(_chunkRVUQKMXXcjs.t.call(void 0, "commands.addDir.added", { path: resolvedPath })));
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: _chunkRVUQKMXXcjs.t.call(void 0, "commands.addDir.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 _chunkFPAE6ORVcjs = require('./chunk-FPAE6ORV.cjs');
8
+ var _chunkZYQMLKOKcjs = require('./chunk-ZYQMLKOK.cjs');
9
9
 
10
10
 
11
- var _chunkUJTCTTUFcjs = require('./chunk-UJTCTTUF.cjs');
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 _chunkFPAE6ORVcjs.showModal.call(void 0, {
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 _chunkFPAE6ORVcjs.showPassword.call(void 0, {
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 _chunkFPAE6ORVcjs.showPassword.call(void 0, {
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 _chunkUJTCTTUFcjs.saveConfig.call(void 0, config);
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 _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.cjs');
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-EJ23C3Z4.cjs")));
9
+ const { SLASH_COMMANDS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./slashCommands-YY2VUUDF.cjs")));
10
10
  console.log(_chalk2.default.cyan(`
11
- ${_chunkRVUQKMXXcjs.t.call(void 0, "commands.help.title")}
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
- ${_chunkRVUQKMXXcjs.t.call(void 0, "commands.help.tips.title")}
19
+ ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.help.tips.title")}
20
20
  `));
21
- console.log(_chalk2.default.gray(` \u2022 ${_chunkRVUQKMXXcjs.t.call(void 0, "commands.help.tips.mention")}`));
22
- console.log(_chalk2.default.gray(` \u2022 ${_chunkRVUQKMXXcjs.t.call(void 0, "commands.help.tips.arrows")}`));
23
- console.log(_chalk2.default.gray(` \u2022 ${_chunkRVUQKMXXcjs.t.call(void 0, "commands.help.tips.tab")}`));
24
- console.log(_chalk2.default.gray(` \u2022 ${_chunkRVUQKMXXcjs.t.call(void 0, "commands.help.tips.escape")}
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(` ${_chunkRVUQKMXXcjs.t.call(void 0, "commands.help.docsLink", { link: docLink })}
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. Auto-generates a commit message which the user can accept, edit, or reject.",
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
- // The tool has its own y/n/e confirmation
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 _chunkAMT2UZBIcjs = require('./chunk-AMT2UZBI.cjs');
10
+ var _chunkOLSBBZW6cjs = require('./chunk-OLSBBZW6.cjs');
11
11
 
12
12
 
13
- var _chunkUJTCTTUFcjs = require('./chunk-UJTCTTUF.cjs');
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 _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.cjs');
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: _chunkRVUQKMXXcjs.t.call(void 0, "commands.login.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 _chunkAMT2UZBIcjs.safePrompt.call(void 0, {
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(_chunkRVUQKMXXcjs.t.call(void 0, "commands.login.cancelled")));
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(_chunkRVUQKMXXcjs.t.call(void 0, "commands.login.failed", { error: initResult.error || "Unknown error" })));
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 _chunkUJTCTTUFcjs.saveConfig.call(void 0, updatedConfig);
116
+ await _chunkBWN2CLLMcjs.saveConfig.call(void 0, updatedConfig);
117
117
  console.log();
118
- console.log(_chalk2.default.green(_chunkRVUQKMXXcjs.t.call(void 0, "commands.login.success", { email: pollResult.user.name || pollResult.user.email })));
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 _chunkAMT2UZBIcjs.safePrompt.call(void 0, {
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?",
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  safePrompt
3
- } from "./chunk-VNQ5GL34.js";
3
+ } from "./chunk-6ZCULLCA.js";
4
4
  import {
5
5
  t
6
- } from "./chunk-HFMLWH7B.js";
6
+ } from "./chunk-APIXPPMT.js";
7
7
 
8
8
  // src/commands/permissions.ts
9
9
  import chalk from "chalk";