autohand-cli 0.8.0 → 0.8.3

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 (371) hide show
  1. package/README.md +97 -2
  2. package/dist/{AgentRegistry-NQCLWABO.cjs → AgentRegistry-HRPN6ZOF.cjs} +1 -1
  3. package/dist/{AgentRegistry-7LDL5HJH.js → AgentRegistry-ODDXPAFR.js} +1 -1
  4. package/dist/{AutomodeManager-NYIZNODK.cjs → AutomodeManager-6ATBE7Q5.cjs} +1 -1
  5. package/dist/{AutomodeManager-MWLKGPZK.js → AutomodeManager-EOVHGRPP.js} +1 -1
  6. package/dist/{CommunitySkillsCache-GTQMOCCO.cjs → CommunitySkillsCache-KE435RAR.cjs} +1 -1
  7. package/dist/{CommunitySkillsCache-6QPRMTJO.js → CommunitySkillsCache-QLE57BN5.js} +1 -1
  8. package/dist/{GitHubRegistryFetcher-S7QFUEKV.cjs → GitHubRegistryFetcher-I45SESIL.cjs} +1 -1
  9. package/dist/{GitHubRegistryFetcher-6JQ5JEDZ.js → GitHubRegistryFetcher-NT5GFZXS.js} +1 -1
  10. package/dist/HookManager-B2F35M27.js +7 -0
  11. package/dist/HookManager-PFAFE3FK.cjs +7 -0
  12. package/dist/{ImportWizard-IWVPRKFF.cjs → ImportWizard-CJRZPPHL.cjs} +12 -12
  13. package/dist/{ImportWizard-KASGQPUY.js → ImportWizard-OHRKBANZ.js} +5 -5
  14. package/dist/LearnAdvisor-FLBA6FDD.js +9 -0
  15. package/dist/LearnAdvisor-GG3CXQF3.cjs +9 -0
  16. package/dist/{McpClientManager-RKD7C6OY.cjs → McpClientManager-NQ3EW2IF.cjs} +1 -1
  17. package/dist/{McpClientManager-7RM6YT35.js → McpClientManager-VBIMGKXU.js} +1 -1
  18. package/dist/{MemoryManager-GUNLRP5S.js → MemoryManager-2LAT7IHS.js} +1 -1
  19. package/dist/{MemoryManager-TNSGKDKX.cjs → MemoryManager-2LQPIYVE.cjs} +1 -1
  20. package/dist/{PermissionManager-K7UWSNB6.js → PermissionManager-7NQHRCHY.js} +2 -2
  21. package/dist/PermissionManager-X57BXHJ6.cjs +11 -0
  22. package/dist/{ProjectProfiler-UMJJSOCE.js → ProjectProfiler-P4QJQWWA.js} +1 -1
  23. package/dist/{ProjectProfiler-ZDWR2ODG.cjs → ProjectProfiler-UG42W6WD.cjs} +1 -1
  24. package/dist/{ProviderFactory-S3LWTQQC.js → ProviderFactory-2IYJ5OPW.js} +2 -2
  25. package/dist/ProviderFactory-KPJOGQWF.cjs +9 -0
  26. package/dist/{SessionManager-IKWAK2PI.js → SessionManager-4U4JFQ3C.js} +1 -1
  27. package/dist/{SessionManager-FEUAU3ZJ.cjs → SessionManager-YBJAZXNO.cjs} +1 -1
  28. package/dist/SkillsRegistry-7O72A6TZ.cjs +9 -0
  29. package/dist/{SkillsRegistry-SI5RUHQ4.js → SkillsRegistry-RFEINXRT.js} +2 -2
  30. package/dist/{SubAgent-I75HELJG.js → SubAgent-JT4HZHN7.js} +2 -2
  31. package/dist/{SubAgent-K3QP6WHC.cjs → SubAgent-VPNYDWAU.cjs} +3 -3
  32. package/dist/{SyncApiClient-LVIO4C2S.js → SyncApiClient-B5RT2ECG.js} +1 -1
  33. package/dist/{SyncApiClient-ZNYMT36M.cjs → SyncApiClient-HQXJL5BT.cjs} +1 -1
  34. package/dist/about-4DB5KTHW.js +12 -0
  35. package/dist/about-LXAOXZFT.cjs +12 -0
  36. package/dist/actionExecutor-23JB2WUC.js +19 -0
  37. package/dist/actionExecutor-X5UEZSKH.cjs +19 -0
  38. package/dist/add-dir-TUJM3PG5.js +10 -0
  39. package/dist/add-dir-YC37DMSF.cjs +10 -0
  40. package/dist/{agents-FENGUSJD.js → agents-YF3BSUU5.js} +3 -3
  41. package/dist/agents-ZOUHPMYR.cjs +12 -0
  42. package/dist/agents-new-HSH4GQPG.js +14 -0
  43. package/dist/agents-new-VYUDOCE7.cjs +14 -0
  44. package/dist/autoSkill-LQEVQFIH.js +20 -0
  45. package/dist/autoSkill-X5W52WOE.cjs +20 -0
  46. package/dist/automode-R6P3VHLS.js +10 -0
  47. package/dist/automode-SJGM7VEI.cjs +10 -0
  48. package/dist/{cc-7LEIJ3KF.js → cc-AYEP2CA3.js} +1 -1
  49. package/dist/{cc-Q5MM4AWC.cjs → cc-S2QLQFBR.cjs} +1 -1
  50. package/dist/{chunk-MUBW5UDH.cjs → chunk-245KJE5Y.cjs} +4 -4
  51. package/dist/{chunk-6OYHF6MF.js → chunk-2UC22DJU.js} +3 -3
  52. package/dist/{chunk-N254NRHT.cjs → chunk-3HT76LNN.cjs} +9 -2
  53. package/dist/{chunk-XMNHZRUB.cjs → chunk-3K2ESU53.cjs} +2 -2
  54. package/dist/{chunk-OI7OIGNB.cjs → chunk-3L53OA4E.cjs} +10 -10
  55. package/dist/{chunk-XUDSXGGV.cjs → chunk-3O3MOK5C.cjs} +169 -46
  56. package/dist/{chunk-WJDPVW7T.js → chunk-3VTAFAL2.js} +4 -4
  57. package/dist/{chunk-2RIAPTET.js → chunk-3WICOC33.js} +71 -57
  58. package/dist/chunk-3WVJEL7K.cjs +568 -0
  59. package/dist/{chunk-JJWCQLOU.cjs → chunk-47CKWKEX.cjs} +2 -2
  60. package/dist/{chunk-SRQW3B6J.cjs → chunk-56SWIDEL.cjs} +24 -17
  61. package/dist/{chunk-OBLIITWJ.js → chunk-5K6NGAVM.js} +2 -2
  62. package/dist/chunk-64H4FRM3.cjs +340 -0
  63. package/dist/{chunk-VNQ5GL34.js → chunk-6ZCULLCA.js} +1 -1
  64. package/dist/{chunk-RVUQKMXX.cjs → chunk-7BTSG4ME.cjs} +5067 -2204
  65. package/dist/{chunk-H6ZGZEBG.cjs → chunk-7TQH3CL4.cjs} +9 -9
  66. package/dist/{chunk-YYB42DCU.cjs → chunk-A4IJHHV7.cjs} +10 -4
  67. package/dist/{chunk-OPR34VHL.cjs → chunk-ADUFCS4Q.cjs} +174 -8
  68. package/dist/{chunk-IUMJYXBX.cjs → chunk-AEJH23FO.cjs} +6 -6
  69. package/dist/{chunk-HFMLWH7B.js → chunk-APIXPPMT.js} +5067 -2204
  70. package/dist/{chunk-ZSE42BRE.js → chunk-AYS2ASM7.js} +1 -1
  71. package/dist/{chunk-7GDVDSNI.js → chunk-B53A2NM2.js} +989 -135
  72. package/dist/{chunk-ITB3FS72.js → chunk-BJXSNT46.js} +4 -4
  73. package/dist/{chunk-IVM5F2AE.js → chunk-BYONM7UM.js} +1 -1
  74. package/dist/{chunk-EEGK5DYE.cjs → chunk-C5IJIM2V.cjs} +20 -14
  75. package/dist/{chunk-UJTCTTUF.cjs → chunk-CB4E2T5N.cjs} +49 -8
  76. package/dist/{chunk-UBS46QL3.cjs → chunk-CZXGCVTR.cjs} +2 -2
  77. package/dist/{chunk-AFN7LH5N.cjs → chunk-DJDE4DTT.cjs} +17 -17
  78. package/dist/{chunk-CVVEYUFR.js → chunk-DNUOXBHL.js} +108 -3
  79. package/dist/{chunk-DN573ME7.cjs → chunk-DRWDEHE5.cjs} +4 -4
  80. package/dist/{chunk-5GGX6WNY.cjs → chunk-DV2ZHK7B.cjs} +22 -22
  81. package/dist/{chunk-BT35E7NE.cjs → chunk-DVUHHH3B.cjs} +4 -4
  82. package/dist/{chunk-MHSDHPC4.cjs → chunk-DVZOENQ7.cjs} +2 -2
  83. package/dist/chunk-EFX2QSZX.cjs +33 -0
  84. package/dist/{chunk-Y2SXUCNJ.js → chunk-EGMZDTSL.js} +1 -1
  85. package/dist/{chunk-7QEE6SW6.cjs → chunk-EGPXJERY.cjs} +26 -26
  86. package/dist/{chunk-Q5RN7RXC.js → chunk-FTYY5JJD.js} +2 -2
  87. package/dist/{chunk-T63AMO6H.js → chunk-G27PQQFD.js} +1 -1
  88. package/dist/{chunk-CWALFEGU.js → chunk-G4CAKI3V.js} +1 -1
  89. package/dist/{chunk-D6VG7B5X.cjs → chunk-GCXYXLRA.cjs} +2 -1
  90. package/dist/{chunk-FYZ67R4R.js → chunk-GJH7XMSK.js} +14 -0
  91. package/dist/chunk-H2ZRHQQV.js +33 -0
  92. package/dist/{chunk-OUHQZFN4.js → chunk-HBXAA3XB.js} +6 -1
  93. package/dist/{chunk-XWASJ2QL.js → chunk-HBZU3RBZ.js} +3 -3
  94. package/dist/{chunk-E23CMMNJ.js → chunk-HIVRCQS2.js} +8 -2
  95. package/dist/{chunk-TFSRRZWP.cjs → chunk-HLHTG5ZU.cjs} +15 -1
  96. package/dist/{chunk-3WCOFXQS.cjs → chunk-HNRPK5MY.cjs} +23 -23
  97. package/dist/{chunk-MGMXR67S.cjs → chunk-HPHJ73GU.cjs} +9 -9
  98. package/dist/{chunk-63WXWFDI.cjs → chunk-HVKOZ2VP.cjs} +11 -11
  99. package/dist/{chunk-LQ4LQQG6.cjs → chunk-HXGBSJL5.cjs} +2 -2
  100. package/dist/{chunk-GCHELXLO.js → chunk-IDFF5J2E.js} +2 -2
  101. package/dist/{chunk-D3YCFT5O.cjs → chunk-IFFXSTOM.cjs} +3 -3
  102. package/dist/{chunk-SHFA46CS.cjs → chunk-J2GSFVUV.cjs} +8 -8
  103. package/dist/{chunk-5EIEWVYX.js → chunk-JCLYQ2JC.js} +2 -2
  104. package/dist/{chunk-4HKTYHNL.cjs → chunk-JJLYWH5Y.cjs} +17 -17
  105. package/dist/{chunk-SALLHB2I.js → chunk-JYTDYJVW.js} +1 -1
  106. package/dist/{chunk-CDMGQR4L.cjs → chunk-K2C56QGS.cjs} +226 -50
  107. package/dist/{chunk-643VRA5S.cjs → chunk-KANW6OYC.cjs} +3 -3
  108. package/dist/{chunk-5YJG6H6P.cjs → chunk-KLWJIPU2.cjs} +10 -10
  109. package/dist/{chunk-G7SZIOHF.js → chunk-KPELYZ6L.js} +2 -2
  110. package/dist/{chunk-2ELK5DMH.js → chunk-KQGPTCQJ.js} +3 -3
  111. package/dist/{chunk-S6BDWWUG.cjs → chunk-KWXVKLQ5.cjs} +5 -5
  112. package/dist/{chunk-EIU7K7CM.js → chunk-L3TWPROA.js} +5 -5
  113. package/dist/{chunk-JS7IPR7P.js → chunk-LIEXWM2M.js} +12 -1
  114. package/dist/{chunk-JMFDD7IZ.js → chunk-LWUJFGOZ.js} +2 -2
  115. package/dist/{chunk-LXDOQTXQ.cjs → chunk-MERYP6AM.cjs} +113 -8
  116. package/dist/{chunk-RO46YAPI.js → chunk-MYISNQH4.js} +1 -1
  117. package/dist/chunk-MZAPWNAC.cjs +207 -0
  118. package/dist/{chunk-Q2VYSHWU.js → chunk-N23UAW4I.js} +1 -1
  119. package/dist/{chunk-5DDDUUBM.cjs → chunk-N2BLVUPM.cjs} +3 -3
  120. package/dist/{chunk-TWEKBHUO.js → chunk-N7LI55V4.js} +3 -3
  121. package/dist/{chunk-YKS55CMT.js → chunk-NA6WQDYW.js} +152 -29
  122. package/dist/{chunk-LL3PQ2U6.js → chunk-NAGQ2PDC.js} +195 -19
  123. package/dist/chunk-NAJ4IZKD.cjs +504 -0
  124. package/dist/{chunk-DH7DKCUL.js → chunk-NDMIPTV4.js} +1 -1
  125. package/dist/{chunk-YDCDGTK6.cjs → chunk-NNPAM4HC.cjs} +5 -5
  126. package/dist/{chunk-GHSBZ3YB.js → chunk-NTSDP2WB.js} +2 -2
  127. package/dist/chunk-OHUZKDGX.js +348 -0
  128. package/dist/{chunk-AMT2UZBI.cjs → chunk-OLSBBZW6.cjs} +5 -5
  129. package/dist/{chunk-SIHRD34Z.js → chunk-OOKY3HPZ.js} +8 -2
  130. package/dist/{chunk-MVWOQBCC.cjs → chunk-OUZQXMHL.cjs} +11 -11
  131. package/dist/chunk-PGESAU2W.cjs +2030 -0
  132. package/dist/{chunk-IQ5RXU6O.js → chunk-QEGOB6QV.js} +1 -1
  133. package/dist/{chunk-JSBRDJBE.js → chunk-QGM4M3NI.js} +8 -1
  134. package/dist/{chunk-EF4LKUQY.js → chunk-QNGEW5TC.js} +1 -1
  135. package/dist/{chunk-QT2VZNFA.js → chunk-QXH5RCFI.js} +2 -2
  136. package/dist/chunk-R33VKSH5.cjs +348 -0
  137. package/dist/chunk-RDF37HKB.cjs +326 -0
  138. package/dist/{chunk-55B6SBHK.js → chunk-SJAVBCOA.js} +3 -3
  139. package/dist/{chunk-YS34SVY5.js → chunk-SKV2F3NM.js} +1 -1
  140. package/dist/{chunk-MHLE6AVN.cjs → chunk-SKYG33B2.cjs} +3 -3
  141. package/dist/{chunk-EPNYD4NV.js → chunk-SLQAYV3W.js} +1 -1
  142. package/dist/{chunk-IWVQ2EW3.js → chunk-SV2WA57F.js} +5 -5
  143. package/dist/{chunk-DLG43ZJ7.cjs → chunk-SYVYLZZF.cjs} +2 -2
  144. package/dist/{chunk-QUFAULH7.js → chunk-SZOLA6FR.js} +2 -1
  145. package/dist/{chunk-WGTJOIB7.cjs → chunk-T2M64VHA.cjs} +13 -13
  146. package/dist/{chunk-TQHOVHRS.js → chunk-TNZRZQ7Q.js} +1 -1
  147. package/dist/chunk-TUAITHWL.js +326 -0
  148. package/dist/{chunk-WFUUXADU.js → chunk-TUD3Z3BD.js} +170 -4
  149. package/dist/{chunk-LVE6Z5SL.cjs → chunk-U46VYPLR.cjs} +7 -7
  150. package/dist/{chunk-PGRH5Q77.cjs → chunk-U55TWFJI.cjs} +12 -1
  151. package/dist/{chunk-SO3QQJAZ.js → chunk-ULDM2SNB.js} +11 -4
  152. package/dist/{chunk-HA7OAVOB.cjs → chunk-VEKDGU2Q.cjs} +12 -12
  153. package/dist/{chunk-HQ7YZKXE.js → chunk-VWDHR4HV.js} +2 -2
  154. package/dist/{chunk-GO3N7LRW.cjs → chunk-W7RYQJLO.cjs} +6 -6
  155. package/dist/{chunk-F23EVNJU.js → chunk-WHE2SWHU.js} +1 -1
  156. package/dist/{chunk-PEC45WYS.js → chunk-X2MSVKDV.js} +1 -1
  157. package/dist/{chunk-RD5XAJR2.cjs → chunk-X2YOZQIP.cjs} +6 -6
  158. package/dist/{chunk-Q5RX3XGB.cjs → chunk-X5VSP65C.cjs} +2 -2
  159. package/dist/{chunk-TERCG25S.js → chunk-XRZEUWKF.js} +1 -1
  160. package/dist/{chunk-VJYPP6PP.cjs → chunk-XTB6VJVQ.cjs} +6 -6
  161. package/dist/chunk-XVUHNWMX.js +340 -0
  162. package/dist/{chunk-UGTFKUW4.js → chunk-XX2ZO7DS.js} +2 -2
  163. package/dist/{chunk-33A755XB.cjs → chunk-Y45G6ZO5.cjs} +3 -3
  164. package/dist/{chunk-UTI6ZQEY.cjs → chunk-Y72HH2TF.cjs} +9 -9
  165. package/dist/{chunk-PUOE5BCN.js → chunk-YGN4CQIP.js} +1 -1
  166. package/dist/{chunk-5OBNULPU.js → chunk-YZXUDM5X.js} +1 -1
  167. package/dist/{chunk-AHD5JJ6F.cjs → chunk-Z36XBUMX.cjs} +6 -1
  168. package/dist/chunk-ZLSGXMGQ.js +568 -0
  169. package/dist/chunk-ZSPXQYG2.js +504 -0
  170. package/dist/{chunk-FPAE6ORV.cjs → chunk-ZYQMLKOK.cjs} +6 -6
  171. package/dist/{chunk-WTNBX2JO.js → chunk-ZYVS43MU.js} +47 -6
  172. package/dist/{clear-J7XS6T5W.js → clear-A3N4GK2S.js} +3 -3
  173. package/dist/clear-GK4IEUUS.cjs +12 -0
  174. package/dist/communityInstaller-LOP2EDH5.js +19 -0
  175. package/dist/communityInstaller-XXC7RLE4.cjs +19 -0
  176. package/dist/completion-HWABSAEL.js +14 -0
  177. package/dist/completion-IUUVQG4D.cjs +14 -0
  178. package/dist/config-HF7WOLZF.cjs +18 -0
  179. package/dist/{config-2TB3A55J.js → config-HPJPKTO6.js} +4 -4
  180. package/dist/{constants-UFM5B232.js → constants-LISJW3DD.js} +1 -1
  181. package/dist/{constants-6CPCJ3DY.cjs → constants-PEO3P2SJ.cjs} +1 -1
  182. package/dist/{defaultHooks-RCXPHF4M.cjs → defaultHooks-IHSJR2AX.cjs} +1 -1
  183. package/dist/{defaultHooks-RDRMER3Z.js → defaultHooks-KUKHK3AG.js} +1 -1
  184. package/dist/export-QJAV2FCZ.js +12 -0
  185. package/dist/export-XSRFXGWU.cjs +12 -0
  186. package/dist/{extractSessionMemories-V7K42ZHW.js → extractSessionMemories-A2JX5WJ2.js} +1 -1
  187. package/dist/{extractSessionMemories-SDW2MVBQ.cjs → extractSessionMemories-XL3MS37F.cjs} +1 -1
  188. package/dist/feedback-4TCIL3ML.cjs +15 -0
  189. package/dist/feedback-SJ6VVEY3.js +15 -0
  190. package/dist/{filesystem-MCFXJQ6R.cjs → filesystem-W56QZUJF.cjs} +1 -1
  191. package/dist/{filesystem-3SGCW2BF.js → filesystem-Z7BWAWMZ.js} +1 -1
  192. package/dist/{formatters-6K7QVWQL.cjs → formatters-53XTCNGQ.cjs} +1 -1
  193. package/dist/{formatters-DQHO5I36.js → formatters-T6KV4BPP.js} +1 -1
  194. package/dist/{help-I5GRCA3S.js → help-GFQXNZOK.js} +3 -3
  195. package/dist/help-ISBVQL3S.cjs +12 -0
  196. package/dist/{history-OCHJBJW7.js → history-E3N6BJP7.js} +3 -3
  197. package/dist/history-XQ4GTSFU.cjs +14 -0
  198. package/dist/hooks-CJNKJ5PF.js +13 -0
  199. package/dist/hooks-UTMBTAXT.cjs +13 -0
  200. package/dist/i18n-N7QQ7A5M.cjs +33 -0
  201. package/dist/{i18n-KHBXUALK.js → i18n-SY7QRM22.js} +2 -2
  202. package/dist/ide-RTA4UJV4.js +12 -0
  203. package/dist/ide-VWVOLIFF.cjs +12 -0
  204. package/dist/immediateCommandRouter-BW34JNXL.js +9 -0
  205. package/dist/immediateCommandRouter-SHOVNB5X.cjs +9 -0
  206. package/dist/{import-PQJPNXA4.cjs → import-ADI37ZUR.cjs} +4 -4
  207. package/dist/import-KGKKZ3B7.js +10 -0
  208. package/dist/{import-EAAX5HJR.js → import-W7SVLSTC.js} +4 -4
  209. package/dist/import-ZLJVONXH.cjs +10 -0
  210. package/dist/index.cjs +6270 -2431
  211. package/dist/index.js +6262 -2423
  212. package/dist/init-7MFK626E.js +10 -0
  213. package/dist/init-TBKAB4LZ.cjs +10 -0
  214. package/dist/language-MDSHEXHB.cjs +18 -0
  215. package/dist/language-PXTQSHIG.js +18 -0
  216. package/dist/learn-623TW5EK.cjs +20 -0
  217. package/dist/learn-BCPV7GM2.js +20 -0
  218. package/dist/{lint-D5UOJWIK.cjs → lint-4NDGCSCL.cjs} +1 -1
  219. package/dist/{lint-NJPZWVN2.js → lint-FZ7ZJUB3.js} +1 -1
  220. package/dist/{localProjectPermissions-UFSMNTBJ.cjs → localProjectPermissions-BHQXEWZJ.cjs} +1 -1
  221. package/dist/{localProjectPermissions-N77HA3XK.js → localProjectPermissions-GMOUYQM6.js} +1 -1
  222. package/dist/login-QMVEETWJ.js +20 -0
  223. package/dist/login-QYMXAL3K.cjs +20 -0
  224. package/dist/logout-2CMTDAOJ.js +18 -0
  225. package/dist/logout-ZOHVZAUK.cjs +18 -0
  226. package/dist/mcp-IUVKK65S.js +18 -0
  227. package/dist/mcp-TXC7PYG3.cjs +18 -0
  228. package/dist/{mcp-install-KSADVDBE.js → mcp-install-2FEROZTL.js} +8 -8
  229. package/dist/{mcp-install-GROTZHAW.cjs → mcp-install-WM6BQRI5.cjs} +12 -12
  230. package/dist/memory-J73WZH2I.js +10 -0
  231. package/dist/memory-WRIHDEPK.cjs +10 -0
  232. package/dist/{message-ZJ5AYAMT.cjs → message-4OKO775J.cjs} +1 -1
  233. package/dist/{message-JUBOK2VU.js → message-X3LOAAM7.js} +1 -1
  234. package/dist/model-AES267IN.js +10 -0
  235. package/dist/model-RLP75SF5.cjs +10 -0
  236. package/dist/{new-7VYM36RC.js → new-5CLF3MKH.js} +3 -3
  237. package/dist/new-HLSFL6A4.cjs +12 -0
  238. package/dist/{patch-MOD7QC3D.cjs → patch-DJ2GPFST.cjs} +1 -1
  239. package/dist/{patch-5F6VBIT3.js → patch-NIJWIRHS.js} +1 -1
  240. package/dist/permissions-GP6FTGZ2.js +13 -0
  241. package/dist/permissions-O6EKKPOG.cjs +13 -0
  242. package/dist/{plan-G5CEKJI4.js → plan-65HMS5HQ.js} +1 -1
  243. package/dist/{plan-QKOHE3LH.cjs → plan-MCAXDIM2.cjs} +1 -1
  244. package/dist/quit-TQX6GXA5.cjs +10 -0
  245. package/dist/quit-XDZYRSPU.js +10 -0
  246. package/dist/{registry-A5XLMQVC.cjs → registry-IVT4G2RT.cjs} +299 -19
  247. package/dist/{registry-WQLWHOLY.js → registry-PTHWERKC.js} +290 -10
  248. package/dist/repeat-BSPS5TWD.cjs +13 -0
  249. package/dist/repeat-EVCWUL6Z.js +13 -0
  250. package/dist/resume-2GOPDLL4.cjs +13 -0
  251. package/dist/resume-37IUVDA6.js +13 -0
  252. package/dist/search-7KUSHIBL.cjs +17 -0
  253. package/dist/search-OJGDRIMA.js +17 -0
  254. package/dist/{session-BSU2L5UI.cjs → session-LXKC4X5Q.cjs} +1 -1
  255. package/dist/{session-SZMRN5KG.js → session-NMMO4QOL.js} +1 -1
  256. package/dist/sessions-6GWEBMKS.js +10 -0
  257. package/dist/sessions-CYYCHSQG.cjs +10 -0
  258. package/dist/settings-2D7CAO66.cjs +30 -0
  259. package/dist/{settings-D6JXX5RG.js → settings-BXR6SBJP.js} +8 -8
  260. package/dist/share-BXQY5IQU.js +14 -0
  261. package/dist/share-OSFXZBGS.cjs +14 -0
  262. package/dist/skills-FL6O6AOM.cjs +26 -0
  263. package/dist/skills-PG542VEB.cjs +76 -0
  264. package/dist/skills-PNKQZRNK.js +26 -0
  265. package/dist/skills-ZZCIAS7C.js +76 -0
  266. package/dist/{skills-install-UMK5H3SO.cjs → skills-install-67DOBPJC.cjs} +12 -12
  267. package/dist/{skills-install-QNQWC2MV.js → skills-install-SRC3Z2MS.js} +8 -8
  268. package/dist/skills-new-XFMEHHIF.cjs +15 -0
  269. package/dist/skills-new-ZNZPHUKS.js +15 -0
  270. package/dist/slashCommands-LLCNPK3X.js +76 -0
  271. package/dist/slashCommands-RXZZS6RE.cjs +76 -0
  272. package/dist/status-BCECUJXT.cjs +11 -0
  273. package/dist/status-EFO7MQU3.js +11 -0
  274. package/dist/sync-IJYJ6KKM.js +18 -0
  275. package/dist/sync-LFT6SBPF.cjs +18 -0
  276. package/dist/{sync-7JMZVEQD.cjs → sync-U7SDPBNZ.cjs} +1 -1
  277. package/dist/{sync-KWX67OUN.js → sync-VU2NSJ4O.js} +1 -1
  278. package/dist/{tasks-5FPBIFLC.js → tasks-R5MBGAQ6.js} +1 -1
  279. package/dist/{tasks-TXGKGNH6.cjs → tasks-V4WB3MFR.cjs} +1 -1
  280. package/dist/team-JESCHGWB.js +9 -0
  281. package/dist/team-VQQKWGZB.cjs +9 -0
  282. package/dist/{teammate-3C4MLRGH.js → teammate-SD26GR37.js} +7 -7
  283. package/dist/{teammate-7C3UDQSH.cjs → teammate-SXRVXNQV.cjs} +7 -7
  284. package/dist/theme-AWBHSG7J.cjs +18 -0
  285. package/dist/theme-TQLBPJ2E.js +18 -0
  286. package/dist/ui/questionModal.cjs +6 -6
  287. package/dist/ui/questionModal.js +5 -5
  288. package/dist/undo-IBBGP7A2.cjs +10 -0
  289. package/dist/undo-OL2EDBRY.js +10 -0
  290. package/dist/{update-TVAJMMBC.js → update-53WMKYVS.js} +1 -1
  291. package/dist/{update-Z6BIIQDC.cjs → update-NV6QRYY7.cjs} +1 -1
  292. package/package.json +2 -1
  293. package/dist/HookManager-Q2KYMCP4.cjs +0 -7
  294. package/dist/HookManager-TTP4Y6DC.js +0 -7
  295. package/dist/PermissionManager-2GO5PQ6M.cjs +0 -11
  296. package/dist/ProviderFactory-EFFQBRQ6.cjs +0 -9
  297. package/dist/SkillsRegistry-GDEGFP6O.cjs +0 -9
  298. package/dist/about-B2AGTV6N.js +0 -12
  299. package/dist/about-V2HWEZZO.cjs +0 -12
  300. package/dist/actionExecutor-6XCVL2SJ.js +0 -19
  301. package/dist/actionExecutor-YRUJNB5G.cjs +0 -19
  302. package/dist/add-dir-7FBQ5IFV.js +0 -10
  303. package/dist/add-dir-ALBSYRV3.cjs +0 -10
  304. package/dist/agents-FCGEWTA3.cjs +0 -12
  305. package/dist/agents-new-FU3O55CO.js +0 -14
  306. package/dist/agents-new-SAFTJ7TK.cjs +0 -14
  307. package/dist/automode-CYLGXQ4A.cjs +0 -10
  308. package/dist/automode-O7G3DUYN.js +0 -10
  309. package/dist/chunk-2JYIR3EC.cjs +0 -1176
  310. package/dist/chunk-Q3MJ6CYS.cjs +0 -193
  311. package/dist/clear-ES5WCZRF.cjs +0 -12
  312. package/dist/completion-XQTDTJLK.cjs +0 -14
  313. package/dist/completion-XR6ZONJQ.js +0 -14
  314. package/dist/config-RDMVIV26.cjs +0 -18
  315. package/dist/export-EWAYH353.cjs +0 -12
  316. package/dist/export-ZWA6XGVS.js +0 -12
  317. package/dist/feedback-5RV6ODW4.js +0 -15
  318. package/dist/feedback-ZPITHFJR.cjs +0 -15
  319. package/dist/help-X52PZM24.cjs +0 -12
  320. package/dist/history-4WIOZ4TW.cjs +0 -14
  321. package/dist/hooks-IAVTXUAI.cjs +0 -13
  322. package/dist/hooks-YF6HL23E.js +0 -13
  323. package/dist/i18n-MVQIAZWS.cjs +0 -33
  324. package/dist/ide-4R3BEBIS.js +0 -12
  325. package/dist/ide-C7WSPQTR.cjs +0 -12
  326. package/dist/import-2ICSKDL7.cjs +0 -10
  327. package/dist/import-KRVVYJCZ.js +0 -10
  328. package/dist/init-6K3NRDOM.js +0 -10
  329. package/dist/init-AOUGGITS.cjs +0 -10
  330. package/dist/language-Q7YFDVSR.cjs +0 -18
  331. package/dist/language-Y6ZC7LET.js +0 -18
  332. package/dist/login-6OAH2NEH.cjs +0 -20
  333. package/dist/login-DL3377MD.js +0 -20
  334. package/dist/logout-ELQBUMTU.cjs +0 -18
  335. package/dist/logout-TLYA5W45.js +0 -18
  336. package/dist/mcp-BHOIBYUB.js +0 -18
  337. package/dist/mcp-TNUEXR5T.cjs +0 -18
  338. package/dist/memory-6DRFA43C.js +0 -10
  339. package/dist/memory-IORZE6WF.cjs +0 -10
  340. package/dist/model-CJPSPGIC.cjs +0 -10
  341. package/dist/model-MQXC56ES.js +0 -10
  342. package/dist/new-7D2B7IWM.cjs +0 -12
  343. package/dist/permissions-MM77OSFO.js +0 -13
  344. package/dist/permissions-W2F62DJ6.cjs +0 -13
  345. package/dist/quit-7D2RDGTD.cjs +0 -10
  346. package/dist/quit-PKBSEJOL.js +0 -10
  347. package/dist/resume-FBKXSDOA.js +0 -13
  348. package/dist/resume-KLPDYPWQ.cjs +0 -13
  349. package/dist/search-7RNYTCNO.js +0 -17
  350. package/dist/search-UESMQZC3.cjs +0 -17
  351. package/dist/sessions-TSSUFWIJ.cjs +0 -10
  352. package/dist/sessions-WAXBUQTU.js +0 -10
  353. package/dist/settings-RKYGXKDG.cjs +0 -30
  354. package/dist/share-GLX4YHS4.cjs +0 -14
  355. package/dist/share-U2M2KBFJ.js +0 -14
  356. package/dist/skills-63QLZMUO.cjs +0 -14
  357. package/dist/skills-BAMMXP3Q.js +0 -14
  358. package/dist/skills-new-NYKNHJHV.cjs +0 -15
  359. package/dist/skills-new-NZFGFKML.js +0 -15
  360. package/dist/slashCommands-EJ23C3Z4.cjs +0 -69
  361. package/dist/slashCommands-JQIL4EWX.js +0 -69
  362. package/dist/status-BKC7GBNQ.js +0 -11
  363. package/dist/status-FU3CPJWQ.cjs +0 -11
  364. package/dist/sync-3IEIHXIP.cjs +0 -18
  365. package/dist/sync-YVPFT7SL.js +0 -18
  366. package/dist/team-GVK5L73L.cjs +0 -9
  367. package/dist/team-RWIKCLTG.js +0 -9
  368. package/dist/theme-A2CEHI7W.js +0 -18
  369. package/dist/theme-LNOQOVR4.cjs +0 -18
  370. package/dist/undo-F2IZJQUV.js +0 -10
  371. package/dist/undo-QEV42XLU.cjs +0 -10
@@ -3,17 +3,17 @@
3
3
  var _chunkXDLH4EDLcjs = require('./chunk-XDLH4EDL.cjs');
4
4
 
5
5
 
6
- var _chunkYDCDGTK6cjs = require('./chunk-YDCDGTK6.cjs');
6
+ var _chunkNNPAM4HCcjs = require('./chunk-NNPAM4HC.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkUJTCTTUFcjs = require('./chunk-UJTCTTUF.cjs');
10
+ var _chunkCB4E2T5Ncjs = require('./chunk-CB4E2T5N.cjs');
11
11
 
12
12
 
13
13
  var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
14
14
 
15
15
 
16
- var _chunkRVUQKMXXcjs = require('./chunk-RVUQKMXX.cjs');
16
+ var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
17
17
 
18
18
  // src/commands/mcp.ts
19
19
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
@@ -119,14 +119,14 @@ async function showMcpServerList(options) {
119
119
  let completed = false;
120
120
  let instance;
121
121
  const renderList = () => {
122
- const element = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYDCDGTK6cjs.I18nProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
122
+ const element = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNPAM4HCcjs.I18nProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
123
123
  McpServerList,
124
124
  {
125
125
  servers: currentServers,
126
126
  onToggle: async (name, status) => {
127
127
  currentServers = await options.onToggle(name, status);
128
128
  instance.rerender(
129
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYDCDGTK6cjs.I18nProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
129
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNPAM4HCcjs.I18nProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
130
130
  McpServerList,
131
131
  {
132
132
  servers: currentServers,
@@ -176,13 +176,13 @@ async function loadConfigForScope(scopeInput, workspaceRoot) {
176
176
  throw new Error(`Invalid scope "${scopeInput}". Use: user or project.`);
177
177
  }
178
178
  if (scope === "user") {
179
- return { config: await _chunkUJTCTTUFcjs.loadConfig.call(void 0, ), scope };
179
+ return { config: await _chunkCB4E2T5Ncjs.loadConfig.call(void 0, ), scope };
180
180
  }
181
181
  if (!workspaceRoot) {
182
182
  throw new Error("Workspace root is required for project scope.");
183
183
  }
184
184
  const projectConfigPath = _path2.default.join(workspaceRoot, _chunkSEKD5FH3cjs.PROJECT_DIR_NAME, "config.json");
185
- return { config: await _chunkUJTCTTUFcjs.loadConfig.call(void 0, projectConfigPath), scope };
185
+ return { config: await _chunkCB4E2T5Ncjs.loadConfig.call(void 0, projectConfigPath), scope };
186
186
  }
187
187
  function syncRuntimeConfig(runtimeConfig, updatedConfig) {
188
188
  if (!runtimeConfig) return;
@@ -238,10 +238,10 @@ async function showInteractiveList(manager, config) {
238
238
  if (items.length === 0) {
239
239
  const lines = [];
240
240
  lines.push("");
241
- lines.push(_chalk2.default.bold.cyan(_chunkRVUQKMXXcjs.t.call(void 0, "commands.mcp.title")));
241
+ lines.push(_chalk2.default.bold.cyan(_chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.title")));
242
242
  lines.push(_chalk2.default.gray("\u2500".repeat(50)));
243
243
  lines.push("");
244
- lines.push(_chunkRVUQKMXXcjs.t.call(void 0, "commands.mcp.noServers"));
244
+ lines.push(_chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.noServers"));
245
245
  lines.push("");
246
246
  lines.push(_chalk2.default.gray("Add a server:"));
247
247
  lines.push(_chalk2.default.gray(" /mcp add [--scope user|project] <name> <command> [args...]"));
@@ -292,7 +292,7 @@ async function handleConnect(manager, config, args) {
292
292
  return `Server "${serverName}" not found in config. Use /mcp add to add it first.`;
293
293
  }
294
294
  try {
295
- console.log(_chalk2.default.cyan(_chunkRVUQKMXXcjs.t.call(void 0, "commands.mcp.connecting")));
295
+ console.log(_chalk2.default.cyan(_chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.connecting")));
296
296
  await manager.connect(serverConfig);
297
297
  const tools = manager.getToolsForServer(serverName);
298
298
  return `Connected to ${serverName} (${tools.length} tools available)`;
@@ -439,7 +439,7 @@ async function handleAdd(manager, config, args, workspaceRoot) {
439
439
  if (wasAutoConnectDisabled) reenabledParts.push("auto-connect");
440
440
  const reenabled = reenabledParts.join(" and ");
441
441
  try {
442
- await _chunkUJTCTTUFcjs.saveConfig.call(void 0, targetConfig);
442
+ await _chunkCB4E2T5Ncjs.saveConfig.call(void 0, targetConfig);
443
443
  syncRuntimeConfig(config, targetConfig);
444
444
  try {
445
445
  await manager.connect(existing);
@@ -464,7 +464,7 @@ async function handleAdd(manager, config, args, workspaceRoot) {
464
464
  }
465
465
  existing.autoConnect = true;
466
466
  try {
467
- await _chunkUJTCTTUFcjs.saveConfig.call(void 0, targetConfig);
467
+ await _chunkCB4E2T5Ncjs.saveConfig.call(void 0, targetConfig);
468
468
  syncRuntimeConfig(config, targetConfig);
469
469
  try {
470
470
  await manager.disconnect(name);
@@ -483,7 +483,7 @@ async function handleAdd(manager, config, args, workspaceRoot) {
483
483
  }
484
484
  targetConfig.mcp.servers.push(newServer);
485
485
  try {
486
- await _chunkUJTCTTUFcjs.saveConfig.call(void 0, targetConfig);
486
+ await _chunkCB4E2T5Ncjs.saveConfig.call(void 0, targetConfig);
487
487
  syncRuntimeConfig(config, targetConfig);
488
488
  try {
489
489
  await manager.connect(newServer);
@@ -540,7 +540,7 @@ async function handleRemove(manager, config, args, workspaceRoot) {
540
540
  }
541
541
  targetConfig.mcp.servers.splice(serverIndex, 1);
542
542
  try {
543
- await _chunkUJTCTTUFcjs.saveConfig.call(void 0, targetConfig);
543
+ await _chunkCB4E2T5Ncjs.saveConfig.call(void 0, targetConfig);
544
544
  syncRuntimeConfig(config, targetConfig);
545
545
  return `Removed "${serverName}" from ${scopeLabel ? `${scopeLabel} config` : "config"}`;
546
546
  } catch (error) {
@@ -549,12 +549,19 @@ async function handleRemove(manager, config, args, workspaceRoot) {
549
549
  }
550
550
  var metadata = {
551
551
  command: "/mcp",
552
- description: _chunkRVUQKMXXcjs.t.call(void 0, "commands.mcp.description"),
553
- implemented: true
552
+ description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.description"),
553
+ implemented: true,
554
+ subcommands: [
555
+ { name: "connect", description: "Connect to a configured MCP server" },
556
+ { name: "disconnect", description: "Disconnect from a server" },
557
+ { name: "list", description: "List available tools from servers" },
558
+ { name: "add", description: "Add a server to config" },
559
+ { name: "remove", description: "Remove a server from config" }
560
+ ]
554
561
  };
555
562
  var installMetadata = {
556
563
  command: "/mcp install",
557
- description: _chunkRVUQKMXXcjs.t.call(void 0, "commands.mcp.installDescription"),
564
+ description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.mcp.installDescription"),
558
565
  implemented: true
559
566
  };
560
567
 
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  loadConfig,
3
3
  saveConfig
4
- } from "./chunk-WTNBX2JO.js";
4
+ } from "./chunk-ZYVS43MU.js";
5
5
  import {
6
6
  t
7
- } from "./chunk-HFMLWH7B.js";
7
+ } from "./chunk-APIXPPMT.js";
8
8
 
9
9
  // src/commands/sync.ts
10
10
  import chalk from "chalk";
@@ -0,0 +1,340 @@
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
+
3
+
4
+
5
+ var _chunkR33VKSH5cjs = require('./chunk-R33VKSH5.cjs');
6
+
7
+
8
+ var _chunkRDF37HKBcjs = require('./chunk-RDF37HKB.cjs');
9
+
10
+
11
+ var _chunkNAJ4IZKDcjs = require('./chunk-NAJ4IZKD.cjs');
12
+
13
+
14
+ var _chunk22D2CNTPcjs = require('./chunk-22D2CNTP.cjs');
15
+
16
+
17
+ var _chunkYHD6TUIRcjs = require('./chunk-YHD6TUIR.cjs');
18
+
19
+
20
+
21
+ var _chunkZYQMLKOKcjs = require('./chunk-ZYQMLKOK.cjs');
22
+
23
+
24
+
25
+ var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
26
+
27
+
28
+ var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
29
+
30
+ // src/commands/learn.ts
31
+ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
32
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
33
+ var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
34
+
35
+ // src/ui/stepProgress.ts
36
+
37
+ var BLINK_ON = "\x1B[5m";
38
+ var BLINK_OFF = "\x1B[25m";
39
+ var StepProgress = class {
40
+ constructor() {
41
+ this.currentLabel = "";
42
+ this.stepCount = 0;
43
+ }
44
+ /**
45
+ * Start the progress display with the first step.
46
+ */
47
+ start(label) {
48
+ this.currentLabel = label;
49
+ this.stepCount = 1;
50
+ console.log(` ${BLINK_ON}${_chalk2.default.cyan("\u25CC")}${BLINK_OFF} ${_chalk2.default.cyan(label)}`);
51
+ }
52
+ /**
53
+ * Mark the current step as done and start a new one.
54
+ */
55
+ advance(label) {
56
+ this.currentLabel = label;
57
+ this.stepCount++;
58
+ console.log(` ${BLINK_ON}${_chalk2.default.cyan("\u25CC")}${BLINK_OFF} ${_chalk2.default.cyan(label)}`);
59
+ }
60
+ /**
61
+ * Mark the final step as done.
62
+ */
63
+ finish() {
64
+ this.currentLabel = "";
65
+ }
66
+ /**
67
+ * Clean up (no-op in console.log mode, kept for API compat).
68
+ */
69
+ clear() {
70
+ this.currentLabel = "";
71
+ }
72
+ };
73
+
74
+ // src/commands/learn.ts
75
+ function useAnimatedProgress(ctx) {
76
+ return !ctx.isNonInteractive && process.stdout.isTTY === true;
77
+ }
78
+ function logProgress(ctx, message, progress) {
79
+ _optionalChain([ctx, 'access', _ => _.onProgress, 'optionalCall', _2 => _2(message)]);
80
+ if (!progress) {
81
+ console.log(_chalk2.default.cyan(message));
82
+ }
83
+ }
84
+ async function withModalPause(ctx, fn) {
85
+ _optionalChain([ctx, 'access', _3 => _3.onBeforeModal, 'optionalCall', _4 => _4()]);
86
+ try {
87
+ return await fn();
88
+ } finally {
89
+ _optionalChain([ctx, 'access', _5 => _5.onAfterModal, 'optionalCall', _6 => _6()]);
90
+ }
91
+ }
92
+ function parseLearnArgs(args) {
93
+ if (args.length === 0) {
94
+ return { subcommand: "recommend", deep: false };
95
+ }
96
+ if (args[0] === "deep") {
97
+ return { subcommand: "recommend", deep: true };
98
+ }
99
+ if (args[0] === "update") {
100
+ return { subcommand: "update", deep: args.includes("deep") };
101
+ }
102
+ if (args.every((a) => a === "--deep")) {
103
+ return { subcommand: "recommend", deep: true };
104
+ }
105
+ return { subcommand: "recommend", deep: args.includes("deep") || args.includes("--deep") };
106
+ }
107
+ async function handleLearnRecommend(ctx, deep) {
108
+ const { skillsRegistry, workspaceRoot, llm, isNonInteractive } = ctx;
109
+ const animated = useAnimatedProgress(ctx);
110
+ const progress = animated ? new StepProgress() : void 0;
111
+ const analyzeLabel = deep ? "Deep-analyzing your project..." : "Analyzing your project...";
112
+ logProgress(ctx, analyzeLabel, progress);
113
+ _optionalChain([progress, 'optionalAccess', _7 => _7.start, 'call', _8 => _8(analyzeLabel)]);
114
+ const analyzer = new (0, _chunkNAJ4IZKDcjs.ProjectAnalyzer)(workspaceRoot);
115
+ const analysis = await analyzer.analyze();
116
+ const cache = new (0, _chunk22D2CNTPcjs.CommunitySkillsCache)();
117
+ const fetcher = new (0, _chunkYHD6TUIRcjs.GitHubRegistryFetcher)();
118
+ const loadLabel = "Loading community skills...";
119
+ logProgress(ctx, loadLabel, progress);
120
+ _optionalChain([progress, 'optionalAccess', _9 => _9.advance, 'call', _10 => _10(loadLabel)]);
121
+ let registry = null;
122
+ try {
123
+ registry = await _chunkR33VKSH5cjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
124
+ } catch (e) {
125
+ }
126
+ const installedSkills = skillsRegistry.listSkills();
127
+ const registrySkills = _nullishCoalesce(_optionalChain([registry, 'optionalAccess', _11 => _11.skills]), () => ( []));
128
+ const evalLabel = "Evaluating skill matches...";
129
+ logProgress(ctx, evalLabel, progress);
130
+ _optionalChain([progress, 'optionalAccess', _12 => _12.advance, 'call', _13 => _13(evalLabel)]);
131
+ const advisor = new (0, _chunkRDF37HKBcjs.LearnAdvisor)(llm);
132
+ const result = await advisor.analyze(analysis, installedSkills, registrySkills);
133
+ _optionalChain([progress, 'optionalAccess', _14 => _14.finish, 'call', _15 => _15()]);
134
+ const lines = [];
135
+ lines.push("");
136
+ if (result.projectSummary) {
137
+ lines.push(_chalk2.default.bold(`Project: ${result.projectSummary}`));
138
+ lines.push("");
139
+ }
140
+ if (result.audit.length > 0) {
141
+ lines.push(_chalk2.default.yellow.bold("Skill Audit"));
142
+ for (const entry of result.audit) {
143
+ const icon = entry.status === "redundant" ? "\u26A0" : entry.status === "outdated" ? "\u23F0" : "\u26A1";
144
+ lines.push(` ${icon} **${entry.skill}** \u2014 ${entry.status}: ${entry.reason}`);
145
+ }
146
+ lines.push("");
147
+ }
148
+ const goodMatches = result.recommendations.filter((r) => r.score >= 60).sort((a, b) => b.score - a.score);
149
+ if (goodMatches.length > 0) {
150
+ lines.push(_chalk2.default.green.bold("Recommended Skills"));
151
+ for (const rec of goodMatches.slice(0, 5)) {
152
+ lines.push(` ${_chalk2.default.green("\u25CF")} **${rec.slug}** (${rec.score}%) \u2014 ${rec.reason}`);
153
+ lines.push(` {{action:Install|/skills install @${rec.slug}}}`);
154
+ }
155
+ lines.push("");
156
+ _optionalChain([ctx, 'access', _16 => _16.onTopRecommendation, 'optionalCall', _17 => _17(goodMatches[0].slug)]);
157
+ } else {
158
+ lines.push(_chalk2.default.yellow("No strong matches found in the community registry."));
159
+ if (result.gapAnalysis) {
160
+ lines.push(_chalk2.default.gray(`Gap: ${result.gapAnalysis}`));
161
+ }
162
+ lines.push("");
163
+ }
164
+ if (goodMatches.length === 0 && !isNonInteractive) {
165
+ const gapDesc = result.gapAnalysis ? `Based on gap analysis: ${result.gapAnalysis}` : `A custom skill tailored for your ${analysis.frameworks.join("/") || analysis.languages.join("/")} project.`;
166
+ lines.push(_chalk2.default.cyan(gapDesc));
167
+ const { renderTerminalMarkdown } = await Promise.resolve().then(() => _interopRequireWildcard(require("./immediateCommandRouter-SHOVNB5X.cjs")));
168
+ console.log(renderTerminalMarkdown(lines.join("\n")));
169
+ const wantGenerate = await withModalPause(
170
+ ctx,
171
+ () => _chunkZYQMLKOKcjs.showConfirm.call(void 0, { title: "Generate a custom skill to fill this gap?" })
172
+ );
173
+ if (wantGenerate) {
174
+ return await handleGeneration(ctx, analysis, result);
175
+ }
176
+ return "";
177
+ }
178
+ return lines.join("\n");
179
+ }
180
+ async function handleGeneration(ctx, analysis, analysisResult) {
181
+ const gapHint = analysisResult.gapAnalysis ? ` for: ${analysisResult.gapAnalysis}` : "";
182
+ const genLabel = `Generating a custom skill${gapHint}...`;
183
+ const animated = useAnimatedProgress(ctx);
184
+ const genProgress = animated ? new StepProgress() : void 0;
185
+ logProgress(ctx, genLabel, genProgress);
186
+ _optionalChain([genProgress, 'optionalAccess', _18 => _18.start, 'call', _19 => _19(genLabel)]);
187
+ const advisor = new (0, _chunkRDF37HKBcjs.LearnAdvisor)(ctx.llm);
188
+ const lowScoring = analysisResult.recommendations.sort((a, b) => b.score - a.score).slice(0, 3);
189
+ const generated = await advisor.generateSkill(analysis, analysisResult.gapAnalysis, lowScoring);
190
+ _optionalChain([genProgress, 'optionalAccess', _20 => _20.finish, 'call', _21 => _21()]);
191
+ if (!generated) {
192
+ return _chalk2.default.red("Failed to generate a custom skill.\n") + _chalk2.default.gray(" The LLM may have returned an invalid response. Check your provider is configured and try again.\n") + _chalk2.default.gray(" Run with DEBUG=1 for detailed error output.");
193
+ }
194
+ console.log(_chalk2.default.green(`
195
+ Generated: ${_chalk2.default.bold(generated.name)}`));
196
+ console.log(_chalk2.default.gray(` ${generated.description}`));
197
+ if (generated.allowedTools.length > 0) {
198
+ console.log(_chalk2.default.gray(` Tools: ${generated.allowedTools.join(", ")}`));
199
+ }
200
+ const scopeChoice = await withModalPause(
201
+ ctx,
202
+ () => _chunkZYQMLKOKcjs.showModal.call(void 0, {
203
+ title: "Where should this skill be installed?",
204
+ options: [
205
+ { label: `Project (.autohand/skills/)`, value: "project" },
206
+ { label: `User (~/.autohand/skills/)`, value: "user" }
207
+ ]
208
+ })
209
+ );
210
+ const scope = _optionalChain([scopeChoice, 'optionalAccess', _22 => _22.value]) === "project" ? "project" : "user";
211
+ let frontmatter = `---
212
+ name: ${generated.name}
213
+ description: ${generated.description}
214
+ `;
215
+ if (generated.allowedTools.length > 0) {
216
+ frontmatter += `allowed-tools: ${generated.allowedTools.join(" ")}
217
+ `;
218
+ }
219
+ frontmatter += `---
220
+
221
+ `;
222
+ let skillContent = frontmatter + generated.body + "\n";
223
+ const projectHash = _chunkR33VKSH5cjs.computeProjectHash.call(void 0, analysis);
224
+ skillContent = _chunkR33VKSH5cjs.injectGeneratedMetadata.call(void 0, skillContent, generated.name, projectHash);
225
+ const targetDir = scope === "project" ? _path2.default.join(ctx.workspaceRoot, _chunkSEKD5FH3cjs.PROJECT_DIR_NAME, "skills") : _chunkSEKD5FH3cjs.AUTOHAND_PATHS.skills;
226
+ const skillDir = _path2.default.join(targetDir, generated.name);
227
+ await _fsextra2.default.ensureDir(skillDir);
228
+ await _fsextra2.default.writeFile(_path2.default.join(skillDir, "SKILL.md"), skillContent, "utf-8");
229
+ return _chalk2.default.green(`Generated and installed skill: ${generated.name}
230
+ `) + _chalk2.default.gray(` Location: ${skillDir}/SKILL.md
231
+ `) + _chalk2.default.gray(` Use "/skills use ${generated.name}" to activate it.`);
232
+ }
233
+ async function handleLearnUpdate(ctx) {
234
+ const { skillsRegistry, workspaceRoot, llm } = ctx;
235
+ const animated = useAnimatedProgress(ctx);
236
+ const progress = animated ? new StepProgress() : void 0;
237
+ const checkLabel = "Checking for skill updates...";
238
+ logProgress(ctx, checkLabel, progress);
239
+ _optionalChain([progress, 'optionalAccess', _23 => _23.start, 'call', _24 => _24(checkLabel)]);
240
+ const analyzer = new (0, _chunkNAJ4IZKDcjs.ProjectAnalyzer)(workspaceRoot);
241
+ const analysis = await analyzer.analyze();
242
+ const currentHash = _chunkR33VKSH5cjs.computeProjectHash.call(void 0, analysis);
243
+ const allSkills = skillsRegistry.listSkills();
244
+ const generatedSkills = allSkills.filter(
245
+ (s) => _optionalChain([s, 'access', _25 => _25.metadata, 'optionalAccess', _26 => _26["agentskill-source"]]) === "llm-generated"
246
+ );
247
+ if (generatedSkills.length === 0) {
248
+ return "No LLM-generated skills found. Use /learn to generate skills first.";
249
+ }
250
+ const advisor = new (0, _chunkRDF37HKBcjs.LearnAdvisor)(llm);
251
+ let updated = 0;
252
+ let unchanged = 0;
253
+ const lines = [];
254
+ for (const skill of generatedSkills) {
255
+ const storedHash = _optionalChain([skill, 'access', _27 => _27.metadata, 'optionalAccess', _28 => _28["agentskill-project-hash"]]);
256
+ if (storedHash === currentHash) {
257
+ unchanged++;
258
+ continue;
259
+ }
260
+ const regenLabel = `Regenerating ${skill.name}...`;
261
+ logProgress(ctx, regenLabel, progress);
262
+ _optionalChain([progress, 'optionalAccess', _29 => _29.advance, 'call', _30 => _30(regenLabel)]);
263
+ const generated = await advisor.generateSkill(analysis, null, []);
264
+ if (!generated) {
265
+ lines.push(_chalk2.default.yellow(` Failed to regenerate ${skill.name}`));
266
+ continue;
267
+ }
268
+ let frontmatter = `---
269
+ name: ${generated.name}
270
+ description: ${generated.description}
271
+ `;
272
+ if (generated.allowedTools.length > 0) {
273
+ frontmatter += `allowed-tools: ${generated.allowedTools.join(" ")}
274
+ `;
275
+ }
276
+ frontmatter += `---
277
+
278
+ `;
279
+ let content = frontmatter + generated.body + "\n";
280
+ content = _chunkR33VKSH5cjs.injectGeneratedMetadata.call(void 0, content, skill.name, currentHash);
281
+ try {
282
+ await _fsextra2.default.writeFile(skill.path, content, "utf-8");
283
+ updated++;
284
+ lines.push(_chalk2.default.green(` Regenerated ${skill.name}`));
285
+ } catch (e2) {
286
+ lines.push(_chalk2.default.yellow(` Failed to write ${skill.name}`));
287
+ }
288
+ }
289
+ _optionalChain([progress, 'optionalAccess', _31 => _31.finish, 'call', _32 => _32()]);
290
+ lines.push("");
291
+ if (updated > 0) {
292
+ lines.push(_chalk2.default.green(`Updated ${updated} skill${updated !== 1 ? "s" : ""}.`));
293
+ }
294
+ if (unchanged > 0) {
295
+ lines.push(_chalk2.default.gray(`${unchanged} skill${unchanged !== 1 ? "s" : ""} already up to date.`));
296
+ }
297
+ return lines.join("\n");
298
+ }
299
+ async function learn(ctx, args) {
300
+ if (!ctx.skillsRegistry) {
301
+ return "Skills registry not available.";
302
+ }
303
+ const parsed = parseLearnArgs(args);
304
+ switch (parsed.subcommand) {
305
+ case "recommend":
306
+ return handleLearnRecommend(ctx, parsed.deep);
307
+ case "update":
308
+ return handleLearnUpdate(ctx);
309
+ default:
310
+ return handleLearnRecommend(ctx, false);
311
+ }
312
+ }
313
+ var metadata = {
314
+ command: "/learn",
315
+ description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.description"),
316
+ implemented: true,
317
+ subcommands: [
318
+ { name: "deep", description: "Deep-analyze project for better skill matching" },
319
+ { name: "update", description: "Regenerate stale LLM-generated skills" }
320
+ ]
321
+ };
322
+
323
+
324
+
325
+
326
+
327
+ exports.parseLearnArgs = parseLearnArgs; exports.learn = learn; exports.metadata = metadata;
328
+ /**
329
+ * @license
330
+ * Copyright 2025 Autohand AI LLC
331
+ * SPDX-License-Identifier: Apache-2.0
332
+ */
333
+ /**
334
+ * @license
335
+ * Copyright 2025 Autohand AI LLC
336
+ * SPDX-License-Identifier: Apache-2.0
337
+ *
338
+ * /learn command — LLM-powered project analysis, skill recommendation,
339
+ * auditing of installed skills, and custom skill generation.
340
+ */
@@ -3,7 +3,7 @@ import {
3
3
  showInput,
4
4
  showModal,
5
5
  showPassword
6
- } from "./chunk-5OBNULPU.js";
6
+ } from "./chunk-YZXUDM5X.js";
7
7
 
8
8
  // src/utils/prompt.ts
9
9
  async function safePrompt(questions) {