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
@@ -2,20 +2,21 @@ import {
2
2
  checkForUpdates
3
3
  } from "./chunk-GLBAF54O.js";
4
4
  import {
5
- LOGO_LINES
6
- } from "./chunk-RBHANOYY.js";
5
+ getTerminalColumns,
6
+ renderAutohandLogo
7
+ } from "./chunk-7DJJGKM6.js";
7
8
  import {
8
9
  package_default
9
- } from "./chunk-3PXKRVCW.js";
10
+ } from "./chunk-JB3JCYBJ.js";
10
11
  import {
11
12
  showModal
12
- } from "./chunk-DLP436GI.js";
13
+ } from "./chunk-NZ3ZWLUW.js";
13
14
  import {
14
15
  loadConfig
15
- } from "./chunk-3UT7R3XV.js";
16
+ } from "./chunk-IEPLQ47J.js";
16
17
  import {
17
18
  AUTH_CONFIG
18
- } from "./chunk-TWQDAUZU.js";
19
+ } from "./chunk-SHRLFX6F.js";
19
20
 
20
21
  // src/auth/AuthClient.ts
21
22
  var DEFAULT_TIMEOUT = 1e4;
@@ -178,7 +179,7 @@ import { spawn } from "child_process";
178
179
  import { platform } from "os";
179
180
  async function getGitCommit() {
180
181
  if (true) {
181
- return "8cc71ec";
182
+ return "da69f79";
182
183
  }
183
184
  const match = package_default.version.match(/-alpha\.([0-9a-f]{7,40})$/i);
184
185
  if (match?.[1]) {
@@ -288,7 +289,11 @@ async function promptLogin(config) {
288
289
  }
289
290
  } catch {
290
291
  }
291
- const logoWithVersion = [...LOGO_LINES, "", chalk.gray(versionStr)].join("\n");
292
+ const logo = renderAutohandLogo({
293
+ columns: getTerminalColumns(process.stdout),
294
+ includeWordmark: true
295
+ });
296
+ const logoWithVersion = [logo, "", chalk.gray(versionStr)].join("\n");
292
297
  const options = [
293
298
  { label: "Login", value: "login" }
294
299
  ];
@@ -317,7 +322,7 @@ async function promptLogin(config) {
317
322
  }
318
323
  }
319
324
  }
320
- const { login } = await import("./login-6IKTBUBY.js");
325
+ const { login } = await import("./login-Q7DZKAX4.js");
321
326
  await login({ config });
322
327
  const refreshed = await loadConfig(config.configPath);
323
328
  if (!refreshed.auth?.token) {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  safePrompt
3
- } from "./chunk-62RTC3XX.js";
3
+ } from "./chunk-MMKZSJUN.js";
4
4
  import {
5
5
  AUTOHAND_PATHS
6
- } from "./chunk-TWQDAUZU.js";
6
+ } from "./chunk-SHRLFX6F.js";
7
7
 
8
8
  // src/commands/agents-new.ts
9
9
  import path from "path";
@@ -1,16 +1,16 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
3
+ var _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
4
4
 
5
5
  // src/commands/memory.ts
6
6
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
7
7
  async function memory(ctx) {
8
8
  const { project, user } = await ctx.memoryManager.listAll();
9
9
  console.log();
10
- console.log(_chalk2.default.bold.cyan(_chunkCHI52KFRcjs.t.call(void 0, "commands.memory.title")));
10
+ console.log(_chalk2.default.bold.cyan(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.title")));
11
11
  console.log(_chalk2.default.gray("\u2500".repeat(50)));
12
12
  if (project.length === 0 && user.length === 0) {
13
- console.log(_chalk2.default.gray(_chunkCHI52KFRcjs.t.call(void 0, "commands.memory.noMemory")));
13
+ console.log(_chalk2.default.gray(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.noMemory")));
14
14
  console.log();
15
15
  console.log(_chalk2.default.gray("Tip: Type # followed by text to store a memory."));
16
16
  console.log(_chalk2.default.gray("Example: # Always use TypeScript strict mode"));
@@ -18,7 +18,7 @@ async function memory(ctx) {
18
18
  }
19
19
  if (project.length > 0) {
20
20
  console.log();
21
- console.log(_chalk2.default.bold.yellow(_chunkCHI52KFRcjs.t.call(void 0, "commands.memory.projectMemory")) + _chalk2.default.gray(" (.autohand/memory/)"));
21
+ console.log(_chalk2.default.bold.yellow(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.projectMemory")) + _chalk2.default.gray(" (.autohand/memory/)"));
22
22
  console.log();
23
23
  for (const entry of project) {
24
24
  const date = new Date(entry.updatedAt).toLocaleDateString();
@@ -30,7 +30,7 @@ async function memory(ctx) {
30
30
  }
31
31
  if (user.length > 0) {
32
32
  console.log();
33
- console.log(_chalk2.default.bold.magenta(_chunkCHI52KFRcjs.t.call(void 0, "commands.memory.userMemory")) + _chalk2.default.gray(" (~/.autohand/memory/)"));
33
+ console.log(_chalk2.default.bold.magenta(_chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.userMemory")) + _chalk2.default.gray(" (~/.autohand/memory/)"));
34
34
  console.log();
35
35
  for (const entry of user) {
36
36
  const date = new Date(entry.updatedAt).toLocaleDateString();
@@ -46,7 +46,7 @@ async function memory(ctx) {
46
46
  }
47
47
  var metadata = {
48
48
  command: "/memory",
49
- description: _chunkCHI52KFRcjs.t.call(void 0, "commands.memory.description"),
49
+ description: _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.memory.description"),
50
50
  implemented: true
51
51
  };
52
52
 
@@ -0,0 +1,360 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunk5ZNYX4VHcjs = require('./chunk-5ZNYX4VH.cjs');
4
+
5
+
6
+ var _chunkAQ5PVHOCcjs = require('./chunk-AQ5PVHOC.cjs');
7
+
8
+
9
+ var _chunkKASXKDF2cjs = require('./chunk-KASXKDF2.cjs');
10
+
11
+ // src/commands/go.ts
12
+ var _os = require('os'); var _os2 = _interopRequireDefault(_os);
13
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
14
+ var _qrcode = require('qrcode'); var _qrcode2 = _interopRequireDefault(_qrcode);
15
+ var _terminallink = require('terminal-link'); var _terminallink2 = _interopRequireDefault(_terminallink);
16
+
17
+ // src/mobile/MobileHandoffClient.ts
18
+ var _crypto = require('crypto'); var _crypto2 = _interopRequireDefault(_crypto);
19
+ var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
20
+ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
21
+ var DEFAULT_API_BASE_URL = "https://api.autohand.ai";
22
+ var DEFAULT_TIMEOUT_MS = 1e4;
23
+ function getMobileApiBaseUrl(config) {
24
+ return (_optionalChain([config, 'optionalAccess', _ => _.api, 'optionalAccess', _2 => _2.baseUrl]) || process.env.AUTOHAND_API_URL || DEFAULT_API_BASE_URL).replace(/\/+$/, "");
25
+ }
26
+ var MobileHandoffClient = class {
27
+
28
+
29
+ constructor(config = {}) {
30
+ this.baseUrl = (config.baseUrl || DEFAULT_API_BASE_URL).replace(/\/+$/, "");
31
+ this.timeoutMs = _nullishCoalesce(config.timeoutMs, () => ( DEFAULT_TIMEOUT_MS));
32
+ }
33
+ async getDeviceId() {
34
+ try {
35
+ await _fsextra2.default.ensureDir(_path2.default.dirname(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId));
36
+ if (await _fsextra2.default.pathExists(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId)) {
37
+ const existing = (await _fsextra2.default.readFile(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId, "utf8")).trim();
38
+ if (existing) return existing;
39
+ }
40
+ const next = _crypto2.default.randomUUID();
41
+ await _fsextra2.default.writeFile(_chunkKASXKDF2cjs.AUTOHAND_FILES.deviceId, next);
42
+ return next;
43
+ } catch (e) {
44
+ return _crypto2.default.randomUUID();
45
+ }
46
+ }
47
+ async registerDevice(token, payload) {
48
+ await this.request("/v1/devices/register", token, {
49
+ method: "POST",
50
+ body: JSON.stringify({
51
+ deviceId: payload.deviceId,
52
+ clientType: _nullishCoalesce(payload.clientType, () => ( "cli")),
53
+ agentName: payload.agentName,
54
+ metadata: payload.metadata
55
+ }),
56
+ headers: {
57
+ "X-Device-ID": payload.deviceId
58
+ }
59
+ });
60
+ }
61
+ async createPairing(token, payload) {
62
+ const data = await this.request(
63
+ "/v1/mobile/pairings",
64
+ token,
65
+ {
66
+ method: "POST",
67
+ body: JSON.stringify(payload),
68
+ headers: {
69
+ "X-CLI-Version": _chunkAQ5PVHOCcjs.package_default.version,
70
+ "X-Device-ID": payload.deviceId
71
+ }
72
+ }
73
+ );
74
+ if (data.success !== true || !_optionalChain([data, 'access', _3 => _3.pairing, 'optionalAccess', _4 => _4.pairingUrl])) {
75
+ throw new Error(data.error || "Invalid mobile pairing response");
76
+ }
77
+ return data.pairing;
78
+ }
79
+ async sendRelayHeartbeat(token, payload) {
80
+ await this.request(`/v1/mobile/sessions/${encodeURIComponent(payload.sessionId)}/heartbeat`, token, {
81
+ method: "POST",
82
+ body: JSON.stringify({
83
+ deviceId: payload.deviceId,
84
+ pairingId: payload.pairingId,
85
+ mode: payload.mode
86
+ }),
87
+ headers: {
88
+ "X-Device-ID": payload.deviceId
89
+ }
90
+ });
91
+ }
92
+ async claimWork(token, deviceId) {
93
+ const data = await this.request(
94
+ "/v1/work/claim",
95
+ token,
96
+ {
97
+ method: "POST",
98
+ body: JSON.stringify({ deviceId }),
99
+ headers: {
100
+ "X-Device-ID": deviceId
101
+ },
102
+ allowNotFound: true
103
+ }
104
+ );
105
+ if (data.success === false && data.error === "No work available") {
106
+ return null;
107
+ }
108
+ if (!data.success || !data.work) {
109
+ throw new Error(data.error || "Invalid work claim response");
110
+ }
111
+ return data.work;
112
+ }
113
+ async request(path2, token, options) {
114
+ const controller = new AbortController();
115
+ const timeout = setTimeout(() => controller.abort(), this.timeoutMs);
116
+ try {
117
+ const response = await fetch(`${this.baseUrl}${path2}`, {
118
+ method: options.method,
119
+ headers: {
120
+ Authorization: `Bearer ${token}`,
121
+ "Content-Type": "application/json",
122
+ ...options.headers
123
+ },
124
+ body: options.body,
125
+ signal: controller.signal
126
+ });
127
+ if (options.allowNotFound && response.status === 404) {
128
+ const data = await response.json().catch(() => ({ success: false, error: "No work available" }));
129
+ return data;
130
+ }
131
+ if (!response.ok) {
132
+ const text = await response.text().catch(() => "Unknown error");
133
+ throw new Error(`API error: ${response.status} ${text}`);
134
+ }
135
+ return await response.json();
136
+ } catch (error) {
137
+ if (error.name === "AbortError") {
138
+ throw new Error("Request timeout");
139
+ }
140
+ throw error;
141
+ } finally {
142
+ clearTimeout(timeout);
143
+ }
144
+ }
145
+ };
146
+
147
+ // src/mobile/MobileRelay.ts
148
+ var activeRelay = null;
149
+ function startMobileRelay(options) {
150
+ stopMobileRelay();
151
+ activeRelay = {
152
+ deviceId: options.deviceId,
153
+ timer: setInterval(() => {
154
+ void pollOnce(options);
155
+ }, Math.max(options.pollIntervalMs, 1e3)),
156
+ polling: false
157
+ };
158
+ _optionalChain([activeRelay, 'access', _5 => _5.timer, 'access', _6 => _6.unref, 'optionalCall', _7 => _7()]);
159
+ void pollOnce(options);
160
+ }
161
+ function stopMobileRelay() {
162
+ if (!activeRelay) return;
163
+ clearInterval(activeRelay.timer);
164
+ activeRelay = null;
165
+ }
166
+ async function pollOnce(options) {
167
+ if (!activeRelay || activeRelay.deviceId !== options.deviceId || activeRelay.polling) {
168
+ return;
169
+ }
170
+ activeRelay.polling = true;
171
+ try {
172
+ try {
173
+ await options.client.sendRelayHeartbeat(options.token, {
174
+ sessionId: options.sessionId,
175
+ deviceId: options.deviceId,
176
+ pairingId: options.pairingId,
177
+ mode: options.mode
178
+ });
179
+ } catch (error) {
180
+ _optionalChain([options, 'access', _8 => _8.onError, 'optionalCall', _9 => _9(error)]);
181
+ }
182
+ const work = await options.client.claimWork(options.token, options.deviceId);
183
+ if (_optionalChain([work, 'optionalAccess', _10 => _10.prompt])) {
184
+ options.enqueueInstruction(work.prompt);
185
+ }
186
+ } catch (error) {
187
+ _optionalChain([options, 'access', _11 => _11.onError, 'optionalCall', _12 => _12(error)]);
188
+ } finally {
189
+ if (_optionalChain([activeRelay, 'optionalAccess', _13 => _13.deviceId]) === options.deviceId) {
190
+ activeRelay.polling = false;
191
+ }
192
+ }
193
+ }
194
+
195
+ // src/commands/go.ts
196
+ var metadata = {
197
+ command: "/go",
198
+ description: "pair this session with the Autohand Code iOS app",
199
+ implemented: true
200
+ };
201
+ var MAX_MOBILE_SNAPSHOT_MESSAGES = 24;
202
+ function formatUrl(url) {
203
+ return _terminallink2.default.isSupported ? _terminallink2.default.call(void 0, url, url) : _chalk2.default.cyan.underline(url);
204
+ }
205
+ function formatExpiry(value) {
206
+ const date = new Date(value);
207
+ if (Number.isNaN(date.getTime())) return value;
208
+ return date.toLocaleString();
209
+ }
210
+ function nativeAppUrl(pairingUrl) {
211
+ const url = new URL(pairingUrl);
212
+ const nativeUrl = new URL("autohand-code://go");
213
+ const pairingId = url.searchParams.get("pairing");
214
+ const token = url.searchParams.get("token");
215
+ if (pairingId) nativeUrl.searchParams.set("pairing", pairingId);
216
+ if (token) nativeUrl.searchParams.set("token", token);
217
+ return nativeUrl.toString();
218
+ }
219
+ function buildMobileSessionSnapshot(session) {
220
+ const messages = [];
221
+ for (const message of session.getMessages()) {
222
+ if (message.role === "user") {
223
+ const content = message.content.trim();
224
+ if (content) {
225
+ messages.push({ role: "user", content, timestamp: message.timestamp });
226
+ }
227
+ continue;
228
+ }
229
+ if (message.role === "assistant") {
230
+ const content = _chunk5ZNYX4VHcjs.getAssistantChatLogContent.call(void 0, message.content);
231
+ if (content) {
232
+ messages.push({ role: "assistant", content, timestamp: message.timestamp });
233
+ }
234
+ }
235
+ }
236
+ const recentMessages = messages.slice(-MAX_MOBILE_SNAPSHOT_MESSAGES);
237
+ const firstUserMessage = messages.find((message) => message.role === "user");
238
+ const title = _optionalChain([firstUserMessage, 'optionalAccess', _14 => _14.content]) ? firstUserMessage.content.replace(/\s+/g, " ").slice(0, 80) : `Continue ${session.metadata.projectName}`;
239
+ return {
240
+ title,
241
+ summary: session.metadata.summary,
242
+ messageCount: session.metadata.messageCount,
243
+ lastActivity: session.metadata.lastActiveAt,
244
+ messages: recentMessages
245
+ };
246
+ }
247
+ function parseMode(args, canSteer) {
248
+ if (args.includes("--queue")) return "queue";
249
+ if (args.includes("--steer")) return "steer";
250
+ return canSteer ? "steer" : "queue";
251
+ }
252
+ async function go(ctx, args = []) {
253
+ const mode = parseMode(args, Boolean(ctx.enqueueInstruction));
254
+ if (mode === "steer" && !ctx.enqueueInstruction) {
255
+ return [
256
+ _chalk2.default.yellow("Steer mode requires an interactive CLI session."),
257
+ _chalk2.default.gray("Run /go --queue to create a durable queue-only handoff from this mode.")
258
+ ].join("\n");
259
+ }
260
+ const token = _optionalChain([ctx, 'access', _15 => _15.config, 'optionalAccess', _16 => _16.auth, 'optionalAccess', _17 => _17.token]);
261
+ if (!token) {
262
+ return [
263
+ _chalk2.default.yellow("Sign in first with /login."),
264
+ _chalk2.default.gray("Then run /go again to pair this laptop session with your phone.")
265
+ ].join("\n");
266
+ }
267
+ const session = _nullishCoalesce(ctx.currentSession, () => ( ctx.sessionManager.getCurrentSession()));
268
+ if (!session) {
269
+ return [
270
+ _chalk2.default.yellow("No active session to pair."),
271
+ _chalk2.default.gray("Start a conversation, then run /go from the project you want to control remotely.")
272
+ ].join("\n");
273
+ }
274
+ const client = _nullishCoalesce(ctx.client, () => ( new MobileHandoffClient({
275
+ baseUrl: getMobileApiBaseUrl(ctx.config)
276
+ })));
277
+ try {
278
+ const deviceId = await client.getDeviceId();
279
+ await client.registerDevice(token, {
280
+ deviceId,
281
+ clientType: "cli",
282
+ agentName: `${_os2.default.hostname()} Autohand Code`,
283
+ metadata: {
284
+ workspacePath: ctx.workspaceRoot,
285
+ projectName: session.metadata.projectName,
286
+ sessionId: session.metadata.sessionId,
287
+ model: ctx.model,
288
+ provider: ctx.provider,
289
+ platform: process.platform,
290
+ hostname: _os2.default.hostname(),
291
+ client: session.metadata.client,
292
+ clientVersion: session.metadata.clientVersion
293
+ }
294
+ });
295
+ const pairing = await client.createPairing(token, {
296
+ deviceId,
297
+ sessionId: session.metadata.sessionId,
298
+ workspacePath: ctx.workspaceRoot,
299
+ projectName: session.metadata.projectName,
300
+ model: ctx.model,
301
+ provider: ctx.provider,
302
+ capabilities: ["prompt", "approval", "notifications"],
303
+ metadata: {
304
+ platform: process.platform,
305
+ hostname: _os2.default.hostname(),
306
+ client: session.metadata.client,
307
+ clientVersion: session.metadata.clientVersion,
308
+ sessionSnapshot: JSON.stringify(buildMobileSessionSnapshot(session))
309
+ }
310
+ });
311
+ if (mode === "steer" && ctx.enqueueInstruction) {
312
+ startMobileRelay({
313
+ client,
314
+ token,
315
+ deviceId,
316
+ sessionId: session.metadata.sessionId,
317
+ pairingId: pairing.id,
318
+ mode,
319
+ pollIntervalMs: pairing.pollIntervalMs,
320
+ enqueueInstruction: ctx.enqueueInstruction
321
+ });
322
+ }
323
+ const appUrl = nativeAppUrl(pairing.pairingUrl);
324
+ const qr = await _qrcode2.default.toString(pairing.pairingUrl, {
325
+ type: "utf8",
326
+ errorCorrectionLevel: "M"
327
+ });
328
+ return [
329
+ "",
330
+ _chalk2.default.bold("Autohand Code mobile handoff"),
331
+ _chalk2.default.gray("Scan this with the iOS app to continue this session from your phone."),
332
+ "",
333
+ qr,
334
+ "",
335
+ `${_chalk2.default.gray("Scan or open:")} ${formatUrl(pairing.pairingUrl)}`,
336
+ `${_chalk2.default.gray("Simulator fallback:")} ${formatUrl(appUrl)}`,
337
+ `${_chalk2.default.gray("Project:")} ${_chalk2.default.cyan(session.metadata.projectName)}`,
338
+ `${_chalk2.default.gray("Session:")} ${_chalk2.default.cyan(session.metadata.sessionId)}`,
339
+ `${_chalk2.default.gray("Mode:")} ${mode === "steer" ? _chalk2.default.green("steer live") : _chalk2.default.yellow("queue")}`,
340
+ `${_chalk2.default.gray("Relay:")} ${mode === "steer" ? _chalk2.default.green("listening for mobile prompts") : _chalk2.default.yellow("prompts will wait in the queue")}`,
341
+ `${_chalk2.default.gray("Expires:")} ${_chalk2.default.cyan(formatExpiry(pairing.expiresAt))}`,
342
+ ""
343
+ ].join("\n");
344
+ } catch (error) {
345
+ return [
346
+ _chalk2.default.red("Could not create mobile handoff."),
347
+ _chalk2.default.gray(error.message)
348
+ ].join("\n");
349
+ }
350
+ }
351
+
352
+
353
+
354
+
355
+ exports.metadata = metadata; exports.go = go;
356
+ /**
357
+ * @license
358
+ * Copyright 2026 Autohand AI LLC
359
+ * SPDX-License-Identifier: Apache-2.0
360
+ */
@@ -1,5 +1,7 @@
1
1
  // src/utils/asciiArt.ts
2
- var ASCII_FRIEND = [
2
+ import stringWidth from "string-width";
3
+ var DEFAULT_TERMINAL_COLUMNS = 80;
4
+ var DETAILED_LOGO_LINES = [
3
5
  "\u2880\u2874\u281B\u281B\u283B\u28F7\u2844\u2800\u28E0\u2876\u281F\u281B\u283B\u28F6\u2844\u2880\u28F4\u287E\u281B\u281B\u28BF\u28E6\u2800\u2880\u28F4\u281E\u281B\u281B\u2836\u2840",
4
6
  "\u284E\u2800\u28B0\u28F6\u2846\u2808\u28FF\u28F4\u28FF\u2801\u28F4\u28F6\u2844\u2818\u28FF\u28FE\u284F\u2880\u28F6\u28E6\u2800\u28BB\u2847\u28FF\u2803\u28A0\u28F6\u2846\u2800\u28B9",
5
7
  "\u28A7\u2800\u2818\u281B\u2803\u28A0\u287F\u2819\u28FF\u2840\u2819\u281B\u2803\u28F0\u287F\u28BB\u28E7\u2808\u281B\u281B\u2880\u28FE\u2807\u28BB\u28C6\u2808\u281B\u280B\u2800\u287C",
@@ -8,7 +10,19 @@ var ASCII_FRIEND = [
8
10
  "\u287E\u2803\u28A0\u28E4\u2844\u2818\u28FF\u28E0\u28FF\u2801\u28E0\u28E4\u2844\u2839\u28F7\u28FC\u284F\u2880\u28E4\u28E4\u2808\u28BF\u2846\u28FE\u280F\u2880\u28E4\u28C4\u2808\u28BF",
9
11
  "\u28A7\u2840\u2838\u283F\u2807\u2880\u28FF\u283A\u28FF\u2840\u283B\u283F\u2803\u28B0\u28FF\u28BF\u28C7\u2808\u283F\u283F\u2800\u28FC\u2847\u28BF\u28C7\u2818\u283F\u2807\u2800\u28F8",
10
12
  "\u2808\u28BF\u28E6\u28E4\u28F4\u287F\u2803\u2800\u2819\u28B7\u28E6\u28E4\u28F6\u287F\u2801\u2808\u283B\u28F7\u28E4\u28E4\u287E\u281B\u2800\u2808\u28BF\u28E6\u28E4\u28E4\u2834\u2801"
11
- ].join("\n");
13
+ ];
14
+ var COMPACT_LOGO_LINES = [
15
+ " .--. .--. .--. .--.",
16
+ "(() ) (() ) (() ) (() )",
17
+ " '--' '--' '--' '--'",
18
+ " .--. .--. .--. .--.",
19
+ "(() ) (() ) (() ) (() )",
20
+ " '--' '--' '--' '--'"
21
+ ];
22
+ var TINY_LOGO_LINES = [
23
+ "o o o o",
24
+ "o o o o"
25
+ ];
12
26
  var LOGO_LINES = [
13
27
  "\u2880\u2874\u281B\u281B\u283B\u28F7\u2844\u2800\u28E0\u2876\u281F\u281B\u283B\u28F6\u2844\u2880\u28F4\u287E\u281B\u281B\u28BF\u28E6\u2800\u2880\u28F4\u281E\u281B\u281B\u2836\u2840 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588",
14
28
  "\u284E\u2800\u28B0\u28F6\u2846\u2808\u28FF\u28F4\u28FF\u2801\u28F4\u28F6\u2844\u2818\u28FF\u28FE\u284F\u2880\u28F6\u28E6\u2800\u28BB\u2847\u28FF\u2803\u28A0\u28F6\u2846\u2800\u28B9 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588",
@@ -19,10 +33,40 @@ var LOGO_LINES = [
19
33
  "\u28A7\u2840\u2838\u283F\u2807\u2880\u28FF\u283A\u28FF\u2840\u283B\u283F\u2803\u28B0\u28FF\u28BF\u28C7\u2808\u283F\u283F\u2800\u28FC\u2847\u28BF\u28C7\u2818\u283F\u2807\u2800\u28F8",
20
34
  "\u2808\u28BF\u28E6\u28E4\u28F4\u287F\u2803\u2800\u2819\u28B7\u28E6\u28E4\u28F6\u287F\u2801\u2808\u283B\u28F7\u28E4\u28E4\u287E\u281B\u2800\u2808\u28BF\u28E6\u28E4\u28E4\u2834\u2801"
21
35
  ];
36
+ var ASCII_FRIEND = DETAILED_LOGO_LINES.join("\n");
37
+ function maxLineWidth(lines) {
38
+ return Math.max(...lines.map((line) => stringWidth(line)));
39
+ }
40
+ function normalizeColumns(columns) {
41
+ if (typeof columns !== "number" || !Number.isFinite(columns)) {
42
+ return DEFAULT_TERMINAL_COLUMNS;
43
+ }
44
+ return Math.max(1, Math.floor(columns));
45
+ }
46
+ function getTerminalColumns(output = process.stdout) {
47
+ return normalizeColumns(output.columns);
48
+ }
49
+ function renderAutohandLogo(options = {}) {
50
+ const columns = normalizeColumns(options.columns);
51
+ const candidates = [
52
+ ...options.includeWordmark ? [{ lines: LOGO_LINES, minColumns: 120 }] : [],
53
+ { lines: DETAILED_LOGO_LINES, minColumns: 64 },
54
+ { lines: COMPACT_LOGO_LINES, minColumns: 24 },
55
+ { lines: TINY_LOGO_LINES, minColumns: 7 }
56
+ ];
57
+ const match = candidates.find(
58
+ (candidate) => columns >= candidate.minColumns && maxLineWidth(candidate.lines) <= columns
59
+ );
60
+ if (match) {
61
+ return match.lines.join("\n");
62
+ }
63
+ return columns >= "autohand".length ? "autohand" : "ah";
64
+ }
22
65
 
23
66
  export {
24
67
  ASCII_FRIEND,
25
- LOGO_LINES
68
+ getTerminalColumns,
69
+ renderAutohandLogo
26
70
  };
27
71
  /**
28
72
  * @license
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AUTOHAND_PATHS,
3
3
  PROJECT_DIR_NAME
4
- } from "./chunk-TWQDAUZU.js";
4
+ } from "./chunk-SHRLFX6F.js";
5
5
 
6
6
  // src/memory/MemoryManager.ts
7
7
  import fs from "fs-extra";
@@ -0,0 +1,27 @@
1
+ import {
2
+ getFeatureState
3
+ } from "./chunk-LANGD5CO.js";
4
+
5
+ // src/goals/feature.ts
6
+ var GOAL_FEATURE_ID = "slash_goal";
7
+ var GOAL_FEATURE_DISABLED_MESSAGE = "The /goal feature is behind slash_goal. Run /features enable slash_goal, then try again.";
8
+ function isGoalFeatureEnabled(config) {
9
+ if (!config) return false;
10
+ return getFeatureState(config, GOAL_FEATURE_ID)?.enabled ?? false;
11
+ }
12
+ function resolveGoalFeatureEnabled(config, isFeatureEnabled) {
13
+ const localDefault = isGoalFeatureEnabled(config);
14
+ return isFeatureEnabled?.(GOAL_FEATURE_ID, localDefault) ?? localDefault;
15
+ }
16
+
17
+ export {
18
+ GOAL_FEATURE_ID,
19
+ GOAL_FEATURE_DISABLED_MESSAGE,
20
+ isGoalFeatureEnabled,
21
+ resolveGoalFeatureEnabled
22
+ };
23
+ /**
24
+ * @license
25
+ * Copyright 2026 Autohand AI LLC
26
+ * SPDX-License-Identifier: Apache-2.0
27
+ */
@@ -6,13 +6,13 @@ import {
6
6
  getManifestTarget,
7
7
  hasActiveHandoff,
8
8
  openChromeContinuation
9
- } from "./chunk-ARBEHFCG.js";
9
+ } from "./chunk-GSDV75A5.js";
10
10
  import {
11
11
  showModal
12
- } from "./chunk-DLP436GI.js";
12
+ } from "./chunk-NZ3ZWLUW.js";
13
13
  import {
14
14
  saveConfig
15
- } from "./chunk-3UT7R3XV.js";
15
+ } from "./chunk-IEPLQ47J.js";
16
16
 
17
17
  // src/commands/chrome.ts
18
18
  import chalk from "chalk";
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkCH2J4PVEcjs = require('./chunk-CH2J4PVE.cjs');
3
+ var _chunkCK4HAHVYcjs = require('./chunk-CK4HAHVY.cjs');
4
4
 
5
5
  // src/commands/completion.ts
6
6
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
@@ -311,7 +311,7 @@ async function execute(args) {
311
311
  { label: "Zsh", value: "zsh" },
312
312
  { label: "Fish", value: "fish" }
313
313
  ];
314
- const shellResult = await _chunkCH2J4PVEcjs.showModal.call(void 0, {
314
+ const shellResult = await _chunkCK4HAHVYcjs.showModal.call(void 0, {
315
315
  title: "Select your shell:",
316
316
  options: shellOptions,
317
317
  initialIndex: shellOptions.findIndex((o) => o.value === (detected || "bash"))
@@ -327,7 +327,7 @@ async function execute(args) {
327
327
  { label: "Install completion to default location", value: "install" },
328
328
  { label: "Show installation instructions", value: "instructions" }
329
329
  ];
330
- const actionResult = await _chunkCH2J4PVEcjs.showModal.call(void 0, {
330
+ const actionResult = await _chunkCK4HAHVYcjs.showModal.call(void 0, {
331
331
  title: "What would you like to do?",
332
332
  options: actionOptions
333
333
  });
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  AutoReportManager
3
- } from "./chunk-JIMSII7R.js";
3
+ } from "./chunk-C46B72VK.js";
4
4
  import {
5
5
  package_default
6
- } from "./chunk-3PXKRVCW.js";
6
+ } from "./chunk-JB3JCYBJ.js";
7
7
  import {
8
8
  loadConfig
9
- } from "./chunk-3UT7R3XV.js";
9
+ } from "./chunk-IEPLQ47J.js";
10
10
 
11
11
  // src/reporting/processErrorReporting.ts
12
12
  var DEFAULT_API_BASE_URL = "https://api.autohand.ai";