autohand-cli 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/README.md +118 -76
  2. package/dist/AgentRegistry-BBQRODQC.cjs +18 -0
  3. package/dist/AgentRegistry-JBXZUPML.js +18 -0
  4. package/dist/{CommunitySkillsCache-ZEQWP6YM.js → CommunitySkillsCache-CI7UN2DX.js} +2 -2
  5. package/dist/CommunitySkillsCache-XTQ6RMTA.cjs +8 -0
  6. package/dist/{HookManager-CWLTFKWO.js → HookManager-BELBPQQI.js} +1 -1
  7. package/dist/{HookManager-TMAJQU4S.cjs → HookManager-ZL2CLAJW.cjs} +2 -2
  8. package/dist/{ImportWizard-MQXEED2U.cjs → ImportWizard-U6CIJREW.cjs} +13 -13
  9. package/dist/{ImportWizard-QBKQEXDW.js → ImportWizard-VJFSWSUQ.js} +4 -4
  10. package/dist/LearnAdvisor-LAURA3IB.cjs +9 -0
  11. package/dist/LearnAdvisor-RFOBXFG7.js +9 -0
  12. package/dist/MemoryManager-3A2VRPF2.js +9 -0
  13. package/dist/MemoryManager-UOEQZIDC.cjs +9 -0
  14. package/dist/{NVIDIAProvider-2HR737UE.js → NVIDIAProvider-AFNJNWJM.js} +1 -1
  15. package/dist/NVIDIAProvider-L5GTYRCQ.cjs +14 -0
  16. package/dist/{PermissionManager-KMYILJ4Z.js → PermissionManager-N2LDSOYF.js} +3 -3
  17. package/dist/PermissionManager-ZNURIEYR.cjs +11 -0
  18. package/dist/ProviderFactory-3BFS65V7.cjs +13 -0
  19. package/dist/{ProviderFactory-HFPRVQ25.js → ProviderFactory-XUT6BSGB.js} +4 -2
  20. package/dist/SessionManager-LGPQIA57.cjs +10 -0
  21. package/dist/{SessionManager-PNBTJJTQ.js → SessionManager-OR4KDDDS.js} +2 -2
  22. package/dist/{SkillsRegistry-4RRD5GMX.js → SkillsRegistry-IL3GWROU.js} +2 -2
  23. package/dist/SkillsRegistry-PM34DQNA.cjs +9 -0
  24. package/dist/SubAgent-2WG4QQB5.cjs +13 -0
  25. package/dist/SubAgent-ICGN23TQ.js +13 -0
  26. package/dist/{SyncApiClient-LRPFNCKJ.js → SyncApiClient-G3FM65IV.js} +1 -1
  27. package/dist/SyncApiClient-ODBDECOG.cjs +11 -0
  28. package/dist/{about-BW3PDZUU.js → about-OYVGQMJJ.js} +5 -4
  29. package/dist/about-U2BH7HDR.cjs +15 -0
  30. package/dist/{acp-VHEL7BOW.js → acp-JWHGXZL5.js} +207 -102
  31. package/dist/{acp-EOETGAHC.cjs → acp-S37JOBCS.cjs} +226 -121
  32. package/dist/actionExecutor-2QEPMELQ.cjs +28 -0
  33. package/dist/actionExecutor-6NCCORRB.js +28 -0
  34. package/dist/add-dir-KFUHSIR2.cjs +11 -0
  35. package/dist/{add-dir-VFX7QT4E.js → add-dir-MM2BM2Z2.js} +2 -2
  36. package/dist/agent-DUIYLIVN.js +132 -0
  37. package/dist/agent-YYEHGDAK.cjs +132 -0
  38. package/dist/agents-GBGG4CW7.cjs +19 -0
  39. package/dist/agents-ZH34C72F.js +19 -0
  40. package/dist/agents-new-ERXLS7SB.cjs +17 -0
  41. package/dist/agents-new-EVTGPTA4.js +17 -0
  42. package/dist/{autoSkill-EFMK6WU6.js → autoSkill-HEWKJ5JV.js} +2 -2
  43. package/dist/autoSkill-YL6PN6AV.cjs +20 -0
  44. package/dist/automode-4BJ7FNPL.cjs +10 -0
  45. package/dist/{automode-BMYSRM34.js → automode-S4U7A7Q2.js} +2 -2
  46. package/dist/chrome-45ZXHL5N.cjs +22 -0
  47. package/dist/{chrome-NHJ44WUN.js → chrome-BBSRVG6S.js} +2 -2
  48. package/dist/chrome-IFVZRHAT.cjs +50 -0
  49. package/dist/chrome-MYE6DNA2.js +22 -0
  50. package/dist/chunk-24CEJYEG.cjs +579 -0
  51. package/dist/{chunk-47PHDKNW.cjs → chunk-255GIVM2.cjs} +6 -6
  52. package/dist/{chunk-DIZTWFVR.cjs → chunk-2BDSR2OW.cjs} +238 -61
  53. package/dist/{chunk-BL2UC7HC.js → chunk-2BPIR7LA.js} +121 -4
  54. package/dist/{chunk-BQ22N3TX.cjs → chunk-2NY7OHBF.cjs} +47 -27
  55. package/dist/chunk-2WUNHTXL.js +303 -0
  56. package/dist/{chunk-HQWQZML5.cjs → chunk-34B6ZO6W.cjs} +124 -7
  57. package/dist/{chunk-5JTTM5SC.js → chunk-3BJN7GAH.js} +1 -1
  58. package/dist/{chunk-4256YRCO.cjs → chunk-3CAXECWJ.cjs} +30 -17
  59. package/dist/{chunk-KNTUI4TZ.cjs → chunk-3CBYUBZC.cjs} +5 -5
  60. package/dist/chunk-3DF3GZQ7.js +277 -0
  61. package/dist/{chunk-E26KKI46.cjs → chunk-3JURXAL6.cjs} +61 -8
  62. package/dist/{chunk-MOJ7ADW4.cjs → chunk-3KWAP2Y3.cjs} +88 -9
  63. package/dist/{chunk-OHWMWKJQ.js → chunk-3MCK6UBL.js} +1 -1
  64. package/dist/{chunk-5VHP6HDQ.js → chunk-3TH7IK4M.js} +62 -9
  65. package/dist/{chunk-ACDQGA4Z.js → chunk-3V77OB3W.js} +7 -72
  66. package/dist/{chunk-HS4USDND.cjs → chunk-3Y5UEK7K.cjs} +4 -4
  67. package/dist/{chunk-XV2HXRHX.js → chunk-4GPPSBEZ.js} +3 -3
  68. package/dist/chunk-5CMBAJ6K.js +377 -0
  69. package/dist/{chunk-MO4KP6XS.cjs → chunk-5YRXFBYZ.cjs} +35 -6
  70. package/dist/chunk-5ZNYX4VH.cjs +71 -0
  71. package/dist/chunk-6AC2TT26.js +156 -0
  72. package/dist/{chunk-UGFVM77J.cjs → chunk-6EIQ6A6U.cjs} +2 -2
  73. package/dist/{chunk-SWCQM52V.js → chunk-6HSEDXVF.js} +4 -4
  74. package/dist/{chunk-QQ7PANOP.js → chunk-6NUXK62F.js} +1 -1
  75. package/dist/{chunk-5CMYEM3R.cjs → chunk-6TGCAPYH.cjs} +62 -9
  76. package/dist/{chunk-NMQ47RCG.js → chunk-6W3SZCSP.js} +1 -1
  77. package/dist/{chunk-VRMZO6TB.js → chunk-73LV3DDZ.js} +7 -6
  78. package/dist/{chunk-3GUEUCZK.js → chunk-7BGGLIQF.js} +85 -1
  79. package/dist/{chunk-RBHANOYY.js → chunk-7DJJGKM6.js} +47 -3
  80. package/dist/{chunk-LQBONA55.cjs → chunk-7EEK7CRR.cjs} +85 -1
  81. package/dist/chunk-7TO3PDMV.cjs +324 -0
  82. package/dist/chunk-7UU22RSH.cjs +277 -0
  83. package/dist/{chunk-E6GFD7VR.cjs → chunk-A3GAM6FM.cjs} +11 -11
  84. package/dist/{chunk-DEQVRSV5.cjs → chunk-A7DJU75T.cjs} +8 -8
  85. package/dist/{chunk-DPSIGY6L.cjs → chunk-AAAO4ERQ.cjs} +9 -9
  86. package/dist/{chunk-FQAVGSPW.js → chunk-AAJLMP57.js} +2 -2
  87. package/dist/chunk-ABR756QN.js +529 -0
  88. package/dist/{chunk-JYKPWK5O.js → chunk-APFGDIPD.js} +3 -1
  89. package/dist/{chunk-Y3M2DABP.js → chunk-APQYRMYL.js} +4 -4
  90. package/dist/{chunk-Q2IL4DDI.cjs → chunk-AZKOIF2G.cjs} +62 -19
  91. package/dist/{chunk-MXVIDIC6.cjs → chunk-AZLHUPNC.cjs} +2 -2
  92. package/dist/chunk-B55VCYSQ.cjs +30 -0
  93. package/dist/{chunk-WZV6UVPY.js → chunk-BLQUMSM3.js} +1 -1
  94. package/dist/{chunk-PHJO5YAL.cjs → chunk-BXKPX6K4.cjs} +9 -9
  95. package/dist/{chunk-3KLSNNRW.cjs → chunk-C66FN2LP.cjs} +4 -4
  96. package/dist/{chunk-OV3PVUYN.js → chunk-CH7KUFAS.js} +9 -9
  97. package/dist/{chunk-CWINVFRI.cjs → chunk-CILSXOPI.cjs} +17 -17
  98. package/dist/{chunk-3UT7R3XV.js → chunk-CM24K6ZT.js} +145 -12
  99. package/dist/chunk-CMEZ42F2.cjs +303 -0
  100. package/dist/{chunk-46C73ZKK.cjs → chunk-CNQKIWIS.cjs} +152 -19
  101. package/dist/{chunk-5JFTY3VU.js → chunk-CSTUTDTH.js} +2 -1
  102. package/dist/{chunk-REMGR23V.cjs → chunk-CSUGNNJY.cjs} +10 -4
  103. package/dist/{chunk-TBOLJDUG.js → chunk-D6HB3H3L.js} +31 -11
  104. package/dist/{chunk-OM24WXEE.js → chunk-D7AYKVKW.js} +2 -2
  105. package/dist/{chunk-6GUODJKM.cjs → chunk-DLCXWOWT.cjs} +23 -23
  106. package/dist/{chunk-CH2J4PVE.cjs → chunk-DMM2BKSV.cjs} +121 -28
  107. package/dist/{chunk-M4KNC5BQ.js → chunk-DW3DPV77.js} +1 -1
  108. package/dist/chunk-ECQD2QC3.cjs +33 -0
  109. package/dist/{chunk-UEIXJG45.js → chunk-EEYOS3UC.js} +116 -80
  110. package/dist/{chunk-7HPWMALN.js → chunk-EF2EN5CR.js} +2 -2
  111. package/dist/{chunk-7LWQCE4Y.cjs → chunk-EFXFURDY.cjs} +192 -58
  112. package/dist/chunk-EK34UZPB.cjs +40 -0
  113. package/dist/{chunk-7JLT2VNW.cjs → chunk-FJR6EZLO.cjs} +9666 -7201
  114. package/dist/{chunk-GZ6DV2UG.js → chunk-FPO7YNPQ.js} +1 -1
  115. package/dist/{chunk-O64I2GYI.js → chunk-FS4I6BNR.js} +1 -1
  116. package/dist/{chunk-MX75JYIY.js → chunk-FSJ2MNOC.js} +3 -3
  117. package/dist/{chunk-7RFJB75Y.js → chunk-GEHZMC4G.js} +11 -8
  118. package/dist/{chunk-UWFG2R2I.cjs → chunk-GO6C2RAR.cjs} +36 -9
  119. package/dist/{chunk-WGLBC5AY.cjs → chunk-GSMR6V36.cjs} +4 -4
  120. package/dist/{chunk-Z3XSSF7B.js → chunk-GSZWATME.js} +1 -1
  121. package/dist/{chunk-7MU7LWF3.cjs → chunk-GYLGCR6F.cjs} +5 -5
  122. package/dist/{chunk-O6TQP7U7.cjs → chunk-H3OOWNYQ.cjs} +3 -3
  123. package/dist/{chunk-2QL6MNXG.js → chunk-H65446XW.js} +115 -20
  124. package/dist/chunk-H7HXRRHK.js +324 -0
  125. package/dist/{chunk-ZZ63NW7A.cjs → chunk-HN2JTDN5.cjs} +17 -17
  126. package/dist/{chunk-AOKCI722.cjs → chunk-HNXUZ5OY.cjs} +2 -2
  127. package/dist/{chunk-AUYSIEVV.cjs → chunk-HOYT3E65.cjs} +3 -3
  128. package/dist/{chunk-DMRXF5DU.js → chunk-HTPY5ESD.js} +3 -3
  129. package/dist/chunk-HTU4W3GB.js +183 -0
  130. package/dist/{chunk-3DDL2E55.cjs → chunk-HVLWH2AF.cjs} +10 -10
  131. package/dist/{chunk-HSCUPEA4.cjs → chunk-HZTEU4W5.cjs} +74 -105
  132. package/dist/{chunk-XGMI6IYB.cjs → chunk-I5T7LPFP.cjs} +7 -7
  133. package/dist/{chunk-XIVFAD2L.js → chunk-IB5CJXE7.js} +173 -12
  134. package/dist/chunk-INNXFLDR.cjs +388 -0
  135. package/dist/{chunk-75EDROHL.cjs → chunk-JFLEP3T7.cjs} +10 -10
  136. package/dist/chunk-JJGDOBFL.js +40 -0
  137. package/dist/{chunk-VBOFPU5M.cjs → chunk-JM3ZTQUK.cjs} +13 -9
  138. package/dist/{chunk-HJIXWGQZ.js → chunk-JSU46T6K.js} +1 -1
  139. package/dist/{chunk-AT7OWLY5.js → chunk-K6WN6BT4.js} +1 -1
  140. package/dist/{chunk-LN7D3EJZ.js → chunk-KA2U6MY2.js} +4 -3
  141. package/dist/{chunk-3S563FNF.cjs → chunk-KIQH3SMT.cjs} +34 -31
  142. package/dist/{chunk-BWF4VDYE.js → chunk-KPRXHIE2.js} +54 -85
  143. package/dist/{chunk-Z4LIPMPM.js → chunk-L6OH44HL.js} +13 -9
  144. package/dist/{chunk-A7HHCIDQ.js → chunk-LIO3RX2Z.js} +2 -2
  145. package/dist/{chunk-DLP436GI.js → chunk-LOSXLH7P.js} +110 -17
  146. package/dist/{chunk-IEXKKKOF.cjs → chunk-LSOR72PB.cjs} +23 -23
  147. package/dist/{chunk-IAGCRVJ3.js → chunk-MA3AVDCC.js} +55 -12
  148. package/dist/{chunk-B5CGDNMR.js → chunk-ME3S2WIR.js} +3 -3
  149. package/dist/{chunk-HKYZSUQ5.js → chunk-NC2I2M4P.js} +4 -4
  150. package/dist/{chunk-GBMDFWJX.cjs → chunk-NC4A4LVC.cjs} +13 -13
  151. package/dist/{chunk-E46DJH5S.js → chunk-NGEK5FCJ.js} +176 -3
  152. package/dist/{chunk-TQ33WBY5.cjs → chunk-NHWHEW7M.cjs} +2 -1
  153. package/dist/{chunk-62RTC3XX.js → chunk-NKW6CHXQ.js} +1 -1
  154. package/dist/{chunk-3PXKRVCW.js → chunk-NOWCRKP2.js} +10 -4
  155. package/dist/{chunk-HXJEGMGB.js → chunk-NUB2LMB6.js} +2 -2
  156. package/dist/chunk-NVATU4V6.cjs +44 -0
  157. package/dist/chunk-O246MKIW.cjs +267 -0
  158. package/dist/{chunk-QCHIDZBA.js → chunk-OGFWL2PS.js} +1 -1
  159. package/dist/{chunk-JJ4KA7HK.cjs → chunk-ONNGAR6W.cjs} +415 -551
  160. package/dist/{chunk-TKKN34TV.js → chunk-OOFR6A62.js} +33 -4
  161. package/dist/{chunk-6NVAK6CK.js → chunk-OZ7FHO7J.js} +2 -2
  162. package/dist/{chunk-2CGE7ZV3.cjs → chunk-P5EWGUI2.cjs} +201 -28
  163. package/dist/{chunk-GGLKUENP.js → chunk-P6BQJPAI.js} +191 -14
  164. package/dist/{chunk-TWQDAUZU.js → chunk-PG2JIU5M.js} +60 -7
  165. package/dist/chunk-PI27G2ED.cjs +377 -0
  166. package/dist/{chunk-YV63VW4K.js → chunk-PI7LRPL6.js} +1 -1
  167. package/dist/{chunk-TXPSTCG7.cjs → chunk-PMPEC5HN.cjs} +18 -15
  168. package/dist/{chunk-ROLA6EFO.cjs → chunk-PYUP7AKY.cjs} +14 -14
  169. package/dist/{chunk-BFQDQRDE.js → chunk-QC5Z3ZT5.js} +2 -2
  170. package/dist/chunk-QDO4L2A7.cjs +156 -0
  171. package/dist/{chunk-LFDPTJYF.cjs → chunk-QDXRI5AM.cjs} +1 -1
  172. package/dist/{chunk-3LJJG5YY.cjs → chunk-QLZOMZO5.cjs} +4 -3
  173. package/dist/chunk-QVXMSQOG.js +430 -0
  174. package/dist/{chunk-ZHJ7JGME.cjs → chunk-R4UKBKDY.cjs} +11 -11
  175. package/dist/{chunk-IGMPWJ2I.cjs → chunk-R75AWII3.cjs} +118 -23
  176. package/dist/{chunk-VGEV44V2.cjs → chunk-RD5PLUIX.cjs} +191 -30
  177. package/dist/{chunk-I24CWKKK.js → chunk-RGB34CV5.js} +3 -3
  178. package/dist/{chunk-CHI52KFR.cjs → chunk-RJCZLFHE.cjs} +246 -39
  179. package/dist/{chunk-D2OSPLYC.cjs → chunk-RKWNM2BJ.cjs} +2 -2
  180. package/dist/{chunk-FGT6KK6T.js → chunk-RMVONICR.js} +3 -3
  181. package/dist/{chunk-Q6AC3PHY.cjs → chunk-RPSYRJL7.cjs} +10 -4
  182. package/dist/chunk-RS2E32YB.js +71 -0
  183. package/dist/chunk-RWKU2X7O.js +388 -0
  184. package/dist/chunk-RZLEGVMH.cjs +565 -0
  185. package/dist/{chunk-5F6ZKSHO.js → chunk-S2L3Y677.js} +1 -1
  186. package/dist/{chunk-ARBEHFCG.js → chunk-S7KVUIOS.js} +1 -1
  187. package/dist/{chunk-AC7DZ6SK.cjs → chunk-SACJJ6NO.cjs} +5 -3
  188. package/dist/{chunk-IKUMVBCW.cjs → chunk-SD3NTC7D.cjs} +48 -4
  189. package/dist/{chunk-CBFH2J3O.js → chunk-SJQU2ZFR.js} +246 -39
  190. package/dist/{chunk-GWO66KBI.js → chunk-SKAQKQFF.js} +12 -2
  191. package/dist/chunk-T4DXP5OP.js +30 -0
  192. package/dist/{chunk-CFFE4VA3.js → chunk-T6FTB6K2.js} +1 -1
  193. package/dist/{chunk-U4C3HW6P.js → chunk-T6N6GRFT.js} +13 -10
  194. package/dist/{chunk-D6GZBSOX.js → chunk-TJFKA6A7.js} +82 -3
  195. package/dist/{chunk-2HOLOHVK.js → chunk-TJZUPS4Z.js} +163 -299
  196. package/dist/{chunk-RBZ7AFX7.cjs → chunk-TLKHZ425.cjs} +2 -2
  197. package/dist/{chunk-J2K57QM7.cjs → chunk-TQ24NLXO.cjs} +6 -6
  198. package/dist/{chunk-LUMV3DB2.js → chunk-TWBAU46X.js} +1 -1
  199. package/dist/{chunk-OPNI6O7F.cjs → chunk-TZB5XADL.cjs} +4 -4
  200. package/dist/{chunk-6HH236FV.cjs → chunk-UAYXZXWU.cjs} +4 -4
  201. package/dist/{chunk-MPULXVC4.cjs → chunk-UKBFNBDO.cjs} +11 -11
  202. package/dist/chunk-UMJYX5KD.js +565 -0
  203. package/dist/chunk-USKYTHDL.cjs +235 -0
  204. package/dist/chunk-V4HGZSKQ.cjs +183 -0
  205. package/dist/{chunk-MQESBFBZ.cjs → chunk-VAJUSZMC.cjs} +21 -20
  206. package/dist/{chunk-PQLKJCIE.js → chunk-VGQG4NBJ.js} +2 -2
  207. package/dist/chunk-VLUIVJ3J.js +235 -0
  208. package/dist/chunk-VOBINVMV.cjs +430 -0
  209. package/dist/{chunk-L4F7SUYL.js → chunk-VSHKKCSH.js} +16 -5
  210. package/dist/{chunk-LDJQ5QHG.cjs → chunk-VSZU3MGA.cjs} +28 -17
  211. package/dist/{chunk-YFXTE422.cjs → chunk-VWHAUB77.cjs} +8 -3
  212. package/dist/{chunk-EZJHLOWP.js → chunk-VXGYFX45.js} +20 -7
  213. package/dist/{chunk-JIMSII7R.js → chunk-WH6YUQDB.js} +193 -59
  214. package/dist/{chunk-VKBIE6I6.js → chunk-WQ6TD55V.js} +2 -2
  215. package/dist/{chunk-ZR46OJNZ.js → chunk-WQWECXTY.js} +3 -3
  216. package/dist/{chunk-SOLBYSLY.cjs → chunk-WVDJUJH6.cjs} +2 -2
  217. package/dist/{chunk-QKP772OZ.js → chunk-X24VIVDZ.js} +963 -103
  218. package/dist/{chunk-37M5UM6I.js → chunk-X4NRTLXD.js} +7 -1
  219. package/dist/chunk-X53SHYCG.js +27 -0
  220. package/dist/{chunk-PUD76XQT.cjs → chunk-XB2Z4ZAK.cjs} +5 -5
  221. package/dist/chunk-Y47OJGLB.cjs +27 -0
  222. package/dist/{chunk-WRTXCQ3V.cjs → chunk-Y4MN27V3.cjs} +1080 -220
  223. package/dist/{chunk-ZK6HOR62.js → chunk-YEHFYZFU.js} +7 -2
  224. package/dist/{chunk-FFBDRUO5.cjs → chunk-YICIUY23.cjs} +1 -1
  225. package/dist/{chunk-PDHT7LQS.cjs → chunk-YMXYC777.cjs} +3 -3
  226. package/dist/{chunk-TJNBASFD.cjs → chunk-Z3GRWK6O.cjs} +8 -8
  227. package/dist/{chunk-JP3YHTQ2.cjs → chunk-Z5GG2KSL.cjs} +4 -4
  228. package/dist/{chunk-ZPD2AO3U.js → chunk-ZER7DYQK.js} +2 -2
  229. package/dist/{chunk-UXLW45ZE.cjs → chunk-ZFDXZEZJ.cjs} +25 -90
  230. package/dist/chunk-ZFV4HJA6.js +579 -0
  231. package/dist/chunk-ZHMYTI5D.cjs +529 -0
  232. package/dist/{chunk-CCVMREXI.js → chunk-ZLR2TFBC.js} +35 -8
  233. package/dist/{chunk-J5ADZN6V.cjs → chunk-ZTWNU5QZ.cjs} +20 -20
  234. package/dist/chunk-ZUYYHKQA.js +44 -0
  235. package/dist/{chunk-AUFNACED.js → chunk-ZVLVLDYN.js} +9086 -6621
  236. package/dist/clear-AJGXD2BB.cjs +12 -0
  237. package/dist/{clear-OFLFQ3MR.js → clear-HAHDSWKW.js} +3 -3
  238. package/dist/communityInstaller-IRR6M3N6.cjs +22 -0
  239. package/dist/{communityInstaller-COB2KTOW.js → communityInstaller-OLKEUGMX.js} +6 -6
  240. package/dist/completion-G7Z436TF.cjs +17 -0
  241. package/dist/{completion-PT4VM2H2.js → completion-ZS3AXJ6A.js} +5 -5
  242. package/dist/{config-R4O7GBTY.js → config-OWYAQPCX.js} +5 -3
  243. package/dist/config-W2BHT2QE.cjs +22 -0
  244. package/dist/{constants-HVCHVQAF.js → constants-AS6K67AA.js} +5 -3
  245. package/dist/constants-B4W5BT7F.cjs +23 -0
  246. package/dist/{export-3PK3VFCE.js → export-5HIU3KMD.js} +5 -5
  247. package/dist/export-GFD32UY2.cjs +15 -0
  248. package/dist/{extractSessionMemories-A2JX5WJ2.js → extractSessionMemories-K6ZVAW2F.js} +1 -1
  249. package/dist/{extractSessionMemories-XL3MS37F.cjs → extractSessionMemories-LLOIJR5U.cjs} +2 -2
  250. package/dist/feature-KP74CZ3F.cjs +14 -0
  251. package/dist/feature-OPNVMB2E.js +14 -0
  252. package/dist/features-LT55MURX.cjs +24 -0
  253. package/dist/features-ZDIU26WX.js +24 -0
  254. package/dist/feedback-7WTJFQ6S.js +18 -0
  255. package/dist/feedback-CEOJ3453.cjs +18 -0
  256. package/dist/go-2CY5SZNR.js +16 -0
  257. package/dist/go-O2CSQON4.cjs +16 -0
  258. package/dist/goal-DL2N2AWT.cjs +16 -0
  259. package/dist/goal-IJS7VZSG.js +16 -0
  260. package/dist/help-RNOGDEBA.cjs +12 -0
  261. package/dist/{help-X3OAZ3CY.js → help-TCWD2IRH.js} +2 -2
  262. package/dist/{history-YKFPHBJN.js → history-ATOR5OQV.js} +2 -2
  263. package/dist/history-UUSGX2AL.cjs +14 -0
  264. package/dist/{hooks-7TA4PIIB.js → hooks-R3Z5QKUP.js} +6 -6
  265. package/dist/hooks-RWM5UY67.cjs +18 -0
  266. package/dist/{i18n-2KBUU7XL.js → i18n-4QI4TD4I.js} +1 -1
  267. package/dist/i18n-MFAEU5RV.cjs +33 -0
  268. package/dist/ide-6PBTCCUQ.js +15 -0
  269. package/dist/ide-UE3G7NMQ.cjs +15 -0
  270. package/dist/{import-I7T4ZHYL.cjs → import-2IG76KAN.cjs} +6 -4
  271. package/dist/{import-JWPYKXCZ.js → import-E47QL4DW.js} +2 -2
  272. package/dist/import-NQDNBFUL.cjs +10 -0
  273. package/dist/{import-4CHYLS4K.js → import-VQIHGJWS.js} +6 -4
  274. package/dist/index.cjs +512 -305
  275. package/dist/index.d.cts +40 -0
  276. package/dist/index.d.ts +40 -0
  277. package/dist/index.js +402 -195
  278. package/dist/init-DX3RDGDT.cjs +10 -0
  279. package/dist/{init-262MWZV4.js → init-Q54OAAFZ.js} +2 -2
  280. package/dist/{inputPrompt-YGBHDUEP.js → inputPrompt-V2VBDRM7.js} +3 -3
  281. package/dist/inputPrompt-WVGVWAHS.cjs +90 -0
  282. package/dist/language-I6KXAOXD.js +23 -0
  283. package/dist/language-XMIVOH5E.cjs +23 -0
  284. package/dist/learn-JPVVGTKU.js +23 -0
  285. package/dist/learn-NLSHI2MZ.cjs +23 -0
  286. package/dist/login-NABQYLYC.cjs +28 -0
  287. package/dist/login-XPOVFSWN.js +28 -0
  288. package/dist/logout-HNHCGB4Q.js +25 -0
  289. package/dist/logout-SKGDXJSW.cjs +25 -0
  290. package/dist/{mcp-5O6PUL4G.js → mcp-EN73YFGZ.js} +8 -6
  291. package/dist/mcp-TADZCPJQ.cjs +22 -0
  292. package/dist/{mcp-install-P6DHES7V.cjs → mcp-install-2GKWWBAS.cjs} +15 -13
  293. package/dist/{mcp-install-6XWXLFVY.js → mcp-install-3TBTVSHW.js} +10 -8
  294. package/dist/memory-GRXFTDIN.cjs +10 -0
  295. package/dist/{memory-Q54CESNM.js → memory-K2P3CDCH.js} +2 -2
  296. package/dist/{model-6AJ77PJG.js → model-DEG22OWA.js} +2 -2
  297. package/dist/model-OSD74T7Z.cjs +10 -0
  298. package/dist/new-4NWBOATU.cjs +12 -0
  299. package/dist/{new-ZXHEWC2S.js → new-KJAP2MB6.js} +3 -3
  300. package/dist/onboarding-2U5WE2OA.js +39 -0
  301. package/dist/onboarding-5DZFCO5Q.cjs +39 -0
  302. package/dist/permissions-KY5I6YQ3.cjs +10 -0
  303. package/dist/{permissions-YHJMVA6L.js → permissions-TKYON7PP.js} +2 -2
  304. package/dist/{plan-YYUAXPTL.js → plan-DYHHLZSS.js} +1 -1
  305. package/dist/plan-PYKP652W.cjs +13 -0
  306. package/dist/quit-GSKJL42O.js +14 -0
  307. package/dist/quit-TQSRTBUT.cjs +14 -0
  308. package/dist/{registry-34GL6BNJ.js → registry-EZ4V4TUQ.js} +1339 -1
  309. package/dist/{registry-V24W7YK6.cjs → registry-LCWYI4IB.cjs} +1378 -40
  310. package/dist/resume-4VWJXARX.cjs +17 -0
  311. package/dist/resume-TLHWWWFN.js +17 -0
  312. package/dist/{review-QHP2KP4Q.js → review-CSK4IYTO.js} +1 -1
  313. package/dist/review-XLJEUH5K.cjs +9 -0
  314. package/dist/{rpc-S3DGW6KV.js → rpc-3DLQBDWU.js} +301 -130
  315. package/dist/{rpc-NPS3PU4O.cjs → rpc-O36WUU3L.cjs} +399 -228
  316. package/dist/search-DSX2CY4A.cjs +22 -0
  317. package/dist/search-I3QUDUQL.js +22 -0
  318. package/dist/sessionBranching-DVNOUWJT.cjs +19 -0
  319. package/dist/sessionBranching-FKV4CR36.js +19 -0
  320. package/dist/sessions-3JUOT3ED.cjs +10 -0
  321. package/dist/{sessions-IYAXMK23.js → sessions-VWMDIPOS.js} +2 -2
  322. package/dist/settings-FT2LZZUV.js +45 -0
  323. package/dist/settings-RL4KNWHB.cjs +45 -0
  324. package/dist/setup-HQEJVOYT.js +32 -0
  325. package/dist/setup-MN54LKOL.cjs +32 -0
  326. package/dist/share-BUAFZNBX.cjs +17 -0
  327. package/dist/share-CGB6MAVJ.js +17 -0
  328. package/dist/skills/builtin/code-reviewer/SKILL.md +64 -0
  329. package/dist/skills/builtin/goal-writer/SKILL.md +124 -0
  330. package/dist/{skills-VWOMV3CR.js → skills-7DKR3HRZ.js} +8 -8
  331. package/dist/{skills-MVIZNHT4.js → skills-BBBENOEY.js} +9 -9
  332. package/dist/skills-OQM7IHAF.cjs +29 -0
  333. package/dist/{skills-GGMZOVIE.cjs → skills-RA2PKL63.cjs} +10 -10
  334. package/dist/{skills-install-VTAMCNNY.cjs → skills-install-D7K476SL.cjs} +16 -16
  335. package/dist/{skills-install-QBA5RCV6.js → skills-install-T4SOKJSL.js} +9 -9
  336. package/dist/skills-new-S33NGEU3.js +18 -0
  337. package/dist/skills-new-UVYH53MD.cjs +18 -0
  338. package/dist/slashCommands-MWOUDSQP.js +111 -0
  339. package/dist/slashCommands-XASURUTV.cjs +111 -0
  340. package/dist/squad-PIIYDFVH.cjs +15 -0
  341. package/dist/squad-VHYOVEJP.js +15 -0
  342. package/dist/status-GHFTXQBL.js +25 -0
  343. package/dist/status-WXMIJIU3.cjs +25 -0
  344. package/dist/statusline-2K7AC6ZQ.js +21 -0
  345. package/dist/statusline-GROI4HOC.cjs +21 -0
  346. package/dist/sync-254WF6JI.cjs +42 -0
  347. package/dist/sync-2DIZN4EH.cjs +24 -0
  348. package/dist/{sync-7BILIQHP.js → sync-J6I2ZUKQ.js} +6 -4
  349. package/dist/{sync-7OKF6636.js → sync-Z3LVSEEV.js} +8 -5
  350. package/dist/{teammate-J6PHGL23.cjs → teammate-EXR76PEQ.cjs} +9 -8
  351. package/dist/{teammate-GZQSCIMS.js → teammate-K4DAOFEQ.js} +8 -7
  352. package/dist/templates-ARG2VRWW.cjs +11 -0
  353. package/dist/templates-UGVZV3KJ.js +11 -0
  354. package/dist/theme-MVQDSU47.js +23 -0
  355. package/dist/theme-QAKEYWJG.cjs +23 -0
  356. package/dist/ui/questionModal.cjs +6 -6
  357. package/dist/ui/questionModal.js +5 -5
  358. package/dist/{undo-SZEHLX7X.js → undo-5AU47JHF.js} +2 -2
  359. package/dist/undo-ME6WKUXZ.cjs +10 -0
  360. package/dist/usage-QTKO2YMD.js +25 -0
  361. package/dist/usage-TYNJKVER.cjs +25 -0
  362. package/package.json +10 -4
  363. package/dist/AgentRegistry-EGBDIUAK.cjs +0 -10
  364. package/dist/AgentRegistry-XPWSVO3Q.js +0 -10
  365. package/dist/CommunitySkillsCache-2OIUV227.cjs +0 -8
  366. package/dist/LearnAdvisor-46FG2XIP.js +0 -9
  367. package/dist/LearnAdvisor-XBRDNAGH.cjs +0 -9
  368. package/dist/MemoryManager-34L4YOKA.cjs +0 -8
  369. package/dist/MemoryManager-WJMLPWGU.js +0 -8
  370. package/dist/NVIDIAProvider-MVTL62PR.cjs +0 -14
  371. package/dist/PermissionManager-5OOJ7FAT.cjs +0 -11
  372. package/dist/ProviderFactory-C3YPXTDD.cjs +0 -11
  373. package/dist/SessionManager-WAPTFMDO.cjs +0 -10
  374. package/dist/SkillsRegistry-7AJP74GJ.cjs +0 -9
  375. package/dist/SubAgent-FDIH3DXB.js +0 -11
  376. package/dist/SubAgent-HVL2ICVZ.cjs +0 -11
  377. package/dist/SyncApiClient-VMBOLQ6H.cjs +0 -11
  378. package/dist/about-FCAX37YC.cjs +0 -14
  379. package/dist/actionExecutor-33I47NZS.js +0 -24
  380. package/dist/actionExecutor-4YBMR3YH.cjs +0 -24
  381. package/dist/add-dir-7SS6KSH5.cjs +0 -11
  382. package/dist/agent-DMRUFU4M.cjs +0 -116
  383. package/dist/agent-WCJEYQJT.js +0 -116
  384. package/dist/agents-CHROO3VU.cjs +0 -17
  385. package/dist/agents-UVDUL65K.js +0 -17
  386. package/dist/agents-new-AUBWSOXP.js +0 -17
  387. package/dist/agents-new-Y562WC47.cjs +0 -17
  388. package/dist/autoSkill-YOLLFTP2.cjs +0 -20
  389. package/dist/automode-DBLKTTKD.cjs +0 -10
  390. package/dist/chrome-ATC4OO5I.cjs +0 -20
  391. package/dist/chrome-O62WXV7F.js +0 -20
  392. package/dist/chrome-XHJLCO4M.cjs +0 -50
  393. package/dist/chunk-6XVVIY54.cjs +0 -256
  394. package/dist/chunk-AU6JAGZJ.cjs +0 -231
  395. package/dist/chunk-N6O3XUZ2.cjs +0 -23
  396. package/dist/chunk-VDWJMWDF.js +0 -256
  397. package/dist/clear-33TWQ2ES.cjs +0 -12
  398. package/dist/communityInstaller-TWMGPSYM.cjs +0 -22
  399. package/dist/completion-IIZMHXYP.cjs +0 -17
  400. package/dist/config-KL6WU7R2.cjs +0 -20
  401. package/dist/constants-RLMJ5D5P.cjs +0 -21
  402. package/dist/export-WLGNWEMJ.cjs +0 -15
  403. package/dist/feedback-G635NCLJ.js +0 -18
  404. package/dist/feedback-LLMK3TZH.cjs +0 -18
  405. package/dist/help-BAXLP2M2.cjs +0 -12
  406. package/dist/history-6HOJSEMT.cjs +0 -14
  407. package/dist/hooks-XVFU67T2.cjs +0 -18
  408. package/dist/i18n-MUJMKTFM.cjs +0 -33
  409. package/dist/ide-CCQ33PGC.cjs +0 -15
  410. package/dist/ide-VLVFBZ5F.js +0 -15
  411. package/dist/import-J46F54JY.cjs +0 -10
  412. package/dist/init-EE5Y7RBL.cjs +0 -10
  413. package/dist/inputPrompt-IIFKCX5Q.cjs +0 -90
  414. package/dist/language-CVLPB7OV.js +0 -21
  415. package/dist/language-ZTWFHUSV.cjs +0 -21
  416. package/dist/learn-PON7I5QS.js +0 -23
  417. package/dist/learn-XLRSVNA3.cjs +0 -23
  418. package/dist/login-223QTGBG.cjs +0 -26
  419. package/dist/login-6IKTBUBY.js +0 -26
  420. package/dist/logout-RN2AG6SI.js +0 -23
  421. package/dist/logout-U3M4FFX7.cjs +0 -23
  422. package/dist/mcp-NUQ76QQB.cjs +0 -20
  423. package/dist/memory-CYMDQ2YC.cjs +0 -10
  424. package/dist/model-IDRCKDML.cjs +0 -10
  425. package/dist/new-7LEWOUF2.cjs +0 -12
  426. package/dist/onboarding-FXX7YHSJ.cjs +0 -35
  427. package/dist/onboarding-JYNMK6NI.js +0 -35
  428. package/dist/permissions-YBNSANIA.cjs +0 -10
  429. package/dist/plan-XEJMOT55.cjs +0 -13
  430. package/dist/quit-B43SJ6E4.cjs +0 -10
  431. package/dist/quit-GWTNHQSP.js +0 -10
  432. package/dist/resume-DYVOQN5L.cjs +0 -16
  433. package/dist/resume-M25UQKOX.js +0 -16
  434. package/dist/review-UWHWQHCB.cjs +0 -9
  435. package/dist/search-CPX4PWHP.js +0 -20
  436. package/dist/search-VUF3M4N3.cjs +0 -20
  437. package/dist/sessions-JODKER5D.cjs +0 -10
  438. package/dist/settings-55BNW6BF.js +0 -33
  439. package/dist/settings-BKTS7OMC.cjs +0 -33
  440. package/dist/setup-IRC5HQG2.js +0 -29
  441. package/dist/setup-MMQ7TWOP.cjs +0 -29
  442. package/dist/share-6JRQECAH.cjs +0 -17
  443. package/dist/share-YM5MJKMO.js +0 -17
  444. package/dist/skills-LWSOKOSH.cjs +0 -29
  445. package/dist/skills-new-GPL46YV2.js +0 -18
  446. package/dist/skills-new-L5BEZN5V.cjs +0 -18
  447. package/dist/slashCommands-FBPCIWM5.cjs +0 -95
  448. package/dist/slashCommands-FCWY5DXW.js +0 -95
  449. package/dist/status-3B5SDZPL.js +0 -17
  450. package/dist/status-TTGRF6NC.cjs +0 -17
  451. package/dist/sync-77CXVVTK.cjs +0 -21
  452. package/dist/sync-EH4K5U3N.cjs +0 -40
  453. package/dist/theme-64BYGJ57.cjs +0 -21
  454. package/dist/theme-YJE6HEON.js +0 -21
  455. package/dist/undo-PRTEGL2J.cjs +0 -10
@@ -0,0 +1,377 @@
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 _chunkCSUGNNJYcjs = require('./chunk-CSUGNNJY.cjs');
7
+
8
+
9
+ var _chunk3JURXAL6cjs = require('./chunk-3JURXAL6.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(_chunk3JURXAL6cjs.AUTOHAND_FILES.deviceId));
36
+ if (await _fsextra2.default.pathExists(_chunk3JURXAL6cjs.AUTOHAND_FILES.deviceId)) {
37
+ const existing = (await _fsextra2.default.readFile(_chunk3JURXAL6cjs.AUTOHAND_FILES.deviceId, "utf8")).trim();
38
+ if (existing) return existing;
39
+ }
40
+ const next = _crypto2.default.randomUUID();
41
+ await _fsextra2.default.writeFile(_chunk3JURXAL6cjs.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": _chunkCSUGNNJYcjs.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 handoffSessionMetadata = {
202
+ command: "/handoff session",
203
+ description: "handoff this session to the Autohand Code iOS app",
204
+ implemented: true
205
+ };
206
+ var MAX_MOBILE_SNAPSHOT_MESSAGES = 24;
207
+ var HANDOFF_FLAG = "experimental_handoff";
208
+ function formatUrl(url) {
209
+ return _terminallink2.default.isSupported ? _terminallink2.default.call(void 0, url, url) : _chalk2.default.cyan.underline(url);
210
+ }
211
+ function formatExpiry(value) {
212
+ const date = new Date(value);
213
+ if (Number.isNaN(date.getTime())) return value;
214
+ return date.toLocaleString();
215
+ }
216
+ function nativeAppUrl(pairingUrl) {
217
+ const url = new URL(pairingUrl);
218
+ const nativeUrl = new URL("autohand-code://go");
219
+ const pairingId = url.searchParams.get("pairing");
220
+ const token = url.searchParams.get("token");
221
+ if (pairingId) nativeUrl.searchParams.set("pairing", pairingId);
222
+ if (token) nativeUrl.searchParams.set("token", token);
223
+ return nativeUrl.toString();
224
+ }
225
+ function buildMobileSessionSnapshot(session) {
226
+ const messages = [];
227
+ for (const message of session.getMessages()) {
228
+ if (message.role === "user") {
229
+ const content = message.content.trim();
230
+ if (content) {
231
+ messages.push({ role: "user", content, timestamp: message.timestamp });
232
+ }
233
+ continue;
234
+ }
235
+ if (message.role === "assistant") {
236
+ const content = _chunk5ZNYX4VHcjs.getAssistantChatLogContent.call(void 0, message.content);
237
+ if (content) {
238
+ messages.push({ role: "assistant", content, timestamp: message.timestamp });
239
+ }
240
+ }
241
+ }
242
+ const recentMessages = messages.slice(-MAX_MOBILE_SNAPSHOT_MESSAGES);
243
+ const firstUserMessage = messages.find((message) => message.role === "user");
244
+ const title = _optionalChain([firstUserMessage, 'optionalAccess', _14 => _14.content]) ? firstUserMessage.content.replace(/\s+/g, " ").slice(0, 80) : `Continue ${session.metadata.projectName}`;
245
+ return {
246
+ title,
247
+ summary: session.metadata.summary,
248
+ messageCount: session.metadata.messageCount,
249
+ lastActivity: session.metadata.lastActiveAt,
250
+ messages: recentMessages
251
+ };
252
+ }
253
+ function parseMode(args, canSteer) {
254
+ if (args.includes("--queue")) return "queue";
255
+ if (args.includes("--steer")) return "steer";
256
+ return canSteer ? "steer" : "queue";
257
+ }
258
+ async function go(ctx, args = []) {
259
+ const mode = parseMode(args, Boolean(ctx.enqueueInstruction));
260
+ if (mode === "steer" && !ctx.enqueueInstruction) {
261
+ return [
262
+ _chalk2.default.yellow("Steer mode requires an interactive CLI session."),
263
+ _chalk2.default.gray("Run /go --queue to create a durable queue-only handoff from this mode.")
264
+ ].join("\n");
265
+ }
266
+ const token = _optionalChain([ctx, 'access', _15 => _15.config, 'optionalAccess', _16 => _16.auth, 'optionalAccess', _17 => _17.token]);
267
+ if (!token) {
268
+ return [
269
+ _chalk2.default.yellow("Sign in first with /login."),
270
+ _chalk2.default.gray("Then run /go again to pair this laptop session with your phone.")
271
+ ].join("\n");
272
+ }
273
+ const session = _nullishCoalesce(ctx.currentSession, () => ( ctx.sessionManager.getCurrentSession()));
274
+ if (!session) {
275
+ return [
276
+ _chalk2.default.yellow("No active session to pair."),
277
+ _chalk2.default.gray("Start a conversation, then run /go from the project you want to control remotely.")
278
+ ].join("\n");
279
+ }
280
+ const client = _nullishCoalesce(ctx.client, () => ( new MobileHandoffClient({
281
+ baseUrl: getMobileApiBaseUrl(ctx.config)
282
+ })));
283
+ try {
284
+ const deviceId = await client.getDeviceId();
285
+ await client.registerDevice(token, {
286
+ deviceId,
287
+ clientType: "cli",
288
+ agentName: `${_os2.default.hostname()} Autohand Code`,
289
+ metadata: {
290
+ workspacePath: ctx.workspaceRoot,
291
+ projectName: session.metadata.projectName,
292
+ sessionId: session.metadata.sessionId,
293
+ model: ctx.model,
294
+ provider: ctx.provider,
295
+ platform: process.platform,
296
+ hostname: _os2.default.hostname(),
297
+ client: session.metadata.client,
298
+ clientVersion: session.metadata.clientVersion
299
+ }
300
+ });
301
+ const pairing = await client.createPairing(token, {
302
+ deviceId,
303
+ sessionId: session.metadata.sessionId,
304
+ workspacePath: ctx.workspaceRoot,
305
+ projectName: session.metadata.projectName,
306
+ model: ctx.model,
307
+ provider: ctx.provider,
308
+ capabilities: ["prompt", "approval", "notifications"],
309
+ metadata: {
310
+ platform: process.platform,
311
+ hostname: _os2.default.hostname(),
312
+ client: session.metadata.client,
313
+ clientVersion: session.metadata.clientVersion,
314
+ sessionSnapshot: JSON.stringify(buildMobileSessionSnapshot(session))
315
+ }
316
+ });
317
+ if (mode === "steer" && ctx.enqueueInstruction) {
318
+ startMobileRelay({
319
+ client,
320
+ token,
321
+ deviceId,
322
+ sessionId: session.metadata.sessionId,
323
+ pairingId: pairing.id,
324
+ mode,
325
+ pollIntervalMs: pairing.pollIntervalMs,
326
+ enqueueInstruction: ctx.enqueueInstruction
327
+ });
328
+ }
329
+ const appUrl = nativeAppUrl(pairing.pairingUrl);
330
+ const qr = await _qrcode2.default.toString(pairing.pairingUrl, {
331
+ type: "utf8",
332
+ errorCorrectionLevel: "M"
333
+ });
334
+ return [
335
+ "",
336
+ _chalk2.default.bold("Autohand Code mobile handoff"),
337
+ _chalk2.default.gray("Scan this with the iOS app to continue this session from your phone."),
338
+ "",
339
+ qr,
340
+ "",
341
+ `${_chalk2.default.gray("Scan or open:")} ${formatUrl(pairing.pairingUrl)}`,
342
+ `${_chalk2.default.gray("Simulator fallback:")} ${formatUrl(appUrl)}`,
343
+ `${_chalk2.default.gray("Project:")} ${_chalk2.default.cyan(session.metadata.projectName)}`,
344
+ `${_chalk2.default.gray("Session:")} ${_chalk2.default.cyan(session.metadata.sessionId)}`,
345
+ `${_chalk2.default.gray("Mode:")} ${mode === "steer" ? _chalk2.default.green("steer live") : _chalk2.default.yellow("queue")}`,
346
+ `${_chalk2.default.gray("Relay:")} ${mode === "steer" ? _chalk2.default.green("listening for mobile prompts") : _chalk2.default.yellow("prompts will wait in the queue")}`,
347
+ `${_chalk2.default.gray("Expires:")} ${_chalk2.default.cyan(formatExpiry(pairing.expiresAt))}`,
348
+ ""
349
+ ].join("\n");
350
+ } catch (error) {
351
+ return [
352
+ _chalk2.default.red("Could not create mobile handoff."),
353
+ _chalk2.default.gray(error.message)
354
+ ].join("\n");
355
+ }
356
+ }
357
+ async function handoffSession(ctx, args = []) {
358
+ const localDefault = _optionalChain([ctx, 'access', _18 => _18.config, 'optionalAccess', _19 => _19.features, 'optionalAccess', _20 => _20.experimentalHandoff]) === true;
359
+ const enabled = _nullishCoalesce(_optionalChain([ctx, 'access', _21 => _21.isFeatureEnabled, 'optionalCall', _22 => _22(HANDOFF_FLAG, localDefault)]), () => ( localDefault));
360
+ if (!enabled) {
361
+ return `The /handoff session command is behind ${HANDOFF_FLAG}. Run /features enable ${HANDOFF_FLAG}, then /handoff session again. No restart required.`;
362
+ }
363
+ await _optionalChain([ctx, 'access', _23 => _23.trackFeatureActivation, 'optionalCall', _24 => _24(HANDOFF_FLAG, { surface: "slash_command" })]);
364
+ return go(ctx, args);
365
+ }
366
+
367
+
368
+
369
+
370
+
371
+
372
+ exports.metadata = metadata; exports.handoffSessionMetadata = handoffSessionMetadata; exports.go = go; exports.handoffSession = handoffSession;
373
+ /**
374
+ * @license
375
+ * Copyright 2026 Autohand AI LLC
376
+ * SPDX-License-Identifier: Apache-2.0
377
+ */
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-CBFH2J3O.js";
3
+ } from "./chunk-SJQU2ZFR.js";
4
4
 
5
5
  // src/commands/memory.ts
6
6
  import chalk from "chalk";
@@ -1,30 +1,33 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
+
4
+ var _chunkB55VCYSQcjs = require('./chunk-B55VCYSQ.cjs');
5
+
6
+
3
7
  var _chunkLJD7KR3Lcjs = require('./chunk-LJD7KR3L.cjs');
4
8
 
5
9
 
6
10
 
7
- var _chunk46C73ZKKcjs = require('./chunk-46C73ZKK.cjs');
11
+ var _chunkCNQKIWIScjs = require('./chunk-CNQKIWIS.cjs');
8
12
 
9
13
 
10
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
14
+ var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
11
15
 
12
16
  // src/commands/sync.ts
13
17
  var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);
14
18
  var metadata = {
15
19
  command: "/sync",
16
- description: _chunkCHI52KFRcjs.t.call(void 0, "commands.sync.description"),
20
+ description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.sync.description"),
17
21
  implemented: true
18
22
  };
19
- var globalSyncService = null;
20
- function setSyncService(service) {
21
- globalSyncService = service;
23
+ function setSyncService2(service) {
24
+ _chunkB55VCYSQcjs.setSyncService.call(void 0, service);
22
25
  }
23
- function getSyncService() {
24
- return globalSyncService;
26
+ function getSyncService2() {
27
+ return _chunkB55VCYSQcjs.getSyncService.call(void 0, );
25
28
  }
26
29
  async function sync(ctx) {
27
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, );
30
+ const config = await _chunkCNQKIWIScjs.loadConfig.call(void 0, );
28
31
  const isLoggedIn = Boolean(_optionalChain([config, 'access', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'access', _3 => _3.auth, 'optionalAccess', _4 => _4.user]));
29
32
  if (!isLoggedIn) {
30
33
  const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
@@ -37,7 +40,7 @@ async function sync(ctx) {
37
40
  return null;
38
41
  }
39
42
  async function gatherSyncData(ctx, config) {
40
- const syncService = globalSyncService;
43
+ const syncService = _chunkB55VCYSQcjs.getSyncService.call(void 0, );
41
44
  let status = {
42
45
  enabled: false,
43
46
  syncing: false,
@@ -127,7 +130,7 @@ function renderSyncUI(data, ctx) {
127
130
  } else {
128
131
  console.log(theme.error(`Sync failed: ${result.error}`));
129
132
  }
130
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, );
133
+ const config = await _chunkCNQKIWIScjs.loadConfig.call(void 0, );
131
134
  Object.assign(data, await gatherSyncData(ctx, config));
132
135
  } catch (err) {
133
136
  console.log(theme.error(`Sync error: ${err}`));
@@ -139,13 +142,13 @@ function renderSyncUI(data, ctx) {
139
142
  }
140
143
  if (char === "e") {
141
144
  try {
142
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, );
145
+ const config = await _chunkCNQKIWIScjs.loadConfig.call(void 0, );
143
146
  const newEnabled = _optionalChain([config, 'access', _16 => _16.sync, 'optionalAccess', _17 => _17.enabled]) === false;
144
147
  config.sync = { ...config.sync, enabled: newEnabled };
145
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, config);
148
+ await _chunkCNQKIWIScjs.saveConfig.call(void 0, config);
146
149
  data.enabled = newEnabled;
147
150
  console.log(_chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, ).accent(`
148
- ${newEnabled ? _chunkCHI52KFRcjs.t.call(void 0, "commands.sync.enabled") : _chunkCHI52KFRcjs.t.call(void 0, "commands.sync.disabled")}`));
151
+ ${newEnabled ? _chunkRJCZLFHEcjs.t.call(void 0, "commands.sync.enabled") : _chunkRJCZLFHEcjs.t.call(void 0, "commands.sync.disabled")}`));
149
152
  await sleep(1e3);
150
153
  render();
151
154
  } catch (err) {
@@ -281,7 +284,7 @@ function sleep(ms) {
281
284
 
282
285
 
283
286
 
284
- exports.metadata = metadata; exports.setSyncService = setSyncService; exports.getSyncService = getSyncService; exports.sync = sync;
287
+ exports.metadata = metadata; exports.setSyncService = setSyncService2; exports.getSyncService = getSyncService2; exports.sync = sync;
285
288
  /**
286
289
  * @license
287
290
  * Copyright 2025 Autohand AI LLC
@@ -1,33 +1,33 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkJJ4KA7HKcjs = require('./chunk-JJ4KA7HK.cjs');
3
+ var _chunkONNGAR6Wcjs = require('./chunk-ONNGAR6W.cjs');
4
4
 
5
5
 
6
6
 
7
7
 
8
- var _chunk46C73ZKKcjs = require('./chunk-46C73ZKK.cjs');
8
+ var _chunkCNQKIWIScjs = require('./chunk-CNQKIWIS.cjs');
9
9
 
10
10
 
11
11
 
12
12
 
13
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
13
+ var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
14
14
 
15
15
  // src/commands/setup.ts
16
16
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
17
17
  var metadata = {
18
18
  command: "/setup",
19
- description: _nullishCoalesce(_chunkCHI52KFRcjs.t.call(void 0, "commands.setup.description"), () => ( "Run the setup wizard to configure or reconfigure Autohand")),
19
+ description: _nullishCoalesce(_chunkRJCZLFHEcjs.t.call(void 0, "commands.setup.description"), () => ( "Run the setup wizard to configure or reconfigure Autohand")),
20
20
  implemented: true
21
21
  };
22
22
  async function setup(ctx) {
23
23
  if (ctx.isNonInteractive) {
24
- return _nullishCoalesce(_chunkCHI52KFRcjs.t.call(void 0, "commands.setup.interactiveOnly"), () => ( "Setup requires an interactive terminal. Use the --setup CLI flag instead."));
24
+ return _nullishCoalesce(_chunkRJCZLFHEcjs.t.call(void 0, "commands.setup.interactiveOnly"), () => ( "Setup requires an interactive terminal. Use the --setup CLI flag instead."));
25
25
  }
26
- const { locale: detectedLocale } = _chunkCHI52KFRcjs.detectLocale.call(void 0, );
26
+ const { locale: detectedLocale } = _chunkRJCZLFHEcjs.detectLocale.call(void 0, );
27
27
  const locale = _nullishCoalesce(detectedLocale, () => ( "en"));
28
- await _chunkCHI52KFRcjs.initI18n.call(void 0, locale);
29
- const config = await _chunk46C73ZKKcjs.loadConfig.call(void 0, _optionalChain([ctx, 'access', _ => _.config, 'optionalAccess', _2 => _2.configPath]), ctx.workspaceRoot);
30
- const workspaceRoot = _chunk46C73ZKKcjs.resolveWorkspaceRoot.call(void 0, config, ctx.workspaceRoot);
28
+ await _chunkRJCZLFHEcjs.initI18n.call(void 0, locale);
29
+ const config = await _chunkCNQKIWIScjs.loadConfig.call(void 0, _optionalChain([ctx, 'access', _ => _.config, 'optionalAccess', _2 => _2.configPath]), ctx.workspaceRoot);
30
+ const workspaceRoot = _chunkCNQKIWIScjs.resolveWorkspaceRoot.call(void 0, config, ctx.workspaceRoot);
31
31
  if (ctx.eventEmitter) {
32
32
  ctx.eventEmitter.emit("setup:started", {
33
33
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -35,7 +35,7 @@ async function setup(ctx) {
35
35
  workspaceRoot
36
36
  });
37
37
  }
38
- const wizard = new (0, _chunkJJ4KA7HKcjs.SetupWizard)(workspaceRoot, config);
38
+ const wizard = new (0, _chunkONNGAR6Wcjs.SetupWizard)(workspaceRoot, config);
39
39
  const result = await wizard.run({ force: true, skipWelcome: false });
40
40
  if (result.cancelled) {
41
41
  if (ctx.eventEmitter) {
@@ -44,7 +44,7 @@ async function setup(ctx) {
44
44
  step: "user_cancelled"
45
45
  });
46
46
  }
47
- return _nullishCoalesce(_chunkCHI52KFRcjs.t.call(void 0, "commands.setup.cancelled"), () => ( "Setup cancelled."));
47
+ return _nullishCoalesce(_chunkRJCZLFHEcjs.t.call(void 0, "commands.setup.cancelled"), () => ( "Setup cancelled."));
48
48
  }
49
49
  if (!result.success) {
50
50
  if (ctx.eventEmitter) {
@@ -53,10 +53,10 @@ async function setup(ctx) {
53
53
  error: "setup_failed"
54
54
  });
55
55
  }
56
- return _nullishCoalesce(_chunkCHI52KFRcjs.t.call(void 0, "commands.setup.failed"), () => ( "Setup failed. Please try again."));
56
+ return _nullishCoalesce(_chunkRJCZLFHEcjs.t.call(void 0, "commands.setup.failed"), () => ( "Setup failed. Please try again."));
57
57
  }
58
58
  const newConfig = { ...config, ...result.config };
59
- await _chunk46C73ZKKcjs.saveConfig.call(void 0, newConfig);
59
+ await _chunkCNQKIWIScjs.saveConfig.call(void 0, newConfig);
60
60
  if (ctx.eventEmitter) {
61
61
  const provider = result.config.provider;
62
62
  const providerConfig = provider && result.config[provider];
@@ -70,7 +70,7 @@ async function setup(ctx) {
70
70
  agentsFileCreated: result.agentsFileCreated
71
71
  });
72
72
  }
73
- console.log(_chalk2.default.green(_nullishCoalesce(_chunkCHI52KFRcjs.t.call(void 0, "commands.setup.complete"), () => ( "\nSetup complete!"))));
73
+ console.log(_chalk2.default.green(_nullishCoalesce(_chunkRJCZLFHEcjs.t.call(void 0, "commands.setup.complete"), () => ( "\nSetup complete!"))));
74
74
  return null;
75
75
  }
76
76
 
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-CBFH2J3O.js";
3
+ } from "./chunk-SJQU2ZFR.js";
4
4
 
5
5
  // src/commands/help.ts
6
6
  import chalk from "chalk";
7
7
  import terminalLink from "terminal-link";
8
8
  async function help() {
9
- const { SLASH_COMMANDS } = await import("./slashCommands-FCWY5DXW.js");
9
+ const { SLASH_COMMANDS } = await import("./slashCommands-MWOUDSQP.js");
10
10
  console.log(chalk.cyan(`
11
11
  ${t("commands.help.title")}
12
12
  `));