autohand-cli 0.8.3 → 0.9.1

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 (546) hide show
  1. package/README.md +191 -74
  2. package/dist/{AgentRegistry-ODDXPAFR.js → AgentRegistry-GOV7FN2O.js} +2 -2
  3. package/dist/AgentRegistry-J2C6JBZ3.cjs +10 -0
  4. package/dist/{AutomodeManager-EOVHGRPP.js → AutomodeManager-APLLPEYJ.js} +31 -17
  5. package/dist/{AutomodeManager-6ATBE7Q5.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
  6. package/dist/CommunitySkillsCache-22BB3J6H.cjs +8 -0
  7. package/dist/{CommunitySkillsCache-QLE57BN5.js → CommunitySkillsCache-ZACDPD4J.js} +2 -2
  8. package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
  9. package/dist/{GitHubRegistryFetcher-NT5GFZXS.js → GitHubRegistryFetcher-J2BWPXJF.js} +1 -1
  10. package/dist/{HookManager-B2F35M27.js → HookManager-2S6AHOC3.js} +1 -1
  11. package/dist/{HookManager-PFAFE3FK.cjs → HookManager-TVEQI5ZU.cjs} +2 -2
  12. package/dist/{ImportWizard-OHRKBANZ.js → ImportWizard-AEBMAKXE.js} +33 -9
  13. package/dist/{ImportWizard-CJRZPPHL.cjs → ImportWizard-AF2XL6DS.cjs} +37 -13
  14. package/dist/LearnAdvisor-KKEQ5QCV.js +9 -0
  15. package/dist/LearnAdvisor-Q7RAYLPF.cjs +9 -0
  16. package/dist/{McpClientManager-NQ3EW2IF.cjs → McpClientManager-BNSKLHIN.cjs} +2 -2
  17. package/dist/{McpClientManager-VBIMGKXU.js → McpClientManager-SL35BR24.js} +1 -1
  18. package/dist/MemoryManager-PMNAEZMB.cjs +8 -0
  19. package/dist/{MemoryManager-2LAT7IHS.js → MemoryManager-QZRLTUB5.js} +2 -2
  20. package/dist/NVIDIAProvider-C3FWQOBZ.cjs +14 -0
  21. package/dist/NVIDIAProvider-SJPY3ONR.js +14 -0
  22. package/dist/{PermissionManager-7NQHRCHY.js → PermissionManager-MT7KBNNR.js} +3 -3
  23. package/dist/PermissionManager-URCNP5EC.cjs +11 -0
  24. package/dist/{ProjectProfiler-UG42W6WD.cjs → ProjectProfiler-CDAE7ECW.cjs} +1 -0
  25. package/dist/{ProjectProfiler-P4QJQWWA.js → ProjectProfiler-NZTJDRHD.js} +1 -0
  26. package/dist/ProviderFactory-56N3ECE4.cjs +12 -0
  27. package/dist/{ProviderFactory-2IYJ5OPW.js → ProviderFactory-RB4RVAF6.js} +4 -1
  28. package/dist/SessionManager-2IZGWASQ.cjs +10 -0
  29. package/dist/{SessionManager-4U4JFQ3C.js → SessionManager-554PHVPC.js} +2 -2
  30. package/dist/SkillsRegistry-GMRVONOQ.cjs +9 -0
  31. package/dist/{SkillsRegistry-RFEINXRT.js → SkillsRegistry-NHHMIUYJ.js} +2 -2
  32. package/dist/SubAgent-4GOR2FIJ.js +13 -0
  33. package/dist/SubAgent-ZJMDH4FI.cjs +13 -0
  34. package/dist/{SyncApiClient-B5RT2ECG.js → SyncApiClient-G3FM65IV.js} +1 -1
  35. package/dist/SyncApiClient-ODBDECOG.cjs +11 -0
  36. package/dist/about-3USFSGOH.js +15 -0
  37. package/dist/about-QR52U5DD.cjs +15 -0
  38. package/dist/acp-5Y2W6OZP.js +1556 -0
  39. package/dist/acp-GSYE75OB.cjs +1556 -0
  40. package/dist/actionExecutor-KHUU3Z3Q.cjs +28 -0
  41. package/dist/actionExecutor-PLQJZLZV.js +28 -0
  42. package/dist/add-dir-BTAD5OZS.cjs +11 -0
  43. package/dist/{add-dir-TUJM3PG5.js → add-dir-HCERJDBR.js} +3 -2
  44. package/dist/agent-B3EVT7NN.cjs +126 -0
  45. package/dist/agent-SATQ3WZ3.js +126 -0
  46. package/dist/agents/builtin/code-cleaner.md +1 -1
  47. package/dist/agents/builtin/docs-writer.md +1 -1
  48. package/dist/agents/builtin/researcher.md +2 -2
  49. package/dist/agents/builtin/reviewer.md +1 -1
  50. package/dist/agents/builtin/tester.md +1 -1
  51. package/dist/agents/builtin/todo-resolver.md +1 -1
  52. package/dist/agents-44CRJGM7.cjs +18 -0
  53. package/dist/agents-NN4ZAJ7R.js +18 -0
  54. package/dist/agents-new-6D6G4QS6.cjs +17 -0
  55. package/dist/agents-new-7GAQ25EK.js +17 -0
  56. package/dist/{autoSkill-LQEVQFIH.js → autoSkill-66PKCYTW.js} +2 -2
  57. package/dist/autoSkill-VQLGBELN.cjs +20 -0
  58. package/dist/automode-45DWV4TN.cjs +10 -0
  59. package/dist/{automode-R6P3VHLS.js → automode-BUF3VGXU.js} +2 -2
  60. package/dist/browserToolBridge-BXRQB4B4.cjs +58 -0
  61. package/dist/browserToolBridge-F5N66PE7.js +58 -0
  62. package/dist/chrome-Q2U73HZB.cjs +50 -0
  63. package/dist/chrome-Q54OALOK.cjs +21 -0
  64. package/dist/chrome-Y3T7EIHG.js +50 -0
  65. package/dist/chrome-ZNJ46OYW.js +21 -0
  66. package/dist/chromeSkill-53TH55PM.js +105 -0
  67. package/dist/chromeSkill-THW7N4IY.cjs +105 -0
  68. package/dist/{chunk-HXGBSJL5.cjs → chunk-22SCR3EV.cjs} +2 -2
  69. package/dist/chunk-26G7YGOW.js +367 -0
  70. package/dist/{chunk-3L53OA4E.cjs → chunk-2ESQR35E.cjs} +10 -10
  71. package/dist/chunk-2H5O745H.js +63 -0
  72. package/dist/{chunk-ULDM2SNB.js → chunk-2IW5YFJ4.js} +48 -47
  73. package/dist/{chunk-U55TWFJI.cjs → chunk-2VHB43IX.cjs} +24 -6
  74. package/dist/chunk-3EDDDZS2.cjs +5 -0
  75. package/dist/{chunk-X5VSP65C.cjs → chunk-3ICORF7M.cjs} +4 -4
  76. package/dist/chunk-3OF56EMA.cjs +197 -0
  77. package/dist/chunk-3UC6DMFI.cjs +93 -0
  78. package/dist/{chunk-64H4FRM3.cjs → chunk-3UHRCHKB.cjs} +32 -34
  79. package/dist/{chunk-JCLYQ2JC.js → chunk-3ZOOH44N.js} +12 -6
  80. package/dist/{chunk-TUD3Z3BD.js → chunk-44ZWOBTI.js} +136 -55
  81. package/dist/chunk-4567QNRB.js +444 -0
  82. package/dist/chunk-45CHNQM6.cjs +517 -0
  83. package/dist/chunk-46MTALKD.js +44 -0
  84. package/dist/{chunk-WHE2SWHU.js → chunk-4E7SHPNQ.js} +2 -2
  85. package/dist/chunk-4LMUDS2K.js +124 -0
  86. package/dist/{chunk-W7RYQJLO.cjs → chunk-4XFHP2SN.cjs} +46 -15
  87. package/dist/chunk-4XVLNOFA.js +360 -0
  88. package/dist/{chunk-GBHDROGL.js → chunk-575PXZX7.js} +16 -4
  89. package/dist/chunk-5A7ZL64N.js +139 -0
  90. package/dist/chunk-5GCQ5UMV.cjs +85 -0
  91. package/dist/chunk-5JTTM5SC.js +59 -0
  92. package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
  93. package/dist/{chunk-KLWJIPU2.cjs → chunk-5SFV2NCY.cjs} +20 -16
  94. package/dist/chunk-5ZNYX4VH.cjs +71 -0
  95. package/dist/{chunk-A4IJHHV7.cjs → chunk-63ANVAOJ.cjs} +52 -11
  96. package/dist/{chunk-MYISNQH4.js → chunk-65LRPW5W.js} +1 -1
  97. package/dist/chunk-6AYJCDTA.js +360 -0
  98. package/dist/{chunk-X2MSVKDV.js → chunk-6HF6XSCC.js} +2 -2
  99. package/dist/{chunk-AEJH23FO.cjs → chunk-6JWCGQJU.cjs} +6 -6
  100. package/dist/chunk-6OECOAK5.cjs +360 -0
  101. package/dist/chunk-6R25D2H5.js +121 -0
  102. package/dist/chunk-7DJJGKM6.js +77 -0
  103. package/dist/{chunk-VG34MG2U.js → chunk-7IRQ7JEH.js} +9 -6
  104. package/dist/chunk-7MY4JHER.js +27 -0
  105. package/dist/chunk-7PJKTSRN.js +152 -0
  106. package/dist/{chunk-SKYG33B2.cjs → chunk-7PT646AL.cjs} +3 -3
  107. package/dist/chunk-7WAUCLLQ.js +229 -0
  108. package/dist/{chunk-U46VYPLR.cjs → chunk-7XTUL7ZD.cjs} +9 -9
  109. package/dist/chunk-AE2ILW25.cjs +152 -0
  110. package/dist/{chunk-T2M64VHA.cjs → chunk-AOKXYGBQ.cjs} +61 -41
  111. package/dist/chunk-AQ5PVHOC.cjs +113 -0
  112. package/dist/{chunk-N2BLVUPM.cjs → chunk-AZ47LKD5.cjs} +3 -3
  113. package/dist/chunk-B4HSNOIH.cjs +354 -0
  114. package/dist/chunk-B76FJKEJ.cjs +184 -0
  115. package/dist/chunk-BP37FVBM.js +85 -0
  116. package/dist/chunk-BQU3HAE7.js +21 -0
  117. package/dist/chunk-BYE7RQFZ.cjs +121 -0
  118. package/dist/chunk-C46B72VK.js +1034 -0
  119. package/dist/{chunk-HIVRCQS2.js → chunk-C5QIQQ37.js} +56 -25
  120. package/dist/chunk-CCIDL4SA.js +19931 -0
  121. package/dist/{chunk-XVUHNWMX.js → chunk-CECH6QQP.js} +17 -19
  122. package/dist/chunk-CFAWTLSC.js +13 -0
  123. package/dist/{chunk-ZYQMLKOK.cjs → chunk-CK4HAHVY.cjs} +212 -70
  124. package/dist/chunk-CO2AADYU.cjs +360 -0
  125. package/dist/chunk-CRTCZ4WL.cjs +19931 -0
  126. package/dist/chunk-CSTUTDTH.js +75 -0
  127. package/dist/{chunk-K2C56QGS.cjs → chunk-D546G7DA.cjs} +1650 -479
  128. package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
  129. package/dist/{chunk-G4CAKI3V.js → chunk-DGBPWODD.js} +7 -2
  130. package/dist/chunk-DHUQZ53B.cjs +29 -0
  131. package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
  132. package/dist/{chunk-5K6NGAVM.js → chunk-DNSD7DVJ.js} +67 -52
  133. package/dist/{chunk-RDF37HKB.cjs → chunk-DSSCERHI.cjs} +3 -2
  134. package/dist/{chunk-NAJ4IZKD.cjs → chunk-EA2MS25U.cjs} +8 -6
  135. package/dist/{chunk-SJAVBCOA.js → chunk-EEHWALXA.js} +94 -3
  136. package/dist/chunk-ES2HJQ4N.js +37 -0
  137. package/dist/{chunk-G27PQQFD.js → chunk-EYHKL4QC.js} +1 -1
  138. package/dist/{chunk-SV2WA57F.js → chunk-FBQJZKFX.js} +38 -15
  139. package/dist/chunk-FFBDRUO5.cjs +59 -0
  140. package/dist/{chunk-N7LI55V4.js → chunk-FFHSCM5M.js} +15 -8
  141. package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
  142. package/dist/chunk-FQVG6ZHF.js +197 -0
  143. package/dist/{chunk-J2GSFVUV.cjs → chunk-GAOPJ5S3.cjs} +74 -59
  144. package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
  145. package/dist/chunk-GSDV75A5.js +715 -0
  146. package/dist/chunk-GWY26SUD.cjs +63 -0
  147. package/dist/{chunk-TUAITHWL.js → chunk-H426KOGY.js} +2 -1
  148. package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
  149. package/dist/chunk-HC2Q6A3E.cjs +4967 -0
  150. package/dist/{chunk-3WVJEL7K.cjs → chunk-HDK2EHVH.cjs} +3 -1
  151. package/dist/{chunk-5IXII4HX.cjs → chunk-HG3ZASBH.cjs} +23 -16
  152. package/dist/chunk-HK5A54AV.cjs +280 -0
  153. package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
  154. package/dist/chunk-HSWWM6AM.js +2340 -0
  155. package/dist/chunk-HTU4W3GB.js +183 -0
  156. package/dist/{chunk-HLHTG5ZU.cjs → chunk-HVCIB4SW.cjs} +14 -12
  157. package/dist/chunk-HXHE2KAO.js +385 -0
  158. package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
  159. package/dist/{chunk-SLQAYV3W.js → chunk-HZWU6IO3.js} +11 -2
  160. package/dist/chunk-I2ZK3AOD.js +866 -0
  161. package/dist/chunk-IEPLQ47J.js +719 -0
  162. package/dist/chunk-J5HE6CUM.cjs +124 -0
  163. package/dist/{chunk-LIEXWM2M.js → chunk-JAQO6XDB.js} +19 -1
  164. package/dist/chunk-JB3JCYBJ.js +113 -0
  165. package/dist/chunk-JCUHCH37.cjs +247 -0
  166. package/dist/{chunk-FPHU2ES6.cjs → chunk-JM3ZTQUK.cjs} +19 -9
  167. package/dist/{chunk-NDMIPTV4.js → chunk-JMJRFSNJ.js} +8 -3
  168. package/dist/{chunk-ZLSGXMGQ.js → chunk-JMN3GZU6.js} +2 -0
  169. package/dist/chunk-JPFRI4L4.js +4967 -0
  170. package/dist/{chunk-BVKXEQVG.cjs → chunk-JV5HVCHU.cjs} +22 -10
  171. package/dist/chunk-KA2U6MY2.js +388 -0
  172. package/dist/{chunk-SEKD5FH3.cjs → chunk-KASXKDF2.cjs} +8 -3
  173. package/dist/chunk-KJ26T7GM.cjs +367 -0
  174. package/dist/chunk-KM7R5YPS.cjs +385 -0
  175. package/dist/{chunk-MBBY4ZIK.js → chunk-KMP6Y3LJ.js} +4 -1
  176. package/dist/chunk-KWXGDSYT.js +184 -0
  177. package/dist/{chunk-C5IJIM2V.cjs → chunk-L46OUKW5.cjs} +68 -37
  178. package/dist/{chunk-6UJMCWRY.js → chunk-L6OH44HL.js} +19 -9
  179. package/dist/chunk-LANGD5CO.js +280 -0
  180. package/dist/{chunk-APIXPPMT.js → chunk-LEZEWKPA.js} +1004 -39
  181. package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
  182. package/dist/chunk-LJD7KR3L.cjs +44 -0
  183. package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
  184. package/dist/{chunk-QXH5RCFI.js → chunk-M5DK524Z.js} +2 -2
  185. package/dist/chunk-M7B7RRBK.cjs +1034 -0
  186. package/dist/chunk-MANJ67D3.js +3897 -0
  187. package/dist/{chunk-HPHJ73GU.cjs → chunk-MGNXABSU.cjs} +9 -9
  188. package/dist/{chunk-6ZCULLCA.js → chunk-MMKZSJUN.js} +1 -1
  189. package/dist/{chunk-DVUHHH3B.cjs → chunk-MQQH4XQH.cjs} +4 -4
  190. package/dist/chunk-MUNUUFU7.cjs +21 -0
  191. package/dist/{chunk-DVZOENQ7.cjs → chunk-MZN6JBRZ.cjs} +9 -4
  192. package/dist/{chunk-OOKY3HPZ.js → chunk-NB6M6ESM.js} +50 -9
  193. package/dist/{chunk-BYONM7UM.js → chunk-NBGOIFKP.js} +265 -18
  194. package/dist/chunk-NHWHEW7M.cjs +75 -0
  195. package/dist/chunk-NQZH5CR2.cjs +468 -0
  196. package/dist/{chunk-EGPXJERY.cjs → chunk-NV6LCD2I.cjs} +119 -28
  197. package/dist/chunk-NVATU4V6.cjs +44 -0
  198. package/dist/{chunk-YZXUDM5X.js → chunk-NZ3ZWLUW.js} +204 -62
  199. package/dist/chunk-NZ7GCK7Y.cjs +92 -0
  200. package/dist/{chunk-VEKDGU2Q.cjs → chunk-NZQFKXM3.cjs} +49 -25
  201. package/dist/chunk-O5GI6SR3.js +59 -0
  202. package/dist/{chunk-56SWIDEL.cjs → chunk-OCATAKXV.cjs} +57 -56
  203. package/dist/{chunk-SKV2F3NM.js → chunk-OIGYWOL6.js} +1 -1
  204. package/dist/{chunk-IFFXSTOM.cjs → chunk-ONVYXTUT.cjs} +3 -3
  205. package/dist/chunk-OR67YXQK.cjs +13 -0
  206. package/dist/chunk-OV3T5MUH.cjs +715 -0
  207. package/dist/{chunk-OHUZKDGX.js → chunk-P4FUTSVK.js} +3 -3
  208. package/dist/chunk-P6SLT2F4.cjs +139 -0
  209. package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
  210. package/dist/chunk-PCM3N3CL.cjs +37 -0
  211. package/dist/{chunk-2AA5MFES.js → chunk-PGFLPURU.js} +8 -5
  212. package/dist/{chunk-DJDE4DTT.cjs → chunk-PIXQ2AVM.cjs} +25 -19
  213. package/dist/chunk-PNIAIOMZ.cjs +229 -0
  214. package/dist/{chunk-HTLINWX6.cjs → chunk-PQBYFEBL.cjs} +16 -13
  215. package/dist/{chunk-22D2CNTP.cjs → chunk-PSAH4ZQB.cjs} +5 -2
  216. package/dist/{chunk-3VTAFAL2.js → chunk-PTTZI4QZ.js} +16 -12
  217. package/dist/{chunk-WPVWQSL7.cjs → chunk-PY73W5MQ.cjs} +16 -13
  218. package/dist/{chunk-EGMZDTSL.js → chunk-PZZMIYII.js} +10 -2
  219. package/dist/{chunk-HBZU3RBZ.js → chunk-Q3BS6FPM.js} +34 -10
  220. package/dist/chunk-QBYGMMDD.js +517 -0
  221. package/dist/chunk-QLZOMZO5.cjs +388 -0
  222. package/dist/{chunk-ADUFCS4Q.cjs → chunk-QQ64HEHP.cjs} +160 -79
  223. package/dist/{chunk-L3TWPROA.js → chunk-QRQF3556.js} +44 -24
  224. package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
  225. package/dist/chunk-RAKO7UN7.js +114 -0
  226. package/dist/{chunk-7TQH3CL4.cjs → chunk-RBXBH6EB.cjs} +78 -35
  227. package/dist/chunk-RFUKZIJF.cjs +78 -0
  228. package/dist/chunk-RS2E32YB.js +71 -0
  229. package/dist/{chunk-OLSBBZW6.cjs → chunk-S5JNQIGL.cjs} +5 -5
  230. package/dist/{chunk-FTYY5JJD.js → chunk-S5QKRA2V.js} +2 -2
  231. package/dist/chunk-SD3NTC7D.cjs +77 -0
  232. package/dist/{chunk-KPELYZ6L.js → chunk-SDLY4X3G.js} +2 -2
  233. package/dist/{chunk-IDFF5J2E.js → chunk-SFFEKZGC.js} +38 -7
  234. package/dist/{chunk-EGFT4PGW.js → chunk-SHRLFX6F.js} +8 -3
  235. package/dist/{chunk-3WICOC33.js → chunk-SNDDZG5H.js} +124 -84
  236. package/dist/{chunk-CZXGCVTR.cjs → chunk-SOVR7S3T.cjs} +2 -2
  237. package/dist/chunk-SPQ7QIQ6.js +78 -0
  238. package/dist/{chunk-XRZEUWKF.js → chunk-SRMGWMQO.js} +1 -1
  239. package/dist/{chunk-R33VKSH5.cjs → chunk-SVVP4UUZ.cjs} +11 -11
  240. package/dist/{chunk-7BTSG4ME.cjs → chunk-SY2P3Z5W.cjs} +1004 -39
  241. package/dist/chunk-SZD45IDG.js +468 -0
  242. package/dist/{chunk-3O3MOK5C.cjs → chunk-TE4SYTWR.cjs} +1114 -142
  243. package/dist/chunk-TH26BQJG.js +101 -0
  244. package/dist/{chunk-QNGEW5TC.js → chunk-TR6NECEZ.js} +1 -1
  245. package/dist/{chunk-YGN4CQIP.js → chunk-TYBPTKFT.js} +1 -1
  246. package/dist/{chunk-GJH7XMSK.js → chunk-U2QUMKCB.js} +8 -6
  247. package/dist/{chunk-47CKWKEX.cjs → chunk-U6PLSPMD.cjs} +9 -4
  248. package/dist/chunk-UOQECODR.js +34 -0
  249. package/dist/chunk-UR27UDTB.js +354 -0
  250. package/dist/chunk-UWZ4G3SQ.js +93 -0
  251. package/dist/{chunk-Y72HH2TF.cjs → chunk-V3SZLWEQ.cjs} +33 -24
  252. package/dist/chunk-V4HGZSKQ.cjs +183 -0
  253. package/dist/{chunk-3PDTTAKJ.js → chunk-V5ELP2XE.js} +19 -12
  254. package/dist/{chunk-3K2ESU53.cjs → chunk-VKOXFT4L.cjs} +2 -2
  255. package/dist/{chunk-XTB6VJVQ.cjs → chunk-VLGGMQUN.cjs} +6 -6
  256. package/dist/chunk-VQHSYAPZ.cjs +3897 -0
  257. package/dist/chunk-VUGOOGHB.js +400 -0
  258. package/dist/chunk-W5QLA6WP.cjs +866 -0
  259. package/dist/chunk-WBU4Q4GS.cjs +400 -0
  260. package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
  261. package/dist/chunk-WJYFLQ7G.cjs +27 -0
  262. package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
  263. package/dist/{chunk-ZSPXQYG2.js → chunk-WNJXIACY.js} +7 -5
  264. package/dist/{chunk-AYS2ASM7.js → chunk-WPE2XHVX.js} +1 -1
  265. package/dist/chunk-WTB7AFL6.cjs +101 -0
  266. package/dist/{chunk-JYTDYJVW.js → chunk-X3TI5TJJ.js} +1 -1
  267. package/dist/chunk-X5P6QQOB.cjs +719 -0
  268. package/dist/{chunk-245KJE5Y.cjs → chunk-X7XMITIL.cjs} +14 -6
  269. package/dist/chunk-XF2WIKHR.cjs +34 -0
  270. package/dist/{chunk-DV2ZHK7B.cjs → chunk-XNIMSVS6.cjs} +49 -26
  271. package/dist/chunk-XW3XCK4E.cjs +59 -0
  272. package/dist/{chunk-N23UAW4I.js → chunk-XZVDYC5U.js} +7 -2
  273. package/dist/chunk-Y5BDE24P.cjs +444 -0
  274. package/dist/{chunk-NAGQ2PDC.js → chunk-YC5OBZQU.js} +1604 -433
  275. package/dist/chunk-YISPVAXO.cjs +2340 -0
  276. package/dist/{chunk-KQGPTCQJ.js → chunk-YQDI753V.js} +68 -25
  277. package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
  278. package/dist/{chunk-NNPAM4HC.cjs → chunk-YWH55BWK.cjs} +15 -6
  279. package/dist/{chunk-X2YOZQIP.cjs → chunk-YWTIXHU6.cjs} +266 -19
  280. package/dist/{chunk-XX2ZO7DS.js → chunk-YXM6SA7P.js} +25 -16
  281. package/dist/chunk-YZWE7XSM.js +5 -0
  282. package/dist/chunk-ZASDSY7P.cjs +114 -0
  283. package/dist/{chunk-2UC22DJU.js → chunk-ZNGRLCFQ.js} +30 -4
  284. package/dist/{chunk-KANW6OYC.cjs → chunk-ZNYZB7XY.cjs} +34 -8
  285. package/dist/{chunk-NA6WQDYW.js → chunk-ZPLCAXJW.js} +1088 -116
  286. package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
  287. package/dist/chunk-ZUYYHKQA.js +44 -0
  288. package/dist/clear-QJXU25IF.cjs +12 -0
  289. package/dist/{clear-A3N4GK2S.js → clear-Y5TO3RZA.js} +3 -3
  290. package/dist/communityInstaller-LXMVKVAV.cjs +22 -0
  291. package/dist/{communityInstaller-LOP2EDH5.js → communityInstaller-RVL4STPS.js} +8 -5
  292. package/dist/completion-JX4T2ONW.cjs +17 -0
  293. package/dist/completion-SE3XYG74.js +17 -0
  294. package/dist/config-3224PRW4.cjs +21 -0
  295. package/dist/{config-HPJPKTO6.js → config-7KPHKFTP.js} +7 -4
  296. package/dist/{constants-LISJW3DD.js → constants-EJFAWJQI.js} +1 -1
  297. package/dist/constants-MCCGUU5F.cjs +21 -0
  298. package/dist/{defaultHooks-IHSJR2AX.cjs → defaultHooks-2V2CQL63.cjs} +25 -10
  299. package/dist/{defaultHooks-KUKHK3AG.js → defaultHooks-TMHDU3FS.js} +25 -10
  300. package/dist/export-BJVIDZC4.js +15 -0
  301. package/dist/export-KU4557HK.cjs +15 -0
  302. package/dist/feature-K3LG5IJP.cjs +14 -0
  303. package/dist/feature-V4JF5TNJ.js +14 -0
  304. package/dist/features-5OJTLKS7.js +23 -0
  305. package/dist/features-VCBJQXCX.cjs +23 -0
  306. package/dist/feedback-D4437VE4.js +18 -0
  307. package/dist/feedback-VZPEHGFY.cjs +18 -0
  308. package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
  309. package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
  310. package/dist/{filesystem-Z7BWAWMZ.js → filesystem-L6DQKGWK.js} +3 -2
  311. package/dist/filesystem-PGUPCMVK.cjs +11 -0
  312. package/dist/go-X4E6BCD6.js +12 -0
  313. package/dist/go-XREVFS5I.cjs +12 -0
  314. package/dist/goal-4M3J6JS2.cjs +16 -0
  315. package/dist/goal-EI66BV7W.js +16 -0
  316. package/dist/help-GGFS7WHY.cjs +12 -0
  317. package/dist/{help-GFQXNZOK.js → help-MLIROWKM.js} +2 -2
  318. package/dist/{history-E3N6BJP7.js → history-GQJ6RZD6.js} +2 -2
  319. package/dist/history-J4LUIOSI.cjs +14 -0
  320. package/dist/hooks-FSRIUS6A.cjs +18 -0
  321. package/dist/hooks-PPFHCF7T.js +18 -0
  322. package/dist/i18n-CI6VFXL5.cjs +33 -0
  323. package/dist/{i18n-SY7QRM22.js → i18n-Q7UZJRPL.js} +1 -1
  324. package/dist/ide-BUSVE54P.js +15 -0
  325. package/dist/ide-YR27BPGM.cjs +15 -0
  326. package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
  327. package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
  328. package/dist/{import-W7SVLSTC.js → import-3VBKI6BN.js} +3 -3
  329. package/dist/{import-ADI37ZUR.cjs → import-C7S6UJMW.cjs} +3 -3
  330. package/dist/import-DBK4OCDF.cjs +10 -0
  331. package/dist/{import-KGKKZ3B7.js → import-U47DXCA7.js} +2 -2
  332. package/dist/index.cjs +837 -23011
  333. package/dist/index.d.cts +95 -0
  334. package/dist/index.d.ts +95 -0
  335. package/dist/index.js +864 -23038
  336. package/dist/init-OXTYS72D.cjs +10 -0
  337. package/dist/{init-7MFK626E.js → init-Q2O4R42R.js} +2 -2
  338. package/dist/inkMode-VUE6ZDLD.cjs +7 -0
  339. package/dist/inkMode-WBNFOSAT.js +7 -0
  340. package/dist/inputPrompt-3CFZDUBH.js +90 -0
  341. package/dist/inputPrompt-JMACL4EB.cjs +90 -0
  342. package/dist/language-EK3M6UBV.cjs +22 -0
  343. package/dist/language-Q3RUGGOW.js +22 -0
  344. package/dist/learn-3DSX7DYG.cjs +23 -0
  345. package/dist/learn-OPOH5L43.js +23 -0
  346. package/dist/login-GST7MWXJ.cjs +27 -0
  347. package/dist/login-Q7DZKAX4.js +27 -0
  348. package/dist/logout-2G7OUK7I.cjs +24 -0
  349. package/dist/logout-FNBBL2UI.js +24 -0
  350. package/dist/mcp-AH3MMUBU.js +21 -0
  351. package/dist/mcp-DW7R63IB.cjs +21 -0
  352. package/dist/{mcp-install-2FEROZTL.js → mcp-install-222PCKSW.js} +18 -10
  353. package/dist/{mcp-install-WM6BQRI5.cjs → mcp-install-IA4ZS2SV.cjs} +22 -14
  354. package/dist/memory-6NX3DAIY.cjs +10 -0
  355. package/dist/{memory-J73WZH2I.js → memory-VB46T5H3.js} +2 -2
  356. package/dist/model-64NAELFS.cjs +10 -0
  357. package/dist/{model-AES267IN.js → model-SJJG64AM.js} +2 -2
  358. package/dist/new-DU5SOOOY.cjs +12 -0
  359. package/dist/{new-5CLF3MKH.js → new-ERZ5C6CN.js} +3 -3
  360. package/dist/onboarding-2U2BV2KE.cjs +36 -0
  361. package/dist/onboarding-ZQXMPSMJ.js +36 -0
  362. package/dist/permissions-7ACNFK7A.js +10 -0
  363. package/dist/permissions-GSNNV7RJ.cjs +10 -0
  364. package/dist/plan-XEJMOT55.cjs +13 -0
  365. package/dist/{plan-65HMS5HQ.js → plan-YYUAXPTL.js} +3 -1
  366. package/dist/pr-review-CW6J7P62.cjs +9 -0
  367. package/dist/pr-review-YZSBQVT2.js +9 -0
  368. package/dist/{quit-XDZYRSPU.js → quit-WY6T267G.js} +2 -2
  369. package/dist/quit-XIRE2KRE.cjs +10 -0
  370. package/dist/rawMode-6W5AXAKI.cjs +7 -0
  371. package/dist/rawMode-GFNLXQPU.js +7 -0
  372. package/dist/{registry-PTHWERKC.js → registry-4DXUDKJN.js} +29 -44
  373. package/dist/{registry-IVT4G2RT.cjs → registry-UEO3ETZ7.cjs} +65 -80
  374. package/dist/repeat-P4FAPE3Y.cjs +17 -0
  375. package/dist/{repeat-EVCWUL6Z.js → repeat-RALE6AUO.js} +7 -3
  376. package/dist/resume-RQZ3WXBP.cjs +17 -0
  377. package/dist/resume-XSXZMDMD.js +17 -0
  378. package/dist/review-QHP2KP4Q.js +9 -0
  379. package/dist/review-UWHWQHCB.cjs +9 -0
  380. package/dist/ripgrep-67SCU2BA.cjs +9 -0
  381. package/dist/ripgrep-VHJQQ55W.js +9 -0
  382. package/dist/rpc-XH7QLN4H.js +3874 -0
  383. package/dist/rpc-YF54T7JU.cjs +3874 -0
  384. package/dist/search-VXXFGZWU.cjs +21 -0
  385. package/dist/search-YAWGX7P7.js +21 -0
  386. package/dist/{sessions-6GWEBMKS.js → sessions-NJYHJOEL.js} +2 -2
  387. package/dist/sessions-OSG3UJEZ.cjs +10 -0
  388. package/dist/settings-SO2UIGWV.cjs +42 -0
  389. package/dist/settings-ZXUQH3DO.js +42 -0
  390. package/dist/setup-KG7EGKF5.js +30 -0
  391. package/dist/setup-RSOPCQ57.cjs +30 -0
  392. package/dist/share-WFAGZ5PY.js +17 -0
  393. package/dist/share-ZU3SGACF.cjs +17 -0
  394. package/dist/skills-KBVAQAD2.cjs +29 -0
  395. package/dist/skills-NBTNDVAY.js +29 -0
  396. package/dist/{skills-ZZCIAS7C.js → skills-OB6RDW7D.js} +10 -7
  397. package/dist/{skills-PG542VEB.cjs → skills-ZROBG3RZ.cjs} +13 -10
  398. package/dist/{skills-install-SRC3Z2MS.js → skills-install-BHTIEMKH.js} +21 -70
  399. package/dist/{skills-install-67DOBPJC.cjs → skills-install-ILX6QVEF.cjs} +34 -83
  400. package/dist/skills-new-B45VQ2PP.cjs +18 -0
  401. package/dist/skills-new-YMRP2HNO.js +18 -0
  402. package/dist/slashCommands-53VYIBJU.js +105 -0
  403. package/dist/slashCommands-BG2RGGZ6.cjs +105 -0
  404. package/dist/status-CQ2IUOVK.cjs +24 -0
  405. package/dist/status-E7IGNVPC.js +24 -0
  406. package/dist/summarizer-DGPHE5IQ.js +17 -0
  407. package/dist/summarizer-JNXLUAQG.cjs +17 -0
  408. package/dist/sync-7C25MOT2.js +22 -0
  409. package/dist/{sync-VU2NSJ4O.js → sync-OCJN4ZSO.js} +3 -3
  410. package/dist/sync-XRP46IVG.cjs +40 -0
  411. package/dist/sync-ZMFVE7T4.cjs +22 -0
  412. package/dist/{teammate-SXRVXNQV.cjs → teammate-D77B6QRT.cjs} +31 -9
  413. package/dist/{teammate-SD26GR37.js → teammate-EZCMHOIL.js} +30 -8
  414. package/dist/templates-ARG2VRWW.cjs +11 -0
  415. package/dist/templates-UGVZV3KJ.js +11 -0
  416. package/dist/theme-KKRDE6P7.cjs +22 -0
  417. package/dist/theme-XF7XIWBQ.js +22 -0
  418. package/dist/tools-3PPTTKFV.js +9 -0
  419. package/dist/tools-THIQA7WC.cjs +9 -0
  420. package/dist/ui/questionModal.cjs +8 -5
  421. package/dist/ui/questionModal.js +7 -4
  422. package/dist/{undo-OL2EDBRY.js → undo-GNUTFXCW.js} +2 -2
  423. package/dist/undo-U4KN7QQM.cjs +10 -0
  424. package/dist/usage-QSTNSDAO.js +24 -0
  425. package/dist/usage-YDEMQBNQ.cjs +24 -0
  426. package/dist/web-3BA2WV37.cjs +37 -0
  427. package/dist/web-6FYGBX5K.js +37 -0
  428. package/dist/workspaceSafety-MDJGHK6D.cjs +9 -0
  429. package/dist/workspaceSafety-XOUMUBVB.js +9 -0
  430. package/dist/yolo-GF2YD7ZI.js +9 -0
  431. package/dist/yolo-OGDA7HNC.cjs +9 -0
  432. package/dist/yoloMode-3DJDA75U.cjs +17 -0
  433. package/dist/yoloMode-4JOOSU26.js +17 -0
  434. package/package.json +51 -49
  435. package/dist/AgentRegistry-HRPN6ZOF.cjs +0 -10
  436. package/dist/CommunitySkillsCache-KE435RAR.cjs +0 -8
  437. package/dist/GitHubRegistryFetcher-I45SESIL.cjs +0 -7
  438. package/dist/LearnAdvisor-FLBA6FDD.js +0 -9
  439. package/dist/LearnAdvisor-GG3CXQF3.cjs +0 -9
  440. package/dist/MemoryManager-2LQPIYVE.cjs +0 -8
  441. package/dist/PermissionManager-X57BXHJ6.cjs +0 -11
  442. package/dist/ProviderFactory-KPJOGQWF.cjs +0 -9
  443. package/dist/SessionManager-YBJAZXNO.cjs +0 -10
  444. package/dist/SkillsRegistry-7O72A6TZ.cjs +0 -9
  445. package/dist/SubAgent-JT4HZHN7.js +0 -11
  446. package/dist/SubAgent-VPNYDWAU.cjs +0 -11
  447. package/dist/SyncApiClient-HQXJL5BT.cjs +0 -11
  448. package/dist/about-4DB5KTHW.js +0 -12
  449. package/dist/about-LXAOXZFT.cjs +0 -12
  450. package/dist/actionExecutor-23JB2WUC.js +0 -19
  451. package/dist/actionExecutor-X5UEZSKH.cjs +0 -19
  452. package/dist/add-dir-YC37DMSF.cjs +0 -10
  453. package/dist/agents-YF3BSUU5.js +0 -12
  454. package/dist/agents-ZOUHPMYR.cjs +0 -12
  455. package/dist/agents-new-HSH4GQPG.js +0 -14
  456. package/dist/agents-new-VYUDOCE7.cjs +0 -14
  457. package/dist/autoSkill-X5W52WOE.cjs +0 -20
  458. package/dist/automode-SJGM7VEI.cjs +0 -10
  459. package/dist/chunk-ALYU6VTM.js +0 -105
  460. package/dist/chunk-B53A2NM2.js +0 -2030
  461. package/dist/chunk-BJXSNT46.js +0 -100
  462. package/dist/chunk-CB4E2T5N.cjs +0 -312
  463. package/dist/chunk-DNUOXBHL.js +0 -539
  464. package/dist/chunk-EFX2QSZX.cjs +0 -33
  465. package/dist/chunk-GCXYXLRA.cjs +0 -111
  466. package/dist/chunk-H2ZRHQQV.js +0 -33
  467. package/dist/chunk-HNRPK5MY.cjs +0 -85
  468. package/dist/chunk-HVKOZ2VP.cjs +0 -115
  469. package/dist/chunk-JJLYWH5Y.cjs +0 -100
  470. package/dist/chunk-LWUJFGOZ.js +0 -115
  471. package/dist/chunk-MERYP6AM.cjs +0 -539
  472. package/dist/chunk-MZAPWNAC.cjs +0 -207
  473. package/dist/chunk-NTSDP2WB.js +0 -226
  474. package/dist/chunk-OUZQXMHL.cjs +0 -226
  475. package/dist/chunk-PGESAU2W.cjs +0 -2030
  476. package/dist/chunk-SYVYLZZF.cjs +0 -24
  477. package/dist/chunk-SZOLA6FR.js +0 -111
  478. package/dist/chunk-VWDHR4HV.js +0 -168
  479. package/dist/chunk-Y45G6ZO5.cjs +0 -168
  480. package/dist/chunk-YRLYSQEQ.cjs +0 -105
  481. package/dist/chunk-ZYVS43MU.js +0 -312
  482. package/dist/clear-GK4IEUUS.cjs +0 -12
  483. package/dist/communityInstaller-XXC7RLE4.cjs +0 -19
  484. package/dist/completion-HWABSAEL.js +0 -14
  485. package/dist/completion-IUUVQG4D.cjs +0 -14
  486. package/dist/config-HF7WOLZF.cjs +0 -18
  487. package/dist/constants-PEO3P2SJ.cjs +0 -21
  488. package/dist/export-QJAV2FCZ.js +0 -12
  489. package/dist/export-XSRFXGWU.cjs +0 -12
  490. package/dist/feedback-4TCIL3ML.cjs +0 -15
  491. package/dist/feedback-SJ6VVEY3.js +0 -15
  492. package/dist/filesystem-W56QZUJF.cjs +0 -10
  493. package/dist/help-ISBVQL3S.cjs +0 -12
  494. package/dist/history-XQ4GTSFU.cjs +0 -14
  495. package/dist/hooks-CJNKJ5PF.js +0 -13
  496. package/dist/hooks-UTMBTAXT.cjs +0 -13
  497. package/dist/i18n-N7QQ7A5M.cjs +0 -33
  498. package/dist/ide-RTA4UJV4.js +0 -12
  499. package/dist/ide-VWVOLIFF.cjs +0 -12
  500. package/dist/immediateCommandRouter-BW34JNXL.js +0 -9
  501. package/dist/immediateCommandRouter-SHOVNB5X.cjs +0 -9
  502. package/dist/import-ZLJVONXH.cjs +0 -10
  503. package/dist/init-TBKAB4LZ.cjs +0 -10
  504. package/dist/language-MDSHEXHB.cjs +0 -18
  505. package/dist/language-PXTQSHIG.js +0 -18
  506. package/dist/learn-623TW5EK.cjs +0 -20
  507. package/dist/learn-BCPV7GM2.js +0 -20
  508. package/dist/localProjectPermissions-BHQXEWZJ.cjs +0 -18
  509. package/dist/localProjectPermissions-GMOUYQM6.js +0 -18
  510. package/dist/login-QMVEETWJ.js +0 -20
  511. package/dist/login-QYMXAL3K.cjs +0 -20
  512. package/dist/logout-2CMTDAOJ.js +0 -18
  513. package/dist/logout-ZOHVZAUK.cjs +0 -18
  514. package/dist/mcp-IUVKK65S.js +0 -18
  515. package/dist/mcp-TXC7PYG3.cjs +0 -18
  516. package/dist/memory-WRIHDEPK.cjs +0 -10
  517. package/dist/model-RLP75SF5.cjs +0 -10
  518. package/dist/new-HLSFL6A4.cjs +0 -12
  519. package/dist/permissions-GP6FTGZ2.js +0 -13
  520. package/dist/permissions-O6EKKPOG.cjs +0 -13
  521. package/dist/plan-MCAXDIM2.cjs +0 -11
  522. package/dist/quit-TQX6GXA5.cjs +0 -10
  523. package/dist/repeat-BSPS5TWD.cjs +0 -13
  524. package/dist/resume-2GOPDLL4.cjs +0 -13
  525. package/dist/resume-37IUVDA6.js +0 -13
  526. package/dist/search-7KUSHIBL.cjs +0 -17
  527. package/dist/search-OJGDRIMA.js +0 -17
  528. package/dist/sessions-CYYCHSQG.cjs +0 -10
  529. package/dist/settings-2D7CAO66.cjs +0 -30
  530. package/dist/settings-BXR6SBJP.js +0 -30
  531. package/dist/share-BXQY5IQU.js +0 -14
  532. package/dist/share-OSFXZBGS.cjs +0 -14
  533. package/dist/skills-FL6O6AOM.cjs +0 -26
  534. package/dist/skills-PNKQZRNK.js +0 -26
  535. package/dist/skills-new-XFMEHHIF.cjs +0 -15
  536. package/dist/skills-new-ZNZPHUKS.js +0 -15
  537. package/dist/slashCommands-LLCNPK3X.js +0 -76
  538. package/dist/slashCommands-RXZZS6RE.cjs +0 -76
  539. package/dist/status-BCECUJXT.cjs +0 -11
  540. package/dist/status-EFO7MQU3.js +0 -11
  541. package/dist/sync-IJYJ6KKM.js +0 -18
  542. package/dist/sync-LFT6SBPF.cjs +0 -18
  543. package/dist/sync-U7SDPBNZ.cjs +0 -40
  544. package/dist/theme-AWBHSG7J.cjs +0 -18
  545. package/dist/theme-TQLBPJ2E.js +0 -18
  546. package/dist/undo-IBBGP7A2.cjs +0 -10
@@ -2,31 +2,39 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkR33VKSH5cjs = require('./chunk-R33VKSH5.cjs');
5
+ var _chunkSVVP4UUZcjs = require('./chunk-SVVP4UUZ.cjs');
6
6
 
7
7
 
8
- var _chunk22D2CNTPcjs = require('./chunk-22D2CNTP.cjs');
8
+ var _chunkPSAH4ZQBcjs = require('./chunk-PSAH4ZQB.cjs');
9
9
 
10
10
 
11
- var _chunkYHD6TUIRcjs = require('./chunk-YHD6TUIR.cjs');
11
+ var _chunkQW2RW2GYcjs = require('./chunk-QW2RW2GY.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkZYQMLKOKcjs = require('./chunk-ZYQMLKOK.cjs');
15
+ var _chunkCK4HAHVYcjs = require('./chunk-CK4HAHVY.cjs');
16
16
 
17
17
 
18
- var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
18
+ var _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
19
19
 
20
20
  // src/commands/skills.ts
21
21
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
22
22
  var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
23
23
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
24
+ async function withModalPause(ctx, fn) {
25
+ await _optionalChain([ctx, 'access', _ => _.onBeforeModal, 'optionalCall', _2 => _2()]);
26
+ try {
27
+ return await fn();
28
+ } finally {
29
+ await _optionalChain([ctx, 'access', _3 => _3.onAfterModal, 'optionalCall', _4 => _4()]);
30
+ }
31
+ }
24
32
  async function skills(ctx, args = []) {
25
33
  const { skillsRegistry } = ctx;
26
34
  if (!skillsRegistry) {
27
35
  return "Skills registry not available.";
28
36
  }
29
- const subcommand = _optionalChain([args, 'access', _ => _[0], 'optionalAccess', _2 => _2.toLowerCase, 'call', _3 => _3()]);
37
+ const subcommand = _optionalChain([args, 'access', _5 => _5[0], 'optionalAccess', _6 => _6.toLowerCase, 'call', _7 => _7()]);
30
38
  const skillName = args.slice(1).join(" ").trim() || args[1];
31
39
  switch (subcommand) {
32
40
  case "install":
@@ -53,6 +61,9 @@ async function skills(ctx, args = []) {
53
61
  case "show":
54
62
  return showSkillInfo(skillsRegistry, skillName);
55
63
  default:
64
+ if (!ctx.isNonInteractive && process.stdout.isTTY) {
65
+ return browseInstalledSkills(ctx, skillsRegistry);
66
+ }
56
67
  return listSkills(skillsRegistry);
57
68
  }
58
69
  }
@@ -96,24 +107,94 @@ function generateSkillSuggestion(skillName, description) {
96
107
  }
97
108
  return `Use ${skillName} to help with: ${description.slice(0, 50)}...`;
98
109
  }
110
+ function getSkillSourceLabel(source) {
111
+ switch (source) {
112
+ case "autohand-user":
113
+ return "Autohand User";
114
+ case "autohand-project":
115
+ return "Project";
116
+ case "claude-user":
117
+ return "Claude User";
118
+ case "claude-project":
119
+ return "Claude Project";
120
+ case "codex-user":
121
+ return "Codex User";
122
+ case "codex-project":
123
+ return "Codex Project";
124
+ case "community":
125
+ return "Community";
126
+ default:
127
+ return source;
128
+ }
129
+ }
130
+ function buildSkillPreview(skill) {
131
+ const lines = [
132
+ `Status: ${skill.isActive ? "\u{1F7E2} Active" : "\u26AA Inactive"}`,
133
+ `Source: ${getSkillSourceLabel(skill.source)}`,
134
+ `Path: ${skill.path}`,
135
+ "",
136
+ skill.description
137
+ ];
138
+ if (skill.isActive) {
139
+ lines.push("");
140
+ lines.push(`Try: ${generateSkillSuggestion(skill.name, skill.description)}`);
141
+ lines.push(`/skills deactivate ${skill.name}`);
142
+ } else {
143
+ lines.push("");
144
+ lines.push(`/skills use ${skill.name}`);
145
+ }
146
+ lines.push(`/skills info ${skill.name}`);
147
+ return lines.join("\n");
148
+ }
149
+ async function browseInstalledSkills(ctx, registry) {
150
+ const allSkills = registry.listSkills();
151
+ const activeSkills = registry.getActiveSkills();
152
+ if (allSkills.length === 0) {
153
+ return listSkills(registry);
154
+ }
155
+ const options = allSkills.map((skill) => ({
156
+ label: `${skill.isActive ? "\u{1F7E2}" : "\u26AA"} ${skill.name} \xB7 ${getSkillSourceLabel(skill.source)}`,
157
+ value: skill.name,
158
+ preview: buildSkillPreview(skill)
159
+ }));
160
+ options.push({
161
+ label: "\u{1F310} Browse community skills",
162
+ value: "__skills_install__",
163
+ description: "Open the community skills browser to search and install new skills."
164
+ });
165
+ const initialIndex = Math.max(allSkills.findIndex((skill) => skill.isActive), 0);
166
+ const selected = await withModalPause(ctx, () => _chunkCK4HAHVYcjs.showModal.call(void 0, {
167
+ title: `\u{1F4DA} ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.skills.title")} (${allSkills.length} available, ${activeSkills.length} active)`,
168
+ options,
169
+ initialIndex,
170
+ maxVisible: 12
171
+ }));
172
+ if (!selected) {
173
+ return null;
174
+ }
175
+ if (selected.value === "__skills_install__") {
176
+ return handleSkillsInstall(ctx);
177
+ }
178
+ return showSkillInfo(registry, selected.value);
179
+ }
99
180
  function listSkills(registry) {
100
181
  const allSkills = registry.listSkills();
101
182
  const activeSkills = registry.getActiveSkills();
102
183
  const lines = [];
103
184
  lines.push("");
104
- lines.push(`\u{1F4DA} **${_chunk7BTSG4MEcjs.t.call(void 0, "commands.skills.title")}**`);
185
+ lines.push(`\u{1F4DA} ${_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.skills.title")}`);
105
186
  lines.push("");
106
187
  if (allSkills.length === 0) {
107
- lines.push(_chunk7BTSG4MEcjs.t.call(void 0, "commands.skills.noSkills"));
188
+ lines.push(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.skills.noSkills"));
108
189
  lines.push("");
109
- lines.push("**Get started:**");
190
+ lines.push("Get started:");
110
191
  lines.push("");
111
- lines.push("{{action:\u{1F310} Browse Community Skills|/skills install}}");
112
- lines.push("{{action:\u2728 Create New Skill|/skills new}}");
192
+ lines.push(` \u{1F310} Browse Community Skills \u2192 /skills install`);
193
+ lines.push(` \u2728 Create New Skill \u2192 /skills new`);
113
194
  lines.push("");
114
- lines.push("_Skills can be added in:_");
115
- lines.push("- `~/.autohand/skills/<skill-name>/SKILL.md`");
116
- lines.push("- `<project>/.autohand/skills/<skill-name>/SKILL.md`");
195
+ lines.push("Skills can be added in:");
196
+ lines.push(" ~/.autohand/skills/<skill-name>/SKILL.md");
197
+ lines.push(" <project>/.autohand/skills/<skill-name>/SKILL.md");
117
198
  return lines.join("\n");
118
199
  }
119
200
  const bySource = /* @__PURE__ */ new Map();
@@ -130,28 +211,32 @@ function listSkills(registry) {
130
211
  "autohand-project": "\u{1F4C1} Project Skills"
131
212
  };
132
213
  for (const [source, skills2] of bySource) {
133
- lines.push(`**${sourceLabels[source] || source}**`);
214
+ lines.push(`${sourceLabels[source] || source}`);
134
215
  lines.push("");
135
216
  for (const skill of skills2) {
136
217
  const isActive = skill.isActive;
137
218
  const statusIcon = isActive ? "\u{1F7E2}" : "\u26AA";
138
- const statusText = isActive ? " _(active)_" : "";
139
- lines.push(`${statusIcon} **${skill.name}**${statusText}`);
140
- lines.push(` ${skill.description}`);
219
+ const statusText = isActive ? " (active)" : "";
220
+ lines.push(` ${statusIcon} ${skill.name}${statusText}`);
221
+ lines.push(` ${skill.description}`);
141
222
  if (isActive) {
142
223
  const suggestion = generateSkillSuggestion(skill.name, skill.description);
143
- lines.push(` {{action:\u{1F4A1} Try it|${suggestion}}} {{action:\u2139\uFE0F Info|/skills info ${skill.name}}} {{action:\u23F8\uFE0F Deactivate|/skills deactivate ${skill.name}}}`);
224
+ lines.push(` \u{1F4A1} Try: "${suggestion}"`);
225
+ lines.push(` \u2139\uFE0F Info: /skills info ${skill.name}`);
226
+ lines.push(` \u23F8\uFE0F Deactivate: /skills deactivate ${skill.name}`);
144
227
  } else {
145
- lines.push(` {{action:\u25B6\uFE0F Activate|/skills use ${skill.name}}} {{action:\u2139\uFE0F Info|/skills info ${skill.name}}}`);
228
+ lines.push(` \u25B6\uFE0F Activate: /skills use ${skill.name}`);
229
+ lines.push(` \u2139\uFE0F Info: /skills info ${skill.name}`);
146
230
  }
147
231
  lines.push("");
148
232
  }
149
233
  }
150
234
  lines.push("\u2500".repeat(40));
151
- lines.push(`\u{1F4CA} **${allSkills.length}** skills available, **${activeSkills.length}** active`);
235
+ lines.push(`\u{1F4CA} ${allSkills.length} skills available, ${activeSkills.length} active`);
152
236
  lines.push("");
153
- lines.push("**Quick Actions:**");
154
- lines.push("{{action:\u{1F310} Browse Community|/skills install}} {{action:\u2728 Create New|/skills new}}");
237
+ lines.push("Quick Actions:");
238
+ lines.push(` \u{1F310} Browse Community \u2192 /skills install`);
239
+ lines.push(` \u2728 Create New \u2192 /skills new`);
155
240
  return lines.join("\n");
156
241
  }
157
242
  function activateSkill(registry, name) {
@@ -209,48 +294,43 @@ function showSkillInfo(registry, name) {
209
294
  }
210
295
  const lines = [];
211
296
  lines.push("");
212
- lines.push(`\u{1F4CB} **Skill: ${skill.name}**`);
213
- lines.push("");
214
- if (skill.isActive) {
215
- lines.push(`**Status:** \u{1F7E2} Active`);
216
- const suggestion = generateSkillSuggestion(skill.name, skill.description);
217
- lines.push("");
218
- lines.push(`{{action:\u{1F4A1} Try it now|${suggestion}}} {{action:\u23F8\uFE0F Deactivate|/skills deactivate ${skill.name}}}`);
219
- } else {
220
- lines.push(`**Status:** \u26AA Inactive`);
221
- lines.push("");
222
- lines.push(`{{action:\u25B6\uFE0F Activate|/skills use ${skill.name}}}`);
223
- }
224
- lines.push("");
225
- lines.push("\u2500".repeat(40));
297
+ lines.push(`\u{1F4CB} Skill: ${skill.name}`);
226
298
  lines.push("");
227
- lines.push(`**Description:** ${skill.description}`);
228
- lines.push(`**Source:** ${skill.source}`);
229
- lines.push(`**Path:** \`${skill.path}\``);
299
+ lines.push(`Status: ${skill.isActive ? "\u{1F7E2} Active" : "\u26AA Inactive"}`);
300
+ lines.push(`Description: ${skill.description}`);
301
+ lines.push(`Source: ${getSkillSourceLabel(skill.source)}`);
302
+ lines.push(`Path: ${skill.path}`);
230
303
  if (skill.license) {
231
- lines.push(`**License:** ${skill.license}`);
304
+ lines.push(`License: ${skill.license}`);
232
305
  }
233
306
  if (skill.compatibility) {
234
- lines.push(`**Compatibility:** ${skill.compatibility}`);
307
+ lines.push(`Compatibility: ${skill.compatibility}`);
235
308
  }
236
309
  if (skill["allowed-tools"]) {
237
- lines.push(`**Allowed Tools:** ${skill["allowed-tools"]}`);
310
+ lines.push(`Allowed Tools: ${skill["allowed-tools"]}`);
311
+ }
312
+ lines.push("");
313
+ if (skill.isActive) {
314
+ lines.push(`Recommended Prompt: ${generateSkillSuggestion(skill.name, skill.description)}`);
315
+ lines.push(`Deactivate: /skills deactivate ${skill.name}`);
316
+ } else {
317
+ lines.push(`Activate: /skills use ${skill.name}`);
238
318
  }
239
319
  if (skill.metadata && Object.keys(skill.metadata).length > 0) {
240
320
  lines.push("");
241
- lines.push("**Metadata:**");
321
+ lines.push("Metadata:");
242
322
  for (const [key, value] of Object.entries(skill.metadata)) {
243
- lines.push(`- ${key}: ${value}`);
323
+ lines.push(` - ${key}: ${value}`);
244
324
  }
245
325
  }
246
326
  lines.push("");
247
- lines.push("**Content Preview:**");
248
- lines.push("```");
327
+ lines.push("Content Preview:");
249
328
  const bodyPreview = skill.body.length > 500 ? skill.body.slice(0, 500) + "\n... (truncated)" : skill.body;
250
- lines.push(bodyPreview || "(no body content)");
251
- lines.push("```");
329
+ for (const line of (bodyPreview || "(no body content)").split("\n")) {
330
+ lines.push(` ${line}`);
331
+ }
252
332
  lines.push("");
253
- lines.push("{{action:\u2190 Back to Skills|/skills}}");
333
+ lines.push("Back: /skills");
254
334
  return lines.join("\n");
255
335
  }
256
336
  async function handleSkillsInstall(ctx, skillName) {
@@ -258,7 +338,7 @@ async function handleSkillsInstall(ctx, skillName) {
258
338
  if (!workspaceRoot) {
259
339
  return "Workspace root not available.";
260
340
  }
261
- const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-67DOBPJC.cjs")));
341
+ const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-ILX6QVEF.cjs")));
262
342
  const result = await skillsInstall(
263
343
  {
264
344
  skillsRegistry,
@@ -269,19 +349,19 @@ async function handleSkillsInstall(ctx, skillName) {
269
349
  return _nullishCoalesce(result, () => ( "Skills install completed."));
270
350
  }
271
351
  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);
352
+ const cache = new (0, _chunkPSAH4ZQBcjs.CommunitySkillsCache)();
353
+ const fetcher = new (0, _chunkQW2RW2GYcjs.GitHubRegistryFetcher)();
354
+ const registry = await _chunkSVVP4UUZcjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
275
355
  if (!registry) {
276
356
  return _chalk2.default.red("Unable to fetch community skills registry. Check your network connection.");
277
357
  }
278
- const client = new (0, _chunkR33VKSH5cjs.LearnClient)();
358
+ const client = new (0, _chunkSVVP4UUZcjs.LearnClient)();
279
359
  const results = client.search(registry, query);
280
360
  if (results.length === 0) {
281
- return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.noResults", { query });
361
+ return _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.noResults", { query });
282
362
  }
283
363
  if (ctx.isNonInteractive) {
284
- const lines = [_chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.found", { count: String(results.length) })];
364
+ const lines = [_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.found", { count: String(results.length) })];
285
365
  for (const skill2 of results) {
286
366
  const stars = skill2.rating ? ` (${skill2.rating.toFixed(1)}/5)` : "";
287
367
  lines.push(` ${_chalk2.default.cyan(skill2.name)} - ${skill2.description}${stars}`);
@@ -292,19 +372,19 @@ async function handleSkillsSearch(ctx, query) {
292
372
  label: `${s.name} - ${s.description}`,
293
373
  value: s.id
294
374
  }));
295
- const selected = await _chunkZYQMLKOKcjs.showModal.call(void 0, {
296
- title: _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.selectPrompt"),
375
+ const selected = await withModalPause(ctx, () => _chunkCK4HAHVYcjs.showModal.call(void 0, {
376
+ title: _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.selectPrompt"),
297
377
  options
298
- });
378
+ }));
299
379
  if (!selected) {
300
- return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.noResults", { query });
380
+ return _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.noResults", { query });
301
381
  }
302
382
  const skill = results.find((s) => s.id === selected.value);
303
- if (!skill) return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.noResults", { query });
383
+ if (!skill) return _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.noResults", { query });
304
384
  if (!ctx.workspaceRoot) {
305
385
  return "Workspace root not available for install.";
306
386
  }
307
- return _chunkR33VKSH5cjs.installSkillWithSecurity.call(void 0,
387
+ return _chunkSVVP4UUZcjs.installSkillWithSecurity.call(void 0,
308
388
  { skillsRegistry: ctx.skillsRegistry, workspaceRoot: ctx.workspaceRoot, hookManager: ctx.hookManager, isNonInteractive: ctx.isNonInteractive },
309
389
  skill,
310
390
  cache,
@@ -312,17 +392,17 @@ async function handleSkillsSearch(ctx, query) {
312
392
  );
313
393
  }
314
394
  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);
395
+ const cache = new (0, _chunkPSAH4ZQBcjs.CommunitySkillsCache)();
396
+ const fetcher = new (0, _chunkQW2RW2GYcjs.GitHubRegistryFetcher)();
397
+ const registry = await _chunkSVVP4UUZcjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
318
398
  if (!registry) {
319
399
  return _chalk2.default.red("Unable to fetch community skills registry. Check your network connection.");
320
400
  }
321
- const client = new (0, _chunkR33VKSH5cjs.LearnClient)();
401
+ const client = new (0, _chunkSVVP4UUZcjs.LearnClient)();
322
402
  const trending = client.trending(registry);
323
403
  const lines = [];
324
404
  lines.push("");
325
- lines.push(_chalk2.default.bold(_chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.trendingTitle")));
405
+ lines.push(_chalk2.default.bold(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.trendingTitle")));
326
406
  lines.push("");
327
407
  for (let i = 0; i < trending.length; i++) {
328
408
  const skill = trending[i];
@@ -331,7 +411,7 @@ async function handleSkillsTrending() {
331
411
  const featured = skill.isFeatured ? _chalk2.default.yellow(" [featured]") : "";
332
412
  const downloads = skill.downloadCount ? _chalk2.default.gray(` (${skill.downloadCount} installs)`) : "";
333
413
  lines.push(`${idx} ${name}${featured}${downloads}`);
334
- lines.push(` ${skill.description}`);
414
+ lines.push(` ${skill.description}`);
335
415
  lines.push(` {{action:Install|/skills install @${_nullishCoalesce(skill.author, () => ( "community"))}/${skill.id}}}`);
336
416
  lines.push("");
337
417
  }
@@ -343,16 +423,16 @@ async function handleSkillsRemove(ctx, slug) {
343
423
  }
344
424
  const allSkills = ctx.skillsRegistry.listSkills();
345
425
  const target = allSkills.find(
346
- (s) => _optionalChain([s, 'access', _4 => _4.metadata, 'optionalAccess', _5 => _5["agentskill-slug"]]) === slug || s.name === slug
426
+ (s) => _optionalChain([s, 'access', _8 => _8.metadata, 'optionalAccess', _9 => _9["agentskill-slug"]]) === slug || s.name === slug
347
427
  );
348
428
  if (!target) {
349
- return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.removeNotFound", { name: slug });
429
+ return _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.removeNotFound", { name: slug });
350
430
  }
351
431
  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 }),
432
+ const confirmed = await withModalPause(ctx, () => _chunkCK4HAHVYcjs.showConfirm.call(void 0, {
433
+ title: _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.confirmRemove", { name: target.name }),
354
434
  defaultValue: false
355
- });
435
+ }));
356
436
  if (!confirmed) return null;
357
437
  }
358
438
  const skillDir = _path2.default.dirname(target.path);
@@ -364,7 +444,7 @@ async function handleSkillsRemove(ctx, slug) {
364
444
  activationType: "explicit",
365
445
  action: "remove"
366
446
  });
367
- return _chalk2.default.green(_chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.removed", { name: target.name }));
447
+ return _chalk2.default.green(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.removed", { name: target.name }));
368
448
  } catch (err) {
369
449
  const msg = err instanceof Error ? err.message : "Unknown error";
370
450
  return _chalk2.default.red(`Failed to remove skill: ${msg}`);
@@ -375,13 +455,13 @@ function handleSkillsFeedback(slug, rating, _comment) {
375
455
  return "Usage: /skills feedback <skill-slug> <1-5> [comment]";
376
456
  }
377
457
  if (rating === void 0 || isNaN(rating) || rating < 1 || rating > 5) {
378
- return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.feedbackInvalid");
458
+ return _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.feedbackInvalid");
379
459
  }
380
- return _chunk7BTSG4MEcjs.t.call(void 0, "commands.learn.feedbackThanks", { name: slug });
460
+ return _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.learn.feedbackThanks", { name: slug });
381
461
  }
382
462
  var metadata = {
383
463
  command: "/skills",
384
- description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.skills.description"),
464
+ description: _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.skills.description"),
385
465
  implemented: true,
386
466
  subcommands: [
387
467
  { name: "use", description: "Activate a skill" },
@@ -389,7 +469,8 @@ var metadata = {
389
469
  { name: "search", description: "Search community skills" },
390
470
  { name: "trending", description: "Show trending community skills" },
391
471
  { name: "remove", description: "Remove an installed skill" },
392
- { name: "info", description: "Show detailed skill info" }
472
+ { name: "info", description: "Show detailed skill info" },
473
+ { name: "new", description: "Create a new project skill" }
393
474
  ]
394
475
  };
395
476
  var useMetadata = {
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  DEFAULT_SYNC_CONFIG,
3
3
  createSyncService
4
- } from "./chunk-3PDTTAKJ.js";
5
- import {
6
- getAuthClient
7
- } from "./chunk-VWDHR4HV.js";
4
+ } from "./chunk-V5ELP2XE.js";
8
5
  import {
9
6
  safePrompt
10
- } from "./chunk-6ZCULLCA.js";
7
+ } from "./chunk-MMKZSJUN.js";
8
+ import {
9
+ getAuthClient
10
+ } from "./chunk-6AYJCDTA.js";
11
11
  import {
12
12
  saveConfig
13
- } from "./chunk-ZYVS43MU.js";
13
+ } from "./chunk-IEPLQ47J.js";
14
14
  import {
15
15
  AUTH_CONFIG
16
- } from "./chunk-EGFT4PGW.js";
16
+ } from "./chunk-SHRLFX6F.js";
17
17
  import {
18
18
  t
19
- } from "./chunk-APIXPPMT.js";
19
+ } from "./chunk-LEZEWKPA.js";
20
20
 
21
21
  // src/commands/login.ts
22
22
  import chalk from "chalk";
@@ -27,26 +27,39 @@ var metadata = {
27
27
  };
28
28
  async function openBrowser(url) {
29
29
  try {
30
- const open = await import("open").then((m) => m.default).catch(() => null);
31
- if (open) {
32
- await open(url);
33
- return true;
34
- }
35
- const { exec } = await import("child_process");
30
+ const { exec, execFile } = await import("child_process");
36
31
  const { promisify } = await import("util");
37
32
  const execAsync = promisify(exec);
33
+ const execFileAsync = promisify(execFile);
38
34
  const platform = process.platform;
39
- let command;
40
35
  if (platform === "darwin") {
41
- command = `open "${url}"`;
42
- } else if (platform === "win32") {
43
- command = `start "" "${url}"`;
44
- } else {
45
- command = `xdg-open "${url}"`;
36
+ await execFileAsync("open", [url]);
37
+ return true;
38
+ }
39
+ if (platform === "win32") {
40
+ await execAsync(`start "" "${url}"`);
41
+ return true;
46
42
  }
47
- await execAsync(command);
48
- return true;
43
+ const openers = ["xdg-open", "sensible-browser", "x-www-browser", "firefox", "chromium", "google-chrome"];
44
+ for (const opener of openers) {
45
+ try {
46
+ await execAsync(`command -v ${opener}`);
47
+ await execFileAsync(opener, [url]);
48
+ return true;
49
+ } catch {
50
+ continue;
51
+ }
52
+ }
53
+ console.log(`
54
+ Please open this URL manually:
55
+ ${url}
56
+ `);
57
+ return false;
49
58
  } catch {
59
+ console.log(`
60
+ Please open this URL manually:
61
+ ${url}
62
+ `);
50
63
  return false;
51
64
  }
52
65
  }
@@ -117,7 +130,9 @@ async function login(ctx) {
117
130
  console.log();
118
131
  console.log(chalk.green(t("commands.login.success", { email: pollResult.user.name || pollResult.user.email })));
119
132
  console.log();
120
- await checkAndRestoreSyncData(pollResult.token, pollResult.user.id, updatedConfig);
133
+ if (process.stdin.isTTY && process.stdout.isTTY) {
134
+ await checkAndRestoreSyncData(pollResult.token, pollResult.user.id, updatedConfig);
135
+ }
121
136
  return null;
122
137
  }
123
138
  if (pollResult.status === "expired") {
@@ -125,6 +140,11 @@ async function login(ctx) {
125
140
  console.log(chalk.red("Authorization code expired. Please try again."));
126
141
  return null;
127
142
  }
143
+ if (pollResult.status === "cancelled") {
144
+ process.stdout.write("\r" + " ".repeat(20) + "\r");
145
+ console.log(chalk.yellow("Authentication cancelled. Run /login again when you are ready."));
146
+ return null;
147
+ }
128
148
  }
129
149
  process.stdout.write("\r" + " ".repeat(20) + "\r");
130
150
  console.log(chalk.red("Authorization timed out. Please try again."));
@@ -141,7 +161,7 @@ async function checkAndRestoreSyncData(token, userId, config) {
141
161
  enabled: true
142
162
  }
143
163
  });
144
- const { getSyncApiClient } = await import("./SyncApiClient-B5RT2ECG.js");
164
+ const { getSyncApiClient } = await import("./SyncApiClient-G3FM65IV.js");
145
165
  const apiClient = getSyncApiClient();
146
166
  const remoteManifest = await apiClient.getRemoteManifest(token);
147
167
  if (!remoteManifest || remoteManifest.files.length === 0) {
@@ -2,6 +2,8 @@
2
2
  var DEFAULT_REPO = "autohandai/community-skills";
3
3
  var DEFAULT_BRANCH = "main";
4
4
  var GitHubRegistryFetcher = class {
5
+
6
+
5
7
  constructor(config = {}) {
6
8
  const repo = config.repo || DEFAULT_REPO;
7
9
  const branch = config.branch || DEFAULT_BRANCH;
@@ -0,0 +1,114 @@
1
+ // src/core/immediateCommandRouter.ts
2
+ import chalk from "chalk";
3
+ function renderTerminalMarkdown(text) {
4
+ if (!text) return text;
5
+ let result = text.replace(
6
+ /\*\*([^*]+)\*\*/g,
7
+ (_match, content) => chalk.bold(content)
8
+ );
9
+ result = result.replace(
10
+ /(^|[\s(])_([^_]+)_(?=[\s),.:;!?]|$)/gm,
11
+ (_match, before, content) => `${before}${chalk.italic(content)}`
12
+ );
13
+ return result;
14
+ }
15
+ function routeOutput(text, opts) {
16
+ const rendered = renderTerminalMarkdown(text);
17
+ if (opts.persistentInputActiveTurn && !opts.terminalRegionsDisabled) {
18
+ opts.writeAbove(`${rendered}
19
+ `);
20
+ } else {
21
+ console.log(rendered);
22
+ }
23
+ }
24
+ function createBufferedRouteOutput(opts, transform = (text) => text) {
25
+ let pending = "";
26
+ const flushLine = (line) => {
27
+ routeOutput(transform(line), opts);
28
+ };
29
+ return {
30
+ push(chunk) {
31
+ pending += chunk;
32
+ while (true) {
33
+ const newlineIndex = pending.indexOf("\n");
34
+ const carriageIndex = pending.indexOf("\r");
35
+ const boundaryCandidates = [newlineIndex, carriageIndex].filter((value) => value >= 0);
36
+ if (boundaryCandidates.length === 0) {
37
+ break;
38
+ }
39
+ const boundaryIndex = Math.min(...boundaryCandidates);
40
+ const boundaryWidth = pending[boundaryIndex] === "\r" && pending[boundaryIndex + 1] === "\n" ? 2 : 1;
41
+ const line = pending.slice(0, boundaryIndex);
42
+ pending = pending.slice(boundaryIndex + boundaryWidth);
43
+ flushLine(line);
44
+ }
45
+ },
46
+ flush() {
47
+ if (!pending) {
48
+ return;
49
+ }
50
+ flushLine(pending);
51
+ pending = "";
52
+ }
53
+ };
54
+ }
55
+ function formatImmediateShellCommandHeader(command) {
56
+ return `You ran ${command}`;
57
+ }
58
+ function createImmediateShellCommandBlockWriter(command, opts) {
59
+ let pending = "";
60
+ let pendingStream = "stdout";
61
+ let lineIndex = 0;
62
+ routeOutput(chalk.cyan(formatImmediateShellCommandHeader(command)), opts);
63
+ const flushLine = (line, stream) => {
64
+ const prefix = lineIndex === 0 ? " \u2514 " : " ";
65
+ const renderedLine = `${prefix}${line}`;
66
+ routeOutput(stream === "stderr" ? chalk.red(renderedLine) : renderedLine, opts);
67
+ lineIndex += 1;
68
+ };
69
+ const push = (chunk, stream) => {
70
+ pendingStream = stream;
71
+ pending += chunk;
72
+ while (true) {
73
+ const newlineIndex = pending.indexOf("\n");
74
+ const carriageIndex = pending.indexOf("\r");
75
+ const boundaryCandidates = [newlineIndex, carriageIndex].filter((value) => value >= 0);
76
+ if (boundaryCandidates.length === 0) {
77
+ break;
78
+ }
79
+ const boundaryIndex = Math.min(...boundaryCandidates);
80
+ const boundaryWidth = pending[boundaryIndex] === "\r" && pending[boundaryIndex + 1] === "\n" ? 2 : 1;
81
+ const line = pending.slice(0, boundaryIndex);
82
+ pending = pending.slice(boundaryIndex + boundaryWidth);
83
+ flushLine(line, stream);
84
+ }
85
+ };
86
+ return {
87
+ pushStdout(chunk) {
88
+ push(chunk, "stdout");
89
+ },
90
+ pushStderr(chunk) {
91
+ push(chunk, "stderr");
92
+ },
93
+ flush() {
94
+ if (!pending) {
95
+ return;
96
+ }
97
+ flushLine(pending, pendingStream);
98
+ pending = "";
99
+ }
100
+ };
101
+ }
102
+
103
+ export {
104
+ renderTerminalMarkdown,
105
+ routeOutput,
106
+ createBufferedRouteOutput,
107
+ formatImmediateShellCommandHeader,
108
+ createImmediateShellCommandBlockWriter
109
+ };
110
+ /**
111
+ * @license
112
+ * Copyright 2025 Autohand AI LLC
113
+ * SPDX-License-Identifier: Apache-2.0
114
+ */