autohand-cli 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/README.md +20 -2
  2. package/dist/{AgentRegistry-XPWSVO3Q.js → AgentRegistry-GOV7FN2O.js} +2 -2
  3. package/dist/AgentRegistry-J2C6JBZ3.cjs +10 -0
  4. package/dist/CommunitySkillsCache-22BB3J6H.cjs +8 -0
  5. package/dist/{CommunitySkillsCache-ZEQWP6YM.js → CommunitySkillsCache-ZACDPD4J.js} +2 -2
  6. package/dist/{HookManager-CWLTFKWO.js → HookManager-2S6AHOC3.js} +1 -1
  7. package/dist/{HookManager-TMAJQU4S.cjs → HookManager-TVEQI5ZU.cjs} +2 -2
  8. package/dist/{ImportWizard-QBKQEXDW.js → ImportWizard-AEBMAKXE.js} +4 -4
  9. package/dist/{ImportWizard-MQXEED2U.cjs → ImportWizard-AF2XL6DS.cjs} +13 -13
  10. package/dist/LearnAdvisor-KKEQ5QCV.js +9 -0
  11. package/dist/LearnAdvisor-Q7RAYLPF.cjs +9 -0
  12. package/dist/MemoryManager-PMNAEZMB.cjs +8 -0
  13. package/dist/{MemoryManager-WJMLPWGU.js → MemoryManager-QZRLTUB5.js} +2 -2
  14. package/dist/NVIDIAProvider-C3FWQOBZ.cjs +14 -0
  15. package/dist/{NVIDIAProvider-2HR737UE.js → NVIDIAProvider-SJPY3ONR.js} +1 -1
  16. package/dist/{PermissionManager-KMYILJ4Z.js → PermissionManager-MT7KBNNR.js} +3 -3
  17. package/dist/PermissionManager-URCNP5EC.cjs +11 -0
  18. package/dist/ProviderFactory-56N3ECE4.cjs +12 -0
  19. package/dist/{ProviderFactory-HFPRVQ25.js → ProviderFactory-RB4RVAF6.js} +3 -2
  20. package/dist/SessionManager-2IZGWASQ.cjs +10 -0
  21. package/dist/{SessionManager-PNBTJJTQ.js → SessionManager-554PHVPC.js} +2 -2
  22. package/dist/SkillsRegistry-GMRVONOQ.cjs +9 -0
  23. package/dist/{SkillsRegistry-4RRD5GMX.js → SkillsRegistry-NHHMIUYJ.js} +2 -2
  24. package/dist/SubAgent-4GOR2FIJ.js +13 -0
  25. package/dist/SubAgent-ZJMDH4FI.cjs +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-3USFSGOH.js} +5 -4
  29. package/dist/about-QR52U5DD.cjs +15 -0
  30. package/dist/{acp-VHEL7BOW.js → acp-5Y2W6OZP.js} +129 -90
  31. package/dist/{acp-EOETGAHC.cjs → acp-GSYE75OB.cjs} +135 -96
  32. package/dist/actionExecutor-KHUU3Z3Q.cjs +28 -0
  33. package/dist/{actionExecutor-33I47NZS.js → actionExecutor-PLQJZLZV.js} +12 -8
  34. package/dist/add-dir-BTAD5OZS.cjs +11 -0
  35. package/dist/{add-dir-VFX7QT4E.js → add-dir-HCERJDBR.js} +2 -2
  36. package/dist/agent-B3EVT7NN.cjs +126 -0
  37. package/dist/agent-SATQ3WZ3.js +126 -0
  38. package/dist/agents-44CRJGM7.cjs +18 -0
  39. package/dist/agents-NN4ZAJ7R.js +18 -0
  40. package/dist/agents-new-6D6G4QS6.cjs +17 -0
  41. package/dist/agents-new-7GAQ25EK.js +17 -0
  42. package/dist/{autoSkill-EFMK6WU6.js → autoSkill-66PKCYTW.js} +2 -2
  43. package/dist/autoSkill-VQLGBELN.cjs +20 -0
  44. package/dist/automode-45DWV4TN.cjs +10 -0
  45. package/dist/{automode-BMYSRM34.js → automode-BUF3VGXU.js} +2 -2
  46. package/dist/chrome-Q2U73HZB.cjs +50 -0
  47. package/dist/chrome-Q54OALOK.cjs +21 -0
  48. package/dist/{chrome-NHJ44WUN.js → chrome-Y3T7EIHG.js} +2 -2
  49. package/dist/chrome-ZNJ46OYW.js +21 -0
  50. package/dist/{chunk-D2OSPLYC.cjs → chunk-22SCR3EV.cjs} +2 -2
  51. package/dist/chunk-26G7YGOW.js +367 -0
  52. package/dist/{chunk-75EDROHL.cjs → chunk-2ESQR35E.cjs} +10 -10
  53. package/dist/{chunk-HKYZSUQ5.js → chunk-2IW5YFJ4.js} +4 -4
  54. package/dist/{chunk-JP3YHTQ2.cjs → chunk-3ICORF7M.cjs} +4 -4
  55. package/dist/{chunk-4256YRCO.cjs → chunk-3UC6DMFI.cjs} +30 -17
  56. package/dist/{chunk-6GUODJKM.cjs → chunk-3UHRCHKB.cjs} +23 -23
  57. package/dist/{chunk-HXJEGMGB.js → chunk-3ZOOH44N.js} +2 -2
  58. package/dist/{chunk-7RFJB75Y.js → chunk-44ZWOBTI.js} +9 -9
  59. package/dist/{chunk-CCVMREXI.js → chunk-4567QNRB.js} +32 -8
  60. package/dist/chunk-45CHNQM6.cjs +517 -0
  61. package/dist/{chunk-6NVAK6CK.js → chunk-4E7SHPNQ.js} +2 -2
  62. package/dist/{chunk-XGMI6IYB.cjs → chunk-4XFHP2SN.cjs} +7 -7
  63. package/dist/chunk-4XVLNOFA.js +360 -0
  64. package/dist/{chunk-D6GZBSOX.js → chunk-575PXZX7.js} +1 -1
  65. package/dist/{chunk-HJIXWGQZ.js → chunk-5A7ZL64N.js} +1 -1
  66. package/dist/{chunk-ROLA6EFO.cjs → chunk-5GCQ5UMV.cjs} +14 -14
  67. package/dist/{chunk-3DDL2E55.cjs → chunk-5SFV2NCY.cjs} +10 -10
  68. package/dist/chunk-5ZNYX4VH.cjs +71 -0
  69. package/dist/{chunk-PDHT7LQS.cjs → chunk-63ANVAOJ.cjs} +3 -3
  70. package/dist/{chunk-GWO66KBI.js → chunk-65LRPW5W.js} +1 -1
  71. package/dist/{chunk-IAGCRVJ3.js → chunk-6AYJCDTA.js} +14 -9
  72. package/dist/{chunk-A7HHCIDQ.js → chunk-6HF6XSCC.js} +2 -2
  73. package/dist/{chunk-47PHDKNW.cjs → chunk-6JWCGQJU.cjs} +6 -6
  74. package/dist/chunk-6OECOAK5.cjs +360 -0
  75. package/dist/{chunk-RBHANOYY.js → chunk-7DJJGKM6.js} +47 -3
  76. package/dist/{chunk-37M5UM6I.js → chunk-7IRQ7JEH.js} +1 -1
  77. package/dist/chunk-7MY4JHER.js +27 -0
  78. package/dist/{chunk-ZR46OJNZ.js → chunk-7PJKTSRN.js} +3 -3
  79. package/dist/{chunk-AC7DZ6SK.cjs → chunk-7PT646AL.cjs} +3 -3
  80. package/dist/{chunk-TKKN34TV.js → chunk-7WAUCLLQ.js} +3 -3
  81. package/dist/{chunk-DPSIGY6L.cjs → chunk-7XTUL7ZD.cjs} +9 -9
  82. package/dist/{chunk-GBMDFWJX.cjs → chunk-AE2ILW25.cjs} +13 -13
  83. package/dist/{chunk-BQ22N3TX.cjs → chunk-AOKXYGBQ.cjs} +27 -22
  84. package/dist/{chunk-REMGR23V.cjs → chunk-AQ5PVHOC.cjs} +7 -2
  85. package/dist/{chunk-AUYSIEVV.cjs → chunk-AZ47LKD5.cjs} +3 -3
  86. package/dist/chunk-B76FJKEJ.cjs +184 -0
  87. package/dist/{chunk-XV2HXRHX.js → chunk-BP37FVBM.js} +3 -3
  88. package/dist/{chunk-JIMSII7R.js → chunk-C46B72VK.js} +57 -10
  89. package/dist/{chunk-L4F7SUYL.js → chunk-C5QIQQ37.js} +3 -3
  90. package/dist/{chunk-AUFNACED.js → chunk-CCIDL4SA.js} +7094 -6126
  91. package/dist/{chunk-OV3PVUYN.js → chunk-CECH6QQP.js} +11 -11
  92. package/dist/{chunk-CH2J4PVE.cjs → chunk-CK4HAHVY.cjs} +13 -13
  93. package/dist/{chunk-Q2IL4DDI.cjs → chunk-CO2AADYU.cjs} +19 -14
  94. package/dist/{chunk-7JLT2VNW.cjs → chunk-CRTCZ4WL.cjs} +7533 -6565
  95. package/dist/{chunk-5JFTY3VU.js → chunk-CSTUTDTH.js} +2 -1
  96. package/dist/{chunk-DIZTWFVR.cjs → chunk-D546G7DA.cjs} +209 -55
  97. package/dist/{chunk-7HPWMALN.js → chunk-DGBPWODD.js} +1 -1
  98. package/dist/{chunk-RBZ7AFX7.cjs → chunk-DHUQZ53B.cjs} +2 -2
  99. package/dist/{chunk-U4C3HW6P.js → chunk-DNSD7DVJ.js} +2 -2
  100. package/dist/{chunk-SOLBYSLY.cjs → chunk-DSSCERHI.cjs} +2 -2
  101. package/dist/{chunk-OPNI6O7F.cjs → chunk-EA2MS25U.cjs} +4 -4
  102. package/dist/{chunk-E46DJH5S.js → chunk-EEHWALXA.js} +94 -3
  103. package/dist/{chunk-CFFE4VA3.js → chunk-EYHKL4QC.js} +1 -1
  104. package/dist/{chunk-FGT6KK6T.js → chunk-FBQJZKFX.js} +3 -3
  105. package/dist/{chunk-I24CWKKK.js → chunk-FFHSCM5M.js} +3 -3
  106. package/dist/{chunk-TXPSTCG7.cjs → chunk-GAOPJ5S3.cjs} +8 -8
  107. package/dist/{chunk-ARBEHFCG.js → chunk-GSDV75A5.js} +1 -1
  108. package/dist/{chunk-Z3XSSF7B.js → chunk-H426KOGY.js} +1 -1
  109. package/dist/{chunk-WRTXCQ3V.cjs → chunk-HC2Q6A3E.cjs} +858 -182
  110. package/dist/{chunk-IGMPWJ2I.cjs → chunk-HG3ZASBH.cjs} +8 -8
  111. package/dist/chunk-HK5A54AV.cjs +280 -0
  112. package/dist/{chunk-2HOLOHVK.js → chunk-HSWWM6AM.js} +136 -15
  113. package/dist/chunk-HTU4W3GB.js +183 -0
  114. package/dist/{chunk-5CMYEM3R.cjs → chunk-HVCIB4SW.cjs} +3 -3
  115. package/dist/chunk-HXHE2KAO.js +385 -0
  116. package/dist/{chunk-NMQ47RCG.js → chunk-HZWU6IO3.js} +5 -2
  117. package/dist/{chunk-ZPD2AO3U.js → chunk-I2ZK3AOD.js} +2 -2
  118. package/dist/{chunk-3UT7R3XV.js → chunk-IEPLQ47J.js} +61 -5
  119. package/dist/{chunk-3PXKRVCW.js → chunk-JB3JCYBJ.js} +7 -2
  120. package/dist/chunk-JCUHCH37.cjs +247 -0
  121. package/dist/{chunk-VBOFPU5M.cjs → chunk-JM3ZTQUK.cjs} +13 -9
  122. package/dist/{chunk-WZV6UVPY.js → chunk-JMJRFSNJ.js} +1 -1
  123. package/dist/{chunk-QKP772OZ.js → chunk-JPFRI4L4.js} +756 -80
  124. package/dist/{chunk-MOJ7ADW4.cjs → chunk-JV5HVCHU.cjs} +2 -2
  125. package/dist/{chunk-LN7D3EJZ.js → chunk-KA2U6MY2.js} +4 -3
  126. package/dist/{chunk-E26KKI46.cjs → chunk-KASXKDF2.cjs} +3 -1
  127. package/dist/chunk-KJ26T7GM.cjs +367 -0
  128. package/dist/chunk-KM7R5YPS.cjs +385 -0
  129. package/dist/{chunk-5F6ZKSHO.js → chunk-KMP6Y3LJ.js} +1 -1
  130. package/dist/chunk-KWXGDSYT.js +184 -0
  131. package/dist/{chunk-LDJQ5QHG.cjs → chunk-L46OUKW5.cjs} +15 -15
  132. package/dist/{chunk-Z4LIPMPM.js → chunk-L6OH44HL.js} +13 -9
  133. package/dist/chunk-LANGD5CO.js +280 -0
  134. package/dist/{chunk-CBFH2J3O.js → chunk-LEZEWKPA.js} +150 -7
  135. package/dist/{chunk-FQAVGSPW.js → chunk-M5DK524Z.js} +2 -2
  136. package/dist/{chunk-7LWQCE4Y.cjs → chunk-M7B7RRBK.cjs} +72 -25
  137. package/dist/{chunk-BWF4VDYE.js → chunk-MANJ67D3.js} +2 -2
  138. package/dist/{chunk-PHJO5YAL.cjs → chunk-MGNXABSU.cjs} +9 -9
  139. package/dist/{chunk-62RTC3XX.js → chunk-MMKZSJUN.js} +1 -1
  140. package/dist/{chunk-3KLSNNRW.cjs → chunk-MQQH4XQH.cjs} +4 -4
  141. package/dist/{chunk-HS4USDND.cjs → chunk-MZN6JBRZ.cjs} +2 -2
  142. package/dist/{chunk-AT7OWLY5.js → chunk-NB6M6ESM.js} +1 -1
  143. package/dist/{chunk-TQ33WBY5.cjs → chunk-NHWHEW7M.cjs} +2 -1
  144. package/dist/chunk-NQZH5CR2.cjs +468 -0
  145. package/dist/{chunk-2CGE7ZV3.cjs → chunk-NV6LCD2I.cjs} +119 -28
  146. package/dist/chunk-NVATU4V6.cjs +44 -0
  147. package/dist/{chunk-DLP436GI.js → chunk-NZ3ZWLUW.js} +2 -2
  148. package/dist/{chunk-IEXKKKOF.cjs → chunk-NZ7GCK7Y.cjs} +23 -23
  149. package/dist/{chunk-MQESBFBZ.cjs → chunk-NZQFKXM3.cjs} +21 -20
  150. package/dist/{chunk-QQ7PANOP.js → chunk-O5GI6SR3.js} +1 -1
  151. package/dist/{chunk-J5ADZN6V.cjs → chunk-OCATAKXV.cjs} +20 -20
  152. package/dist/{chunk-JYKPWK5O.js → chunk-OIGYWOL6.js} +1 -1
  153. package/dist/{chunk-O6TQP7U7.cjs → chunk-ONVYXTUT.cjs} +3 -3
  154. package/dist/{chunk-MPULXVC4.cjs → chunk-OV3T5MUH.cjs} +11 -11
  155. package/dist/{chunk-DMRXF5DU.js → chunk-P4FUTSVK.js} +3 -3
  156. package/dist/{chunk-MXVIDIC6.cjs → chunk-P6SLT2F4.cjs} +2 -2
  157. package/dist/{chunk-BL2UC7HC.js → chunk-PGFLPURU.js} +1 -1
  158. package/dist/{chunk-CWINVFRI.cjs → chunk-PIXQ2AVM.cjs} +17 -17
  159. package/dist/{chunk-MO4KP6XS.cjs → chunk-PNIAIOMZ.cjs} +5 -5
  160. package/dist/{chunk-HQWQZML5.cjs → chunk-PQBYFEBL.cjs} +2 -2
  161. package/dist/{chunk-UGFVM77J.cjs → chunk-PSAH4ZQB.cjs} +2 -2
  162. package/dist/{chunk-Y3M2DABP.js → chunk-PTTZI4QZ.js} +4 -4
  163. package/dist/{chunk-Q6AC3PHY.cjs → chunk-PY73W5MQ.cjs} +4 -4
  164. package/dist/{chunk-B5CGDNMR.js → chunk-PZZMIYII.js} +3 -3
  165. package/dist/{chunk-VRMZO6TB.js → chunk-Q3BS6FPM.js} +7 -6
  166. package/dist/chunk-QBYGMMDD.js +517 -0
  167. package/dist/{chunk-3LJJG5YY.cjs → chunk-QLZOMZO5.cjs} +4 -3
  168. package/dist/{chunk-3S563FNF.cjs → chunk-QQ64HEHP.cjs} +31 -31
  169. package/dist/{chunk-TBOLJDUG.js → chunk-QRQF3556.js} +12 -7
  170. package/dist/{chunk-ZZ63NW7A.cjs → chunk-RBXBH6EB.cjs} +17 -17
  171. package/dist/{chunk-PUD76XQT.cjs → chunk-RFUKZIJF.cjs} +5 -5
  172. package/dist/chunk-RS2E32YB.js +71 -0
  173. package/dist/{chunk-7MU7LWF3.cjs → chunk-S5JNQIGL.cjs} +5 -5
  174. package/dist/{chunk-BFQDQRDE.js → chunk-S5QKRA2V.js} +2 -2
  175. package/dist/{chunk-IKUMVBCW.cjs → chunk-SD3NTC7D.cjs} +48 -4
  176. package/dist/{chunk-PQLKJCIE.js → chunk-SDLY4X3G.js} +2 -2
  177. package/dist/{chunk-VKBIE6I6.js → chunk-SFFEKZGC.js} +2 -2
  178. package/dist/{chunk-TWQDAUZU.js → chunk-SHRLFX6F.js} +3 -1
  179. package/dist/{chunk-UEIXJG45.js → chunk-SNDDZG5H.js} +88 -72
  180. package/dist/{chunk-AOKCI722.cjs → chunk-SOVR7S3T.cjs} +2 -2
  181. package/dist/{chunk-M4KNC5BQ.js → chunk-SPQ7QIQ6.js} +1 -1
  182. package/dist/{chunk-QCHIDZBA.js → chunk-SRMGWMQO.js} +1 -1
  183. package/dist/{chunk-ZHJ7JGME.cjs → chunk-SVVP4UUZ.cjs} +11 -11
  184. package/dist/{chunk-CHI52KFR.cjs → chunk-SY2P3Z5W.cjs} +150 -7
  185. package/dist/chunk-SZD45IDG.js +468 -0
  186. package/dist/{chunk-VGEV44V2.cjs → chunk-TE4SYTWR.cjs} +189 -28
  187. package/dist/{chunk-YV63VW4K.js → chunk-TR6NECEZ.js} +1 -1
  188. package/dist/{chunk-GZ6DV2UG.js → chunk-TYBPTKFT.js} +1 -1
  189. package/dist/{chunk-5VHP6HDQ.js → chunk-U2QUMKCB.js} +1 -1
  190. package/dist/{chunk-6HH236FV.cjs → chunk-U6PLSPMD.cjs} +2 -2
  191. package/dist/{chunk-EZJHLOWP.js → chunk-UWZ4G3SQ.js} +20 -7
  192. package/dist/{chunk-UXLW45ZE.cjs → chunk-V3SZLWEQ.cjs} +25 -90
  193. package/dist/chunk-V4HGZSKQ.cjs +183 -0
  194. package/dist/{chunk-2QL6MNXG.js → chunk-V5ELP2XE.js} +6 -6
  195. package/dist/{chunk-N6O3XUZ2.cjs → chunk-VKOXFT4L.cjs} +2 -2
  196. package/dist/{chunk-J2K57QM7.cjs → chunk-VLGGMQUN.cjs} +6 -6
  197. package/dist/{chunk-HSCUPEA4.cjs → chunk-VQHSYAPZ.cjs} +11 -11
  198. package/dist/{chunk-DEQVRSV5.cjs → chunk-W5QLA6WP.cjs} +8 -8
  199. package/dist/chunk-WJYFLQ7G.cjs +27 -0
  200. package/dist/{chunk-MX75JYIY.js → chunk-WNJXIACY.js} +3 -3
  201. package/dist/{chunk-OHWMWKJQ.js → chunk-WPE2XHVX.js} +1 -1
  202. package/dist/{chunk-O64I2GYI.js → chunk-X3TI5TJJ.js} +1 -1
  203. package/dist/{chunk-46C73ZKK.cjs → chunk-X5P6QQOB.cjs} +66 -10
  204. package/dist/{chunk-TJNBASFD.cjs → chunk-X7XMITIL.cjs} +8 -8
  205. package/dist/{chunk-E6GFD7VR.cjs → chunk-XNIMSVS6.cjs} +11 -11
  206. package/dist/{chunk-WGLBC5AY.cjs → chunk-XW3XCK4E.cjs} +4 -4
  207. package/dist/{chunk-OM24WXEE.js → chunk-XZVDYC5U.js} +1 -1
  208. package/dist/{chunk-UWFG2R2I.cjs → chunk-Y5BDE24P.cjs} +33 -9
  209. package/dist/{chunk-GGLKUENP.js → chunk-YC5OBZQU.js} +161 -7
  210. package/dist/{chunk-JJ4KA7HK.cjs → chunk-YISPVAXO.cjs} +371 -250
  211. package/dist/{chunk-SWCQM52V.js → chunk-YQDI753V.js} +4 -4
  212. package/dist/{chunk-KNTUI4TZ.cjs → chunk-YWH55BWK.cjs} +9 -6
  213. package/dist/{chunk-ACDQGA4Z.js → chunk-YXM6SA7P.js} +7 -72
  214. package/dist/{chunk-3GUEUCZK.js → chunk-ZNGRLCFQ.js} +2 -0
  215. package/dist/{chunk-LQBONA55.cjs → chunk-ZNYZB7XY.cjs} +2 -0
  216. package/dist/{chunk-XIVFAD2L.js → chunk-ZPLCAXJW.js} +172 -11
  217. package/dist/chunk-ZUYYHKQA.js +44 -0
  218. package/dist/clear-QJXU25IF.cjs +12 -0
  219. package/dist/{clear-OFLFQ3MR.js → clear-Y5TO3RZA.js} +2 -2
  220. package/dist/communityInstaller-LXMVKVAV.cjs +22 -0
  221. package/dist/{communityInstaller-COB2KTOW.js → communityInstaller-RVL4STPS.js} +6 -6
  222. package/dist/completion-JX4T2ONW.cjs +17 -0
  223. package/dist/{completion-PT4VM2H2.js → completion-SE3XYG74.js} +5 -5
  224. package/dist/config-3224PRW4.cjs +21 -0
  225. package/dist/{config-R4O7GBTY.js → config-7KPHKFTP.js} +4 -3
  226. package/dist/{constants-HVCHVQAF.js → constants-EJFAWJQI.js} +1 -1
  227. package/dist/constants-MCCGUU5F.cjs +21 -0
  228. package/dist/{export-3PK3VFCE.js → export-BJVIDZC4.js} +5 -5
  229. package/dist/export-KU4557HK.cjs +15 -0
  230. package/dist/feature-K3LG5IJP.cjs +14 -0
  231. package/dist/feature-V4JF5TNJ.js +14 -0
  232. package/dist/features-5OJTLKS7.js +23 -0
  233. package/dist/features-VCBJQXCX.cjs +23 -0
  234. package/dist/feedback-D4437VE4.js +18 -0
  235. package/dist/feedback-VZPEHGFY.cjs +18 -0
  236. package/dist/go-X4E6BCD6.js +12 -0
  237. package/dist/go-XREVFS5I.cjs +12 -0
  238. package/dist/goal-4M3J6JS2.cjs +16 -0
  239. package/dist/goal-EI66BV7W.js +16 -0
  240. package/dist/help-GGFS7WHY.cjs +12 -0
  241. package/dist/{help-X3OAZ3CY.js → help-MLIROWKM.js} +2 -2
  242. package/dist/{history-YKFPHBJN.js → history-GQJ6RZD6.js} +2 -2
  243. package/dist/history-J4LUIOSI.cjs +14 -0
  244. package/dist/hooks-FSRIUS6A.cjs +18 -0
  245. package/dist/{hooks-7TA4PIIB.js → hooks-PPFHCF7T.js} +6 -6
  246. package/dist/i18n-CI6VFXL5.cjs +33 -0
  247. package/dist/{i18n-2KBUU7XL.js → i18n-Q7UZJRPL.js} +1 -1
  248. package/dist/ide-BUSVE54P.js +15 -0
  249. package/dist/ide-YR27BPGM.cjs +15 -0
  250. package/dist/{import-4CHYLS4K.js → import-3VBKI6BN.js} +3 -3
  251. package/dist/{import-I7T4ZHYL.cjs → import-C7S6UJMW.cjs} +3 -3
  252. package/dist/import-DBK4OCDF.cjs +10 -0
  253. package/dist/{import-JWPYKXCZ.js → import-U47DXCA7.js} +2 -2
  254. package/dist/index.cjs +267 -170
  255. package/dist/index.d.cts +2 -0
  256. package/dist/index.d.ts +2 -0
  257. package/dist/index.js +165 -68
  258. package/dist/init-OXTYS72D.cjs +10 -0
  259. package/dist/{init-262MWZV4.js → init-Q2O4R42R.js} +2 -2
  260. package/dist/{inputPrompt-YGBHDUEP.js → inputPrompt-3CFZDUBH.js} +2 -2
  261. package/dist/inputPrompt-JMACL4EB.cjs +90 -0
  262. package/dist/language-EK3M6UBV.cjs +22 -0
  263. package/dist/language-Q3RUGGOW.js +22 -0
  264. package/dist/learn-3DSX7DYG.cjs +23 -0
  265. package/dist/learn-OPOH5L43.js +23 -0
  266. package/dist/login-GST7MWXJ.cjs +27 -0
  267. package/dist/login-Q7DZKAX4.js +27 -0
  268. package/dist/logout-2G7OUK7I.cjs +24 -0
  269. package/dist/logout-FNBBL2UI.js +24 -0
  270. package/dist/{mcp-5O6PUL4G.js → mcp-AH3MMUBU.js} +7 -6
  271. package/dist/mcp-DW7R63IB.cjs +21 -0
  272. package/dist/{mcp-install-6XWXLFVY.js → mcp-install-222PCKSW.js} +9 -8
  273. package/dist/{mcp-install-P6DHES7V.cjs → mcp-install-IA4ZS2SV.cjs} +14 -13
  274. package/dist/memory-6NX3DAIY.cjs +10 -0
  275. package/dist/{memory-Q54CESNM.js → memory-VB46T5H3.js} +2 -2
  276. package/dist/model-64NAELFS.cjs +10 -0
  277. package/dist/{model-6AJ77PJG.js → model-SJJG64AM.js} +2 -2
  278. package/dist/new-DU5SOOOY.cjs +12 -0
  279. package/dist/{new-ZXHEWC2S.js → new-ERZ5C6CN.js} +2 -2
  280. package/dist/onboarding-2U2BV2KE.cjs +36 -0
  281. package/dist/{onboarding-JYNMK6NI.js → onboarding-ZQXMPSMJ.js} +14 -13
  282. package/dist/{permissions-YHJMVA6L.js → permissions-7ACNFK7A.js} +2 -2
  283. package/dist/permissions-GSNNV7RJ.cjs +10 -0
  284. package/dist/{quit-GWTNHQSP.js → quit-WY6T267G.js} +2 -2
  285. package/dist/quit-XIRE2KRE.cjs +10 -0
  286. package/dist/{registry-34GL6BNJ.js → registry-4DXUDKJN.js} +1 -1
  287. package/dist/{registry-V24W7YK6.cjs → registry-UEO3ETZ7.cjs} +21 -21
  288. package/dist/resume-RQZ3WXBP.cjs +17 -0
  289. package/dist/resume-XSXZMDMD.js +17 -0
  290. package/dist/{rpc-S3DGW6KV.js → rpc-XH7QLN4H.js} +251 -107
  291. package/dist/{rpc-NPS3PU4O.cjs → rpc-YF54T7JU.cjs} +347 -203
  292. package/dist/search-VXXFGZWU.cjs +21 -0
  293. package/dist/search-YAWGX7P7.js +21 -0
  294. package/dist/{sessions-IYAXMK23.js → sessions-NJYHJOEL.js} +2 -2
  295. package/dist/sessions-OSG3UJEZ.cjs +10 -0
  296. package/dist/settings-SO2UIGWV.cjs +42 -0
  297. package/dist/{settings-55BNW6BF.js → settings-ZXUQH3DO.js} +17 -8
  298. package/dist/setup-KG7EGKF5.js +30 -0
  299. package/dist/setup-RSOPCQ57.cjs +30 -0
  300. package/dist/share-WFAGZ5PY.js +17 -0
  301. package/dist/share-ZU3SGACF.cjs +17 -0
  302. package/dist/skills-KBVAQAD2.cjs +29 -0
  303. package/dist/{skills-VWOMV3CR.js → skills-NBTNDVAY.js} +8 -8
  304. package/dist/{skills-MVIZNHT4.js → skills-OB6RDW7D.js} +9 -9
  305. package/dist/{skills-GGMZOVIE.cjs → skills-ZROBG3RZ.cjs} +10 -10
  306. package/dist/{skills-install-QBA5RCV6.js → skills-install-BHTIEMKH.js} +7 -7
  307. package/dist/{skills-install-VTAMCNNY.cjs → skills-install-ILX6QVEF.cjs} +15 -15
  308. package/dist/skills-new-B45VQ2PP.cjs +18 -0
  309. package/dist/skills-new-YMRP2HNO.js +18 -0
  310. package/dist/slashCommands-53VYIBJU.js +105 -0
  311. package/dist/slashCommands-BG2RGGZ6.cjs +105 -0
  312. package/dist/status-CQ2IUOVK.cjs +24 -0
  313. package/dist/status-E7IGNVPC.js +24 -0
  314. package/dist/{sync-7OKF6636.js → sync-7C25MOT2.js} +6 -5
  315. package/dist/{sync-7BILIQHP.js → sync-OCJN4ZSO.js} +3 -3
  316. package/dist/sync-XRP46IVG.cjs +40 -0
  317. package/dist/sync-ZMFVE7T4.cjs +22 -0
  318. package/dist/{teammate-J6PHGL23.cjs → teammate-D77B6QRT.cjs} +9 -8
  319. package/dist/{teammate-GZQSCIMS.js → teammate-EZCMHOIL.js} +8 -7
  320. package/dist/templates-ARG2VRWW.cjs +11 -0
  321. package/dist/templates-UGVZV3KJ.js +11 -0
  322. package/dist/theme-KKRDE6P7.cjs +22 -0
  323. package/dist/theme-XF7XIWBQ.js +22 -0
  324. package/dist/ui/questionModal.cjs +6 -6
  325. package/dist/ui/questionModal.js +5 -5
  326. package/dist/{undo-SZEHLX7X.js → undo-GNUTFXCW.js} +2 -2
  327. package/dist/undo-U4KN7QQM.cjs +10 -0
  328. package/dist/usage-QSTNSDAO.js +24 -0
  329. package/dist/usage-YDEMQBNQ.cjs +24 -0
  330. package/package.json +7 -2
  331. package/dist/AgentRegistry-EGBDIUAK.cjs +0 -10
  332. package/dist/CommunitySkillsCache-2OIUV227.cjs +0 -8
  333. package/dist/LearnAdvisor-46FG2XIP.js +0 -9
  334. package/dist/LearnAdvisor-XBRDNAGH.cjs +0 -9
  335. package/dist/MemoryManager-34L4YOKA.cjs +0 -8
  336. package/dist/NVIDIAProvider-MVTL62PR.cjs +0 -14
  337. package/dist/PermissionManager-5OOJ7FAT.cjs +0 -11
  338. package/dist/ProviderFactory-C3YPXTDD.cjs +0 -11
  339. package/dist/SessionManager-WAPTFMDO.cjs +0 -10
  340. package/dist/SkillsRegistry-7AJP74GJ.cjs +0 -9
  341. package/dist/SubAgent-FDIH3DXB.js +0 -11
  342. package/dist/SubAgent-HVL2ICVZ.cjs +0 -11
  343. package/dist/SyncApiClient-VMBOLQ6H.cjs +0 -11
  344. package/dist/about-FCAX37YC.cjs +0 -14
  345. package/dist/actionExecutor-4YBMR3YH.cjs +0 -24
  346. package/dist/add-dir-7SS6KSH5.cjs +0 -11
  347. package/dist/agent-DMRUFU4M.cjs +0 -116
  348. package/dist/agent-WCJEYQJT.js +0 -116
  349. package/dist/agents-CHROO3VU.cjs +0 -17
  350. package/dist/agents-UVDUL65K.js +0 -17
  351. package/dist/agents-new-AUBWSOXP.js +0 -17
  352. package/dist/agents-new-Y562WC47.cjs +0 -17
  353. package/dist/autoSkill-YOLLFTP2.cjs +0 -20
  354. package/dist/automode-DBLKTTKD.cjs +0 -10
  355. package/dist/chrome-ATC4OO5I.cjs +0 -20
  356. package/dist/chrome-O62WXV7F.js +0 -20
  357. package/dist/chrome-XHJLCO4M.cjs +0 -50
  358. package/dist/chunk-6XVVIY54.cjs +0 -256
  359. package/dist/chunk-AU6JAGZJ.cjs +0 -231
  360. package/dist/chunk-VDWJMWDF.js +0 -256
  361. package/dist/clear-33TWQ2ES.cjs +0 -12
  362. package/dist/communityInstaller-TWMGPSYM.cjs +0 -22
  363. package/dist/completion-IIZMHXYP.cjs +0 -17
  364. package/dist/config-KL6WU7R2.cjs +0 -20
  365. package/dist/constants-RLMJ5D5P.cjs +0 -21
  366. package/dist/export-WLGNWEMJ.cjs +0 -15
  367. package/dist/feedback-G635NCLJ.js +0 -18
  368. package/dist/feedback-LLMK3TZH.cjs +0 -18
  369. package/dist/help-BAXLP2M2.cjs +0 -12
  370. package/dist/history-6HOJSEMT.cjs +0 -14
  371. package/dist/hooks-XVFU67T2.cjs +0 -18
  372. package/dist/i18n-MUJMKTFM.cjs +0 -33
  373. package/dist/ide-CCQ33PGC.cjs +0 -15
  374. package/dist/ide-VLVFBZ5F.js +0 -15
  375. package/dist/import-J46F54JY.cjs +0 -10
  376. package/dist/init-EE5Y7RBL.cjs +0 -10
  377. package/dist/inputPrompt-IIFKCX5Q.cjs +0 -90
  378. package/dist/language-CVLPB7OV.js +0 -21
  379. package/dist/language-ZTWFHUSV.cjs +0 -21
  380. package/dist/learn-PON7I5QS.js +0 -23
  381. package/dist/learn-XLRSVNA3.cjs +0 -23
  382. package/dist/login-223QTGBG.cjs +0 -26
  383. package/dist/login-6IKTBUBY.js +0 -26
  384. package/dist/logout-RN2AG6SI.js +0 -23
  385. package/dist/logout-U3M4FFX7.cjs +0 -23
  386. package/dist/mcp-NUQ76QQB.cjs +0 -20
  387. package/dist/memory-CYMDQ2YC.cjs +0 -10
  388. package/dist/model-IDRCKDML.cjs +0 -10
  389. package/dist/new-7LEWOUF2.cjs +0 -12
  390. package/dist/onboarding-FXX7YHSJ.cjs +0 -35
  391. package/dist/permissions-YBNSANIA.cjs +0 -10
  392. package/dist/quit-B43SJ6E4.cjs +0 -10
  393. package/dist/resume-DYVOQN5L.cjs +0 -16
  394. package/dist/resume-M25UQKOX.js +0 -16
  395. package/dist/search-CPX4PWHP.js +0 -20
  396. package/dist/search-VUF3M4N3.cjs +0 -20
  397. package/dist/sessions-JODKER5D.cjs +0 -10
  398. package/dist/settings-BKTS7OMC.cjs +0 -33
  399. package/dist/setup-IRC5HQG2.js +0 -29
  400. package/dist/setup-MMQ7TWOP.cjs +0 -29
  401. package/dist/share-6JRQECAH.cjs +0 -17
  402. package/dist/share-YM5MJKMO.js +0 -17
  403. package/dist/skills-LWSOKOSH.cjs +0 -29
  404. package/dist/skills-new-GPL46YV2.js +0 -18
  405. package/dist/skills-new-L5BEZN5V.cjs +0 -18
  406. package/dist/slashCommands-FBPCIWM5.cjs +0 -95
  407. package/dist/slashCommands-FCWY5DXW.js +0 -95
  408. package/dist/status-3B5SDZPL.js +0 -17
  409. package/dist/status-TTGRF6NC.cjs +0 -17
  410. package/dist/sync-77CXVVTK.cjs +0 -21
  411. package/dist/sync-EH4K5U3N.cjs +0 -40
  412. package/dist/theme-64BYGJ57.cjs +0 -21
  413. package/dist/theme-YJE6HEON.js +0 -21
  414. package/dist/undo-PRTEGL2J.cjs +0 -10
package/dist/index.cjs CHANGED
@@ -1,11 +1,12 @@
1
1
  #!/usr/bin/env node
2
- "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
+ "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(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await 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;
3
3
 
4
- var _chunkMO4KP6XScjs = require('./chunk-MO4KP6XS.cjs');
4
+ var _chunkPNIAIOMZcjs = require('./chunk-PNIAIOMZ.cjs');
5
5
 
6
6
 
7
7
 
8
8
 
9
+ var _chunkQLZOMZO5cjs = require('./chunk-QLZOMZO5.cjs');
9
10
 
10
11
 
11
12
 
@@ -14,12 +15,11 @@ var _chunkMO4KP6XScjs = require('./chunk-MO4KP6XS.cjs');
14
15
 
15
16
 
16
17
 
17
- var _chunk7LWQCE4Ycjs = require('./chunk-7LWQCE4Y.cjs');
18
18
 
19
19
 
20
20
 
21
21
 
22
- var _chunk3LJJG5YYcjs = require('./chunk-3LJJG5YY.cjs');
22
+ var _chunkM7B7RRBKcjs = require('./chunk-M7B7RRBK.cjs');
23
23
 
24
24
 
25
25
  var _chunkXDLH4EDLcjs = require('./chunk-XDLH4EDL.cjs');
@@ -32,40 +32,42 @@ var _chunkXDLH4EDLcjs = require('./chunk-XDLH4EDL.cjs');
32
32
 
33
33
 
34
34
 
35
- var _chunkMPULXVC4cjs = require('./chunk-MPULXVC4.cjs');
35
+ var _chunkOV3T5MUHcjs = require('./chunk-OV3T5MUH.cjs');
36
36
 
37
37
 
38
38
 
39
- var _chunkQ2IL4DDIcjs = require('./chunk-Q2IL4DDI.cjs');
39
+ var _chunkCO2AADYUcjs = require('./chunk-CO2AADYU.cjs');
40
40
 
41
41
 
42
42
 
43
43
  var _chunkFMB3TSWPcjs = require('./chunk-FMB3TSWP.cjs');
44
44
 
45
45
 
46
- var _chunkIKUMVBCWcjs = require('./chunk-IKUMVBCW.cjs');
47
46
 
47
+ var _chunkSD3NTC7Dcjs = require('./chunk-SD3NTC7D.cjs');
48
48
 
49
- var _chunkREMGR23Vcjs = require('./chunk-REMGR23V.cjs');
49
+
50
+ var _chunkAQ5PVHOCcjs = require('./chunk-AQ5PVHOC.cjs');
50
51
  require('./chunk-3OF56EMA.cjs');
51
- require('./chunk-CH2J4PVE.cjs');
52
- require('./chunk-KNTUI4TZ.cjs');
53
- require('./chunk-TQ33WBY5.cjs');
52
+ require('./chunk-CK4HAHVY.cjs');
53
+ require('./chunk-YWH55BWK.cjs');
54
+ require('./chunk-NHWHEW7M.cjs');
54
55
 
55
56
 
56
57
 
57
58
 
58
59
 
59
- var _chunk46C73ZKKcjs = require('./chunk-46C73ZKK.cjs');
60
- require('./chunk-MXVIDIC6.cjs');
60
+ var _chunkX5P6QQOBcjs = require('./chunk-X5P6QQOB.cjs');
61
+ require('./chunk-P6SLT2F4.cjs');
61
62
  require('./chunk-3EDDDZS2.cjs');
63
+ require('./chunk-HK5A54AV.cjs');
62
64
  require('./chunk-YWTIXHU6.cjs');
63
65
  require('./chunk-2VHB43IX.cjs');
64
66
 
65
67
 
66
68
 
67
69
 
68
- var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
70
+ var _chunkKASXKDF2cjs = require('./chunk-KASXKDF2.cjs');
69
71
  require('./chunk-XF2WIKHR.cjs');
70
72
 
71
73
 
@@ -74,7 +76,7 @@ var _chunkWGNMOVMTcjs = require('./chunk-WGNMOVMT.cjs');
74
76
 
75
77
 
76
78
 
77
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
79
+ var _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
78
80
  require('./chunk-3HT76LNN.cjs');
79
81
 
80
82
  // src/index.ts
@@ -92,7 +94,7 @@ var _child_process = require('child_process');
92
94
  var _crypto = require('crypto'); var _crypto2 = _interopRequireDefault(_crypto);
93
95
  var _os = require('os'); var _os2 = _interopRequireDefault(_os);
94
96
  var PING_INTERVAL_MS = 45 * 60 * 1e3;
95
- var PING_CACHE_FILE = _path2.default.join(_chunkE26KKI46cjs.AUTOHAND_HOME, "last-ping.json");
97
+ var PING_CACHE_FILE = _path2.default.join(_chunkKASXKDF2cjs.AUTOHAND_HOME, "last-ping.json");
96
98
  var API_BASE_URL = process.env.AUTOHAND_API_URL || "https://api.autohand.ai";
97
99
  var REQUEST_TIMEOUT_MS = 5e3;
98
100
  var PingService = (_class = class {
@@ -113,12 +115,12 @@ var PingService = (_class = class {
113
115
  */
114
116
  getOrCreateDeviceId() {
115
117
  try {
116
- _fsextra2.default.ensureDirSync(_path2.default.dirname(_chunkE26KKI46cjs.AUTOHAND_FILES.deviceId));
117
- if (_fsextra2.default.existsSync(_chunkE26KKI46cjs.AUTOHAND_FILES.deviceId)) {
118
- return _fsextra2.default.readFileSync(_chunkE26KKI46cjs.AUTOHAND_FILES.deviceId, "utf8").trim();
118
+ _fsextra2.default.ensureDirSync(_path2.default.dirname(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId));
119
+ if (_fsextra2.default.existsSync(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId)) {
120
+ return _fsextra2.default.readFileSync(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId, "utf8").trim();
119
121
  }
120
122
  const id = _crypto2.default.randomUUID();
121
- _fsextra2.default.writeFileSync(_chunkE26KKI46cjs.AUTOHAND_FILES.deviceId, id);
123
+ _fsextra2.default.writeFileSync(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId, id);
122
124
  return id;
123
125
  } catch (e) {
124
126
  return _crypto2.default.randomUUID();
@@ -385,35 +387,35 @@ function buildTmuxLaunchCommand(argv) {
385
387
  // src/browser/cliCommand.ts
386
388
 
387
389
  function registerChromeCommand(program2) {
388
- program2.command("chrome").description("install and configure the Autohand Chrome extension bridge").command("install").description("install the native messaging bridge for Chrome-compatible browsers").option("--browser <browser>", "target browser: chrome, chromium, brave, edge, or all", "all").option("--extension-id <id>", "installed Chrome extension id to use for direct handoff").option("--install-url <url>", "fallback install/continue URL", _chunkMPULXVC4cjs.DEFAULT_CHROME_INSTALL_URL).option("--cli-path <path>", "CLI binary path to register in the native host").option("--open", "open the install/continue page after installation", false).action(async (options) => {
389
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, void 0, process.cwd());
390
- const launchSpec = _chunkMPULXVC4cjs.resolveCliLaunchSpec.call(void 0, options.cliPath);
391
- const browsers = _chunkMPULXVC4cjs.normalizeBrowsers.call(void 0, options.browser);
390
+ program2.command("chrome").description("install and configure the Autohand Chrome extension bridge").command("install").description("install the native messaging bridge for Chrome-compatible browsers").option("--browser <browser>", "target browser: chrome, chromium, brave, edge, or all", "all").option("--extension-id <id>", "installed Chrome extension id to use for direct handoff").option("--install-url <url>", "fallback install/continue URL", _chunkOV3T5MUHcjs.DEFAULT_CHROME_INSTALL_URL).option("--cli-path <path>", "CLI binary path to register in the native host").option("--open", "open the install/continue page after installation", false).action(async (options) => {
391
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, void 0, process.cwd());
392
+ const launchSpec = _chunkOV3T5MUHcjs.resolveCliLaunchSpec.call(void 0, options.cliPath);
393
+ const browsers = _chunkOV3T5MUHcjs.normalizeBrowsers.call(void 0, options.browser);
392
394
  const extensionId = _nullishCoalesce(options.extensionId, () => ( _optionalChain([config, 'access', _8 => _8.chrome, 'optionalAccess', _9 => _9.extensionId])));
393
395
  const preferredBrowser = options.browser === "all" ? _nullishCoalesce(_optionalChain([config, 'access', _10 => _10.chrome, 'optionalAccess', _11 => _11.browser]), () => ( "auto")) : options.browser;
394
- const installUrl = _nullishCoalesce(_nullishCoalesce(options.installUrl, () => ( _optionalChain([config, 'access', _12 => _12.chrome, 'optionalAccess', _13 => _13.installUrl]))), () => ( _chunkMPULXVC4cjs.DEFAULT_CHROME_INSTALL_URL));
395
- const detectedProfile = extensionId ? await _chunkMPULXVC4cjs.detectExtensionProfile.call(void 0, extensionId, browsers) : null;
396
- const result = await _chunkMPULXVC4cjs.installNativeHost.call(void 0, {
396
+ const installUrl = _nullishCoalesce(_nullishCoalesce(options.installUrl, () => ( _optionalChain([config, 'access', _12 => _12.chrome, 'optionalAccess', _13 => _13.installUrl]))), () => ( _chunkOV3T5MUHcjs.DEFAULT_CHROME_INSTALL_URL));
397
+ const detectedProfile = extensionId ? await _chunkOV3T5MUHcjs.detectExtensionProfile.call(void 0, extensionId, browsers) : null;
398
+ const result = await _chunkOV3T5MUHcjs.installNativeHost.call(void 0, {
397
399
  cliCommand: launchSpec.command,
398
400
  cliArgPrefix: launchSpec.args,
399
401
  extensionIds: extensionId ? [extensionId] : [],
400
402
  browsers
401
403
  });
402
- _chunkMPULXVC4cjs.applyChromeSettings.call(void 0, config, {
404
+ _chunkOV3T5MUHcjs.applyChromeSettings.call(void 0, config, {
403
405
  extensionId,
404
406
  browser: _nullishCoalesce(_optionalChain([detectedProfile, 'optionalAccess', _14 => _14.browser]), () => ( preferredBrowser)),
405
407
  userDataDir: _nullishCoalesce(_optionalChain([detectedProfile, 'optionalAccess', _15 => _15.userDataDir]), () => ( _optionalChain([config, 'access', _16 => _16.chrome, 'optionalAccess', _17 => _17.userDataDir]))),
406
408
  profileDirectory: _nullishCoalesce(_optionalChain([detectedProfile, 'optionalAccess', _18 => _18.profileDirectory]), () => ( _optionalChain([config, 'access', _19 => _19.chrome, 'optionalAccess', _20 => _20.profileDirectory]))),
407
409
  installUrl
408
410
  });
409
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
411
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
410
412
  console.log(_chalk2.default.green("\nInstalled Autohand Chrome bridge."));
411
413
  for (const target of result.targets) {
412
414
  console.log(_chalk2.default.gray(` ${target.browser}: ${target.manifestPath}`));
413
415
  }
414
416
  if (options.open) {
415
- await _chunkMPULXVC4cjs.openChromeContinuation.call(void 0,
416
- _chunkMPULXVC4cjs.buildChromeOpenUrl.call(void 0, { extensionId, installUrl }),
417
+ await _chunkOV3T5MUHcjs.openChromeContinuation.call(void 0,
418
+ _chunkOV3T5MUHcjs.buildChromeOpenUrl.call(void 0, { extensionId, installUrl }),
417
419
  _nullishCoalesce(_optionalChain([detectedProfile, 'optionalAccess', _21 => _21.browser]), () => ( preferredBrowser)),
418
420
  {
419
421
  userDataDir: _nullishCoalesce(_optionalChain([detectedProfile, 'optionalAccess', _22 => _22.userDataDir]), () => ( _optionalChain([config, 'access', _23 => _23.chrome, 'optionalAccess', _24 => _24.userDataDir]))),
@@ -444,9 +446,9 @@ function getCommitFromAlphaVersion(version) {
444
446
  }
445
447
  function getGitCommit() {
446
448
  if (true) {
447
- return "8cc71ec";
449
+ return "da69f79";
448
450
  }
449
- const alphaCommit = getCommitFromAlphaVersion(_chunkREMGR23Vcjs.package_default.version);
451
+ const alphaCommit = getCommitFromAlphaVersion(_chunkAQ5PVHOCcjs.package_default.version);
450
452
  if (alphaCommit) {
451
453
  return alphaCommit;
452
454
  }
@@ -458,7 +460,7 @@ function getGitCommit() {
458
460
  }
459
461
  function getVersionString() {
460
462
  const commit = getGitCommit();
461
- return `${_chunkREMGR23Vcjs.package_default.version} (${commit})`;
463
+ return `${_chunkAQ5PVHOCcjs.package_default.version} (${commit})`;
462
464
  }
463
465
  function normalizeMcpScope(scopeInput) {
464
466
  const scope = (_nullishCoalesce(scopeInput, () => ( "user"))).toLowerCase();
@@ -468,7 +470,7 @@ function normalizeMcpScope(scopeInput) {
468
470
  return null;
469
471
  }
470
472
  async function resolveProjectConfigPath(workspaceRoot) {
471
- const projectConfigDir = _path2.default.join(workspaceRoot, _chunkE26KKI46cjs.PROJECT_DIR_NAME);
473
+ const projectConfigDir = _path2.default.join(workspaceRoot, _chunkKASXKDF2cjs.PROJECT_DIR_NAME);
472
474
  const tomlPath = _path2.default.join(projectConfigDir, "config.toml");
473
475
  const yamlPath = _path2.default.join(projectConfigDir, "config.yaml");
474
476
  const ymlPath = _path2.default.join(projectConfigDir, "config.yml");
@@ -484,10 +486,10 @@ async function loadConfigForMcpScope(scopeInput) {
484
486
  throw new Error(`Invalid scope "${scopeInput}". Use: user or project.`);
485
487
  }
486
488
  if (scope === "user") {
487
- return { config: await _chunk46C73ZKKcjs.loadConfig.call(void 0, ), scope };
489
+ return { config: await _chunkX5P6QQOBcjs.loadConfig.call(void 0, ), scope };
488
490
  }
489
491
  const projectConfigPath = await resolveProjectConfigPath(process.cwd());
490
- return { config: await _chunk46C73ZKKcjs.loadConfig.call(void 0, projectConfigPath, process.cwd()), scope };
492
+ return { config: await _chunkX5P6QQOBcjs.loadConfig.call(void 0, projectConfigPath, process.cwd()), scope };
491
493
  }
492
494
  async function validateAuthOnStartup(config) {
493
495
  if (!_optionalChain([config, 'access', _29 => _29.auth, 'optionalAccess', _30 => _30.token])) {
@@ -498,14 +500,14 @@ async function validateAuthOnStartup(config) {
498
500
  if (expiresAt < /* @__PURE__ */ new Date()) {
499
501
  config.auth = void 0;
500
502
  try {
501
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
503
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
502
504
  } catch (e7) {
503
505
  }
504
506
  return void 0;
505
507
  }
506
508
  }
507
509
  try {
508
- const authClient = _chunkQ2IL4DDIcjs.getAuthClient.call(void 0, );
510
+ const authClient = _chunkCO2AADYUcjs.getAuthClient.call(void 0, );
509
511
  const result = await authClient.validateSession(config.auth.token);
510
512
  if (result.authenticated) {
511
513
  if (result.user && config.auth) {
@@ -518,10 +520,10 @@ async function validateAuthOnStartup(config) {
518
520
  return _optionalChain([config, 'access', _35 => _35.auth, 'optionalAccess', _36 => _36.user]);
519
521
  }
520
522
  }
521
- _chunkMO4KP6XScjs.installProcessErrorHandlers.call(void 0, );
523
+ _chunkPNIAIOMZcjs.installProcessErrorHandlers.call(void 0, );
522
524
  var program = new (0, _commander.Command)();
523
525
  registerChromeCommand(program);
524
- program.name("autohand").description("Autonomous coding agent").version(getVersionString(), "-v, --version", "output the current version").argument("[prompt]", "Run a single instruction in command mode (same as -p)").option("-p, --prompt [text]", "Run a single instruction in command mode").option("--path <path>", "Workspace path to operate in").option("-y, --yes", "Auto-confirm risky actions", false).option("--dry-run", "Preview actions without applying mutations", false).option("-d, --debug", "Enable debug output (verbose logging)", false).option("--model <model>", "Override the configured LLM model").option("--config <path>", "Path to config file (default ~/.autohand/config.json)").option("--temperature <value>", "Sampling temperature", parseFloat).option("--thinking [level]", "Set thinking/reasoning depth (none, normal, extended)").option("-c, --auto-commit", "Auto-commit with LLM-generated message (runs lint & test first)", false).option("--unrestricted", "Run without any approval prompts (use with caution)", false).option("--restricted", "Deny all dangerous operations automatically", false).option("--auto-skill", "Auto-generate skills based on project analysis", false).option("--learn", "Run /learn skill advisor non-interactively (analyze and install recommended skills)", false).option("--learn-update", "Re-analyze project and regenerate outdated LLM-generated skills", false).option("--skill-install [skill-name]", "Install a community skill (opens browser if no name)").option("--project", "Install skill to project level (with --skill-install)", false).option("--permissions", "Display current permission settings and exit", false).option("--settings", "Configure Autohand settings (same as /settings in interactive mode)", false).option("--login", "Sign in to your Autohand account", false).option("--logout", "Sign out of your Autohand account", false).option("--sync-settings [bool]", "Enable/disable settings sync (default: true for logged users)").option("--patch", "Generate git patch without applying changes (requires --prompt)", false).option("--output <file>", "Output file for patch (default: stdout, used with --patch)").option("--mode <mode>", "Run mode: interactive (default), rpc, or acp", "interactive").option("--acp", "Shorthand for --mode acp (Agent Client Protocol over stdio)", false).option("--teammate-mode <mode>", "Team display mode: auto, in-process, or tmux").option("--worktree [name]", "Run session in isolated git worktree (optional name)").option("--tmux", "Launch in a dedicated tmux session (implies --worktree)").option("--auto-mode [prompt]", "Enable interactive auto-mode, or start a standalone loop with an inline task").option("--max-iterations <n>", "Max auto-mode iterations (default: 50)", parseInt).option("--completion-promise <text>", 'Completion marker text (default: "DONE")').option("--no-worktree", "Disable git worktree isolation in auto-mode").option("--checkpoint-interval <n>", "Git commit every N iterations (default: 5)", parseInt).option("--max-runtime <m>", "Max runtime in minutes (default: 120)", parseInt).option("--max-cost <d>", "Max API cost in dollars (default: 10)", parseFloat).option("--interactive-on-complete", "After auto-mode ends, hand off directly to interactive mode (TTY only)", false).option("--setup", "Run the setup wizard to configure or reconfigure Autohand", false).option("--about", "Show information about Autohand", false).option("--feedback", "Submit feedback", false).option("--add-dir <path...>", "Add additional directories to workspace scope (can be used multiple times)").option("--display-language <locale>", "Set display language (e.g., en, zh-cn, fr, de, ja)").option("--cc, --context-compact", "Enable context compaction (default: on)").option("--no-cc, --no-context-compact", "Disable context compaction").option("--search-engine <provider>", "Set web search provider (google, brave, duckduckgo, parallel)").option("--sys-prompt <value>", "Replace entire system prompt (inline string or file path)").option("--append-sys-prompt <value>", "Append to system prompt (inline string or file path)").option("--yolo [pattern]", "Auto-approve tool calls matching pattern (e.g., allow:read,write or deny:delete)").option("--timeout <seconds>", "Timeout in seconds for auto-approve mode", parseInt).option("--chrome", "Enable Chrome browser integration (same as /chrome)").option("--no-chrome", "Disable Chrome browser integration").action(async (positionalPrompt, opts) => {
526
+ program.name("autohand").description("Autonomous coding agent").version(getVersionString(), "-v, --version", "output the current version").argument("[prompt]", "Run a single instruction in command mode (same as -p)").option("-p, --prompt [text]", "Run a single instruction in command mode").option("--path <path>", "Workspace path to operate in").option("-y, --yes", "Auto-confirm risky actions", false).option("--dry-run", "Preview actions without applying mutations", false).option("-d, --debug", "Enable debug output (verbose logging)", false).option("--model <model>", "Override the configured LLM model").option("--config <path>", "Path to config file (default ~/.autohand/config.json)").option("--temperature <value>", "Sampling temperature", parseFloat).option("--thinking [level]", "Set thinking/reasoning depth (none, normal, extended)").option("-c, --auto-commit", "Auto-commit with LLM-generated message (runs lint & test first)", false).option("--unrestricted", "Run without any approval prompts (use with caution)", false).option("--restricted", "Deny all dangerous operations automatically", false).option("--goal [input]", "Run /goal non-interactively (status when omitted, otherwise same arguments as /goal)").option("--auto-skill", "Auto-generate skills based on project analysis", false).option("--learn", "Run /learn skill advisor non-interactively (analyze and install recommended skills)", false).option("--learn-update", "Re-analyze project and regenerate outdated LLM-generated skills", false).option("--skill-install [skill-name]", "Install a community skill (opens browser if no name)").option("--project", "Install skill to project level (with --skill-install)", false).option("--permissions", "Display current permission settings and exit", false).option("--settings", "Configure Autohand settings (same as /settings in interactive mode)", false).option("--login", "Sign in to your Autohand account", false).option("--logout", "Sign out of your Autohand account", false).option("--sync-settings [bool]", "Enable/disable settings sync (default: true for logged users)").option("--patch", "Generate git patch without applying changes (requires --prompt)", false).option("--output <file>", "Output file for patch (default: stdout, used with --patch)").option("--mode <mode>", "Run mode: interactive (default), rpc, or acp", "interactive").option("--acp", "Shorthand for --mode acp (Agent Client Protocol over stdio)", false).option("--teammate-mode <mode>", "Team display mode: auto, in-process, or tmux").option("--worktree [name]", "Run session in isolated git worktree (optional name)").option("--tmux", "Launch in a dedicated tmux session (implies --worktree)").option("--auto-mode [prompt]", "Enable interactive auto-mode, or start a standalone loop with an inline task").option("--max-iterations <n>", "Max auto-mode iterations (default: 50)", parseInt).option("--completion-promise <text>", 'Completion marker text (default: "DONE")').option("--no-worktree", "Disable git worktree isolation in auto-mode").option("--checkpoint-interval <n>", "Git commit every N iterations (default: 5)", parseInt).option("--max-runtime <m>", "Max runtime in minutes (default: 120)", parseInt).option("--max-cost <d>", "Max API cost in dollars (default: 10)", parseFloat).option("--interactive-on-complete", "After auto-mode ends, hand off directly to interactive mode (TTY only)", false).option("--setup", "Run the setup wizard to configure or reconfigure Autohand", false).option("--about", "Show information about Autohand", false).option("--feedback", "Submit feedback", false).option("--add-dir <path...>", "Add additional directories to workspace scope (can be used multiple times)").option("--display-language <locale>", "Set display language (e.g., en, id, zh-cn, fr, de, ja)").option("--cc, --context-compact", "Enable context compaction (default: on)").option("--no-cc, --no-context-compact", "Disable context compaction").option("--search-engine <provider>", "Set web search provider (google, brave, duckduckgo, parallel)").option("--sys-prompt <value>", "Replace entire system prompt (inline string or file path)").option("--append-sys-prompt <value>", "Append to system prompt (inline string or file path)").option("--yolo [pattern]", "Auto-approve tool calls matching pattern (e.g., allow:read,write or deny:delete)").option("--timeout <seconds>", "Timeout in seconds for auto-approve mode", parseInt).option("--chrome", "Enable Chrome browser integration (same as /chrome)").option("--no-chrome", "Disable Chrome browser integration").action(async (positionalPrompt, opts) => {
525
527
  if (process.stdout.isTTY && process.env.AUTOHAND_NO_BANNER !== "1") {
526
528
  process.stdout.write("\x1B[3J\x1B[2J\x1B[H");
527
529
  }
@@ -531,6 +533,9 @@ program.name("autohand").description("Autonomous coding agent").version(getVersi
531
533
  if (opts.autoMode === true) {
532
534
  opts.autoMode = void 0;
533
535
  }
536
+ if (opts.goal === true) {
537
+ opts.goal = "";
538
+ }
534
539
  if (positionalPrompt && !opts.prompt) {
535
540
  opts.prompt = positionalPrompt;
536
541
  }
@@ -566,44 +571,45 @@ program.name("autohand").description("Autonomous coding agent").version(getVersi
566
571
  return;
567
572
  }
568
573
  if (opts.settings) {
569
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config, process.cwd());
570
- const { settings } = await Promise.resolve().then(() => _interopRequireWildcard(require("./settings-BKTS7OMC.cjs")));
574
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config, process.cwd());
575
+ const { settings } = await Promise.resolve().then(() => _interopRequireWildcard(require("./settings-SO2UIGWV.cjs")));
571
576
  await settings({ config });
572
577
  process.exit(0);
573
578
  }
574
579
  if (opts.login) {
575
- const { login } = await Promise.resolve().then(() => _interopRequireWildcard(require("./login-223QTGBG.cjs")));
576
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config);
580
+ const { login } = await Promise.resolve().then(() => _interopRequireWildcard(require("./login-GST7MWXJ.cjs")));
581
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config);
577
582
  await login({ config });
578
583
  process.exit(0);
579
584
  }
580
585
  if (opts.logout) {
581
- const { logout } = await Promise.resolve().then(() => _interopRequireWildcard(require("./logout-U3M4FFX7.cjs")));
582
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config);
586
+ const { logout } = await Promise.resolve().then(() => _interopRequireWildcard(require("./logout-2G7OUK7I.cjs")));
587
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config);
583
588
  await logout({ config });
584
589
  process.exit(0);
585
590
  }
586
591
  if (opts.about) {
587
- const { initI18n: initI18n2, detectLocale: detectLocale2 } = await Promise.resolve().then(() => _interopRequireWildcard(require("./i18n-MUJMKTFM.cjs")));
588
- const { about } = await Promise.resolve().then(() => _interopRequireWildcard(require("./about-FCAX37YC.cjs")));
592
+ const { initI18n: initI18n2, detectLocale: detectLocale2 } = await Promise.resolve().then(() => _interopRequireWildcard(require("./i18n-CI6VFXL5.cjs")));
593
+ const { about } = await Promise.resolve().then(() => _interopRequireWildcard(require("./about-QR52U5DD.cjs")));
589
594
  const { locale } = detectLocale2();
590
595
  await initI18n2(locale);
591
- await about();
596
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config);
597
+ await about({ config });
592
598
  process.exit(0);
593
599
  }
594
600
  if (opts.feedback) {
595
- const { initI18n: initI18n2, detectLocale: detectLocale2 } = await Promise.resolve().then(() => _interopRequireWildcard(require("./i18n-MUJMKTFM.cjs")));
596
- const { feedback } = await Promise.resolve().then(() => _interopRequireWildcard(require("./feedback-LLMK3TZH.cjs")));
601
+ const { initI18n: initI18n2, detectLocale: detectLocale2 } = await Promise.resolve().then(() => _interopRequireWildcard(require("./i18n-CI6VFXL5.cjs")));
602
+ const { feedback } = await Promise.resolve().then(() => _interopRequireWildcard(require("./feedback-VZPEHGFY.cjs")));
597
603
  const { locale } = detectLocale2();
598
604
  await initI18n2(locale);
599
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config);
605
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config);
600
606
  await feedback({ config });
601
607
  process.exit(0);
602
608
  }
603
609
  if (opts.setup) {
604
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config, process.cwd());
605
- const workspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
606
- const workspacePathValidation = await _chunk3LJJG5YYcjs.validateWorkspacePath.call(void 0, workspaceRoot);
610
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config, process.cwd());
611
+ const workspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
612
+ const workspacePathValidation = await _chunkQLZOMZO5cjs.validateWorkspacePath.call(void 0, workspaceRoot);
607
613
  if (!workspacePathValidation.valid) {
608
614
  console.error(_chalk2.default.red(`Error: ${workspacePathValidation.error}`));
609
615
  process.exit(1);
@@ -613,7 +619,7 @@ program.name("autohand").description("Autonomous coding agent").version(getVersi
613
619
  _chunkWGNMOVMTcjs.printDangerousWorkspaceWarning.call(void 0, workspaceRoot, safetyCheck);
614
620
  process.exit(1);
615
621
  }
616
- const { SetupWizard } = await Promise.resolve().then(() => _interopRequireWildcard(require("./onboarding-FXX7YHSJ.cjs")));
622
+ const { SetupWizard } = await Promise.resolve().then(() => _interopRequireWildcard(require("./onboarding-2U2BV2KE.cjs")));
617
623
  const wizard = new SetupWizard(workspaceRoot, config);
618
624
  const result = await wizard.run({ skipWelcome: false });
619
625
  if (result.cancelled) {
@@ -622,15 +628,15 @@ program.name("autohand").description("Autonomous coding agent").version(getVersi
622
628
  }
623
629
  if (result.success) {
624
630
  const newConfig = { ...config, ...result.config };
625
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, newConfig);
631
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, newConfig);
626
632
  console.log(_chalk2.default.green("\nSetup complete! Run `autohand` to start."));
627
633
  }
628
634
  process.exit(0);
629
635
  }
630
636
  {
631
- const preAuthConfig = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config, process.cwd());
632
- const workspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, preAuthConfig, opts.path);
633
- const workspacePathValidation = await _chunk3LJJG5YYcjs.validateWorkspacePath.call(void 0, workspaceRoot);
637
+ const preAuthConfig = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config, process.cwd());
638
+ const workspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, preAuthConfig, opts.path);
639
+ const workspacePathValidation = await _chunkQLZOMZO5cjs.validateWorkspacePath.call(void 0, workspaceRoot);
634
640
  if (!workspacePathValidation.valid) {
635
641
  console.error(_chalk2.default.red(`Error: ${workspacePathValidation.error}`));
636
642
  process.exit(1);
@@ -642,8 +648,8 @@ program.name("autohand").description("Autonomous coding agent").version(getVersi
642
648
  }
643
649
  }
644
650
  {
645
- let authConfig = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config, process.cwd());
646
- authConfig = await _chunkQ2IL4DDIcjs.ensureAuthenticated.call(void 0, authConfig);
651
+ let authConfig = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config, process.cwd());
652
+ authConfig = await _chunkCO2AADYUcjs.ensureAuthenticated.call(void 0, authConfig);
647
653
  opts._authConfig = authConfig;
648
654
  }
649
655
  if (opts.patch) {
@@ -653,11 +659,17 @@ program.name("autohand").description("Autonomous coding agent").version(getVersi
653
659
  if (opts.cc !== void 0) {
654
660
  opts.contextCompact = opts.cc;
655
661
  }
662
+ if (opts.goal !== void 0) {
663
+ await runGoalFlag(opts);
664
+ if (!opts.prompt) {
665
+ return;
666
+ }
667
+ }
656
668
  if (opts.noChrome) {
657
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config, process.cwd());
669
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config, process.cwd());
658
670
  if (config.chrome) {
659
671
  config.chrome.enabledByDefault = false;
660
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
672
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
661
673
  console.log(_chalk2.default.green("\u2713 Chrome browser integration disabled."));
662
674
  }
663
675
  }
@@ -671,17 +683,17 @@ program.name("autohand").description("Autonomous coding agent").version(getVersi
671
683
  }
672
684
  }
673
685
  if (opts.mode === "rpc") {
674
- const { runRpcMode } = await Promise.resolve().then(() => _interopRequireWildcard(require("./rpc-NPS3PU4O.cjs")));
686
+ const { runRpcMode } = await Promise.resolve().then(() => _interopRequireWildcard(require("./rpc-YF54T7JU.cjs")));
675
687
  await runRpcMode(opts);
676
688
  return;
677
689
  }
678
690
  if (opts.mode === "acp") {
679
- const { runAcpMode } = await Promise.resolve().then(() => _interopRequireWildcard(require("./acp-EOETGAHC.cjs")));
691
+ const { runAcpMode } = await Promise.resolve().then(() => _interopRequireWildcard(require("./acp-GSYE75OB.cjs")));
680
692
  await runAcpMode(opts);
681
693
  return;
682
694
  }
683
695
  if (opts.mode === "teammate") {
684
- const { parseTeammateOptions, runTeammateMode } = await Promise.resolve().then(() => _interopRequireWildcard(require("./teammate-J6PHGL23.cjs")));
696
+ const { parseTeammateOptions, runTeammateMode } = await Promise.resolve().then(() => _interopRequireWildcard(require("./teammate-D77B6QRT.cjs")));
685
697
  const teammateOpts = parseTeammateOptions(process.argv);
686
698
  if (!teammateOpts) {
687
699
  console.error("Error: --mode teammate requires --team, --name, --agent, and --lead-session");
@@ -712,29 +724,38 @@ program.name("autohand").description("Autonomous coding agent").version(getVersi
712
724
  await runCLI(opts);
713
725
  });
714
726
  program.command("resume <sessionId>").description("Resume a previous session").option("--path <path>", "Workspace path to operate in").option("--model <model>", "Override the configured LLM model").action(async (sessionId, opts) => {
715
- let authConfig = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config, process.cwd());
716
- authConfig = await _chunkQ2IL4DDIcjs.ensureAuthenticated.call(void 0, authConfig);
727
+ let authConfig = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config, process.cwd());
728
+ authConfig = await _chunkCO2AADYUcjs.ensureAuthenticated.call(void 0, authConfig);
717
729
  opts._authConfig = authConfig;
718
730
  await runCLI({ ...opts, resumeSessionId: sessionId });
719
731
  });
720
732
  program.command("login").description("Sign in to your Autohand account").action(async () => {
721
- const { login } = await Promise.resolve().then(() => _interopRequireWildcard(require("./login-223QTGBG.cjs")));
722
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, );
733
+ const { login } = await Promise.resolve().then(() => _interopRequireWildcard(require("./login-GST7MWXJ.cjs")));
734
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, );
723
735
  await login({ config });
724
736
  process.exit(0);
725
737
  });
726
738
  program.command("logout").description("Sign out of your Autohand account").action(async () => {
727
- const { logout } = await Promise.resolve().then(() => _interopRequireWildcard(require("./logout-U3M4FFX7.cjs")));
728
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, );
739
+ const { logout } = await Promise.resolve().then(() => _interopRequireWildcard(require("./logout-2G7OUK7I.cjs")));
740
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, );
729
741
  await logout({ config });
730
742
  process.exit(0);
731
743
  });
732
- program.command("config").description("Configure Autohand settings (same as /settings in interactive mode)").action(async () => {
733
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, );
734
- const { settings } = await Promise.resolve().then(() => _interopRequireWildcard(require("./settings-BKTS7OMC.cjs")));
744
+ var configCmd = program.command("config").description("Configure Autohand settings").action(async () => {
745
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, program.opts().config);
746
+ const { settings } = await Promise.resolve().then(() => _interopRequireWildcard(require("./settings-SO2UIGWV.cjs")));
735
747
  await settings({ config });
736
748
  process.exit(0);
737
749
  });
750
+ configCmd.command("set <parts...>").description("Set a config value, e.g. autohand config set verbs activity false").action(async (parts) => {
751
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, program.opts().config);
752
+ const { parseConfigSetArgs, setConfigSetting } = await Promise.resolve().then(() => _interopRequireWildcard(require("./settings-SO2UIGWV.cjs")));
753
+ const { key, value } = parseConfigSetArgs(parts);
754
+ const result = setConfigSetting(config, key, value);
755
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
756
+ console.log(_chalk2.default.green(`Set ${result.key} = ${String(result.value)}`));
757
+ process.exit(0);
758
+ });
738
759
  var mcpCmd = program.command("mcp").description("Manage MCP (Model Context Protocol) servers");
739
760
  mcpCmd.command("add <name> <target> [args...]").description("Add an MCP server to config and auto-connect on next session").option("-t, --transport <transport>", "Transport type: stdio | http | sse", "stdio").option("-s, --scope <scope>", "Config scope: user | project", "user").action(async (name, target, serverArgs, options) => {
740
761
  let config;
@@ -795,7 +816,7 @@ mcpCmd.command("add <name> <target> [args...]").description("Add an MCP server t
795
816
  const wasAutoConnectDisabled = existing.autoConnect === false;
796
817
  if (wasAutoConnectDisabled || wasMcpDisabled) {
797
818
  existing.autoConnect = true;
798
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
819
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
799
820
  const reenabledParts = [];
800
821
  if (wasMcpDisabled) reenabledParts.push("MCP support");
801
822
  if (wasAutoConnectDisabled) reenabledParts.push("auto-connect");
@@ -818,13 +839,13 @@ mcpCmd.command("add <name> <target> [args...]").description("Add an MCP server t
818
839
  existing.args = void 0;
819
840
  }
820
841
  existing.autoConnect = true;
821
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
842
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
822
843
  console.log(_chalk2.default.green(`Updated "${name}" in ${scope} config (${newServer.transport}: ${displayTarget})`));
823
844
  console.log(_chalk2.default.gray("Server will use the new settings on next start."));
824
845
  process.exit(0);
825
846
  }
826
847
  config.mcp.servers.push(newServer);
827
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
848
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
828
849
  console.log(_chalk2.default.green(`Added "${name}" to ${scope} config (${newServer.transport}: ${displayTarget})`));
829
850
  console.log(_chalk2.default.gray("Server will auto-connect when you start autohand."));
830
851
  process.exit(0);
@@ -847,7 +868,7 @@ mcpCmd.command("remove <name>").description("Remove an MCP server from config").
847
868
  process.exit(1);
848
869
  }
849
870
  config.mcp.servers.splice(serverIndex, 1);
850
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
871
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
851
872
  console.log(_chalk2.default.green(`Removed "${name}" from ${scope} config.`));
852
873
  process.exit(0);
853
874
  });
@@ -893,25 +914,79 @@ mcpCmd.command("install [server-name]").description("Browse and install communit
893
914
  }
894
915
  const { McpClientManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./McpClientManager-BNSKLHIN.cjs")));
895
916
  const manager = new McpClientManager();
896
- const { mcpInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./mcp-install-P6DHES7V.cjs")));
917
+ const { mcpInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./mcp-install-IA4ZS2SV.cjs")));
897
918
  const result = await mcpInstall({ mcpManager: manager, config }, serverName);
898
919
  if (result) console.log(result);
899
920
  await manager.disconnectAll().catch(() => {
900
921
  });
901
922
  process.exit(0);
902
923
  });
924
+ var featuresCmd = program.command("features").description("List and toggle Autohand feature switches").action(async () => {
925
+ const { features } = await Promise.resolve().then(() => _interopRequireWildcard(require("./features-VCBJQXCX.cjs")));
926
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, program.opts().config);
927
+ const result = await features({ config }, ["list"]);
928
+ if (result) console.log(result);
929
+ process.exit(0);
930
+ });
931
+ featuresCmd.command("list").alias("ls").description("List feature switches and current state").action(async () => {
932
+ const { features } = await Promise.resolve().then(() => _interopRequireWildcard(require("./features-VCBJQXCX.cjs")));
933
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, program.opts().config);
934
+ const result = await features({ config }, ["list"]);
935
+ if (result) console.log(result);
936
+ process.exit(0);
937
+ });
938
+ featuresCmd.command("status <feature>").alias("show").description("Show one feature switch").action(async (featureId) => {
939
+ const { features } = await Promise.resolve().then(() => _interopRequireWildcard(require("./features-VCBJQXCX.cjs")));
940
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, program.opts().config);
941
+ const result = await features({ config }, ["status", featureId]);
942
+ if (_optionalChain([result, 'optionalAccess', _45 => _45.startsWith, 'call', _46 => _46("Unknown feature")])) {
943
+ console.log(_chalk2.default.red(result));
944
+ process.exit(1);
945
+ }
946
+ if (result) console.log(result);
947
+ process.exit(0);
948
+ });
949
+ featuresCmd.command("refresh").description("Download remote feature flags from the Autohand API").action(async () => {
950
+ const { features } = await Promise.resolve().then(() => _interopRequireWildcard(require("./features-VCBJQXCX.cjs")));
951
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, program.opts().config);
952
+ const result = await features({ config }, ["refresh"]);
953
+ if (result) console.log(result);
954
+ process.exit(0);
955
+ });
956
+ featuresCmd.command("enable <feature>").description("Enable a feature switch").action(async (featureId) => {
957
+ const { setFeatureEnabled } = await Promise.resolve().then(() => _interopRequireWildcard(require("./features-VCBJQXCX.cjs")));
958
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, program.opts().config);
959
+ const result = await setFeatureEnabled(config, featureId, true);
960
+ if (result.startsWith("Unknown feature")) {
961
+ console.log(_chalk2.default.red(result));
962
+ process.exit(1);
963
+ }
964
+ console.log(result);
965
+ process.exit(0);
966
+ });
967
+ featuresCmd.command("disable <feature>").description("Disable a feature switch").action(async (featureId) => {
968
+ const { setFeatureEnabled } = await Promise.resolve().then(() => _interopRequireWildcard(require("./features-VCBJQXCX.cjs")));
969
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, program.opts().config);
970
+ const result = await setFeatureEnabled(config, featureId, false);
971
+ if (result.startsWith("Unknown feature")) {
972
+ console.log(_chalk2.default.red(result));
973
+ process.exit(1);
974
+ }
975
+ console.log(result);
976
+ process.exit(0);
977
+ });
903
978
  program.command("sessions").description("List saved sessions").option("--project <name>", "Filter sessions by project name").action(async (opts) => {
904
- const { SessionManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SessionManager-WAPTFMDO.cjs")));
979
+ const { SessionManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SessionManager-2IZGWASQ.cjs")));
905
980
  const sessionManager = new SessionManager();
906
981
  await sessionManager.initialize();
907
- const { sessions } = await Promise.resolve().then(() => _interopRequireWildcard(require("./sessions-JODKER5D.cjs")));
982
+ const { sessions } = await Promise.resolve().then(() => _interopRequireWildcard(require("./sessions-OSG3UJEZ.cjs")));
908
983
  const args = opts.project ? ["--project", opts.project] : [];
909
984
  await sessions({ sessionManager, args });
910
985
  process.exit(0);
911
986
  });
912
987
  program.command("init").description("Create an AGENTS.md file in the workspace").option("--path <path>", "Workspace path").action(async (opts) => {
913
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, void 0, process.cwd());
914
- const workspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
988
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, void 0, process.cwd());
989
+ const workspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
915
990
  const agentsPath = _path2.default.join(workspaceRoot, "AGENTS.md");
916
991
  const exists = await _fsextra2.default.pathExists(agentsPath);
917
992
  if (exists) {
@@ -937,26 +1012,26 @@ program.command("init").description("Create an AGENTS.md file in the workspace")
937
1012
  process.exit(0);
938
1013
  });
939
1014
  program.command("completion <shell>").description("Generate shell completion scripts (bash, zsh, fish)").action(async (shell) => {
940
- const { runCompletionCommand } = await Promise.resolve().then(() => _interopRequireWildcard(require("./completion-IIZMHXYP.cjs")));
1015
+ const { runCompletionCommand } = await Promise.resolve().then(() => _interopRequireWildcard(require("./completion-JX4T2ONW.cjs")));
941
1016
  await runCompletionCommand(shell);
942
1017
  process.exit(0);
943
1018
  });
944
1019
  program.command("update").description("Check for updates and install if available").option("--check", "Only check for updates without installing").action(async (opts) => {
945
1020
  const { runUpdate } = await Promise.resolve().then(() => _interopRequireWildcard(require("./update-NV6QRYY7.cjs")));
946
1021
  await runUpdate({
947
- currentVersion: _chunkREMGR23Vcjs.package_default.version,
1022
+ currentVersion: _chunkAQ5PVHOCcjs.package_default.version,
948
1023
  check: _nullishCoalesce(opts.check, () => ( false))
949
1024
  });
950
1025
  });
951
1026
  program.command("upgrade").description("Check for updates and install if available").option("--check", "Only check for updates without installing").action(async (opts) => {
952
1027
  const { runUpdate } = await Promise.resolve().then(() => _interopRequireWildcard(require("./update-NV6QRYY7.cjs")));
953
1028
  await runUpdate({
954
- currentVersion: _chunkREMGR23Vcjs.package_default.version,
1029
+ currentVersion: _chunkAQ5PVHOCcjs.package_default.version,
955
1030
  check: _nullishCoalesce(opts.check, () => ( false))
956
1031
  });
957
1032
  });
958
1033
  program.command("import [source]").description("Import data from other coding agents (claude, codex, gemini, cursor, cline, continue, augment)").option("--all", "Import all available categories without prompting").option("--categories <list>", "Comma-separated list of categories to import (sessions,settings,skills,memory,mcp,hooks)", (val) => val.split(",")).option("--dry-run", "Preview what would be imported without making changes").option("--retry-failed", "Retry previously failed import items").action(async (source, opts) => {
959
- const { runImport } = await Promise.resolve().then(() => _interopRequireWildcard(require("./import-I7T4ZHYL.cjs")));
1034
+ const { runImport } = await Promise.resolve().then(() => _interopRequireWildcard(require("./import-C7S6UJMW.cjs")));
960
1035
  await runImport({
961
1036
  source,
962
1037
  categories: opts.categories,
@@ -968,15 +1043,15 @@ program.command("import [source]").description("Import data from other coding ag
968
1043
  });
969
1044
  async function runCLI(options) {
970
1045
  try {
971
- let config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, options.config, process.cwd());
972
- const originalWorkspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, config, options.path);
1046
+ let config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, options.config, process.cwd());
1047
+ const originalWorkspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, config, options.path);
973
1048
  let workspaceRoot = originalWorkspaceRoot;
974
1049
  let sessionWorktree = null;
975
- const { locale: detectedLocale } = _chunkCHI52KFRcjs.detectLocale.call(void 0, {
1050
+ const { locale: detectedLocale } = _chunkSY2P3Z5Wcjs.detectLocale.call(void 0, {
976
1051
  cliOverride: options.displayLanguage,
977
- configLocale: _optionalChain([config, 'access', _45 => _45.ui, 'optionalAccess', _46 => _46.locale])
1052
+ configLocale: _optionalChain([config, 'access', _47 => _47.ui, 'optionalAccess', _48 => _48.locale])
978
1053
  });
979
- await _chunkCHI52KFRcjs.initI18n.call(void 0, detectedLocale);
1054
+ await _chunkSY2P3Z5Wcjs.initI18n.call(void 0, detectedLocale);
980
1055
  const {
981
1056
  buildPermissionSettingsFromYolo,
982
1057
  normalizeYoloInput,
@@ -997,9 +1072,9 @@ async function runCLI(options) {
997
1072
  }
998
1073
  }
999
1074
  const providerName = _nullishCoalesce(config.provider, () => ( "openrouter"));
1000
- const providerConfig = _chunk46C73ZKKcjs.getProviderConfig.call(void 0, config, providerName);
1075
+ const providerConfig = _chunkX5P6QQOBcjs.getProviderConfig.call(void 0, config, providerName);
1001
1076
  if (!providerConfig) {
1002
- const { SetupWizard } = await Promise.resolve().then(() => _interopRequireWildcard(require("./onboarding-FXX7YHSJ.cjs")));
1077
+ const { SetupWizard } = await Promise.resolve().then(() => _interopRequireWildcard(require("./onboarding-2U2BV2KE.cjs")));
1003
1078
  const wizard = new SetupWizard(originalWorkspaceRoot, config);
1004
1079
  const result = await wizard.run({ skipWelcome: !config.isNewConfig });
1005
1080
  if (result.cancelled) {
@@ -1008,11 +1083,11 @@ async function runCLI(options) {
1008
1083
  }
1009
1084
  if (result.success) {
1010
1085
  config = { ...config, ...result.config };
1011
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
1086
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
1012
1087
  console.log();
1013
1088
  }
1014
1089
  }
1015
- const workspacePathValidation = await _chunk3LJJG5YYcjs.validateWorkspacePath.call(void 0, originalWorkspaceRoot);
1090
+ const workspacePathValidation = await _chunkQLZOMZO5cjs.validateWorkspacePath.call(void 0, originalWorkspaceRoot);
1016
1091
  if (!workspacePathValidation.valid) {
1017
1092
  console.error(_chalk2.default.red(`Error: ${workspacePathValidation.error}`));
1018
1093
  process.exit(1);
@@ -1022,8 +1097,8 @@ async function runCLI(options) {
1022
1097
  _chunkWGNMOVMTcjs.printDangerousWorkspaceWarning.call(void 0, originalWorkspaceRoot, safetyCheck);
1023
1098
  process.exit(1);
1024
1099
  }
1025
- if (_chunk7LWQCE4Ycjs.isSessionWorktreeEnabled.call(void 0, options.worktree)) {
1026
- sessionWorktree = _chunk7LWQCE4Ycjs.prepareSessionWorktree.call(void 0, {
1100
+ if (_chunkM7B7RRBKcjs.isSessionWorktreeEnabled.call(void 0, options.worktree)) {
1101
+ sessionWorktree = _chunkM7B7RRBKcjs.prepareSessionWorktree.call(void 0, {
1027
1102
  cwd: originalWorkspaceRoot,
1028
1103
  worktree: options.worktree,
1029
1104
  mode: "cli"
@@ -1072,7 +1147,7 @@ async function runCLI(options) {
1072
1147
  const { shouldUseInkRenderer } = await Promise.resolve().then(() => _interopRequireWildcard(require("./inkMode-VUE6ZDLD.cjs")));
1073
1148
  const inkEnabled = shouldUseInkRenderer();
1074
1149
  initPingService({
1075
- cliVersion: _chunkREMGR23Vcjs.package_default.version,
1150
+ cliVersion: _chunkAQ5PVHOCcjs.package_default.version,
1076
1151
  clientType: "cli"
1077
1152
  });
1078
1153
  startPingService();
@@ -1087,8 +1162,8 @@ async function runCLI(options) {
1087
1162
  }
1088
1163
  const agentHolder = { current: null };
1089
1164
  try {
1090
- const checkResults = await _chunk3LJJG5YYcjs.runStartupChecks.call(void 0, workspaceRoot);
1091
- _chunk3LJJG5YYcjs.printStartupCheckResults.call(void 0, checkResults);
1165
+ const checkResults = await _chunkQLZOMZO5cjs.runStartupChecks.call(void 0, workspaceRoot);
1166
+ _chunkQLZOMZO5cjs.printStartupCheckResults.call(void 0, checkResults);
1092
1167
  if (!checkResults.allRequiredMet) {
1093
1168
  console.log(_chalk2.default.yellow("Continuing anyway, but some features may not work correctly.\n"));
1094
1169
  }
@@ -1096,8 +1171,8 @@ async function runCLI(options) {
1096
1171
  }
1097
1172
  (async () => {
1098
1173
  try {
1099
- const versionCheckPromise = _optionalChain([config, 'access', _47 => _47.ui, 'optionalAccess', _48 => _48.checkForUpdates]) !== false ? _chunkFMB3TSWPcjs.checkForUpdates.call(void 0, _chunkREMGR23Vcjs.package_default.version, {
1100
- checkIntervalHours: _nullishCoalesce(_optionalChain([config, 'access', _49 => _49.ui, 'optionalAccess', _50 => _50.updateCheckInterval]), () => ( 24))
1174
+ const versionCheckPromise = _optionalChain([config, 'access', _49 => _49.ui, 'optionalAccess', _50 => _50.checkForUpdates]) !== false ? _chunkFMB3TSWPcjs.checkForUpdates.call(void 0, _chunkAQ5PVHOCcjs.package_default.version, {
1175
+ checkIntervalHours: _nullishCoalesce(_optionalChain([config, 'access', _51 => _51.ui, 'optionalAccess', _52 => _52.updateCheckInterval]), () => ( 24))
1101
1176
  }) : Promise.resolve(null);
1102
1177
  const [authUser, versionResult] = await Promise.all([
1103
1178
  validateAuthOnStartup(config),
@@ -1106,12 +1181,12 @@ async function runCLI(options) {
1106
1181
  if (versionResult && agentHolder.current) {
1107
1182
  agentHolder.current.setVersionCheckResult(versionResult);
1108
1183
  }
1109
- if (authUser && _optionalChain([config, 'access', _51 => _51.auth, 'optionalAccess', _52 => _52.token])) {
1110
- const syncEnabled = options.syncSettings !== false && _optionalChain([config, 'access', _53 => _53.sync, 'optionalAccess', _54 => _54.enabled]) !== false;
1184
+ if (authUser && _optionalChain([config, 'access', _53 => _53.auth, 'optionalAccess', _54 => _54.token])) {
1185
+ const syncEnabled = options.syncSettings !== false && _optionalChain([config, 'access', _55 => _55.sync, 'optionalAccess', _56 => _56.enabled]) !== false;
1111
1186
  if (syncEnabled) {
1112
1187
  try {
1113
- const { createSyncService, DEFAULT_SYNC_CONFIG } = await Promise.resolve().then(() => _interopRequireWildcard(require("./sync-EH4K5U3N.cjs")));
1114
- const { setSyncService } = await Promise.resolve().then(() => _interopRequireWildcard(require("./sync-77CXVVTK.cjs")));
1188
+ const { createSyncService, DEFAULT_SYNC_CONFIG } = await Promise.resolve().then(() => _interopRequireWildcard(require("./sync-XRP46IVG.cjs")));
1189
+ const { setSyncService } = await Promise.resolve().then(() => _interopRequireWildcard(require("./sync-ZMFVE7T4.cjs")));
1115
1190
  const syncService = createSyncService({
1116
1191
  authToken: config.auth.token,
1117
1192
  userId: authUser.id,
@@ -1125,7 +1200,7 @@ async function runCLI(options) {
1125
1200
  if (agentHolder.current) {
1126
1201
  agentHolder.current.notifyUser(message);
1127
1202
  } else {
1128
- const { promptNotify } = await Promise.resolve().then(() => _interopRequireWildcard(require("./inputPrompt-IIFKCX5Q.cjs")));
1203
+ const { promptNotify } = await Promise.resolve().then(() => _interopRequireWildcard(require("./inputPrompt-JMACL4EB.cjs")));
1129
1204
  promptNotify(_chalk2.default.yellow(message));
1130
1205
  }
1131
1206
  }
@@ -1133,7 +1208,7 @@ async function runCLI(options) {
1133
1208
  syncService.start();
1134
1209
  setSyncService(syncService);
1135
1210
  const stopSync = () => {
1136
- _optionalChain([syncService, 'optionalAccess', _55 => _55.stop, 'call', _56 => _56()]);
1211
+ _optionalChain([syncService, 'optionalAccess', _57 => _57.stop, 'call', _58 => _58()]);
1137
1212
  setSyncService(null);
1138
1213
  };
1139
1214
  process.on("exit", stopSync);
@@ -1156,13 +1231,13 @@ async function runCLI(options) {
1156
1231
  config.agent = _nullishCoalesce(config.agent, () => ( {}));
1157
1232
  config.agent.debug = true;
1158
1233
  }
1159
- const { ProviderFactory } = await Promise.resolve().then(() => _interopRequireWildcard(require("./ProviderFactory-C3YPXTDD.cjs")));
1234
+ const { ProviderFactory } = await Promise.resolve().then(() => _interopRequireWildcard(require("./ProviderFactory-56N3ECE4.cjs")));
1160
1235
  const { FileActionManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./filesystem-PGUPCMVK.cjs")));
1161
1236
  const llmProvider = ProviderFactory.create(config);
1162
1237
  const files = new FileActionManager(workspaceRoot, runtime.additionalDirs);
1163
1238
  if (options.autoSkill) {
1164
1239
  console.log(_chalk2.default.cyan("\nAuto-generating skills for this project...\n"));
1165
- const { runAutoSkillGeneration } = await Promise.resolve().then(() => _interopRequireWildcard(require("./autoSkill-YOLLFTP2.cjs")));
1240
+ const { runAutoSkillGeneration } = await Promise.resolve().then(() => _interopRequireWildcard(require("./autoSkill-VQLGBELN.cjs")));
1166
1241
  const result = await runAutoSkillGeneration(workspaceRoot, llmProvider);
1167
1242
  if (!result.success) {
1168
1243
  console.log(_chalk2.default.yellow(result.error || "Failed to generate skills"));
@@ -1212,12 +1287,12 @@ async function runCLI(options) {
1212
1287
  }
1213
1288
  }
1214
1289
  }
1215
- const { AutohandAgent } = await Promise.resolve().then(() => _interopRequireWildcard(require("./agent-DMRUFU4M.cjs")));
1290
+ const { AutohandAgent } = await Promise.resolve().then(() => _interopRequireWildcard(require("./agent-B3EVT7NN.cjs")));
1216
1291
  const agent = new AutohandAgent(llmProvider, files, runtime);
1217
1292
  agentHolder.current = agent;
1218
1293
  if (options.chrome) {
1219
- const { ensureNativeHostInstalled, createBrowserHandoff, buildChromeOpenUrl: buildChromeOpenUrl2, openChromeContinuation: openChromeContinuation2 } = await Promise.resolve().then(() => _interopRequireWildcard(require("./chrome-XHJLCO4M.cjs")));
1220
- const extensionId = _optionalChain([config, 'access', _57 => _57.chrome, 'optionalAccess', _58 => _58.extensionId]);
1294
+ const { ensureNativeHostInstalled, createBrowserHandoff, buildChromeOpenUrl: buildChromeOpenUrl2, openChromeContinuation: openChromeContinuation2 } = await Promise.resolve().then(() => _interopRequireWildcard(require("./chrome-Q2U73HZB.cjs")));
1295
+ const extensionId = _optionalChain([config, 'access', _59 => _59.chrome, 'optionalAccess', _60 => _60.extensionId]);
1221
1296
  await ensureNativeHostInstalled({ extensionId }).catch(() => {
1222
1297
  });
1223
1298
  const sessionManager = agent.getSessionManager();
@@ -1225,7 +1300,7 @@ async function runCLI(options) {
1225
1300
  let currentSession = sessionManager.getCurrentSession();
1226
1301
  if (!currentSession) {
1227
1302
  const providerName2 = _nullishCoalesce(config.provider, () => ( "openrouter"));
1228
- const modelName = _nullishCoalesce(_nullishCoalesce(options.model, () => ( _optionalChain([config, 'access', _59 => _59[providerName2], 'optionalAccess', _60 => _60.model]))), () => ( "unknown"));
1303
+ const modelName = _nullishCoalesce(_nullishCoalesce(options.model, () => ( _optionalChain([config, 'access', _61 => _61[providerName2], 'optionalAccess', _62 => _62.model]))), () => ( "unknown"));
1229
1304
  currentSession = await sessionManager.createSession(workspaceRoot, modelName);
1230
1305
  }
1231
1306
  const sessionId = currentSession.metadata.sessionId;
@@ -1233,12 +1308,12 @@ async function runCLI(options) {
1233
1308
  sessionId,
1234
1309
  workspaceRoot,
1235
1310
  extensionId,
1236
- installUrl: _optionalChain([config, 'access', _61 => _61.chrome, 'optionalAccess', _62 => _62.installUrl])
1311
+ installUrl: _optionalChain([config, 'access', _63 => _63.chrome, 'optionalAccess', _64 => _64.installUrl])
1237
1312
  });
1238
1313
  await openChromeContinuation2(
1239
- buildChromeOpenUrl2({ extensionId, installUrl: _optionalChain([config, 'access', _63 => _63.chrome, 'optionalAccess', _64 => _64.installUrl]) }),
1240
- _nullishCoalesce(_optionalChain([config, 'access', _65 => _65.chrome, 'optionalAccess', _66 => _66.browser]), () => ( "auto")),
1241
- { userDataDir: _optionalChain([config, 'access', _67 => _67.chrome, 'optionalAccess', _68 => _68.userDataDir]), profileDirectory: _optionalChain([config, 'access', _69 => _69.chrome, 'optionalAccess', _70 => _70.profileDirectory]) }
1314
+ buildChromeOpenUrl2({ extensionId, installUrl: _optionalChain([config, 'access', _65 => _65.chrome, 'optionalAccess', _66 => _66.installUrl]) }),
1315
+ _nullishCoalesce(_optionalChain([config, 'access', _67 => _67.chrome, 'optionalAccess', _68 => _68.browser]), () => ( "auto")),
1316
+ { userDataDir: _optionalChain([config, 'access', _69 => _69.chrome, 'optionalAccess', _70 => _70.userDataDir]), profileDirectory: _optionalChain([config, 'access', _71 => _71.chrome, 'optionalAccess', _72 => _72.profileDirectory]) }
1242
1317
  );
1243
1318
  console.log(_chalk2.default.green("\n\u2713 Opened Chrome. Side panel (Cmd+E) to continue."));
1244
1319
  console.log(_chalk2.default.gray(` Session: ${sessionId}
@@ -1269,7 +1344,7 @@ function printBanner() {
1269
1344
  }
1270
1345
  if (process.stdout.isTTY) {
1271
1346
  process.stdout.write("\x1B[3J\x1B[2J\x1B[H");
1272
- console.log(_chunk7LWQCE4Ycjs.formatStartupBanner.call(void 0, _chunkIKUMVBCWcjs.ASCII_FRIEND));
1347
+ console.log(_chunkM7B7RRBKcjs.formatStartupBanner.call(void 0, _chunkSD3NTC7Dcjs.renderAutohandLogo.call(void 0, { columns: _chunkSD3NTC7Dcjs.getTerminalColumns.call(void 0, process.stdout) })));
1273
1348
  } else {
1274
1349
  console.log("autohand");
1275
1350
  }
@@ -1298,50 +1373,50 @@ function printWelcome(runtime, authUser, versionCheck) {
1298
1373
  }
1299
1374
  const model = (() => {
1300
1375
  try {
1301
- const settings = _chunk46C73ZKKcjs.getProviderConfig.call(void 0, runtime.config);
1302
- return _nullishCoalesce(_nullishCoalesce(runtime.options.model, () => ( _optionalChain([settings, 'optionalAccess', _71 => _71.model]))), () => ( "unknown"));
1376
+ const settings = _chunkX5P6QQOBcjs.getProviderConfig.call(void 0, runtime.config);
1377
+ return _nullishCoalesce(_nullishCoalesce(runtime.options.model, () => ( _optionalChain([settings, 'optionalAccess', _73 => _73.model]))), () => ( "unknown"));
1303
1378
  } catch (e13) {
1304
1379
  return _nullishCoalesce(runtime.options.model, () => ( "unknown"));
1305
1380
  }
1306
1381
  })();
1307
1382
  const dir = runtime.workspaceRoot;
1308
- let versionLine = _chunk7LWQCE4Ycjs.formatWelcomeVersionPrefix.call(void 0, getVersionString());
1383
+ let versionLine = _chunkM7B7RRBKcjs.formatWelcomeVersionPrefix.call(void 0, getVersionString());
1309
1384
  if (versionCheck) {
1310
1385
  if (versionCheck.isUpToDate) {
1311
- versionLine += _chunk7LWQCE4Ycjs.formatUpdateReady.call(void 0, );
1386
+ versionLine += _chunkM7B7RRBKcjs.formatUpdateReady.call(void 0, );
1312
1387
  } else if (versionCheck.updateAvailable && versionCheck.latestVersion) {
1313
- versionLine += _chunk7LWQCE4Ycjs.formatUpdateAvailable.call(void 0, versionCheck.latestVersion);
1388
+ versionLine += _chunkM7B7RRBKcjs.formatUpdateAvailable.call(void 0, versionCheck.latestVersion);
1314
1389
  }
1315
1390
  }
1316
1391
  console.log(versionLine);
1317
- if (_optionalChain([versionCheck, 'optionalAccess', _72 => _72.updateAvailable])) {
1318
- console.log(_chunk7LWQCE4Ycjs.formatInstallHint.call(void 0, _chunkFMB3TSWPcjs.getInstallHint.call(void 0, versionCheck.channel)));
1392
+ if (_optionalChain([versionCheck, 'optionalAccess', _74 => _74.updateAvailable])) {
1393
+ console.log(_chunkM7B7RRBKcjs.formatInstallHint.call(void 0, _chunkFMB3TSWPcjs.getInstallHint.call(void 0, versionCheck.channel)));
1319
1394
  }
1320
- const isLoggedIn = !!(authUser || _optionalChain([runtime, 'access', _73 => _73.config, 'access', _74 => _74.auth, 'optionalAccess', _75 => _75.token]));
1395
+ const isLoggedIn = !!(authUser || _optionalChain([runtime, 'access', _75 => _75.config, 'access', _76 => _76.auth, 'optionalAccess', _77 => _77.token]));
1321
1396
  if (authUser) {
1322
- console.log(_chunk7LWQCE4Ycjs.formatWelcomeGreeting.call(void 0, authUser.name || authUser.email));
1397
+ console.log(_chunkM7B7RRBKcjs.formatWelcomeGreeting.call(void 0, authUser.name || authUser.email));
1323
1398
  }
1324
1399
  const ccEnabled = runtime.options.contextCompact !== false;
1325
- console.log(_chunk7LWQCE4Ycjs.formatWelcomeStatusLine.call(void 0, model, ccEnabled, dir));
1400
+ console.log(_chunkM7B7RRBKcjs.formatWelcomeStatusLine.call(void 0, model, ccEnabled, dir));
1326
1401
  console.log();
1327
1402
  const suggestions = buildWelcomeSuggestions(isLoggedIn, dir);
1328
- console.log(_chunk7LWQCE4Ycjs.formatWelcomeTitle.call(void 0, ));
1403
+ console.log(_chunkM7B7RRBKcjs.formatWelcomeTitle.call(void 0, ));
1329
1404
  for (const s of suggestions) {
1330
- console.log(_chunk7LWQCE4Ycjs.formatWelcomeSuggestion.call(void 0, s.command, s.description));
1405
+ console.log(_chunkM7B7RRBKcjs.formatWelcomeSuggestion.call(void 0, s.command, s.description));
1331
1406
  }
1332
1407
  console.log();
1333
1408
  }
1334
1409
  async function runSkillInstall(opts) {
1335
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config);
1336
- const workspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1410
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config);
1411
+ const workspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1337
1412
  const safetyCheck = _chunkWGNMOVMTcjs.checkWorkspaceSafety.call(void 0, workspaceRoot);
1338
1413
  if (!safetyCheck.safe) {
1339
1414
  _chunkWGNMOVMTcjs.printDangerousWorkspaceWarning.call(void 0, workspaceRoot, safetyCheck);
1340
1415
  process.exit(1);
1341
1416
  }
1342
- const { SkillsRegistry } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SkillsRegistry-7AJP74GJ.cjs")));
1343
- const { AUTOHAND_PATHS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./constants-RLMJ5D5P.cjs")));
1344
- const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-VTAMCNNY.cjs")));
1417
+ const { SkillsRegistry } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SkillsRegistry-GMRVONOQ.cjs")));
1418
+ const { AUTOHAND_PATHS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./constants-MCCGUU5F.cjs")));
1419
+ const { skillsInstall } = await Promise.resolve().then(() => _interopRequireWildcard(require("./skills-install-ILX6QVEF.cjs")));
1345
1420
  const skillsRegistry = new SkillsRegistry(AUTOHAND_PATHS.skills);
1346
1421
  await skillsRegistry.initialize();
1347
1422
  await skillsRegistry.setWorkspace(workspaceRoot);
@@ -1352,21 +1427,21 @@ async function runSkillInstall(opts) {
1352
1427
  }, skillName);
1353
1428
  }
1354
1429
  async function runLearnNonInteractive(opts, subcommand) {
1355
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config);
1356
- const workspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1430
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config);
1431
+ const workspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1357
1432
  const safetyCheck = _chunkWGNMOVMTcjs.checkWorkspaceSafety.call(void 0, workspaceRoot);
1358
1433
  if (!safetyCheck.safe) {
1359
1434
  _chunkWGNMOVMTcjs.printDangerousWorkspaceWarning.call(void 0, workspaceRoot, safetyCheck);
1360
1435
  process.exit(1);
1361
1436
  }
1362
- const { learn } = await Promise.resolve().then(() => _interopRequireWildcard(require("./learn-XLRSVNA3.cjs")));
1363
- const { SkillsRegistry } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SkillsRegistry-7AJP74GJ.cjs")));
1364
- const { AUTOHAND_PATHS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./constants-RLMJ5D5P.cjs")));
1365
- const { HookManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./HookManager-TMAJQU4S.cjs")));
1437
+ const { learn } = await Promise.resolve().then(() => _interopRequireWildcard(require("./learn-3DSX7DYG.cjs")));
1438
+ const { SkillsRegistry } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SkillsRegistry-GMRVONOQ.cjs")));
1439
+ const { AUTOHAND_PATHS } = await Promise.resolve().then(() => _interopRequireWildcard(require("./constants-MCCGUU5F.cjs")));
1440
+ const { HookManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./HookManager-TVEQI5ZU.cjs")));
1366
1441
  const skillsRegistry = new SkillsRegistry(AUTOHAND_PATHS.skills);
1367
1442
  await skillsRegistry.initialize();
1368
1443
  await skillsRegistry.setWorkspace(workspaceRoot);
1369
- const { ProviderFactory } = await Promise.resolve().then(() => _interopRequireWildcard(require("./ProviderFactory-C3YPXTDD.cjs")));
1444
+ const { ProviderFactory } = await Promise.resolve().then(() => _interopRequireWildcard(require("./ProviderFactory-56N3ECE4.cjs")));
1370
1445
  const llmProvider = ProviderFactory.create(config);
1371
1446
  const hookManager = new HookManager({ workspaceRoot });
1372
1447
  const args = subcommand === "update" ? ["update"] : [];
@@ -1381,6 +1456,28 @@ async function runLearnNonInteractive(opts, subcommand) {
1381
1456
  console.log(result);
1382
1457
  }
1383
1458
  }
1459
+ async function runGoalFlag(opts) {
1460
+ const config = await _asyncNullishCoalesce(opts._authConfig, async () => ( await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config, process.cwd())));
1461
+ const { GOAL_FEATURE_DISABLED_MESSAGE, isGoalFeatureEnabled } = await Promise.resolve().then(() => _interopRequireWildcard(require("./feature-K3LG5IJP.cjs")));
1462
+ if (!isGoalFeatureEnabled(config)) {
1463
+ console.error(_chalk2.default.yellow(GOAL_FEATURE_DISABLED_MESSAGE));
1464
+ process.exit(1);
1465
+ }
1466
+ const workspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1467
+ const workspacePathValidation = await _chunkQLZOMZO5cjs.validateWorkspacePath.call(void 0, workspaceRoot);
1468
+ if (!workspacePathValidation.valid) {
1469
+ console.error(_chalk2.default.red(`Error: ${workspacePathValidation.error}`));
1470
+ process.exit(1);
1471
+ }
1472
+ const safetyCheck = _chunkWGNMOVMTcjs.checkWorkspaceSafety.call(void 0, workspaceRoot);
1473
+ if (!safetyCheck.safe) {
1474
+ _chunkWGNMOVMTcjs.printDangerousWorkspaceWarning.call(void 0, workspaceRoot, safetyCheck);
1475
+ process.exit(1);
1476
+ }
1477
+ const { runGoalCli } = await Promise.resolve().then(() => _interopRequireWildcard(require("./goal-4M3J6JS2.cjs")));
1478
+ const result = await runGoalCli(workspaceRoot, _nullishCoalesce(opts.goal, () => ( "")), config);
1479
+ console.log(result);
1480
+ }
1384
1481
  function renderPermissionScope(title, pathLabel, allowList, denyList) {
1385
1482
  console.log(_chalk2.default.bold(title));
1386
1483
  console.log(_chalk2.default.gray(pathLabel));
@@ -1403,14 +1500,14 @@ function renderPermissionScope(title, pathLabel, allowList, denyList) {
1403
1500
  console.log();
1404
1501
  }
1405
1502
  async function displayPermissions(opts) {
1406
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config);
1407
- const workspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1503
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config);
1504
+ const workspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1408
1505
  const safetyCheck = _chunkWGNMOVMTcjs.checkWorkspaceSafety.call(void 0, workspaceRoot);
1409
1506
  if (!safetyCheck.safe) {
1410
1507
  _chunkWGNMOVMTcjs.printDangerousWorkspaceWarning.call(void 0, workspaceRoot, safetyCheck);
1411
1508
  process.exit(1);
1412
1509
  }
1413
- const { PermissionManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./PermissionManager-5OOJ7FAT.cjs")));
1510
+ const { PermissionManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./PermissionManager-URCNP5EC.cjs")));
1414
1511
  const manager = new PermissionManager({
1415
1512
  settings: config.permissions,
1416
1513
  workspaceRoot
@@ -1449,10 +1546,10 @@ async function runPatchMode(opts) {
1449
1546
  }
1450
1547
  const fs3 = await Promise.resolve().then(() => _interopRequireWildcard(require("fs-extra")));
1451
1548
  const { generateUnifiedPatch, formatChangeSummary } = await Promise.resolve().then(() => _interopRequireWildcard(require("./patch-DJ2GPFST.cjs")));
1452
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config);
1453
- const originalWorkspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1549
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config);
1550
+ const originalWorkspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1454
1551
  let workspaceRoot = originalWorkspaceRoot;
1455
- const workspacePathValidation = await _chunk3LJJG5YYcjs.validateWorkspacePath.call(void 0, originalWorkspaceRoot);
1552
+ const workspacePathValidation = await _chunkQLZOMZO5cjs.validateWorkspacePath.call(void 0, originalWorkspaceRoot);
1456
1553
  if (!workspacePathValidation.valid) {
1457
1554
  console.error(_chalk2.default.red(`Error: ${workspacePathValidation.error}`));
1458
1555
  process.exit(1);
@@ -1462,8 +1559,8 @@ async function runPatchMode(opts) {
1462
1559
  _chunkWGNMOVMTcjs.printDangerousWorkspaceWarning.call(void 0, originalWorkspaceRoot, safetyCheck);
1463
1560
  process.exit(1);
1464
1561
  }
1465
- if (_chunk7LWQCE4Ycjs.isSessionWorktreeEnabled.call(void 0, opts.worktree)) {
1466
- const sessionWorktree = _chunk7LWQCE4Ycjs.prepareSessionWorktree.call(void 0, {
1562
+ if (_chunkM7B7RRBKcjs.isSessionWorktreeEnabled.call(void 0, opts.worktree)) {
1563
+ const sessionWorktree = _chunkM7B7RRBKcjs.prepareSessionWorktree.call(void 0, {
1467
1564
  cwd: originalWorkspaceRoot,
1468
1565
  worktree: opts.worktree,
1469
1566
  mode: "patch"
@@ -1506,7 +1603,7 @@ async function runPatchMode(opts) {
1506
1603
  config[providerName].model = opts.model;
1507
1604
  }
1508
1605
  }
1509
- const { ProviderFactory } = await Promise.resolve().then(() => _interopRequireWildcard(require("./ProviderFactory-C3YPXTDD.cjs")));
1606
+ const { ProviderFactory } = await Promise.resolve().then(() => _interopRequireWildcard(require("./ProviderFactory-56N3ECE4.cjs")));
1510
1607
  const { FileActionManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./filesystem-PGUPCMVK.cjs")));
1511
1608
  const llmProvider = ProviderFactory.create(config);
1512
1609
  const files = new FileActionManager(workspaceRoot, additionalDirs);
@@ -1534,7 +1631,7 @@ async function runPatchMode(opts) {
1534
1631
  parallelApiKey: _nullishCoalesce(searchConfig.parallelApiKey, () => ( process.env.PARALLEL_API_KEY))
1535
1632
  });
1536
1633
  try {
1537
- const { AutohandAgent } = await Promise.resolve().then(() => _interopRequireWildcard(require("./agent-DMRUFU4M.cjs")));
1634
+ const { AutohandAgent } = await Promise.resolve().then(() => _interopRequireWildcard(require("./agent-B3EVT7NN.cjs")));
1538
1635
  const agent = new AutohandAgent(llmProvider, files, runtime);
1539
1636
  await agent.runCommandMode(opts.prompt);
1540
1637
  const changes = files.getPendingChanges();
@@ -1567,9 +1664,9 @@ async function runAutoMode(opts) {
1567
1664
  console.error(_chalk2.default.red("Error: --auto-mode requires a task prompt"));
1568
1665
  process.exit(1);
1569
1666
  }
1570
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, opts.config);
1571
- const originalWorkspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1572
- const workspacePathValidation = await _chunk3LJJG5YYcjs.validateWorkspacePath.call(void 0, originalWorkspaceRoot);
1667
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, opts.config);
1668
+ const originalWorkspaceRoot = _chunkX5P6QQOBcjs.resolveWorkspaceRoot.call(void 0, config, opts.path);
1669
+ const workspacePathValidation = await _chunkQLZOMZO5cjs.validateWorkspacePath.call(void 0, originalWorkspaceRoot);
1573
1670
  if (!workspacePathValidation.valid) {
1574
1671
  console.error(_chalk2.default.red(`Error: ${workspacePathValidation.error}`));
1575
1672
  process.exit(1);
@@ -1612,9 +1709,9 @@ async function runAutoMode(opts) {
1612
1709
  config.agent.debug = true;
1613
1710
  }
1614
1711
  const { AutomodeManager, getAutomodeOptions } = await Promise.resolve().then(() => _interopRequireWildcard(require("./AutomodeManager-MPSXT2RH.cjs")));
1615
- const { HookManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./HookManager-TMAJQU4S.cjs")));
1616
- const { SessionManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SessionManager-WAPTFMDO.cjs")));
1617
- const { MemoryManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./MemoryManager-34L4YOKA.cjs")));
1712
+ const { HookManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./HookManager-TVEQI5ZU.cjs")));
1713
+ const { SessionManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./SessionManager-2IZGWASQ.cjs")));
1714
+ const { MemoryManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./MemoryManager-PMNAEZMB.cjs")));
1618
1715
  const readline = await Promise.resolve().then(() => _interopRequireWildcard(require("readline")));
1619
1716
  const automodeOptions = getAutomodeOptions(opts, config);
1620
1717
  if (!automodeOptions) {
@@ -1628,7 +1725,7 @@ async function runAutoMode(opts) {
1628
1725
  console.log(_chalk2.default.gray("Completion Marker:"), _chalk2.default.cyan(_nullishCoalesce(automodeOptions.completionPromise, () => ( "DONE"))));
1629
1726
  console.log(_chalk2.default.gray("Worktree Isolation:"), _chalk2.default.cyan(automodeOptions.useWorktree !== false ? "enabled" : "disabled"));
1630
1727
  const providerName = _nullishCoalesce(config.provider, () => ( "openrouter"));
1631
- const modelName = _nullishCoalesce(_nullishCoalesce(opts.model, () => ( _optionalChain([config, 'access', _76 => _76[providerName], 'optionalAccess', _77 => _77.model]))), () => ( "unknown"));
1728
+ const modelName = _nullishCoalesce(_nullishCoalesce(opts.model, () => ( _optionalChain([config, 'access', _78 => _78[providerName], 'optionalAccess', _79 => _79.model]))), () => ( "unknown"));
1632
1729
  const sessionManager = new SessionManager();
1633
1730
  await sessionManager.initialize();
1634
1731
  const session = await sessionManager.createSession(originalWorkspaceRoot, modelName);
@@ -1655,7 +1752,7 @@ async function runAutoMode(opts) {
1655
1752
  }
1656
1753
  }
1657
1754
  console.log();
1658
- const { ProviderFactory } = await Promise.resolve().then(() => _interopRequireWildcard(require("./ProviderFactory-C3YPXTDD.cjs")));
1755
+ const { ProviderFactory } = await Promise.resolve().then(() => _interopRequireWildcard(require("./ProviderFactory-56N3ECE4.cjs")));
1659
1756
  const llmProvider = ProviderFactory.create(config);
1660
1757
  const { FileActionManager } = await Promise.resolve().then(() => _interopRequireWildcard(require("./filesystem-PGUPCMVK.cjs")));
1661
1758
  const files = new FileActionManager(effectiveWorkspace, additionalDirs);
@@ -1696,7 +1793,7 @@ async function runAutoMode(opts) {
1696
1793
  braveApiKey: _nullishCoalesce(searchConfig.braveApiKey, () => ( process.env.BRAVE_SEARCH_API_KEY)),
1697
1794
  parallelApiKey: _nullishCoalesce(searchConfig.parallelApiKey, () => ( process.env.PARALLEL_API_KEY))
1698
1795
  });
1699
- const { AutohandAgent } = await Promise.resolve().then(() => _interopRequireWildcard(require("./agent-DMRUFU4M.cjs")));
1796
+ const { AutohandAgent } = await Promise.resolve().then(() => _interopRequireWildcard(require("./agent-B3EVT7NN.cjs")));
1700
1797
  const agent = new AutohandAgent(llmProvider, files, runtime);
1701
1798
  const runIteration = async (iteration, prompt, _abortSignal) => {
1702
1799
  const iterationPrompt = buildIterationPrompt(prompt, iteration);
@@ -1735,14 +1832,14 @@ async function runAutoMode(opts) {
1735
1832
  console.log(_chalk2.default.gray(`
1736
1833
  \u{1F4CA} Auto-mode ${statusText2} after ${finalState.currentIteration} iterations`));
1737
1834
  }
1738
- const statusText = _optionalChain([finalState, 'optionalAccess', _78 => _78.status]) === "completed" ? "completed" : `ended (${_optionalChain([finalState, 'optionalAccess', _79 => _79.status])})`;
1739
- const exitCode = _optionalChain([finalState, 'optionalAccess', _80 => _80.status]) === "completed" ? 0 : 1;
1835
+ const statusText = _optionalChain([finalState, 'optionalAccess', _80 => _80.status]) === "completed" ? "completed" : `ended (${_optionalChain([finalState, 'optionalAccess', _81 => _81.status])})`;
1836
+ const exitCode = _optionalChain([finalState, 'optionalAccess', _82 => _82.status]) === "completed" ? 0 : 1;
1740
1837
  const shouldHandoffToInteractive = opts.interactiveOnComplete === true && process.stdin.isTTY;
1741
1838
  if (opts.interactiveOnComplete && !process.stdin.isTTY) {
1742
1839
  console.log(_chalk2.default.yellow("\n\u26A0 --interactive-on-complete requested, but no TTY is available. Exiting after auto-mode.\n"));
1743
1840
  }
1744
1841
  if (!shouldHandoffToInteractive) {
1745
- await sessionManager.closeSession(`Auto-mode ${statusText} after ${_nullishCoalesce(_optionalChain([finalState, 'optionalAccess', _81 => _81.currentIteration]), () => ( 0))} iterations: ${_optionalChain([opts, 'access', _82 => _82.autoMode, 'optionalAccess', _83 => _83.slice, 'call', _84 => _84(0, 50)])}...`);
1842
+ await sessionManager.closeSession(`Auto-mode ${statusText} after ${_nullishCoalesce(_optionalChain([finalState, 'optionalAccess', _83 => _83.currentIteration]), () => ( 0))} iterations: ${_optionalChain([opts, 'access', _84 => _84.autoMode, 'optionalAccess', _85 => _85.slice, 'call', _86 => _86(0, 50)])}...`);
1746
1843
  console.log(_chalk2.default.gray(`
1747
1844
  \u{1F4C1} Session saved: ${session.metadata.sessionId}`));
1748
1845
  process.exit(exitCode);
@@ -1809,7 +1906,7 @@ function launchInTmuxIfRequested(opts) {
1809
1906
  encoding: "utf8"
1810
1907
  });
1811
1908
  if (create.status !== 0) {
1812
- const details = _optionalChain([create, 'access', _85 => _85.stderr, 'optionalAccess', _86 => _86.trim, 'call', _87 => _87()]) || _optionalChain([create, 'access', _88 => _88.stdout, 'optionalAccess', _89 => _89.trim, 'call', _90 => _90()]) || "unknown error";
1909
+ const details = _optionalChain([create, 'access', _87 => _87.stderr, 'optionalAccess', _88 => _88.trim, 'call', _89 => _89()]) || _optionalChain([create, 'access', _90 => _90.stdout, 'optionalAccess', _91 => _91.trim, 'call', _92 => _92()]) || "unknown error";
1813
1910
  console.error(_chalk2.default.red(`Failed to start tmux session: ${details}`));
1814
1911
  process.exit(1);
1815
1912
  }