autohand-cli 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/README.md +118 -76
  2. package/dist/AgentRegistry-BBQRODQC.cjs +18 -0
  3. package/dist/AgentRegistry-JBXZUPML.js +18 -0
  4. package/dist/{CommunitySkillsCache-ZEQWP6YM.js → CommunitySkillsCache-CI7UN2DX.js} +2 -2
  5. package/dist/CommunitySkillsCache-XTQ6RMTA.cjs +8 -0
  6. package/dist/{HookManager-CWLTFKWO.js → HookManager-BELBPQQI.js} +1 -1
  7. package/dist/{HookManager-TMAJQU4S.cjs → HookManager-ZL2CLAJW.cjs} +2 -2
  8. package/dist/{ImportWizard-MQXEED2U.cjs → ImportWizard-U6CIJREW.cjs} +13 -13
  9. package/dist/{ImportWizard-QBKQEXDW.js → ImportWizard-VJFSWSUQ.js} +4 -4
  10. package/dist/LearnAdvisor-LAURA3IB.cjs +9 -0
  11. package/dist/LearnAdvisor-RFOBXFG7.js +9 -0
  12. package/dist/MemoryManager-3A2VRPF2.js +9 -0
  13. package/dist/MemoryManager-UOEQZIDC.cjs +9 -0
  14. package/dist/{NVIDIAProvider-2HR737UE.js → NVIDIAProvider-AFNJNWJM.js} +1 -1
  15. package/dist/NVIDIAProvider-L5GTYRCQ.cjs +14 -0
  16. package/dist/{PermissionManager-KMYILJ4Z.js → PermissionManager-N2LDSOYF.js} +3 -3
  17. package/dist/PermissionManager-ZNURIEYR.cjs +11 -0
  18. package/dist/ProviderFactory-3BFS65V7.cjs +13 -0
  19. package/dist/{ProviderFactory-HFPRVQ25.js → ProviderFactory-XUT6BSGB.js} +4 -2
  20. package/dist/SessionManager-LGPQIA57.cjs +10 -0
  21. package/dist/{SessionManager-PNBTJJTQ.js → SessionManager-OR4KDDDS.js} +2 -2
  22. package/dist/{SkillsRegistry-4RRD5GMX.js → SkillsRegistry-IL3GWROU.js} +2 -2
  23. package/dist/SkillsRegistry-PM34DQNA.cjs +9 -0
  24. package/dist/SubAgent-2WG4QQB5.cjs +13 -0
  25. package/dist/SubAgent-ICGN23TQ.js +13 -0
  26. package/dist/{SyncApiClient-LRPFNCKJ.js → SyncApiClient-G3FM65IV.js} +1 -1
  27. package/dist/SyncApiClient-ODBDECOG.cjs +11 -0
  28. package/dist/{about-BW3PDZUU.js → about-OYVGQMJJ.js} +5 -4
  29. package/dist/about-U2BH7HDR.cjs +15 -0
  30. package/dist/{acp-VHEL7BOW.js → acp-JWHGXZL5.js} +207 -102
  31. package/dist/{acp-EOETGAHC.cjs → acp-S37JOBCS.cjs} +226 -121
  32. package/dist/actionExecutor-2QEPMELQ.cjs +28 -0
  33. package/dist/actionExecutor-6NCCORRB.js +28 -0
  34. package/dist/add-dir-KFUHSIR2.cjs +11 -0
  35. package/dist/{add-dir-VFX7QT4E.js → add-dir-MM2BM2Z2.js} +2 -2
  36. package/dist/agent-DUIYLIVN.js +132 -0
  37. package/dist/agent-YYEHGDAK.cjs +132 -0
  38. package/dist/agents-GBGG4CW7.cjs +19 -0
  39. package/dist/agents-ZH34C72F.js +19 -0
  40. package/dist/agents-new-ERXLS7SB.cjs +17 -0
  41. package/dist/agents-new-EVTGPTA4.js +17 -0
  42. package/dist/{autoSkill-EFMK6WU6.js → autoSkill-HEWKJ5JV.js} +2 -2
  43. package/dist/autoSkill-YL6PN6AV.cjs +20 -0
  44. package/dist/automode-4BJ7FNPL.cjs +10 -0
  45. package/dist/{automode-BMYSRM34.js → automode-S4U7A7Q2.js} +2 -2
  46. package/dist/chrome-45ZXHL5N.cjs +22 -0
  47. package/dist/{chrome-NHJ44WUN.js → chrome-BBSRVG6S.js} +2 -2
  48. package/dist/chrome-IFVZRHAT.cjs +50 -0
  49. package/dist/chrome-MYE6DNA2.js +22 -0
  50. package/dist/chunk-24CEJYEG.cjs +579 -0
  51. package/dist/{chunk-47PHDKNW.cjs → chunk-255GIVM2.cjs} +6 -6
  52. package/dist/{chunk-DIZTWFVR.cjs → chunk-2BDSR2OW.cjs} +238 -61
  53. package/dist/{chunk-BL2UC7HC.js → chunk-2BPIR7LA.js} +121 -4
  54. package/dist/{chunk-BQ22N3TX.cjs → chunk-2NY7OHBF.cjs} +47 -27
  55. package/dist/chunk-2WUNHTXL.js +303 -0
  56. package/dist/{chunk-HQWQZML5.cjs → chunk-34B6ZO6W.cjs} +124 -7
  57. package/dist/{chunk-5JTTM5SC.js → chunk-3BJN7GAH.js} +1 -1
  58. package/dist/{chunk-4256YRCO.cjs → chunk-3CAXECWJ.cjs} +30 -17
  59. package/dist/{chunk-KNTUI4TZ.cjs → chunk-3CBYUBZC.cjs} +5 -5
  60. package/dist/chunk-3DF3GZQ7.js +277 -0
  61. package/dist/{chunk-E26KKI46.cjs → chunk-3JURXAL6.cjs} +61 -8
  62. package/dist/{chunk-MOJ7ADW4.cjs → chunk-3KWAP2Y3.cjs} +88 -9
  63. package/dist/{chunk-OHWMWKJQ.js → chunk-3MCK6UBL.js} +1 -1
  64. package/dist/{chunk-5VHP6HDQ.js → chunk-3TH7IK4M.js} +62 -9
  65. package/dist/{chunk-ACDQGA4Z.js → chunk-3V77OB3W.js} +7 -72
  66. package/dist/{chunk-HS4USDND.cjs → chunk-3Y5UEK7K.cjs} +4 -4
  67. package/dist/{chunk-XV2HXRHX.js → chunk-4GPPSBEZ.js} +3 -3
  68. package/dist/chunk-5CMBAJ6K.js +377 -0
  69. package/dist/{chunk-MO4KP6XS.cjs → chunk-5YRXFBYZ.cjs} +35 -6
  70. package/dist/chunk-5ZNYX4VH.cjs +71 -0
  71. package/dist/chunk-6AC2TT26.js +156 -0
  72. package/dist/{chunk-UGFVM77J.cjs → chunk-6EIQ6A6U.cjs} +2 -2
  73. package/dist/{chunk-SWCQM52V.js → chunk-6HSEDXVF.js} +4 -4
  74. package/dist/{chunk-QQ7PANOP.js → chunk-6NUXK62F.js} +1 -1
  75. package/dist/{chunk-5CMYEM3R.cjs → chunk-6TGCAPYH.cjs} +62 -9
  76. package/dist/{chunk-NMQ47RCG.js → chunk-6W3SZCSP.js} +1 -1
  77. package/dist/{chunk-VRMZO6TB.js → chunk-73LV3DDZ.js} +7 -6
  78. package/dist/{chunk-3GUEUCZK.js → chunk-7BGGLIQF.js} +85 -1
  79. package/dist/{chunk-RBHANOYY.js → chunk-7DJJGKM6.js} +47 -3
  80. package/dist/{chunk-LQBONA55.cjs → chunk-7EEK7CRR.cjs} +85 -1
  81. package/dist/chunk-7TO3PDMV.cjs +324 -0
  82. package/dist/chunk-7UU22RSH.cjs +277 -0
  83. package/dist/{chunk-E6GFD7VR.cjs → chunk-A3GAM6FM.cjs} +11 -11
  84. package/dist/{chunk-DEQVRSV5.cjs → chunk-A7DJU75T.cjs} +8 -8
  85. package/dist/{chunk-DPSIGY6L.cjs → chunk-AAAO4ERQ.cjs} +9 -9
  86. package/dist/{chunk-FQAVGSPW.js → chunk-AAJLMP57.js} +2 -2
  87. package/dist/chunk-ABR756QN.js +529 -0
  88. package/dist/{chunk-JYKPWK5O.js → chunk-APFGDIPD.js} +3 -1
  89. package/dist/{chunk-Y3M2DABP.js → chunk-APQYRMYL.js} +4 -4
  90. package/dist/{chunk-Q2IL4DDI.cjs → chunk-AZKOIF2G.cjs} +62 -19
  91. package/dist/{chunk-MXVIDIC6.cjs → chunk-AZLHUPNC.cjs} +2 -2
  92. package/dist/chunk-B55VCYSQ.cjs +30 -0
  93. package/dist/{chunk-WZV6UVPY.js → chunk-BLQUMSM3.js} +1 -1
  94. package/dist/{chunk-PHJO5YAL.cjs → chunk-BXKPX6K4.cjs} +9 -9
  95. package/dist/{chunk-3KLSNNRW.cjs → chunk-C66FN2LP.cjs} +4 -4
  96. package/dist/{chunk-OV3PVUYN.js → chunk-CH7KUFAS.js} +9 -9
  97. package/dist/{chunk-CWINVFRI.cjs → chunk-CILSXOPI.cjs} +17 -17
  98. package/dist/{chunk-3UT7R3XV.js → chunk-CM24K6ZT.js} +145 -12
  99. package/dist/chunk-CMEZ42F2.cjs +303 -0
  100. package/dist/{chunk-46C73ZKK.cjs → chunk-CNQKIWIS.cjs} +152 -19
  101. package/dist/{chunk-5JFTY3VU.js → chunk-CSTUTDTH.js} +2 -1
  102. package/dist/{chunk-REMGR23V.cjs → chunk-CSUGNNJY.cjs} +10 -4
  103. package/dist/{chunk-TBOLJDUG.js → chunk-D6HB3H3L.js} +31 -11
  104. package/dist/{chunk-OM24WXEE.js → chunk-D7AYKVKW.js} +2 -2
  105. package/dist/{chunk-6GUODJKM.cjs → chunk-DLCXWOWT.cjs} +23 -23
  106. package/dist/{chunk-CH2J4PVE.cjs → chunk-DMM2BKSV.cjs} +121 -28
  107. package/dist/{chunk-M4KNC5BQ.js → chunk-DW3DPV77.js} +1 -1
  108. package/dist/chunk-ECQD2QC3.cjs +33 -0
  109. package/dist/{chunk-UEIXJG45.js → chunk-EEYOS3UC.js} +116 -80
  110. package/dist/{chunk-7HPWMALN.js → chunk-EF2EN5CR.js} +2 -2
  111. package/dist/{chunk-7LWQCE4Y.cjs → chunk-EFXFURDY.cjs} +192 -58
  112. package/dist/chunk-EK34UZPB.cjs +40 -0
  113. package/dist/{chunk-7JLT2VNW.cjs → chunk-FJR6EZLO.cjs} +9666 -7201
  114. package/dist/{chunk-GZ6DV2UG.js → chunk-FPO7YNPQ.js} +1 -1
  115. package/dist/{chunk-O64I2GYI.js → chunk-FS4I6BNR.js} +1 -1
  116. package/dist/{chunk-MX75JYIY.js → chunk-FSJ2MNOC.js} +3 -3
  117. package/dist/{chunk-7RFJB75Y.js → chunk-GEHZMC4G.js} +11 -8
  118. package/dist/{chunk-UWFG2R2I.cjs → chunk-GO6C2RAR.cjs} +36 -9
  119. package/dist/{chunk-WGLBC5AY.cjs → chunk-GSMR6V36.cjs} +4 -4
  120. package/dist/{chunk-Z3XSSF7B.js → chunk-GSZWATME.js} +1 -1
  121. package/dist/{chunk-7MU7LWF3.cjs → chunk-GYLGCR6F.cjs} +5 -5
  122. package/dist/{chunk-O6TQP7U7.cjs → chunk-H3OOWNYQ.cjs} +3 -3
  123. package/dist/{chunk-2QL6MNXG.js → chunk-H65446XW.js} +115 -20
  124. package/dist/chunk-H7HXRRHK.js +324 -0
  125. package/dist/{chunk-ZZ63NW7A.cjs → chunk-HN2JTDN5.cjs} +17 -17
  126. package/dist/{chunk-AOKCI722.cjs → chunk-HNXUZ5OY.cjs} +2 -2
  127. package/dist/{chunk-AUYSIEVV.cjs → chunk-HOYT3E65.cjs} +3 -3
  128. package/dist/{chunk-DMRXF5DU.js → chunk-HTPY5ESD.js} +3 -3
  129. package/dist/chunk-HTU4W3GB.js +183 -0
  130. package/dist/{chunk-3DDL2E55.cjs → chunk-HVLWH2AF.cjs} +10 -10
  131. package/dist/{chunk-HSCUPEA4.cjs → chunk-HZTEU4W5.cjs} +74 -105
  132. package/dist/{chunk-XGMI6IYB.cjs → chunk-I5T7LPFP.cjs} +7 -7
  133. package/dist/{chunk-XIVFAD2L.js → chunk-IB5CJXE7.js} +173 -12
  134. package/dist/chunk-INNXFLDR.cjs +388 -0
  135. package/dist/{chunk-75EDROHL.cjs → chunk-JFLEP3T7.cjs} +10 -10
  136. package/dist/chunk-JJGDOBFL.js +40 -0
  137. package/dist/{chunk-VBOFPU5M.cjs → chunk-JM3ZTQUK.cjs} +13 -9
  138. package/dist/{chunk-HJIXWGQZ.js → chunk-JSU46T6K.js} +1 -1
  139. package/dist/{chunk-AT7OWLY5.js → chunk-K6WN6BT4.js} +1 -1
  140. package/dist/{chunk-LN7D3EJZ.js → chunk-KA2U6MY2.js} +4 -3
  141. package/dist/{chunk-3S563FNF.cjs → chunk-KIQH3SMT.cjs} +34 -31
  142. package/dist/{chunk-BWF4VDYE.js → chunk-KPRXHIE2.js} +54 -85
  143. package/dist/{chunk-Z4LIPMPM.js → chunk-L6OH44HL.js} +13 -9
  144. package/dist/{chunk-A7HHCIDQ.js → chunk-LIO3RX2Z.js} +2 -2
  145. package/dist/{chunk-DLP436GI.js → chunk-LOSXLH7P.js} +110 -17
  146. package/dist/{chunk-IEXKKKOF.cjs → chunk-LSOR72PB.cjs} +23 -23
  147. package/dist/{chunk-IAGCRVJ3.js → chunk-MA3AVDCC.js} +55 -12
  148. package/dist/{chunk-B5CGDNMR.js → chunk-ME3S2WIR.js} +3 -3
  149. package/dist/{chunk-HKYZSUQ5.js → chunk-NC2I2M4P.js} +4 -4
  150. package/dist/{chunk-GBMDFWJX.cjs → chunk-NC4A4LVC.cjs} +13 -13
  151. package/dist/{chunk-E46DJH5S.js → chunk-NGEK5FCJ.js} +176 -3
  152. package/dist/{chunk-TQ33WBY5.cjs → chunk-NHWHEW7M.cjs} +2 -1
  153. package/dist/{chunk-62RTC3XX.js → chunk-NKW6CHXQ.js} +1 -1
  154. package/dist/{chunk-3PXKRVCW.js → chunk-NOWCRKP2.js} +10 -4
  155. package/dist/{chunk-HXJEGMGB.js → chunk-NUB2LMB6.js} +2 -2
  156. package/dist/chunk-NVATU4V6.cjs +44 -0
  157. package/dist/chunk-O246MKIW.cjs +267 -0
  158. package/dist/{chunk-QCHIDZBA.js → chunk-OGFWL2PS.js} +1 -1
  159. package/dist/{chunk-JJ4KA7HK.cjs → chunk-ONNGAR6W.cjs} +415 -551
  160. package/dist/{chunk-TKKN34TV.js → chunk-OOFR6A62.js} +33 -4
  161. package/dist/{chunk-6NVAK6CK.js → chunk-OZ7FHO7J.js} +2 -2
  162. package/dist/{chunk-2CGE7ZV3.cjs → chunk-P5EWGUI2.cjs} +201 -28
  163. package/dist/{chunk-GGLKUENP.js → chunk-P6BQJPAI.js} +191 -14
  164. package/dist/{chunk-TWQDAUZU.js → chunk-PG2JIU5M.js} +60 -7
  165. package/dist/chunk-PI27G2ED.cjs +377 -0
  166. package/dist/{chunk-YV63VW4K.js → chunk-PI7LRPL6.js} +1 -1
  167. package/dist/{chunk-TXPSTCG7.cjs → chunk-PMPEC5HN.cjs} +18 -15
  168. package/dist/{chunk-ROLA6EFO.cjs → chunk-PYUP7AKY.cjs} +14 -14
  169. package/dist/{chunk-BFQDQRDE.js → chunk-QC5Z3ZT5.js} +2 -2
  170. package/dist/chunk-QDO4L2A7.cjs +156 -0
  171. package/dist/{chunk-LFDPTJYF.cjs → chunk-QDXRI5AM.cjs} +1 -1
  172. package/dist/{chunk-3LJJG5YY.cjs → chunk-QLZOMZO5.cjs} +4 -3
  173. package/dist/chunk-QVXMSQOG.js +430 -0
  174. package/dist/{chunk-ZHJ7JGME.cjs → chunk-R4UKBKDY.cjs} +11 -11
  175. package/dist/{chunk-IGMPWJ2I.cjs → chunk-R75AWII3.cjs} +118 -23
  176. package/dist/{chunk-VGEV44V2.cjs → chunk-RD5PLUIX.cjs} +191 -30
  177. package/dist/{chunk-I24CWKKK.js → chunk-RGB34CV5.js} +3 -3
  178. package/dist/{chunk-CHI52KFR.cjs → chunk-RJCZLFHE.cjs} +246 -39
  179. package/dist/{chunk-D2OSPLYC.cjs → chunk-RKWNM2BJ.cjs} +2 -2
  180. package/dist/{chunk-FGT6KK6T.js → chunk-RMVONICR.js} +3 -3
  181. package/dist/{chunk-Q6AC3PHY.cjs → chunk-RPSYRJL7.cjs} +10 -4
  182. package/dist/chunk-RS2E32YB.js +71 -0
  183. package/dist/chunk-RWKU2X7O.js +388 -0
  184. package/dist/chunk-RZLEGVMH.cjs +565 -0
  185. package/dist/{chunk-5F6ZKSHO.js → chunk-S2L3Y677.js} +1 -1
  186. package/dist/{chunk-ARBEHFCG.js → chunk-S7KVUIOS.js} +1 -1
  187. package/dist/{chunk-AC7DZ6SK.cjs → chunk-SACJJ6NO.cjs} +5 -3
  188. package/dist/{chunk-IKUMVBCW.cjs → chunk-SD3NTC7D.cjs} +48 -4
  189. package/dist/{chunk-CBFH2J3O.js → chunk-SJQU2ZFR.js} +246 -39
  190. package/dist/{chunk-GWO66KBI.js → chunk-SKAQKQFF.js} +12 -2
  191. package/dist/chunk-T4DXP5OP.js +30 -0
  192. package/dist/{chunk-CFFE4VA3.js → chunk-T6FTB6K2.js} +1 -1
  193. package/dist/{chunk-U4C3HW6P.js → chunk-T6N6GRFT.js} +13 -10
  194. package/dist/{chunk-D6GZBSOX.js → chunk-TJFKA6A7.js} +82 -3
  195. package/dist/{chunk-2HOLOHVK.js → chunk-TJZUPS4Z.js} +163 -299
  196. package/dist/{chunk-RBZ7AFX7.cjs → chunk-TLKHZ425.cjs} +2 -2
  197. package/dist/{chunk-J2K57QM7.cjs → chunk-TQ24NLXO.cjs} +6 -6
  198. package/dist/{chunk-LUMV3DB2.js → chunk-TWBAU46X.js} +1 -1
  199. package/dist/{chunk-OPNI6O7F.cjs → chunk-TZB5XADL.cjs} +4 -4
  200. package/dist/{chunk-6HH236FV.cjs → chunk-UAYXZXWU.cjs} +4 -4
  201. package/dist/{chunk-MPULXVC4.cjs → chunk-UKBFNBDO.cjs} +11 -11
  202. package/dist/chunk-UMJYX5KD.js +565 -0
  203. package/dist/chunk-USKYTHDL.cjs +235 -0
  204. package/dist/chunk-V4HGZSKQ.cjs +183 -0
  205. package/dist/{chunk-MQESBFBZ.cjs → chunk-VAJUSZMC.cjs} +21 -20
  206. package/dist/{chunk-PQLKJCIE.js → chunk-VGQG4NBJ.js} +2 -2
  207. package/dist/chunk-VLUIVJ3J.js +235 -0
  208. package/dist/chunk-VOBINVMV.cjs +430 -0
  209. package/dist/{chunk-L4F7SUYL.js → chunk-VSHKKCSH.js} +16 -5
  210. package/dist/{chunk-LDJQ5QHG.cjs → chunk-VSZU3MGA.cjs} +28 -17
  211. package/dist/{chunk-YFXTE422.cjs → chunk-VWHAUB77.cjs} +8 -3
  212. package/dist/{chunk-EZJHLOWP.js → chunk-VXGYFX45.js} +20 -7
  213. package/dist/{chunk-JIMSII7R.js → chunk-WH6YUQDB.js} +193 -59
  214. package/dist/{chunk-VKBIE6I6.js → chunk-WQ6TD55V.js} +2 -2
  215. package/dist/{chunk-ZR46OJNZ.js → chunk-WQWECXTY.js} +3 -3
  216. package/dist/{chunk-SOLBYSLY.cjs → chunk-WVDJUJH6.cjs} +2 -2
  217. package/dist/{chunk-QKP772OZ.js → chunk-X24VIVDZ.js} +963 -103
  218. package/dist/{chunk-37M5UM6I.js → chunk-X4NRTLXD.js} +7 -1
  219. package/dist/chunk-X53SHYCG.js +27 -0
  220. package/dist/{chunk-PUD76XQT.cjs → chunk-XB2Z4ZAK.cjs} +5 -5
  221. package/dist/chunk-Y47OJGLB.cjs +27 -0
  222. package/dist/{chunk-WRTXCQ3V.cjs → chunk-Y4MN27V3.cjs} +1080 -220
  223. package/dist/{chunk-ZK6HOR62.js → chunk-YEHFYZFU.js} +7 -2
  224. package/dist/{chunk-FFBDRUO5.cjs → chunk-YICIUY23.cjs} +1 -1
  225. package/dist/{chunk-PDHT7LQS.cjs → chunk-YMXYC777.cjs} +3 -3
  226. package/dist/{chunk-TJNBASFD.cjs → chunk-Z3GRWK6O.cjs} +8 -8
  227. package/dist/{chunk-JP3YHTQ2.cjs → chunk-Z5GG2KSL.cjs} +4 -4
  228. package/dist/{chunk-ZPD2AO3U.js → chunk-ZER7DYQK.js} +2 -2
  229. package/dist/{chunk-UXLW45ZE.cjs → chunk-ZFDXZEZJ.cjs} +25 -90
  230. package/dist/chunk-ZFV4HJA6.js +579 -0
  231. package/dist/chunk-ZHMYTI5D.cjs +529 -0
  232. package/dist/{chunk-CCVMREXI.js → chunk-ZLR2TFBC.js} +35 -8
  233. package/dist/{chunk-J5ADZN6V.cjs → chunk-ZTWNU5QZ.cjs} +20 -20
  234. package/dist/chunk-ZUYYHKQA.js +44 -0
  235. package/dist/{chunk-AUFNACED.js → chunk-ZVLVLDYN.js} +9086 -6621
  236. package/dist/clear-AJGXD2BB.cjs +12 -0
  237. package/dist/{clear-OFLFQ3MR.js → clear-HAHDSWKW.js} +3 -3
  238. package/dist/communityInstaller-IRR6M3N6.cjs +22 -0
  239. package/dist/{communityInstaller-COB2KTOW.js → communityInstaller-OLKEUGMX.js} +6 -6
  240. package/dist/completion-G7Z436TF.cjs +17 -0
  241. package/dist/{completion-PT4VM2H2.js → completion-ZS3AXJ6A.js} +5 -5
  242. package/dist/{config-R4O7GBTY.js → config-OWYAQPCX.js} +5 -3
  243. package/dist/config-W2BHT2QE.cjs +22 -0
  244. package/dist/{constants-HVCHVQAF.js → constants-AS6K67AA.js} +5 -3
  245. package/dist/constants-B4W5BT7F.cjs +23 -0
  246. package/dist/{export-3PK3VFCE.js → export-5HIU3KMD.js} +5 -5
  247. package/dist/export-GFD32UY2.cjs +15 -0
  248. package/dist/{extractSessionMemories-A2JX5WJ2.js → extractSessionMemories-K6ZVAW2F.js} +1 -1
  249. package/dist/{extractSessionMemories-XL3MS37F.cjs → extractSessionMemories-LLOIJR5U.cjs} +2 -2
  250. package/dist/feature-KP74CZ3F.cjs +14 -0
  251. package/dist/feature-OPNVMB2E.js +14 -0
  252. package/dist/features-LT55MURX.cjs +24 -0
  253. package/dist/features-ZDIU26WX.js +24 -0
  254. package/dist/feedback-7WTJFQ6S.js +18 -0
  255. package/dist/feedback-CEOJ3453.cjs +18 -0
  256. package/dist/go-2CY5SZNR.js +16 -0
  257. package/dist/go-O2CSQON4.cjs +16 -0
  258. package/dist/goal-DL2N2AWT.cjs +16 -0
  259. package/dist/goal-IJS7VZSG.js +16 -0
  260. package/dist/help-RNOGDEBA.cjs +12 -0
  261. package/dist/{help-X3OAZ3CY.js → help-TCWD2IRH.js} +2 -2
  262. package/dist/{history-YKFPHBJN.js → history-ATOR5OQV.js} +2 -2
  263. package/dist/history-UUSGX2AL.cjs +14 -0
  264. package/dist/{hooks-7TA4PIIB.js → hooks-R3Z5QKUP.js} +6 -6
  265. package/dist/hooks-RWM5UY67.cjs +18 -0
  266. package/dist/{i18n-2KBUU7XL.js → i18n-4QI4TD4I.js} +1 -1
  267. package/dist/i18n-MFAEU5RV.cjs +33 -0
  268. package/dist/ide-6PBTCCUQ.js +15 -0
  269. package/dist/ide-UE3G7NMQ.cjs +15 -0
  270. package/dist/{import-I7T4ZHYL.cjs → import-2IG76KAN.cjs} +6 -4
  271. package/dist/{import-JWPYKXCZ.js → import-E47QL4DW.js} +2 -2
  272. package/dist/import-NQDNBFUL.cjs +10 -0
  273. package/dist/{import-4CHYLS4K.js → import-VQIHGJWS.js} +6 -4
  274. package/dist/index.cjs +512 -305
  275. package/dist/index.d.cts +40 -0
  276. package/dist/index.d.ts +40 -0
  277. package/dist/index.js +402 -195
  278. package/dist/init-DX3RDGDT.cjs +10 -0
  279. package/dist/{init-262MWZV4.js → init-Q54OAAFZ.js} +2 -2
  280. package/dist/{inputPrompt-YGBHDUEP.js → inputPrompt-V2VBDRM7.js} +3 -3
  281. package/dist/inputPrompt-WVGVWAHS.cjs +90 -0
  282. package/dist/language-I6KXAOXD.js +23 -0
  283. package/dist/language-XMIVOH5E.cjs +23 -0
  284. package/dist/learn-JPVVGTKU.js +23 -0
  285. package/dist/learn-NLSHI2MZ.cjs +23 -0
  286. package/dist/login-NABQYLYC.cjs +28 -0
  287. package/dist/login-XPOVFSWN.js +28 -0
  288. package/dist/logout-HNHCGB4Q.js +25 -0
  289. package/dist/logout-SKGDXJSW.cjs +25 -0
  290. package/dist/{mcp-5O6PUL4G.js → mcp-EN73YFGZ.js} +8 -6
  291. package/dist/mcp-TADZCPJQ.cjs +22 -0
  292. package/dist/{mcp-install-P6DHES7V.cjs → mcp-install-2GKWWBAS.cjs} +15 -13
  293. package/dist/{mcp-install-6XWXLFVY.js → mcp-install-3TBTVSHW.js} +10 -8
  294. package/dist/memory-GRXFTDIN.cjs +10 -0
  295. package/dist/{memory-Q54CESNM.js → memory-K2P3CDCH.js} +2 -2
  296. package/dist/{model-6AJ77PJG.js → model-DEG22OWA.js} +2 -2
  297. package/dist/model-OSD74T7Z.cjs +10 -0
  298. package/dist/new-4NWBOATU.cjs +12 -0
  299. package/dist/{new-ZXHEWC2S.js → new-KJAP2MB6.js} +3 -3
  300. package/dist/onboarding-2U5WE2OA.js +39 -0
  301. package/dist/onboarding-5DZFCO5Q.cjs +39 -0
  302. package/dist/permissions-KY5I6YQ3.cjs +10 -0
  303. package/dist/{permissions-YHJMVA6L.js → permissions-TKYON7PP.js} +2 -2
  304. package/dist/{plan-YYUAXPTL.js → plan-DYHHLZSS.js} +1 -1
  305. package/dist/plan-PYKP652W.cjs +13 -0
  306. package/dist/quit-GSKJL42O.js +14 -0
  307. package/dist/quit-TQSRTBUT.cjs +14 -0
  308. package/dist/{registry-34GL6BNJ.js → registry-EZ4V4TUQ.js} +1339 -1
  309. package/dist/{registry-V24W7YK6.cjs → registry-LCWYI4IB.cjs} +1378 -40
  310. package/dist/resume-4VWJXARX.cjs +17 -0
  311. package/dist/resume-TLHWWWFN.js +17 -0
  312. package/dist/{review-QHP2KP4Q.js → review-CSK4IYTO.js} +1 -1
  313. package/dist/review-XLJEUH5K.cjs +9 -0
  314. package/dist/{rpc-S3DGW6KV.js → rpc-3DLQBDWU.js} +301 -130
  315. package/dist/{rpc-NPS3PU4O.cjs → rpc-O36WUU3L.cjs} +399 -228
  316. package/dist/search-DSX2CY4A.cjs +22 -0
  317. package/dist/search-I3QUDUQL.js +22 -0
  318. package/dist/sessionBranching-DVNOUWJT.cjs +19 -0
  319. package/dist/sessionBranching-FKV4CR36.js +19 -0
  320. package/dist/sessions-3JUOT3ED.cjs +10 -0
  321. package/dist/{sessions-IYAXMK23.js → sessions-VWMDIPOS.js} +2 -2
  322. package/dist/settings-FT2LZZUV.js +45 -0
  323. package/dist/settings-RL4KNWHB.cjs +45 -0
  324. package/dist/setup-HQEJVOYT.js +32 -0
  325. package/dist/setup-MN54LKOL.cjs +32 -0
  326. package/dist/share-BUAFZNBX.cjs +17 -0
  327. package/dist/share-CGB6MAVJ.js +17 -0
  328. package/dist/skills/builtin/code-reviewer/SKILL.md +64 -0
  329. package/dist/skills/builtin/goal-writer/SKILL.md +124 -0
  330. package/dist/{skills-VWOMV3CR.js → skills-7DKR3HRZ.js} +8 -8
  331. package/dist/{skills-MVIZNHT4.js → skills-BBBENOEY.js} +9 -9
  332. package/dist/skills-OQM7IHAF.cjs +29 -0
  333. package/dist/{skills-GGMZOVIE.cjs → skills-RA2PKL63.cjs} +10 -10
  334. package/dist/{skills-install-VTAMCNNY.cjs → skills-install-D7K476SL.cjs} +16 -16
  335. package/dist/{skills-install-QBA5RCV6.js → skills-install-T4SOKJSL.js} +9 -9
  336. package/dist/skills-new-S33NGEU3.js +18 -0
  337. package/dist/skills-new-UVYH53MD.cjs +18 -0
  338. package/dist/slashCommands-MWOUDSQP.js +111 -0
  339. package/dist/slashCommands-XASURUTV.cjs +111 -0
  340. package/dist/squad-PIIYDFVH.cjs +15 -0
  341. package/dist/squad-VHYOVEJP.js +15 -0
  342. package/dist/status-GHFTXQBL.js +25 -0
  343. package/dist/status-WXMIJIU3.cjs +25 -0
  344. package/dist/statusline-2K7AC6ZQ.js +21 -0
  345. package/dist/statusline-GROI4HOC.cjs +21 -0
  346. package/dist/sync-254WF6JI.cjs +42 -0
  347. package/dist/sync-2DIZN4EH.cjs +24 -0
  348. package/dist/{sync-7BILIQHP.js → sync-J6I2ZUKQ.js} +6 -4
  349. package/dist/{sync-7OKF6636.js → sync-Z3LVSEEV.js} +8 -5
  350. package/dist/{teammate-J6PHGL23.cjs → teammate-EXR76PEQ.cjs} +9 -8
  351. package/dist/{teammate-GZQSCIMS.js → teammate-K4DAOFEQ.js} +8 -7
  352. package/dist/templates-ARG2VRWW.cjs +11 -0
  353. package/dist/templates-UGVZV3KJ.js +11 -0
  354. package/dist/theme-MVQDSU47.js +23 -0
  355. package/dist/theme-QAKEYWJG.cjs +23 -0
  356. package/dist/ui/questionModal.cjs +6 -6
  357. package/dist/ui/questionModal.js +5 -5
  358. package/dist/{undo-SZEHLX7X.js → undo-5AU47JHF.js} +2 -2
  359. package/dist/undo-ME6WKUXZ.cjs +10 -0
  360. package/dist/usage-QTKO2YMD.js +25 -0
  361. package/dist/usage-TYNJKVER.cjs +25 -0
  362. package/package.json +10 -4
  363. package/dist/AgentRegistry-EGBDIUAK.cjs +0 -10
  364. package/dist/AgentRegistry-XPWSVO3Q.js +0 -10
  365. package/dist/CommunitySkillsCache-2OIUV227.cjs +0 -8
  366. package/dist/LearnAdvisor-46FG2XIP.js +0 -9
  367. package/dist/LearnAdvisor-XBRDNAGH.cjs +0 -9
  368. package/dist/MemoryManager-34L4YOKA.cjs +0 -8
  369. package/dist/MemoryManager-WJMLPWGU.js +0 -8
  370. package/dist/NVIDIAProvider-MVTL62PR.cjs +0 -14
  371. package/dist/PermissionManager-5OOJ7FAT.cjs +0 -11
  372. package/dist/ProviderFactory-C3YPXTDD.cjs +0 -11
  373. package/dist/SessionManager-WAPTFMDO.cjs +0 -10
  374. package/dist/SkillsRegistry-7AJP74GJ.cjs +0 -9
  375. package/dist/SubAgent-FDIH3DXB.js +0 -11
  376. package/dist/SubAgent-HVL2ICVZ.cjs +0 -11
  377. package/dist/SyncApiClient-VMBOLQ6H.cjs +0 -11
  378. package/dist/about-FCAX37YC.cjs +0 -14
  379. package/dist/actionExecutor-33I47NZS.js +0 -24
  380. package/dist/actionExecutor-4YBMR3YH.cjs +0 -24
  381. package/dist/add-dir-7SS6KSH5.cjs +0 -11
  382. package/dist/agent-DMRUFU4M.cjs +0 -116
  383. package/dist/agent-WCJEYQJT.js +0 -116
  384. package/dist/agents-CHROO3VU.cjs +0 -17
  385. package/dist/agents-UVDUL65K.js +0 -17
  386. package/dist/agents-new-AUBWSOXP.js +0 -17
  387. package/dist/agents-new-Y562WC47.cjs +0 -17
  388. package/dist/autoSkill-YOLLFTP2.cjs +0 -20
  389. package/dist/automode-DBLKTTKD.cjs +0 -10
  390. package/dist/chrome-ATC4OO5I.cjs +0 -20
  391. package/dist/chrome-O62WXV7F.js +0 -20
  392. package/dist/chrome-XHJLCO4M.cjs +0 -50
  393. package/dist/chunk-6XVVIY54.cjs +0 -256
  394. package/dist/chunk-AU6JAGZJ.cjs +0 -231
  395. package/dist/chunk-N6O3XUZ2.cjs +0 -23
  396. package/dist/chunk-VDWJMWDF.js +0 -256
  397. package/dist/clear-33TWQ2ES.cjs +0 -12
  398. package/dist/communityInstaller-TWMGPSYM.cjs +0 -22
  399. package/dist/completion-IIZMHXYP.cjs +0 -17
  400. package/dist/config-KL6WU7R2.cjs +0 -20
  401. package/dist/constants-RLMJ5D5P.cjs +0 -21
  402. package/dist/export-WLGNWEMJ.cjs +0 -15
  403. package/dist/feedback-G635NCLJ.js +0 -18
  404. package/dist/feedback-LLMK3TZH.cjs +0 -18
  405. package/dist/help-BAXLP2M2.cjs +0 -12
  406. package/dist/history-6HOJSEMT.cjs +0 -14
  407. package/dist/hooks-XVFU67T2.cjs +0 -18
  408. package/dist/i18n-MUJMKTFM.cjs +0 -33
  409. package/dist/ide-CCQ33PGC.cjs +0 -15
  410. package/dist/ide-VLVFBZ5F.js +0 -15
  411. package/dist/import-J46F54JY.cjs +0 -10
  412. package/dist/init-EE5Y7RBL.cjs +0 -10
  413. package/dist/inputPrompt-IIFKCX5Q.cjs +0 -90
  414. package/dist/language-CVLPB7OV.js +0 -21
  415. package/dist/language-ZTWFHUSV.cjs +0 -21
  416. package/dist/learn-PON7I5QS.js +0 -23
  417. package/dist/learn-XLRSVNA3.cjs +0 -23
  418. package/dist/login-223QTGBG.cjs +0 -26
  419. package/dist/login-6IKTBUBY.js +0 -26
  420. package/dist/logout-RN2AG6SI.js +0 -23
  421. package/dist/logout-U3M4FFX7.cjs +0 -23
  422. package/dist/mcp-NUQ76QQB.cjs +0 -20
  423. package/dist/memory-CYMDQ2YC.cjs +0 -10
  424. package/dist/model-IDRCKDML.cjs +0 -10
  425. package/dist/new-7LEWOUF2.cjs +0 -12
  426. package/dist/onboarding-FXX7YHSJ.cjs +0 -35
  427. package/dist/onboarding-JYNMK6NI.js +0 -35
  428. package/dist/permissions-YBNSANIA.cjs +0 -10
  429. package/dist/plan-XEJMOT55.cjs +0 -13
  430. package/dist/quit-B43SJ6E4.cjs +0 -10
  431. package/dist/quit-GWTNHQSP.js +0 -10
  432. package/dist/resume-DYVOQN5L.cjs +0 -16
  433. package/dist/resume-M25UQKOX.js +0 -16
  434. package/dist/review-UWHWQHCB.cjs +0 -9
  435. package/dist/search-CPX4PWHP.js +0 -20
  436. package/dist/search-VUF3M4N3.cjs +0 -20
  437. package/dist/sessions-JODKER5D.cjs +0 -10
  438. package/dist/settings-55BNW6BF.js +0 -33
  439. package/dist/settings-BKTS7OMC.cjs +0 -33
  440. package/dist/setup-IRC5HQG2.js +0 -29
  441. package/dist/setup-MMQ7TWOP.cjs +0 -29
  442. package/dist/share-6JRQECAH.cjs +0 -17
  443. package/dist/share-YM5MJKMO.js +0 -17
  444. package/dist/skills-LWSOKOSH.cjs +0 -29
  445. package/dist/skills-new-GPL46YV2.js +0 -18
  446. package/dist/skills-new-L5BEZN5V.cjs +0 -18
  447. package/dist/slashCommands-FBPCIWM5.cjs +0 -95
  448. package/dist/slashCommands-FCWY5DXW.js +0 -95
  449. package/dist/status-3B5SDZPL.js +0 -17
  450. package/dist/status-TTGRF6NC.cjs +0 -17
  451. package/dist/sync-77CXVVTK.cjs +0 -21
  452. package/dist/sync-EH4K5U3N.cjs +0 -40
  453. package/dist/theme-64BYGJ57.cjs +0 -21
  454. package/dist/theme-YJE6HEON.js +0 -21
  455. package/dist/undo-PRTEGL2J.cjs +0 -10
@@ -1,6 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkMXVIDIC6cjs = require('./chunk-MXVIDIC6.cjs');
3
+ var _chunkAZLHUPNCcjs = require('./chunk-AZLHUPNC.cjs');
4
+
5
+
6
+
7
+ var _chunkEK34UZPBcjs = require('./chunk-EK34UZPB.cjs');
8
+
9
+
10
+ var _chunk7TO3PDMVcjs = require('./chunk-7TO3PDMV.cjs');
4
11
 
5
12
 
6
13
 
@@ -8,16 +15,16 @@ var _chunkMXVIDIC6cjs = require('./chunk-MXVIDIC6.cjs');
8
15
  var _chunkYWTIXHU6cjs = require('./chunk-YWTIXHU6.cjs');
9
16
 
10
17
 
11
- var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
18
+ var _chunk3JURXAL6cjs = require('./chunk-3JURXAL6.cjs');
12
19
 
13
20
  // src/config.ts
14
21
  var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
15
22
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
16
23
  var _yaml = require('yaml'); var _yaml2 = _interopRequireDefault(_yaml);
17
- var DEFAULT_CONFIG_PATH = _chunkE26KKI46cjs.AUTOHAND_FILES.configJson;
18
- var TOML_CONFIG_PATH = _chunkE26KKI46cjs.AUTOHAND_FILES.configToml;
19
- var YAML_CONFIG_PATH = _chunkE26KKI46cjs.AUTOHAND_FILES.configYaml;
20
- var YML_CONFIG_PATH = _chunkE26KKI46cjs.AUTOHAND_FILES.configYml;
24
+ var DEFAULT_CONFIG_PATH = _chunk3JURXAL6cjs.AUTOHAND_FILES.configJson;
25
+ var TOML_CONFIG_PATH = _chunk3JURXAL6cjs.AUTOHAND_FILES.configToml;
26
+ var YAML_CONFIG_PATH = _chunk3JURXAL6cjs.AUTOHAND_FILES.configYaml;
27
+ var YML_CONFIG_PATH = _chunk3JURXAL6cjs.AUTOHAND_FILES.configYml;
21
28
  var DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
22
29
  var DEFAULT_OLLAMA_URL = "http://localhost:11434";
23
30
  var DEFAULT_LLAMACPP_URL = "http://localhost:8080";
@@ -25,7 +32,9 @@ var DEFAULT_OPENAI_URL = "https://api.openai.com/v1";
25
32
  var DEFAULT_MLX_URL = "http://localhost:8080";
26
33
  var DEFAULT_LLMGATEWAY_URL = "https://api.llmgateway.io/v1";
27
34
  var DEFAULT_ZAI_URL = "https://api.z.ai/api/paas/v4";
35
+ var DEFAULT_SAKANA_URL = "https://api.sakana.ai/v1";
28
36
  var DEFAULT_DEEPSEEK_URL = "https://api.deepseek.com";
37
+ var DEFAULT_BEDROCK_REGION = "us-east-1";
29
38
  function normalizeProviderName(provider) {
30
39
  if (provider === void 0) {
31
40
  return void 0;
@@ -33,6 +42,9 @@ function normalizeProviderName(provider) {
33
42
  if (provider === "vertex") {
34
43
  return "vertexai";
35
44
  }
45
+ if (_chunkEK34UZPBcjs.isCustomProviderName.call(void 0, provider)) {
46
+ return provider;
47
+ }
36
48
  const validProviders = [
37
49
  "openrouter",
38
50
  "ollama",
@@ -42,11 +54,13 @@ function normalizeProviderName(provider) {
42
54
  "llmgateway",
43
55
  "azure",
44
56
  "zai",
57
+ "sakana",
45
58
  "vertexai",
46
59
  "xai",
47
60
  "cerebras",
48
61
  "nvidia",
49
- "deepseek"
62
+ "deepseek",
63
+ "bedrock"
50
64
  ];
51
65
  if (typeof provider === "string" && validProviders.includes(provider)) {
52
66
  return provider;
@@ -306,6 +320,9 @@ async function loadConfig(customPath, workspaceRoot) {
306
320
  ui: {
307
321
  theme: "dark",
308
322
  autoConfirm: false,
323
+ silentToolOutput: false,
324
+ completionReportEnabled: true,
325
+ activityVerbsEnabled: true,
309
326
  promptSuggestions: true
310
327
  },
311
328
  telemetry: {
@@ -335,7 +352,7 @@ async function loadConfig(customPath, workspaceRoot) {
335
352
  const normalized = normalizeConfig(parsed);
336
353
  let workspaceSettings = null;
337
354
  if (workspaceRoot) {
338
- workspaceSettings = await _chunkMXVIDIC6cjs.loadLocalProjectSettings.call(void 0, workspaceRoot);
355
+ workspaceSettings = await _chunkAZLHUPNCcjs.loadLocalProjectSettings.call(void 0, workspaceRoot);
339
356
  }
340
357
  const withWorkspace = mergeWorkspaceSettings(normalized, workspaceSettings);
341
358
  const withEnv = mergeEnvVariables(withWorkspace);
@@ -355,7 +372,18 @@ function mergeWorkspaceSettings(globalConfig, workspaceSettings) {
355
372
  }
356
373
  if (workspaceSettings.model !== void 0) {
357
374
  const provider = workspaceSettings.provider || merged.provider;
358
- if (provider && merged[provider]) {
375
+ if (provider && _chunkEK34UZPBcjs.isCustomProviderName.call(void 0, provider)) {
376
+ const customProvider = _chunkEK34UZPBcjs.getCustomProviderConfig.call(void 0, merged, provider);
377
+ if (customProvider) {
378
+ merged.customProviders = {
379
+ ...merged.customProviders,
380
+ [customProvider.id]: {
381
+ ...customProvider,
382
+ model: workspaceSettings.model
383
+ }
384
+ };
385
+ }
386
+ } else if (provider && merged[provider]) {
359
387
  merged[provider].model = workspaceSettings.model;
360
388
  }
361
389
  }
@@ -422,6 +450,16 @@ function mergeEnvVariables(config) {
422
450
  }
423
451
  };
424
452
  }
453
+ const envRegion = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION;
454
+ if (envRegion && config.bedrock) {
455
+ config = {
456
+ ...config,
457
+ bedrock: {
458
+ ...config.bedrock,
459
+ region: config.bedrock.region || envRegion
460
+ }
461
+ };
462
+ }
425
463
  return config;
426
464
  }
427
465
  function normalizeConfig(config) {
@@ -449,6 +487,9 @@ function normalizeConfig(config) {
449
487
  ui: {
450
488
  autoConfirm: _nullishCoalesce(config.dry_run, () => ( false)),
451
489
  theme: "dark",
490
+ silentToolOutput: false,
491
+ completionReportEnabled: true,
492
+ activityVerbsEnabled: true,
452
493
  promptSuggestions: true
453
494
  }
454
495
  };
@@ -456,7 +497,7 @@ function normalizeConfig(config) {
456
497
  return config;
457
498
  }
458
499
  function isModernConfig(config) {
459
- return typeof config.openrouter === "object" || typeof config.ollama === "object" || typeof config.llamacpp === "object" || typeof config.openai === "object" || typeof config.mlx === "object" || typeof config.azure === "object" || typeof config.zai === "object" || typeof config.vertexai === "object" || typeof config.xai === "object" || typeof config.cerebras === "object" || typeof config.nvidia === "object" || typeof config.deepseek === "object";
500
+ return typeof config.openrouter === "object" || typeof config.ollama === "object" || typeof config.llamacpp === "object" || typeof config.openai === "object" || typeof config.mlx === "object" || typeof config.azure === "object" || typeof config.zai === "object" || typeof config.sakana === "object" || typeof config.vertexai === "object" || typeof config.xai === "object" || typeof config.cerebras === "object" || typeof config.nvidia === "object" || typeof config.deepseek === "object" || typeof config.bedrock === "object" || typeof config.customProviders === "object";
460
501
  }
461
502
  function isLegacyConfig(config) {
462
503
  return typeof config.api_key === "string";
@@ -489,6 +530,15 @@ function validateConfig(config, configPath) {
489
530
  if (config.ui.promptSuggestions !== void 0 && typeof config.ui.promptSuggestions !== "boolean") {
490
531
  throw new Error(`ui.promptSuggestions must be boolean in ${configPath}`);
491
532
  }
533
+ if (config.ui.completionReportEnabled !== void 0 && typeof config.ui.completionReportEnabled !== "boolean") {
534
+ throw new Error(`ui.completionReportEnabled must be boolean in ${configPath}`);
535
+ }
536
+ if (config.ui.activityVerbsEnabled !== void 0 && typeof config.ui.activityVerbsEnabled !== "boolean") {
537
+ throw new Error(`ui.activityVerbsEnabled must be boolean in ${configPath}`);
538
+ }
539
+ }
540
+ if (_optionalChain([config, 'access', _9 => _9.auth, 'optionalAccess', _10 => _10.apiKeyHelper]) !== void 0 && typeof config.auth.apiKeyHelper !== "string") {
541
+ throw new Error(`auth.apiKeyHelper must be a string in ${configPath}`);
492
542
  }
493
543
  if (config.agent) {
494
544
  if (config.agent.toolSelectionCache !== void 0 && typeof config.agent.toolSelectionCache !== "boolean") {
@@ -548,13 +598,68 @@ function validateConfig(config, configPath) {
548
598
  }
549
599
  }
550
600
  }
601
+ if (config.customProviders !== void 0) {
602
+ if (!isPlainObject(config.customProviders)) {
603
+ throw new Error(`customProviders must be an object in ${configPath}`);
604
+ }
605
+ for (const [key, provider] of Object.entries(config.customProviders)) {
606
+ if (!isPlainObject(provider)) {
607
+ throw new Error(`customProviders.${key} must be an object in ${configPath}`);
608
+ }
609
+ if (provider.id !== key) {
610
+ throw new Error(`customProviders.${key}.id must match its config key in ${configPath}`);
611
+ }
612
+ if (typeof provider.displayName !== "string" || provider.displayName.trim() === "") {
613
+ throw new Error(`customProviders.${key}.displayName must be a non-empty string in ${configPath}`);
614
+ }
615
+ if (provider.apiFormat !== "openai-compatible") {
616
+ throw new Error(`customProviders.${key}.apiFormat must be "openai-compatible" in ${configPath}`);
617
+ }
618
+ if (typeof provider.baseUrl !== "string" || provider.baseUrl.trim() === "") {
619
+ throw new Error(`customProviders.${key}.baseUrl must be a non-empty string in ${configPath}`);
620
+ }
621
+ if (typeof provider.model !== "string" || provider.model.trim() === "") {
622
+ throw new Error(`customProviders.${key}.model must be a non-empty string in ${configPath}`);
623
+ }
624
+ if (provider.apiKeyRequired !== void 0 && typeof provider.apiKeyRequired !== "boolean") {
625
+ throw new Error(`customProviders.${key}.apiKeyRequired must be boolean in ${configPath}`);
626
+ }
627
+ if (provider.contextWindow !== void 0 && (typeof provider.contextWindow !== "number" || provider.contextWindow <= 0)) {
628
+ throw new Error(`customProviders.${key}.contextWindow must be a positive number in ${configPath}`);
629
+ }
630
+ }
631
+ }
551
632
  }
552
633
  function resolveWorkspaceRoot(config, requestedPath) {
553
- const candidate = _nullishCoalesce(_nullishCoalesce(requestedPath, () => ( process.cwd())), () => ( _optionalChain([config, 'access', _9 => _9.workspace, 'optionalAccess', _10 => _10.defaultRoot])));
634
+ const candidate = _nullishCoalesce(_nullishCoalesce(requestedPath, () => ( process.cwd())), () => ( _optionalChain([config, 'access', _11 => _11.workspace, 'optionalAccess', _12 => _12.defaultRoot])));
554
635
  return _path2.default.resolve(candidate);
555
636
  }
556
637
  function getProviderConfig(config, provider) {
557
638
  const chosen = _nullishCoalesce(_nullishCoalesce(provider, () => ( config.provider)), () => ( "openrouter"));
639
+ if (_chunkEK34UZPBcjs.isCustomProviderName.call(void 0, chosen)) {
640
+ const entry2 = _chunkEK34UZPBcjs.getCustomProviderConfig.call(void 0, config, chosen);
641
+ if (!entry2 || entry2.apiFormat !== "openai-compatible") {
642
+ return null;
643
+ }
644
+ const model = _optionalChain([entry2, 'access', _13 => _13.model, 'optionalAccess', _14 => _14.trim, 'call', _15 => _15()]);
645
+ const baseUrl = _optionalChain([entry2, 'access', _16 => _16.baseUrl, 'optionalAccess', _17 => _17.trim, 'call', _18 => _18()]);
646
+ const requiresApiKey = entry2.apiKeyRequired !== false;
647
+ if (!model || !baseUrl) {
648
+ return null;
649
+ }
650
+ if (requiresApiKey && (!entry2.apiKey || entry2.apiKey === "replace-me")) {
651
+ return null;
652
+ }
653
+ return {
654
+ ...entry2,
655
+ model,
656
+ baseUrl
657
+ };
658
+ }
659
+ if (chosen === "bedrock" && !_chunk7TO3PDMVcjs.isAwsBedrockProviderEnabled.call(void 0, config)) {
660
+ return null;
661
+ }
662
+ const builtInProvider = chosen;
558
663
  const configByProvider = {
559
664
  openrouter: config.openrouter,
560
665
  ollama: config.ollama,
@@ -564,13 +669,15 @@ function getProviderConfig(config, provider) {
564
669
  llmgateway: config.llmgateway,
565
670
  azure: config.azure,
566
671
  zai: config.zai,
672
+ sakana: config.sakana,
567
673
  vertexai: config.vertexai,
568
674
  xai: config.xai,
569
675
  cerebras: config.cerebras,
570
676
  nvidia: config.nvidia,
571
- deepseek: config.deepseek
677
+ deepseek: config.deepseek,
678
+ bedrock: config.bedrock
572
679
  };
573
- const entry = configByProvider[chosen];
680
+ const entry = configByProvider[builtInProvider];
574
681
  if (!entry) {
575
682
  return null;
576
683
  }
@@ -580,7 +687,7 @@ function getProviderConfig(config, provider) {
580
687
  return null;
581
688
  }
582
689
  if (openAIEntry.authMode === "chatgpt") {
583
- if (!_optionalChain([openAIEntry, 'access', _11 => _11.chatgptAuth, 'optionalAccess', _12 => _12.accessToken]) || !_optionalChain([openAIEntry, 'access', _13 => _13.chatgptAuth, 'optionalAccess', _14 => _14.accountId])) {
690
+ if (!_optionalChain([openAIEntry, 'access', _19 => _19.chatgptAuth, 'optionalAccess', _20 => _20.accessToken]) || !_optionalChain([openAIEntry, 'access', _21 => _21.chatgptAuth, 'optionalAccess', _22 => _22.accountId])) {
584
691
  return null;
585
692
  }
586
693
  } else {
@@ -588,22 +695,24 @@ function getProviderConfig(config, provider) {
588
695
  return null;
589
696
  }
590
697
  }
591
- } else if (chosen === "openrouter" || chosen === "llmgateway" || chosen === "zai" || chosen === "nvidia" || chosen === "deepseek") {
698
+ } else if (builtInProvider === "openrouter" || builtInProvider === "llmgateway" || builtInProvider === "zai" || builtInProvider === "sakana" || builtInProvider === "nvidia" || builtInProvider === "deepseek") {
592
699
  const { apiKey, model } = entry;
593
700
  if (!apiKey || apiKey === "replace-me" || !model) {
594
701
  return null;
595
702
  }
596
- } else if (chosen === "vertexai") {
703
+ } else if (builtInProvider === "vertexai") {
597
704
  const { authToken, projectId, model } = entry;
598
705
  if (!authToken || !projectId || !model) {
599
706
  return null;
600
707
  }
708
+ } else if (builtInProvider === "bedrock") {
709
+ return normalizeBedrockProviderConfig(entry);
601
710
  } else {
602
- if (chosen === "llamacpp") {
711
+ if (builtInProvider === "llamacpp") {
603
712
  return {
604
713
  ...entry,
605
714
  model: _nullishCoalesce(entry.model, () => ( "local")),
606
- baseUrl: _nullishCoalesce(entry.baseUrl, () => ( defaultBaseUrlFor(chosen, entry.port)))
715
+ baseUrl: _nullishCoalesce(entry.baseUrl, () => ( defaultBaseUrlFor(builtInProvider, entry.port)))
607
716
  };
608
717
  }
609
718
  if (!entry.model) {
@@ -612,13 +721,14 @@ function getProviderConfig(config, provider) {
612
721
  }
613
722
  return {
614
723
  ...entry,
615
- baseUrl: _nullishCoalesce(entry.baseUrl, () => ( defaultBaseUrlFor(chosen, entry.port)))
724
+ baseUrl: _nullishCoalesce(entry.baseUrl, () => ( defaultBaseUrlFor(builtInProvider, entry.port)))
616
725
  };
617
726
  }
618
727
  function defaultBaseUrlFor(provider, port) {
619
728
  if (provider === "openrouter") return DEFAULT_BASE_URL;
620
729
  if (provider === "llmgateway") return DEFAULT_LLMGATEWAY_URL;
621
730
  if (provider === "zai") return DEFAULT_ZAI_URL;
731
+ if (provider === "sakana") return DEFAULT_SAKANA_URL;
622
732
  if (provider === "deepseek") return DEFAULT_DEEPSEEK_URL;
623
733
  const p = port ? port.toString() : void 0;
624
734
  switch (provider) {
@@ -632,10 +742,33 @@ function defaultBaseUrlFor(provider, port) {
632
742
  return p ? `http://localhost:${p}` : DEFAULT_MLX_URL;
633
743
  case "nvidia":
634
744
  return "https://integrate.api.nvidia.com/v1";
745
+ case "bedrock":
746
+ return `https://bedrock-runtime.${DEFAULT_BEDROCK_REGION}.amazonaws.com`;
635
747
  default:
636
748
  return void 0;
637
749
  }
638
750
  }
751
+ function normalizeBedrockProviderConfig(entry) {
752
+ const model = _optionalChain([entry, 'access', _23 => _23.model, 'optionalAccess', _24 => _24.trim, 'call', _25 => _25()]);
753
+ const region = _optionalChain([entry, 'access', _26 => _26.region, 'optionalAccess', _27 => _27.trim, 'call', _28 => _28()]) || process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION || DEFAULT_BEDROCK_REGION;
754
+ const apiMode = _nullishCoalesce(entry.apiMode, () => ( "converse"));
755
+ const authMode = _nullishCoalesce(entry.authMode, () => ( (apiMode === "converse" ? "aws-credentials" : "bedrock-api-key")));
756
+ const endpoint = _nullishCoalesce(_optionalChain([entry, 'access', _29 => _29.endpoint, 'optionalAccess', _30 => _30.replace, 'call', _31 => _31(/\/+$/, "")]), () => ( (apiMode === "converse" ? `https://bedrock-runtime.${region}.amazonaws.com` : `https://bedrock-runtime.${region}.amazonaws.com/openai/v1`)));
757
+ if (!model || !region) {
758
+ return null;
759
+ }
760
+ if (authMode === "bedrock-api-key" && (!entry.apiKey || entry.apiKey === "replace-me")) {
761
+ return null;
762
+ }
763
+ return {
764
+ ...entry,
765
+ model,
766
+ region,
767
+ apiMode,
768
+ authMode,
769
+ endpoint
770
+ };
771
+ }
639
772
  async function saveConfig(config) {
640
773
  const { configPath, ...data } = config;
641
774
  delete data.isNewConfig;
@@ -41,8 +41,9 @@ function getContentDisplay(text) {
41
41
  const lines = text.split("\n");
42
42
  const lineCount = lines.length;
43
43
  if (lineCount >= PASTE_LINE_THRESHOLD || charCount >= PASTE_CHAR_THRESHOLD) {
44
+ const visual = lineCount >= PASTE_LINE_THRESHOLD ? `[Text Pasted +${lineCount} lines]` : `[Text Pasted ${charCount} chars]`;
44
45
  return {
45
- visual: `[Text pasted ${charCount} chars]`,
46
+ visual,
46
47
  actual: text,
47
48
  isPasted: true,
48
49
  lineCount,
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});// package.json
2
2
  var package_default = {
3
3
  name: "autohand-cli",
4
- version: "0.9.0",
4
+ version: "0.9.2",
5
5
  license: "Apache-2.0",
6
6
  description: "Autohand Code CLI is a fast, terminal-native AI coding agent for planning, editing, testing, and automating software work.",
7
7
  repository: {
@@ -24,7 +24,7 @@ var package_default = {
24
24
  scripts: {
25
25
  go: './install-local.sh && echo "COMPLETED"',
26
26
  build: "tsup",
27
- dev: 'env -i PATH="/Users/igorcosta/.bun/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" HOME="$HOME" bun src/index.ts',
27
+ dev: 'env -i PATH="/Users/igorcosta/.bun/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" HOME="$HOME" AUTOHAND_DEBUG="$AUTOHAND_DEBUG" bun src/index.ts',
28
28
  typecheck: "tsc --noEmit",
29
29
  lint: "eslint .",
30
30
  proof: "eslint . && tsc --noEmit && node --max-old-space-size=8192 ./node_modules/vitest/vitest.mjs run",
@@ -54,6 +54,9 @@ var package_default = {
54
54
  },
55
55
  dependencies: {
56
56
  "@agentclientprotocol/sdk": "0.19.1",
57
+ "@aws-sdk/client-bedrock": "^3.1045.0",
58
+ "@aws-sdk/client-bedrock-runtime": "^3.1045.0",
59
+ "@aws-sdk/credential-providers": "^3.1045.0",
57
60
  "@ff-labs/fff-bun": "0.6.4",
58
61
  chalk: "^5.6.2",
59
62
  commander: "^14.0.3",
@@ -61,13 +64,14 @@ var package_default = {
61
64
  dotenv: "^17.4.2",
62
65
  "fs-extra": "^11.3.4",
63
66
  ignore: "^7.0.5",
64
- ink: "^7.0.1",
67
+ ink: "^7.0.5",
65
68
  "ink-spinner": "^5.0.0",
66
69
  minimatch: "^10.2.5",
67
70
  "node-notifier": "^10.0.1",
68
71
  "node-pty": "^1.1.0",
69
72
  open: "^11.0.0",
70
73
  ora: "^9.4.0",
74
+ qrcode: "^1.5.4",
71
75
  react: "^19.2.5",
72
76
  sharp: "^0.34.5",
73
77
  "string-width": "^8.2.0",
@@ -84,6 +88,7 @@ var package_default = {
84
88
  "@types/fs-extra": "^11.0.4",
85
89
  "@types/node": "^25.6.0",
86
90
  "@types/node-notifier": "^8.0.5",
91
+ "@types/qrcode": "^1.5.6",
87
92
  "@types/react": "^19.2.5",
88
93
  "@typescript-eslint/eslint-plugin": "^8.59.0",
89
94
  "@typescript-eslint/parser": "^8.59.0",
@@ -99,7 +104,8 @@ var package_default = {
99
104
  vitest: "^4.1.5"
100
105
  },
101
106
  overrides: {
102
- "ansi-styles": "^6.2.3"
107
+ "ansi-styles": "^6.2.3",
108
+ uuid: "^11.1.0"
103
109
  }
104
110
  };
105
111
 
@@ -1,22 +1,23 @@
1
1
  import {
2
2
  DEFAULT_SYNC_CONFIG,
3
- createSyncService
4
- } from "./chunk-2QL6MNXG.js";
3
+ createSyncService,
4
+ isMemorySyncPath
5
+ } from "./chunk-H65446XW.js";
5
6
  import {
6
7
  safePrompt
7
- } from "./chunk-62RTC3XX.js";
8
+ } from "./chunk-NKW6CHXQ.js";
8
9
  import {
9
10
  getAuthClient
10
- } from "./chunk-IAGCRVJ3.js";
11
+ } from "./chunk-MA3AVDCC.js";
11
12
  import {
12
13
  saveConfig
13
- } from "./chunk-3UT7R3XV.js";
14
+ } from "./chunk-CM24K6ZT.js";
14
15
  import {
15
16
  AUTH_CONFIG
16
- } from "./chunk-TWQDAUZU.js";
17
+ } from "./chunk-PG2JIU5M.js";
17
18
  import {
18
19
  t
19
- } from "./chunk-CBFH2J3O.js";
20
+ } from "./chunk-SJQU2ZFR.js";
20
21
 
21
22
  // src/commands/login.ts
22
23
  import chalk from "chalk";
@@ -140,6 +141,11 @@ async function login(ctx) {
140
141
  console.log(chalk.red("Authorization code expired. Please try again."));
141
142
  return null;
142
143
  }
144
+ if (pollResult.status === "cancelled") {
145
+ process.stdout.write("\r" + " ".repeat(20) + "\r");
146
+ console.log(chalk.yellow("Authentication cancelled. Run /login again when you are ready."));
147
+ return null;
148
+ }
143
149
  }
144
150
  process.stdout.write("\r" + " ".repeat(20) + "\r");
145
151
  console.log(chalk.red("Authorization timed out. Please try again."));
@@ -156,17 +162,25 @@ async function checkAndRestoreSyncData(token, userId, config) {
156
162
  enabled: true
157
163
  }
158
164
  });
159
- const { getSyncApiClient } = await import("./SyncApiClient-LRPFNCKJ.js");
165
+ const { getSyncApiClient } = await import("./SyncApiClient-G3FM65IV.js");
160
166
  const apiClient = getSyncApiClient();
161
167
  const remoteManifest = await apiClient.getRemoteManifest(token);
162
168
  if (!remoteManifest || remoteManifest.files.length === 0) {
163
169
  return;
164
170
  }
165
- const fileCount = remoteManifest.files.length;
166
- const totalSize = remoteManifest.files.reduce((sum, f) => sum + f.size, 0);
171
+ const memoryFiles = remoteManifest.files.filter((file) => isMemorySyncPath(file.path));
172
+ if (memoryFiles.length > 0) {
173
+ await restoreMemorySyncData(syncService, memoryFiles);
174
+ }
175
+ const consentRequiredFiles = remoteManifest.files.filter((file) => !isMemorySyncPath(file.path));
176
+ if (consentRequiredFiles.length === 0) {
177
+ return;
178
+ }
179
+ const fileCount = consentRequiredFiles.length;
180
+ const totalSize = consentRequiredFiles.reduce((sum, f) => sum + f.size, 0);
167
181
  const sizeStr = formatSize(totalSize);
168
182
  console.log(chalk.cyan(`Found cloud sync data (${fileCount} files, ${sizeStr})`));
169
- console.log(chalk.gray("This includes your settings, agents, skills, and memory."));
183
+ console.log(chalk.gray("This includes your settings, agents, skills, sessions, and hooks."));
170
184
  console.log();
171
185
  const result = await safePrompt({
172
186
  type: "confirm",
@@ -196,6 +210,12 @@ async function checkAndRestoreSyncData(token, userId, config) {
196
210
  console.log(chalk.gray("Could not check cloud sync data."));
197
211
  }
198
212
  }
213
+ async function restoreMemorySyncData(syncService, memoryFiles) {
214
+ try {
215
+ await syncService.forceDownloadPaths(memoryFiles.map((file) => file.path));
216
+ } catch {
217
+ }
218
+ }
199
219
  async function cancellableOperation(fn) {
200
220
  const stdin = process.stdin;
201
221
  const wasRaw = stdin.isRaw;
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-HQUSEWT4.js";
4
4
  import {
5
5
  extractAndSaveSessionMemories
6
- } from "./chunk-ZK6HOR62.js";
6
+ } from "./chunk-YEHFYZFU.js";
7
7
  import {
8
8
  t
9
- } from "./chunk-CBFH2J3O.js";
9
+ } from "./chunk-SJQU2ZFR.js";
10
10
 
11
11
  // src/commands/new.ts
12
12
  import chalk from "chalk";
@@ -1,31 +1,31 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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; } var _class;
2
2
 
3
- var _chunkSOLBYSLYcjs = require('./chunk-SOLBYSLY.cjs');
3
+ var _chunkWVDJUJH6cjs = require('./chunk-WVDJUJH6.cjs');
4
4
 
5
5
 
6
- var _chunkOPNI6O7Fcjs = require('./chunk-OPNI6O7F.cjs');
6
+ var _chunkTZB5XADLcjs = require('./chunk-TZB5XADL.cjs');
7
7
 
8
8
 
9
- var _chunkUGFVM77Jcjs = require('./chunk-UGFVM77J.cjs');
9
+ var _chunkQW2RW2GYcjs = require('./chunk-QW2RW2GY.cjs');
10
10
 
11
11
 
12
- var _chunkQW2RW2GYcjs = require('./chunk-QW2RW2GY.cjs');
13
12
 
14
13
 
14
+ var _chunkR4UKBKDYcjs = require('./chunk-R4UKBKDY.cjs');
15
15
 
16
16
 
17
- var _chunkZHJ7JGMEcjs = require('./chunk-ZHJ7JGME.cjs');
17
+ var _chunk6EIQ6A6Ucjs = require('./chunk-6EIQ6A6U.cjs');
18
18
 
19
19
 
20
20
 
21
- var _chunkCH2J4PVEcjs = require('./chunk-CH2J4PVE.cjs');
21
+ var _chunkDMM2BKSVcjs = require('./chunk-DMM2BKSV.cjs');
22
22
 
23
23
 
24
24
 
25
- var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
25
+ var _chunk3JURXAL6cjs = require('./chunk-3JURXAL6.cjs');
26
26
 
27
27
 
28
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
28
+ var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
29
29
 
30
30
  // src/commands/learn.ts
31
31
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
@@ -109,16 +109,16 @@ async function handleLearnRecommend(ctx, deep) {
109
109
  const analyzeLabel = deep ? "Deep-analyzing your project..." : "Analyzing your project...";
110
110
  logProgress(ctx, analyzeLabel, progress);
111
111
  _optionalChain([progress, 'optionalAccess', _7 => _7.start, 'call', _8 => _8(analyzeLabel)]);
112
- const analyzer = new (0, _chunkOPNI6O7Fcjs.ProjectAnalyzer)(workspaceRoot);
112
+ const analyzer = new (0, _chunkTZB5XADLcjs.ProjectAnalyzer)(workspaceRoot);
113
113
  const analysis = await analyzer.analyze();
114
- const cache = new (0, _chunkUGFVM77Jcjs.CommunitySkillsCache)();
114
+ const cache = new (0, _chunk6EIQ6A6Ucjs.CommunitySkillsCache)();
115
115
  const fetcher = new (0, _chunkQW2RW2GYcjs.GitHubRegistryFetcher)();
116
116
  const loadLabel = "Loading community skills...";
117
117
  logProgress(ctx, loadLabel, progress);
118
118
  _optionalChain([progress, 'optionalAccess', _9 => _9.advance, 'call', _10 => _10(loadLabel)]);
119
119
  let registry = null;
120
120
  try {
121
- registry = await _chunkZHJ7JGMEcjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
121
+ registry = await _chunkR4UKBKDYcjs.fetchRegistryWithFallback.call(void 0, cache, fetcher);
122
122
  } catch (e) {
123
123
  }
124
124
  const installedSkills = skillsRegistry.listSkills();
@@ -126,7 +126,7 @@ async function handleLearnRecommend(ctx, deep) {
126
126
  const evalLabel = "Evaluating skill matches...";
127
127
  logProgress(ctx, evalLabel, progress);
128
128
  _optionalChain([progress, 'optionalAccess', _12 => _12.advance, 'call', _13 => _13(evalLabel)]);
129
- const advisor = new (0, _chunkSOLBYSLYcjs.LearnAdvisor)(llm);
129
+ const advisor = new (0, _chunkWVDJUJH6cjs.LearnAdvisor)(llm);
130
130
  const result = await advisor.analyze(analysis, installedSkills, registrySkills);
131
131
  _optionalChain([progress, 'optionalAccess', _14 => _14.finish, 'call', _15 => _15()]);
132
132
  const lines = [];
@@ -166,7 +166,7 @@ async function handleLearnRecommend(ctx, deep) {
166
166
  console.log(renderTerminalMarkdown(lines.join("\n")));
167
167
  const wantGenerate = await withModalPause(
168
168
  ctx,
169
- () => _chunkCH2J4PVEcjs.showConfirm.call(void 0, { title: "Generate a custom skill to fill this gap?" })
169
+ () => _chunkDMM2BKSVcjs.showConfirm.call(void 0, { title: "Generate a custom skill to fill this gap?" })
170
170
  );
171
171
  if (wantGenerate) {
172
172
  return await handleGeneration(ctx, analysis, result);
@@ -182,7 +182,7 @@ async function handleGeneration(ctx, analysis, analysisResult) {
182
182
  const genProgress = animated ? new StepProgress() : void 0;
183
183
  logProgress(ctx, genLabel, genProgress);
184
184
  _optionalChain([genProgress, 'optionalAccess', _18 => _18.start, 'call', _19 => _19(genLabel)]);
185
- const advisor = new (0, _chunkSOLBYSLYcjs.LearnAdvisor)(ctx.llm);
185
+ const advisor = new (0, _chunkWVDJUJH6cjs.LearnAdvisor)(ctx.llm);
186
186
  const lowScoring = analysisResult.recommendations.sort((a, b) => b.score - a.score).slice(0, 3);
187
187
  const generated = await advisor.generateSkill(analysis, analysisResult.gapAnalysis, lowScoring);
188
188
  _optionalChain([genProgress, 'optionalAccess', _20 => _20.finish, 'call', _21 => _21()]);
@@ -197,7 +197,7 @@ Generated: ${_chalk2.default.bold(generated.name)}`));
197
197
  }
198
198
  const scopeChoice = await withModalPause(
199
199
  ctx,
200
- () => _chunkCH2J4PVEcjs.showModal.call(void 0, {
200
+ () => _chunkDMM2BKSVcjs.showModal.call(void 0, {
201
201
  title: "Where should this skill be installed?",
202
202
  options: [
203
203
  { label: `Project (.autohand/skills/)`, value: "project" },
@@ -218,9 +218,9 @@ description: ${generated.description}
218
218
 
219
219
  `;
220
220
  let skillContent = frontmatter + generated.body + "\n";
221
- const projectHash = _chunkZHJ7JGMEcjs.computeProjectHash.call(void 0, analysis);
222
- skillContent = _chunkZHJ7JGMEcjs.injectGeneratedMetadata.call(void 0, skillContent, generated.name, projectHash);
223
- const targetDir = scope === "project" ? _path2.default.join(ctx.workspaceRoot, _chunkE26KKI46cjs.PROJECT_DIR_NAME, "skills") : _chunkE26KKI46cjs.AUTOHAND_PATHS.skills;
221
+ const projectHash = _chunkR4UKBKDYcjs.computeProjectHash.call(void 0, analysis);
222
+ skillContent = _chunkR4UKBKDYcjs.injectGeneratedMetadata.call(void 0, skillContent, generated.name, projectHash);
223
+ const targetDir = scope === "project" ? _path2.default.join(ctx.workspaceRoot, _chunk3JURXAL6cjs.PROJECT_DIR_NAME, "skills") : _chunk3JURXAL6cjs.AUTOHAND_PATHS.skills;
224
224
  const skillDir = _path2.default.join(targetDir, generated.name);
225
225
  await _fsextra2.default.ensureDir(skillDir);
226
226
  await _fsextra2.default.writeFile(_path2.default.join(skillDir, "SKILL.md"), skillContent, "utf-8");
@@ -235,9 +235,9 @@ async function handleLearnUpdate(ctx) {
235
235
  const checkLabel = "Checking for skill updates...";
236
236
  logProgress(ctx, checkLabel, progress);
237
237
  _optionalChain([progress, 'optionalAccess', _23 => _23.start, 'call', _24 => _24(checkLabel)]);
238
- const analyzer = new (0, _chunkOPNI6O7Fcjs.ProjectAnalyzer)(workspaceRoot);
238
+ const analyzer = new (0, _chunkTZB5XADLcjs.ProjectAnalyzer)(workspaceRoot);
239
239
  const analysis = await analyzer.analyze();
240
- const currentHash = _chunkZHJ7JGMEcjs.computeProjectHash.call(void 0, analysis);
240
+ const currentHash = _chunkR4UKBKDYcjs.computeProjectHash.call(void 0, analysis);
241
241
  const allSkills = skillsRegistry.listSkills();
242
242
  const generatedSkills = allSkills.filter(
243
243
  (s) => _optionalChain([s, 'access', _25 => _25.metadata, 'optionalAccess', _26 => _26["agentskill-source"]]) === "llm-generated"
@@ -245,7 +245,7 @@ async function handleLearnUpdate(ctx) {
245
245
  if (generatedSkills.length === 0) {
246
246
  return "No LLM-generated skills found. Use /learn to generate skills first.";
247
247
  }
248
- const advisor = new (0, _chunkSOLBYSLYcjs.LearnAdvisor)(llm);
248
+ const advisor = new (0, _chunkWVDJUJH6cjs.LearnAdvisor)(llm);
249
249
  let updated = 0;
250
250
  let unchanged = 0;
251
251
  const lines = [];
@@ -275,7 +275,7 @@ description: ${generated.description}
275
275
 
276
276
  `;
277
277
  let content = frontmatter + generated.body + "\n";
278
- content = _chunkZHJ7JGMEcjs.injectGeneratedMetadata.call(void 0, content, skill.name, currentHash);
278
+ content = _chunkR4UKBKDYcjs.injectGeneratedMetadata.call(void 0, content, skill.name, currentHash);
279
279
  try {
280
280
  await _fsextra2.default.writeFile(skill.path, content, "utf-8");
281
281
  updated++;
@@ -310,7 +310,7 @@ async function learn(ctx, args) {
310
310
  }
311
311
  var metadata = {
312
312
  command: "/learn",
313
- description: _chunkCHI52KFRcjs.t.call(void 0, "commands.learn.description"),
313
+ description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.learn.description"),
314
314
  implemented: true,
315
315
  subcommands: [
316
316
  { name: "deep", description: "Deep-analyze project for better skill matching" },