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
  import {
2
2
  loadLocalProjectSettings
3
- } from "./chunk-HJIXWGQZ.js";
3
+ } from "./chunk-JSU46T6K.js";
4
+ import {
5
+ getCustomProviderConfig,
6
+ isCustomProviderName
7
+ } from "./chunk-JJGDOBFL.js";
8
+ import {
9
+ isAwsBedrockProviderEnabled
10
+ } from "./chunk-H7HXRRHK.js";
4
11
  import {
5
12
  autoInitTheme,
6
13
  configureThemeSources,
@@ -8,7 +15,7 @@ import {
8
15
  } from "./chunk-NBGOIFKP.js";
9
16
  import {
10
17
  AUTOHAND_FILES
11
- } from "./chunk-TWQDAUZU.js";
18
+ } from "./chunk-PG2JIU5M.js";
12
19
 
13
20
  // src/config.ts
14
21
  import fs from "fs-extra";
@@ -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 (isCustomProviderName(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: {
@@ -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 && isCustomProviderName(provider)) {
376
+ const customProvider = getCustomProviderConfig(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: 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 (config.auth?.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,6 +598,37 @@ 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
634
  const candidate = requestedPath ?? process.cwd() ?? config.workspace?.defaultRoot;
@@ -555,6 +636,30 @@ function resolveWorkspaceRoot(config, requestedPath) {
555
636
  }
556
637
  function getProviderConfig(config, provider) {
557
638
  const chosen = provider ?? config.provider ?? "openrouter";
639
+ if (isCustomProviderName(chosen)) {
640
+ const entry2 = getCustomProviderConfig(config, chosen);
641
+ if (!entry2 || entry2.apiFormat !== "openai-compatible") {
642
+ return null;
643
+ }
644
+ const model = entry2.model?.trim();
645
+ const baseUrl = entry2.baseUrl?.trim();
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" && !isAwsBedrockProviderEnabled(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
  }
@@ -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: entry.model ?? "local",
606
- baseUrl: entry.baseUrl ?? defaultBaseUrlFor(chosen, entry.port)
715
+ baseUrl: 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: entry.baseUrl ?? defaultBaseUrlFor(chosen, entry.port)
724
+ baseUrl: 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 = entry.model?.trim();
753
+ const region = entry.region?.trim() || process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION || DEFAULT_BEDROCK_REGION;
754
+ const apiMode = entry.apiMode ?? "converse";
755
+ const authMode = entry.authMode ?? (apiMode === "converse" ? "aws-credentials" : "bedrock-api-key");
756
+ const endpoint = entry.endpoint?.replace(/\/+$/, "") ?? (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;
@@ -0,0 +1,303 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }// src/onboarding/agentsGenerator.ts
2
+ var AgentsGenerator = class {
3
+ /**
4
+ * Generate AGENTS.md content
5
+ */
6
+ generateContent(info, options) {
7
+ const sections = [];
8
+ sections.push("# AGENTS.md");
9
+ sections.push("");
10
+ sections.push("This file helps Autohand understand how to work with this project.");
11
+ sections.push("");
12
+ sections.push(this.generateProjectOverview(info));
13
+ if (info.packageManager) {
14
+ sections.push(this.generateCommandsSection(info));
15
+ }
16
+ if (info.testFramework) {
17
+ sections.push(this.generateTestingSection(info));
18
+ }
19
+ if (info.framework) {
20
+ const frameworkSection = this.generateFrameworkSection(info);
21
+ if (frameworkSection) {
22
+ sections.push(frameworkSection);
23
+ }
24
+ }
25
+ sections.push(this.generateInstructionSourcesSection());
26
+ sections.push(this.generateCodeStyleSection(info));
27
+ sections.push(this.generateConstraintsSection());
28
+ if (_optionalChain([options, 'optionalAccess', _ => _.customSections])) {
29
+ for (const section of options.customSections) {
30
+ sections.push(`## ${section.title}`);
31
+ sections.push("");
32
+ sections.push(section.content);
33
+ sections.push("");
34
+ }
35
+ }
36
+ return sections.join("\n");
37
+ }
38
+ /**
39
+ * Generate project overview section
40
+ */
41
+ generateProjectOverview(info) {
42
+ const lines = [];
43
+ lines.push("## Project Overview");
44
+ lines.push("");
45
+ if (info.language) {
46
+ lines.push(`- **Language**: ${info.language}`);
47
+ }
48
+ if (info.framework) {
49
+ lines.push(`- **Framework**: ${info.framework}`);
50
+ }
51
+ if (info.packageManager) {
52
+ lines.push(`- **Package Manager**: ${info.packageManager}`);
53
+ }
54
+ if (info.testFramework) {
55
+ lines.push(`- **Test Framework**: ${info.testFramework}`);
56
+ }
57
+ if (info.buildTool) {
58
+ lines.push(`- **Build Tool**: ${info.buildTool}`);
59
+ }
60
+ lines.push("");
61
+ return lines.join("\n");
62
+ }
63
+ /**
64
+ * Generate commands section based on package manager
65
+ */
66
+ generateCommandsSection(info) {
67
+ const lines = [];
68
+ lines.push("## Commands");
69
+ lines.push("");
70
+ const pm = info.packageManager;
71
+ if (info.language === "Rust") {
72
+ lines.push("- **Build**: `cargo build`");
73
+ lines.push("- **Build (release)**: `cargo build --release`");
74
+ lines.push("- **Run**: `cargo run`");
75
+ lines.push("- **Test**: `cargo test`");
76
+ lines.push("- **Check**: `cargo check`");
77
+ lines.push("- **Format**: `cargo fmt`");
78
+ lines.push("- **Lint**: `cargo clippy`");
79
+ } else if (info.language === "Go") {
80
+ lines.push("- **Build**: `go build`");
81
+ lines.push("- **Run**: `go run .`");
82
+ lines.push("- **Test**: `go test ./...`");
83
+ lines.push("- **Format**: `go fmt ./...`");
84
+ lines.push("- **Vet**: `go vet ./...`");
85
+ } else if (info.language === "Python") {
86
+ if (pm === "poetry") {
87
+ lines.push("- **Install**: `poetry install`");
88
+ lines.push("- **Run**: `poetry run python main.py`");
89
+ lines.push("- **Add dependency**: `poetry add <package>`");
90
+ if (info.testFramework) {
91
+ lines.push(`- **Test**: \`poetry run pytest\``);
92
+ }
93
+ } else if (pm === "pipenv") {
94
+ lines.push("- **Install**: `pipenv install`");
95
+ lines.push("- **Run**: `pipenv run python main.py`");
96
+ if (info.testFramework) {
97
+ lines.push(`- **Test**: \`pipenv run pytest\``);
98
+ }
99
+ } else {
100
+ lines.push("- **Install**: `pip install -r requirements.txt`");
101
+ lines.push("- **Run**: `python main.py`");
102
+ if (info.testFramework) {
103
+ lines.push(`- **Test**: \`pytest\``);
104
+ }
105
+ }
106
+ } else {
107
+ const run = pm === "npm" ? "npm run" : pm;
108
+ const install = pm === "npm" ? "npm install" : `${pm} install`;
109
+ lines.push(`- **Install**: \`${install}\``);
110
+ lines.push(`- **Dev**: \`${run} dev\``);
111
+ lines.push(`- **Build**: \`${run} build\``);
112
+ if (info.testFramework) {
113
+ lines.push(`- **Test**: \`${run} test\``);
114
+ }
115
+ if (info.linter) {
116
+ lines.push(`- **Lint**: \`${run} lint\``);
117
+ }
118
+ if (info.formatter) {
119
+ lines.push(`- **Format**: \`${run} format\``);
120
+ }
121
+ }
122
+ lines.push("");
123
+ return lines.join("\n");
124
+ }
125
+ /**
126
+ * Generate testing section
127
+ */
128
+ generateTestingSection(info) {
129
+ const lines = [];
130
+ lines.push("## Testing");
131
+ lines.push("");
132
+ lines.push(`This project uses **${info.testFramework}** for testing.`);
133
+ lines.push("");
134
+ lines.push("- Write tests for new features before implementation");
135
+ lines.push("- Run tests before committing changes");
136
+ lines.push("- Aim for good test coverage on critical paths");
137
+ if (info.testFramework === "Vitest" || info.testFramework === "Jest") {
138
+ lines.push("- Use `describe` and `it` blocks to organize tests");
139
+ lines.push("- Mock external dependencies when appropriate");
140
+ } else if (info.testFramework === "pytest") {
141
+ lines.push("- Use fixtures for shared test setup");
142
+ lines.push("- Use `pytest.mark` for test categorization");
143
+ } else if (info.testFramework === "Playwright" || info.testFramework === "Cypress") {
144
+ lines.push("- Write E2E tests for critical user flows");
145
+ lines.push("- Keep selectors stable and meaningful");
146
+ }
147
+ lines.push("");
148
+ return lines.join("\n");
149
+ }
150
+ /**
151
+ * Generate framework-specific section
152
+ */
153
+ generateFrameworkSection(info) {
154
+ const lines = [];
155
+ switch (info.framework) {
156
+ case "Next.js":
157
+ lines.push("## Next.js Guidelines");
158
+ lines.push("");
159
+ lines.push("- Use the App Router for new pages (`app/` directory)");
160
+ lines.push("- Prefer Server Components by default");
161
+ lines.push('- Use `"use client"` only when needed for interactivity');
162
+ lines.push("- Keep API routes in `app/api/`");
163
+ lines.push("- Use `next/image` for optimized images");
164
+ lines.push("- Use `next/link` for client-side navigation");
165
+ break;
166
+ case "React":
167
+ lines.push("## React Guidelines");
168
+ lines.push("");
169
+ lines.push("- Use functional components with hooks");
170
+ lines.push("- Keep components small and focused");
171
+ lines.push("- Use custom hooks to share logic");
172
+ lines.push("- Prefer composition over inheritance");
173
+ lines.push("- Use TypeScript interfaces for props");
174
+ break;
175
+ case "Vue":
176
+ lines.push("## Vue Guidelines");
177
+ lines.push("");
178
+ lines.push("- Use Composition API for new components");
179
+ lines.push("- Keep components in single-file format (.vue)");
180
+ lines.push("- Use composables to share logic");
181
+ break;
182
+ case "Express":
183
+ lines.push("## Express Guidelines");
184
+ lines.push("");
185
+ lines.push("- Use middleware for cross-cutting concerns");
186
+ lines.push("- Keep route handlers thin, delegate to services");
187
+ lines.push("- Use async/await with proper error handling");
188
+ lines.push("- Validate request input before processing");
189
+ break;
190
+ case "FastAPI":
191
+ lines.push("## FastAPI Guidelines");
192
+ lines.push("");
193
+ lines.push("- Use Pydantic models for request/response validation");
194
+ lines.push("- Use dependency injection for shared resources");
195
+ lines.push("- Keep endpoints in organized routers");
196
+ lines.push("- Use async functions for I/O operations");
197
+ break;
198
+ case "Django":
199
+ lines.push("## Django Guidelines");
200
+ lines.push("");
201
+ lines.push("- Follow Django project structure conventions");
202
+ lines.push("- Use class-based views where appropriate");
203
+ lines.push("- Keep business logic in models or services");
204
+ lines.push("- Use Django ORM for database operations");
205
+ break;
206
+ case "Flask":
207
+ lines.push("## Flask Guidelines");
208
+ lines.push("");
209
+ lines.push("- Use blueprints to organize routes");
210
+ lines.push("- Keep route handlers focused");
211
+ lines.push("- Use Flask extensions for common functionality");
212
+ break;
213
+ case "NestJS":
214
+ lines.push("## NestJS Guidelines");
215
+ lines.push("");
216
+ lines.push("- Follow module-based architecture");
217
+ lines.push("- Use dependency injection");
218
+ lines.push("- Use decorators for metadata");
219
+ lines.push("- Keep controllers thin, services fat");
220
+ break;
221
+ default:
222
+ return null;
223
+ }
224
+ lines.push("");
225
+ return lines.join("\n");
226
+ }
227
+ /**
228
+ * Generate instruction sources section
229
+ */
230
+ generateInstructionSourcesSection() {
231
+ const lines = [];
232
+ lines.push("## Instruction Sources");
233
+ lines.push("");
234
+ lines.push("- Check saved memories and preferences before implementation work.");
235
+ lines.push("- Follow this AGENTS.md file for repository-specific guidance.");
236
+ lines.push("- AGENTS.md takes precedence over CLAUDE.md when both files provide instructions.");
237
+ lines.push("");
238
+ return lines.join("\n");
239
+ }
240
+ /**
241
+ * Generate code style section
242
+ */
243
+ generateCodeStyleSection(info) {
244
+ const lines = [];
245
+ lines.push("## Code Style");
246
+ lines.push("");
247
+ if (info.language === "TypeScript") {
248
+ lines.push("- Use strict TypeScript settings");
249
+ lines.push("- Define types/interfaces for data structures");
250
+ lines.push("- Avoid `any` type - use `unknown` if type is truly unknown");
251
+ lines.push("- Use type inference where obvious");
252
+ } else if (info.language === "Python") {
253
+ lines.push("- Follow PEP 8 style guidelines");
254
+ lines.push("- Use type hints for function signatures");
255
+ lines.push("- Use docstrings for public functions");
256
+ } else if (info.language === "Rust") {
257
+ lines.push("- Follow Rust naming conventions (snake_case for functions)");
258
+ lines.push("- Use descriptive error types");
259
+ lines.push("- Prefer `Result` over panicking");
260
+ } else if (info.language === "Go") {
261
+ lines.push("- Follow Go idioms and conventions");
262
+ lines.push("- Use short variable names in small scopes");
263
+ lines.push("- Handle errors explicitly");
264
+ }
265
+ lines.push("- Follow existing patterns in the codebase");
266
+ lines.push("- Use meaningful variable and function names");
267
+ lines.push("- Add comments for complex logic");
268
+ lines.push("- Keep functions focused and small");
269
+ if (info.linter) {
270
+ lines.push(`- Run **${info.linter}** before committing`);
271
+ }
272
+ if (info.formatter) {
273
+ lines.push(`- Format code with **${info.formatter}**`);
274
+ }
275
+ lines.push("");
276
+ return lines.join("\n");
277
+ }
278
+ /**
279
+ * Generate constraints section
280
+ */
281
+ generateConstraintsSection() {
282
+ const lines = [];
283
+ lines.push("## Constraints");
284
+ lines.push("");
285
+ lines.push("- Do not modify files outside the project directory");
286
+ lines.push("- Ask before making breaking changes");
287
+ lines.push("- Prefer editing existing files over creating new ones");
288
+ lines.push("- Do not delete files without confirmation");
289
+ lines.push("- Keep dependencies minimal - avoid adding new ones without good reason");
290
+ lines.push("- Do not commit sensitive data (API keys, secrets, credentials)");
291
+ lines.push("");
292
+ return lines.join("\n");
293
+ }
294
+ };
295
+
296
+
297
+
298
+ exports.AgentsGenerator = AgentsGenerator;
299
+ /**
300
+ * @license
301
+ * Copyright 2025 Autohand AI LLC
302
+ * SPDX-License-Identifier: Apache-2.0
303
+ */