@yume-chan/adb 2.6.2 → 3.0.0-beta.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 (450) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/esm/adb.d.ts +18 -15
  4. package/esm/adb.d.ts.map +1 -1
  5. package/esm/adb.js +18 -11
  6. package/esm/adb.js.map +1 -1
  7. package/esm/banner.d.ts +1 -1
  8. package/esm/banner.d.ts.map +1 -1
  9. package/esm/banner.js.map +1 -1
  10. package/esm/daemon/auth/authenticator.d.ts +28 -0
  11. package/esm/daemon/auth/authenticator.d.ts.map +1 -0
  12. package/esm/daemon/auth/authenticator.js +108 -0
  13. package/esm/daemon/auth/authenticator.js.map +1 -0
  14. package/esm/daemon/auth/index.d.ts +5 -0
  15. package/esm/daemon/auth/index.d.ts.map +1 -0
  16. package/esm/daemon/auth/index.js +5 -0
  17. package/esm/daemon/auth/index.js.map +1 -0
  18. package/esm/daemon/auth/packet-processor.d.ts +42 -0
  19. package/esm/daemon/auth/packet-processor.d.ts.map +1 -0
  20. package/esm/daemon/auth/packet-processor.js +129 -0
  21. package/esm/daemon/auth/packet-processor.js.map +1 -0
  22. package/esm/daemon/auth/public-key.d.ts +8 -0
  23. package/esm/daemon/auth/public-key.d.ts.map +1 -0
  24. package/esm/daemon/auth/public-key.js +74 -0
  25. package/esm/daemon/auth/public-key.js.map +1 -0
  26. package/esm/daemon/auth/type.d.ts +5 -0
  27. package/esm/daemon/auth/type.d.ts.map +1 -0
  28. package/esm/daemon/auth/type.js +2 -0
  29. package/esm/daemon/auth/type.js.map +1 -0
  30. package/esm/daemon/crypto.d.ts +6 -5
  31. package/esm/daemon/crypto.d.ts.map +1 -1
  32. package/esm/daemon/crypto.js +23 -72
  33. package/esm/daemon/crypto.js.map +1 -1
  34. package/esm/daemon/dispatcher.d.ts +3 -3
  35. package/esm/daemon/dispatcher.d.ts.map +1 -1
  36. package/esm/daemon/dispatcher.js +11 -4
  37. package/esm/daemon/dispatcher.js.map +1 -1
  38. package/esm/daemon/index.d.ts +1 -1
  39. package/esm/daemon/index.d.ts.map +1 -1
  40. package/esm/daemon/index.js +1 -1
  41. package/esm/daemon/index.js.map +1 -1
  42. package/esm/daemon/socket.d.ts +3 -3
  43. package/esm/daemon/socket.d.ts.map +1 -1
  44. package/esm/daemon/transport.d.ts +13 -65
  45. package/esm/daemon/transport.d.ts.map +1 -1
  46. package/esm/daemon/transport.js +18 -140
  47. package/esm/daemon/transport.js.map +1 -1
  48. package/esm/device-observer.d.ts +2 -3
  49. package/esm/device-observer.d.ts.map +1 -1
  50. package/esm/features-value.d.ts +40 -0
  51. package/esm/features-value.d.ts.map +1 -0
  52. package/esm/features-value.js +46 -0
  53. package/esm/features-value.js.map +1 -0
  54. package/esm/features.d.ts +4 -12
  55. package/esm/features.d.ts.map +1 -1
  56. package/esm/features.js +27 -13
  57. package/esm/features.js.map +1 -1
  58. package/esm/index.d.ts +1 -1
  59. package/esm/index.d.ts.map +1 -1
  60. package/esm/index.js +1 -1
  61. package/esm/index.js.map +1 -1
  62. package/esm/server/client.d.ts +11 -10
  63. package/esm/server/client.d.ts.map +1 -1
  64. package/esm/server/client.js +82 -98
  65. package/esm/server/client.js.map +1 -1
  66. package/esm/server/commands/wireless.js +1 -1
  67. package/esm/server/commands/wireless.js.map +1 -1
  68. package/esm/server/{stream.d.ts → data-connection.d.ts} +5 -5
  69. package/esm/server/data-connection.d.ts.map +1 -0
  70. package/esm/server/{stream.js → data-connection.js} +4 -4
  71. package/esm/server/data-connection.js.map +1 -0
  72. package/esm/server/index.d.ts +1 -1
  73. package/esm/server/index.d.ts.map +1 -1
  74. package/esm/server/index.js +1 -1
  75. package/esm/server/index.js.map +1 -1
  76. package/esm/server/observer.d.ts.map +1 -1
  77. package/esm/server/observer.js +14 -13
  78. package/esm/server/observer.js.map +1 -1
  79. package/esm/server/transport.d.ts +4 -6
  80. package/esm/server/transport.d.ts.map +1 -1
  81. package/esm/server/transport.js +9 -24
  82. package/esm/server/transport.js.map +1 -1
  83. package/esm/service/framebuffer.d.ts.map +1 -0
  84. package/esm/service/framebuffer.js.map +1 -0
  85. package/esm/{commands → service}/index.d.ts +1 -2
  86. package/esm/service/index.d.ts.map +1 -0
  87. package/esm/{commands → service}/index.js +1 -2
  88. package/esm/service/index.js.map +1 -0
  89. package/esm/{commands → service}/power.d.ts +4 -2
  90. package/esm/service/power.d.ts.map +1 -0
  91. package/esm/{commands → service}/power.js +11 -5
  92. package/esm/service/power.js.map +1 -0
  93. package/esm/service/reverse/error.d.ts +14 -0
  94. package/esm/service/reverse/error.d.ts.map +1 -0
  95. package/esm/service/reverse/error.js +21 -0
  96. package/esm/service/reverse/error.js.map +1 -0
  97. package/esm/service/reverse/index.d.ts +3 -0
  98. package/esm/service/reverse/index.d.ts.map +1 -0
  99. package/esm/service/reverse/index.js +4 -0
  100. package/esm/service/reverse/index.js.map +1 -0
  101. package/esm/service/reverse/response.d.ts +2 -0
  102. package/esm/service/reverse/response.d.ts.map +1 -0
  103. package/esm/service/reverse/response.js +30 -0
  104. package/esm/service/reverse/response.js.map +1 -0
  105. package/esm/service/reverse/service.d.ts +59 -0
  106. package/esm/service/reverse/service.d.ts.map +1 -0
  107. package/esm/{commands/reverse.js → service/reverse/service.js} +16 -45
  108. package/esm/service/reverse/service.js.map +1 -0
  109. package/esm/{commands → service}/subprocess/index.d.ts +1 -0
  110. package/esm/service/subprocess/index.d.ts.map +1 -0
  111. package/esm/{commands → service}/subprocess/index.js +1 -0
  112. package/esm/service/subprocess/index.js.map +1 -0
  113. package/esm/service/subprocess/none/index.d.ts.map +1 -0
  114. package/esm/service/subprocess/none/index.js.map +1 -0
  115. package/esm/{commands → service}/subprocess/none/process.d.ts +2 -2
  116. package/esm/service/subprocess/none/process.d.ts.map +1 -0
  117. package/esm/service/subprocess/none/process.js.map +1 -0
  118. package/esm/{commands → service}/subprocess/none/pty.d.ts +4 -4
  119. package/esm/service/subprocess/none/pty.d.ts.map +1 -0
  120. package/esm/{commands → service}/subprocess/none/pty.js +1 -1
  121. package/esm/service/subprocess/none/pty.js.map +1 -0
  122. package/esm/service/subprocess/none/service.d.ts +10 -0
  123. package/esm/service/subprocess/none/service.d.ts.map +1 -0
  124. package/esm/service/subprocess/none/service.js +44 -0
  125. package/esm/service/subprocess/none/service.js.map +1 -0
  126. package/esm/service/subprocess/none/spawner.d.ts +15 -0
  127. package/esm/service/subprocess/none/spawner.d.ts.map +1 -0
  128. package/esm/service/subprocess/none/spawner.js +36 -0
  129. package/esm/service/subprocess/none/spawner.js.map +1 -0
  130. package/esm/{commands → service}/subprocess/pty.d.ts +1 -1
  131. package/esm/service/subprocess/pty.d.ts.map +1 -0
  132. package/esm/{commands → service}/subprocess/pty.js.map +1 -1
  133. package/esm/service/subprocess/service.d.ts.map +1 -0
  134. package/esm/{commands → service}/subprocess/service.js +1 -1
  135. package/esm/service/subprocess/service.js.map +1 -0
  136. package/esm/service/subprocess/shell/index.d.ts +5 -0
  137. package/esm/{commands/subprocess/none → service/subprocess/shell}/index.d.ts.map +1 -1
  138. package/esm/service/subprocess/shell/index.js +6 -0
  139. package/esm/{commands/subprocess/none → service/subprocess/shell}/index.js.map +1 -1
  140. package/esm/{commands → service}/subprocess/shell/process.d.ts +2 -2
  141. package/esm/service/subprocess/shell/process.d.ts.map +1 -0
  142. package/esm/{commands → service}/subprocess/shell/process.js +11 -15
  143. package/esm/service/subprocess/shell/process.js.map +1 -0
  144. package/esm/{commands → service}/subprocess/shell/pty.d.ts +4 -4
  145. package/esm/service/subprocess/shell/pty.d.ts.map +1 -0
  146. package/esm/{commands → service}/subprocess/shell/pty.js +11 -9
  147. package/esm/service/subprocess/shell/pty.js.map +1 -0
  148. package/esm/service/subprocess/shell/service.d.ts +34 -0
  149. package/esm/service/subprocess/shell/service.d.ts.map +1 -0
  150. package/esm/service/subprocess/shell/service.js +52 -0
  151. package/esm/service/subprocess/shell/service.js.map +1 -0
  152. package/esm/service/subprocess/shell/shared.d.ts +2 -0
  153. package/esm/service/subprocess/shell/shared.d.ts.map +1 -0
  154. package/esm/{commands → service}/subprocess/shell/shared.js +2 -0
  155. package/esm/service/subprocess/shell/shared.js.map +1 -0
  156. package/esm/{commands → service}/subprocess/shell/spawner.d.ts +3 -7
  157. package/esm/service/subprocess/shell/spawner.d.ts.map +1 -0
  158. package/esm/service/subprocess/shell/spawner.js +50 -0
  159. package/esm/service/subprocess/shell/spawner.js.map +1 -0
  160. package/esm/service/subprocess/types.d.ts +14 -0
  161. package/esm/service/subprocess/types.d.ts.map +1 -0
  162. package/esm/service/subprocess/types.js +2 -0
  163. package/esm/service/subprocess/types.js.map +1 -0
  164. package/esm/service/subprocess/utils.d.ts +39 -0
  165. package/esm/service/subprocess/utils.d.ts.map +1 -0
  166. package/esm/service/subprocess/utils.js +142 -0
  167. package/esm/service/subprocess/utils.js.map +1 -0
  168. package/esm/service/sync/android.d.ts +34 -0
  169. package/esm/service/sync/android.d.ts.map +1 -0
  170. package/esm/service/sync/android.js +34 -0
  171. package/esm/service/sync/android.js.map +1 -0
  172. package/esm/service/sync/compression/compression.d.ts +17 -0
  173. package/esm/service/sync/compression/compression.d.ts.map +1 -0
  174. package/esm/service/sync/compression/compression.js +92 -0
  175. package/esm/service/sync/compression/compression.js.map +1 -0
  176. package/esm/service/sync/compression/format-ns.d.ts +5 -0
  177. package/esm/service/sync/compression/format-ns.d.ts.map +1 -0
  178. package/esm/service/sync/compression/format-ns.js +5 -0
  179. package/esm/service/sync/compression/format-ns.js.map +1 -0
  180. package/esm/service/sync/compression/format.d.ts +4 -0
  181. package/esm/service/sync/compression/format.d.ts.map +1 -0
  182. package/esm/service/sync/compression/format.js +3 -0
  183. package/esm/service/sync/compression/format.js.map +1 -0
  184. package/esm/service/sync/compression/index.d.ts +2 -0
  185. package/esm/service/sync/compression/index.d.ts.map +1 -0
  186. package/esm/service/sync/compression/index.js +2 -0
  187. package/esm/service/sync/compression/index.js.map +1 -0
  188. package/esm/service/sync/id/common.d.ts +17 -0
  189. package/esm/service/sync/id/common.d.ts.map +1 -0
  190. package/esm/service/sync/id/common.js +29 -0
  191. package/esm/service/sync/id/common.js.map +1 -0
  192. package/esm/service/sync/id/index.d.ts +4 -0
  193. package/esm/service/sync/id/index.d.ts.map +1 -0
  194. package/esm/service/sync/id/index.js +6 -0
  195. package/esm/service/sync/id/index.js.map +1 -0
  196. package/esm/service/sync/id/request.d.ts +7 -0
  197. package/esm/service/sync/id/request.d.ts.map +1 -0
  198. package/esm/service/sync/id/request.js +9 -0
  199. package/esm/service/sync/id/request.js.map +1 -0
  200. package/esm/service/sync/id/response.d.ts +6 -0
  201. package/esm/service/sync/id/response.d.ts.map +1 -0
  202. package/esm/service/sync/id/response.js +8 -0
  203. package/esm/service/sync/id/response.js.map +1 -0
  204. package/esm/service/sync/index-ns.d.ts +7 -0
  205. package/esm/service/sync/index-ns.d.ts.map +1 -0
  206. package/esm/service/sync/index-ns.js +7 -0
  207. package/esm/service/sync/index-ns.js.map +1 -0
  208. package/esm/service/sync/index.d.ts +3 -0
  209. package/esm/service/sync/index.d.ts.map +1 -0
  210. package/esm/service/sync/index.js +3 -0
  211. package/esm/service/sync/index.js.map +1 -0
  212. package/esm/service/sync/request/index.d.ts +5 -0
  213. package/esm/service/sync/request/index.d.ts.map +1 -0
  214. package/esm/service/sync/request/index.js +5 -0
  215. package/esm/service/sync/request/index.js.map +1 -0
  216. package/esm/{commands/sync → service/sync/request}/list.d.ts +21 -19
  217. package/esm/service/sync/request/list.d.ts.map +1 -0
  218. package/esm/service/sync/request/list.js +77 -0
  219. package/esm/service/sync/request/list.js.map +1 -0
  220. package/esm/service/sync/request/pull.d.ts +12 -0
  221. package/esm/service/sync/request/pull.d.ts.map +1 -0
  222. package/esm/service/sync/request/pull.js +28 -0
  223. package/esm/service/sync/request/pull.js.map +1 -0
  224. package/esm/service/sync/request/push.d.ts +54 -0
  225. package/esm/service/sync/request/push.d.ts.map +1 -0
  226. package/esm/service/sync/request/push.js +95 -0
  227. package/esm/service/sync/request/push.js.map +1 -0
  228. package/esm/{commands/sync → service/sync/request}/stat.d.ts +40 -50
  229. package/esm/service/sync/request/stat.d.ts.map +1 -0
  230. package/esm/service/sync/request/stat.js +89 -0
  231. package/esm/service/sync/request/stat.js.map +1 -0
  232. package/esm/service/sync/service.d.ts +123 -0
  233. package/esm/service/sync/service.d.ts.map +1 -0
  234. package/esm/service/sync/service.js +170 -0
  235. package/esm/service/sync/service.js.map +1 -0
  236. package/esm/service/sync/socket-pool.d.ts +11 -0
  237. package/esm/service/sync/socket-pool.d.ts.map +1 -0
  238. package/esm/service/sync/socket-pool.js +80 -0
  239. package/esm/service/sync/socket-pool.js.map +1 -0
  240. package/esm/service/sync/socket.d.ts +40 -0
  241. package/esm/service/sync/socket.d.ts.map +1 -0
  242. package/esm/service/sync/socket.js +153 -0
  243. package/esm/service/sync/socket.js.map +1 -0
  244. package/esm/{commands → service}/tcpip.d.ts +4 -2
  245. package/esm/service/tcpip.d.ts.map +1 -0
  246. package/esm/{commands → service}/tcpip.js +10 -7
  247. package/esm/service/tcpip.js.map +1 -0
  248. package/esm/utils/array-buffer.d.ts.map +1 -1
  249. package/esm/utils/array-buffer.js +2 -3
  250. package/esm/utils/array-buffer.js.map +1 -1
  251. package/esm/utils/base64.d.ts.map +1 -1
  252. package/esm/utils/base64.js +22 -10
  253. package/esm/utils/base64.js.map +1 -1
  254. package/esm/utils/index.d.ts +1 -0
  255. package/esm/utils/index.d.ts.map +1 -1
  256. package/esm/utils/index.js +1 -0
  257. package/esm/utils/index.js.map +1 -1
  258. package/esm/utils/md5.d.ts +8 -0
  259. package/esm/utils/md5.d.ts.map +1 -0
  260. package/esm/utils/md5.js +149 -0
  261. package/esm/utils/md5.js.map +1 -0
  262. package/package.json +7 -7
  263. package/src/adb.ts +44 -35
  264. package/src/banner.ts +2 -1
  265. package/src/daemon/auth/authenticator.ts +186 -0
  266. package/src/daemon/auth/index.ts +4 -0
  267. package/src/daemon/auth/packet-processor.ts +212 -0
  268. package/src/daemon/auth/public-key.ts +112 -0
  269. package/src/daemon/auth/type.ts +5 -0
  270. package/src/daemon/crypto.ts +36 -101
  271. package/src/daemon/dispatcher.ts +15 -8
  272. package/src/daemon/index.ts +1 -1
  273. package/src/daemon/socket.ts +3 -3
  274. package/src/daemon/transport.ts +35 -253
  275. package/src/device-observer.ts +3 -3
  276. package/src/features-value.ts +47 -0
  277. package/src/features.ts +31 -14
  278. package/src/index.ts +1 -1
  279. package/src/server/client.ts +112 -104
  280. package/src/server/commands/wireless.ts +1 -1
  281. package/src/server/{stream.ts → data-connection.ts} +4 -4
  282. package/src/server/index.ts +1 -1
  283. package/src/server/observer.ts +21 -19
  284. package/src/server/transport.ts +13 -34
  285. package/src/{commands → service}/index.ts +1 -2
  286. package/src/{commands → service}/power.ts +14 -5
  287. package/src/service/reverse/error.ts +35 -0
  288. package/src/service/reverse/index.ts +3 -0
  289. package/src/service/reverse/response.ts +38 -0
  290. package/src/{commands/reverse.ts → service/reverse/service.ts} +32 -72
  291. package/src/{commands → service}/subprocess/index.ts +1 -0
  292. package/src/{commands → service}/subprocess/none/process.ts +3 -3
  293. package/src/{commands → service}/subprocess/none/pty.ts +5 -5
  294. package/src/service/subprocess/none/service.ts +57 -0
  295. package/src/service/subprocess/none/spawner.ts +85 -0
  296. package/src/{commands → service}/subprocess/pty.ts +1 -1
  297. package/src/{commands → service}/subprocess/service.ts +1 -1
  298. package/src/{commands → service}/subprocess/shell/index.ts +1 -1
  299. package/src/{commands → service}/subprocess/shell/process.ts +13 -17
  300. package/src/{commands → service}/subprocess/shell/pty.ts +15 -13
  301. package/src/service/subprocess/shell/service.ts +75 -0
  302. package/src/{commands → service}/subprocess/shell/shared.ts +5 -0
  303. package/src/service/subprocess/shell/spawner.ts +113 -0
  304. package/src/service/subprocess/types.ts +19 -0
  305. package/src/service/subprocess/utils.ts +166 -0
  306. package/src/service/sync/android.ts +43 -0
  307. package/src/service/sync/compression/compression.ts +126 -0
  308. package/src/service/sync/compression/format-ns.ts +4 -0
  309. package/src/service/sync/compression/format.ts +5 -0
  310. package/src/service/sync/compression/index.ts +1 -0
  311. package/src/service/sync/id/common.ts +33 -0
  312. package/src/service/sync/id/index.ts +7 -0
  313. package/src/service/sync/id/request.ts +12 -0
  314. package/src/service/sync/id/response.ts +11 -0
  315. package/src/service/sync/index-ns.ts +6 -0
  316. package/src/service/sync/index.ts +2 -0
  317. package/src/service/sync/request/index.ts +4 -0
  318. package/src/service/sync/request/list.ts +110 -0
  319. package/src/service/sync/request/pull.ts +49 -0
  320. package/src/service/sync/request/push.ts +184 -0
  321. package/src/service/sync/request/stat.ts +127 -0
  322. package/src/service/sync/service.ts +255 -0
  323. package/src/service/sync/socket-pool.ts +97 -0
  324. package/src/service/sync/socket.ts +201 -0
  325. package/src/{commands → service}/tcpip.ts +13 -7
  326. package/src/utils/array-buffer.ts +2 -3
  327. package/src/utils/base64.ts +24 -10
  328. package/src/utils/index.ts +1 -0
  329. package/src/utils/md5.ts +185 -0
  330. package/CHANGELOG.md +0 -257
  331. package/esm/commands/base.d.ts +0 -8
  332. package/esm/commands/base.d.ts.map +0 -1
  333. package/esm/commands/base.js +0 -12
  334. package/esm/commands/base.js.map +0 -1
  335. package/esm/commands/framebuffer.d.ts.map +0 -1
  336. package/esm/commands/framebuffer.js.map +0 -1
  337. package/esm/commands/index.d.ts.map +0 -1
  338. package/esm/commands/index.js.map +0 -1
  339. package/esm/commands/power.d.ts.map +0 -1
  340. package/esm/commands/power.js.map +0 -1
  341. package/esm/commands/reverse.d.ts +0 -48
  342. package/esm/commands/reverse.d.ts.map +0 -1
  343. package/esm/commands/reverse.js.map +0 -1
  344. package/esm/commands/subprocess/index.d.ts.map +0 -1
  345. package/esm/commands/subprocess/index.js.map +0 -1
  346. package/esm/commands/subprocess/none/process.d.ts.map +0 -1
  347. package/esm/commands/subprocess/none/process.js.map +0 -1
  348. package/esm/commands/subprocess/none/pty.d.ts.map +0 -1
  349. package/esm/commands/subprocess/none/pty.js.map +0 -1
  350. package/esm/commands/subprocess/none/service.d.ts +0 -10
  351. package/esm/commands/subprocess/none/service.d.ts.map +0 -1
  352. package/esm/commands/subprocess/none/service.js +0 -34
  353. package/esm/commands/subprocess/none/service.js.map +0 -1
  354. package/esm/commands/subprocess/none/spawner.d.ts +0 -19
  355. package/esm/commands/subprocess/none/spawner.d.ts.map +0 -1
  356. package/esm/commands/subprocess/none/spawner.js +0 -26
  357. package/esm/commands/subprocess/none/spawner.js.map +0 -1
  358. package/esm/commands/subprocess/pty.d.ts.map +0 -1
  359. package/esm/commands/subprocess/service.d.ts.map +0 -1
  360. package/esm/commands/subprocess/service.js.map +0 -1
  361. package/esm/commands/subprocess/shell/index.d.ts +0 -6
  362. package/esm/commands/subprocess/shell/index.d.ts.map +0 -1
  363. package/esm/commands/subprocess/shell/index.js +0 -6
  364. package/esm/commands/subprocess/shell/index.js.map +0 -1
  365. package/esm/commands/subprocess/shell/process.d.ts.map +0 -1
  366. package/esm/commands/subprocess/shell/process.js.map +0 -1
  367. package/esm/commands/subprocess/shell/pty.d.ts.map +0 -1
  368. package/esm/commands/subprocess/shell/pty.js.map +0 -1
  369. package/esm/commands/subprocess/shell/service.d.ts +0 -14
  370. package/esm/commands/subprocess/shell/service.d.ts.map +0 -1
  371. package/esm/commands/subprocess/shell/service.js +0 -41
  372. package/esm/commands/subprocess/shell/service.js.map +0 -1
  373. package/esm/commands/subprocess/shell/shared.d.ts +0 -19
  374. package/esm/commands/subprocess/shell/shared.d.ts.map +0 -1
  375. package/esm/commands/subprocess/shell/shared.js.map +0 -1
  376. package/esm/commands/subprocess/shell/spawner.d.ts.map +0 -1
  377. package/esm/commands/subprocess/shell/spawner.js +0 -38
  378. package/esm/commands/subprocess/shell/spawner.js.map +0 -1
  379. package/esm/commands/subprocess/utils.d.ts +0 -3
  380. package/esm/commands/subprocess/utils.d.ts.map +0 -1
  381. package/esm/commands/subprocess/utils.js +0 -56
  382. package/esm/commands/subprocess/utils.js.map +0 -1
  383. package/esm/commands/sync/index.d.ts +0 -9
  384. package/esm/commands/sync/index.d.ts.map +0 -1
  385. package/esm/commands/sync/index.js +0 -9
  386. package/esm/commands/sync/index.js.map +0 -1
  387. package/esm/commands/sync/list.d.ts.map +0 -1
  388. package/esm/commands/sync/list.js +0 -64
  389. package/esm/commands/sync/list.js.map +0 -1
  390. package/esm/commands/sync/pull.d.ts +0 -12
  391. package/esm/commands/sync/pull.d.ts.map +0 -1
  392. package/esm/commands/sync/pull.js +0 -33
  393. package/esm/commands/sync/pull.js.map +0 -1
  394. package/esm/commands/sync/push.d.ts +0 -61
  395. package/esm/commands/sync/push.d.ts.map +0 -1
  396. package/esm/commands/sync/push.js +0 -83
  397. package/esm/commands/sync/push.js.map +0 -1
  398. package/esm/commands/sync/request.d.ts +0 -24
  399. package/esm/commands/sync/request.d.ts.map +0 -1
  400. package/esm/commands/sync/request.js +0 -32
  401. package/esm/commands/sync/request.js.map +0 -1
  402. package/esm/commands/sync/response.d.ts +0 -28
  403. package/esm/commands/sync/response.d.ts.map +0 -1
  404. package/esm/commands/sync/response.js +0 -81
  405. package/esm/commands/sync/response.js.map +0 -1
  406. package/esm/commands/sync/socket.d.ts +0 -22
  407. package/esm/commands/sync/socket.d.ts.map +0 -1
  408. package/esm/commands/sync/socket.js +0 -78
  409. package/esm/commands/sync/socket.js.map +0 -1
  410. package/esm/commands/sync/stat.d.ts.map +0 -1
  411. package/esm/commands/sync/stat.js +0 -121
  412. package/esm/commands/sync/stat.js.map +0 -1
  413. package/esm/commands/sync/sync.d.ts +0 -82
  414. package/esm/commands/sync/sync.d.ts.map +0 -1
  415. package/esm/commands/sync/sync.js +0 -138
  416. package/esm/commands/sync/sync.js.map +0 -1
  417. package/esm/commands/tcpip.d.ts.map +0 -1
  418. package/esm/commands/tcpip.js.map +0 -1
  419. package/esm/daemon/auth.d.ts +0 -54
  420. package/esm/daemon/auth.d.ts.map +0 -1
  421. package/esm/daemon/auth.js +0 -104
  422. package/esm/daemon/auth.js.map +0 -1
  423. package/esm/server/stream.d.ts.map +0 -1
  424. package/esm/server/stream.js.map +0 -1
  425. package/src/commands/base.ts +0 -15
  426. package/src/commands/subprocess/none/service.ts +0 -45
  427. package/src/commands/subprocess/none/spawner.ts +0 -68
  428. package/src/commands/subprocess/shell/service.ts +0 -58
  429. package/src/commands/subprocess/shell/spawner.ts +0 -90
  430. package/src/commands/subprocess/utils.ts +0 -61
  431. package/src/commands/sync/index.ts +0 -8
  432. package/src/commands/sync/list.ts +0 -99
  433. package/src/commands/sync/pull.ts +0 -55
  434. package/src/commands/sync/push.ts +0 -172
  435. package/src/commands/sync/request.ts +0 -53
  436. package/src/commands/sync/response.ts +0 -105
  437. package/src/commands/sync/socket.ts +0 -109
  438. package/src/commands/sync/stat.ts +0 -177
  439. package/src/commands/sync/sync.ts +0 -175
  440. package/src/daemon/auth.ts +0 -203
  441. package/tsconfig.build.tsbuildinfo +0 -1
  442. /package/esm/{commands → service}/framebuffer.d.ts +0 -0
  443. /package/esm/{commands → service}/framebuffer.js +0 -0
  444. /package/esm/{commands → service}/subprocess/none/index.d.ts +0 -0
  445. /package/esm/{commands → service}/subprocess/none/index.js +0 -0
  446. /package/esm/{commands → service}/subprocess/none/process.js +0 -0
  447. /package/esm/{commands → service}/subprocess/pty.js +0 -0
  448. /package/esm/{commands → service}/subprocess/service.d.ts +0 -0
  449. /package/src/{commands → service}/framebuffer.ts +0 -0
  450. /package/src/{commands → service}/subprocess/none/index.ts +0 -0
@@ -1,133 +1,12 @@
1
- import { PromiseResolver } from "@yume-chan/async";
2
- import { AbortController, Consumable, WritableStream, } from "@yume-chan/stream-extra";
3
- import { decodeUtf8, encodeUtf8 } from "@yume-chan/struct";
4
1
  import { AdbBanner } from "../banner.js";
5
- import { AdbFeature } from "../features.js";
6
- import { ADB_DEFAULT_AUTHENTICATORS, AdbAuthenticationProcessor, } from "./auth.js";
2
+ import { AdbDeviceFeatures, AdbFeature } from "../features.js";
7
3
  import { AdbPacketDispatcher } from "./dispatcher.js";
8
- import { AdbCommand, calculateChecksum } from "./packet.js";
9
4
  export const ADB_DAEMON_VERSION_OMIT_CHECKSUM = 0x01000001;
10
- // https://android.googlesource.com/platform/packages/modules/adb/+/79010dc6d5ca7490c493df800d4421730f5466ca/transport.cpp#1252
11
- // There are some other feature constants, but some of them are only used by ADB server, not devices (daemons).
12
- export const ADB_DAEMON_DEFAULT_FEATURES = /* #__PURE__ */ (() => [
13
- AdbFeature.ShellV2,
14
- AdbFeature.Cmd,
15
- AdbFeature.StatV2,
16
- AdbFeature.ListV2,
17
- AdbFeature.FixedPushMkdir,
18
- "apex",
19
- AdbFeature.Abb,
20
- // only tells the client the symlink timestamp issue in `adb push --sync` has been fixed.
21
- // No special handling required.
22
- "fixed_push_symlink_timestamp",
23
- AdbFeature.AbbExec,
24
- "remount_shell",
25
- "track_app",
26
- AdbFeature.SendReceiveV2,
27
- "sendrecv_v2_brotli",
28
- "sendrecv_v2_lz4",
29
- "sendrecv_v2_zstd",
30
- "sendrecv_v2_dry_run_send",
31
- AdbFeature.DelayedAck,
32
- ])();
33
5
  export const ADB_DAEMON_DEFAULT_INITIAL_PAYLOAD_SIZE = 32 * 1024 * 1024;
34
6
  /**
35
7
  * An ADB Transport that connects to ADB Daemons directly.
36
8
  */
37
9
  export class AdbDaemonTransport {
38
- /**
39
- * Authenticate with the ADB Daemon and create a new transport.
40
- */
41
- static async authenticate({ serial, connection, credentialStore, authenticators = ADB_DEFAULT_AUTHENTICATORS, features = ADB_DAEMON_DEFAULT_FEATURES, initialDelayedAckBytes = ADB_DAEMON_DEFAULT_INITIAL_PAYLOAD_SIZE, ...options }) {
42
- // Initially, set to highest-supported version and payload size.
43
- let version = 0x01000001;
44
- // Android 4: 4K, Android 7: 256K, Android 9: 1M
45
- let maxPayloadSize = 1024 * 1024;
46
- const resolver = new PromiseResolver();
47
- const authProcessor = new AdbAuthenticationProcessor(authenticators, credentialStore);
48
- // Here is similar to `AdbPacketDispatcher`,
49
- // But the received packet types and send packet processing are different.
50
- const abortController = new AbortController();
51
- const pipe = connection.readable
52
- .pipeTo(new WritableStream({
53
- async write(packet) {
54
- switch (packet.command) {
55
- case AdbCommand.Connect:
56
- version = Math.min(version, packet.arg0);
57
- maxPayloadSize = Math.min(maxPayloadSize, packet.arg1);
58
- resolver.resolve(decodeUtf8(packet.payload));
59
- break;
60
- case AdbCommand.Auth: {
61
- const response = await authProcessor.process(packet);
62
- await sendPacket(response);
63
- break;
64
- }
65
- default:
66
- // Maybe the previous ADB client exited without reading all packets,
67
- // so they are still waiting in OS internal buffer.
68
- // Just ignore them.
69
- // Because a `Connect` packet will reset the device,
70
- // Eventually there will be `Connect` and `Auth` response packets.
71
- break;
72
- }
73
- },
74
- }), {
75
- // Don't cancel the source ReadableStream on AbortSignal abort.
76
- preventCancel: true,
77
- signal: abortController.signal,
78
- })
79
- .then(() => {
80
- // If `resolver` is already settled, call `reject` won't do anything.
81
- resolver.reject(new Error("Connection closed unexpectedly"));
82
- }, (e) => {
83
- resolver.reject(e);
84
- });
85
- const writer = connection.writable.getWriter();
86
- async function sendPacket(init) {
87
- // Always send checksum in auth steps
88
- // Because we don't know if the device needs it or not.
89
- init.checksum = calculateChecksum(init.payload);
90
- init.magic = init.command ^ 0xffffffff;
91
- await Consumable.WritableStream.write(writer, init);
92
- }
93
- const actualFeatures = features.slice();
94
- if (initialDelayedAckBytes <= 0) {
95
- const index = features.indexOf(AdbFeature.DelayedAck);
96
- if (index !== -1) {
97
- actualFeatures.splice(index, 1);
98
- }
99
- }
100
- let banner;
101
- try {
102
- await sendPacket({
103
- command: AdbCommand.Connect,
104
- arg0: version,
105
- arg1: maxPayloadSize,
106
- // The terminating `;` is required in formal definition
107
- // But ADB daemon (all versions) can still work without it
108
- payload: encodeUtf8(`host::features=${actualFeatures.join(",")}`),
109
- });
110
- banner = await resolver.promise;
111
- }
112
- finally {
113
- // When failed, release locks on `connection` so the caller can try again.
114
- // When success, also release locks so `AdbPacketDispatcher` can use them.
115
- abortController.abort();
116
- writer.releaseLock();
117
- // Wait until pipe stops (`ReadableStream` lock released)
118
- await pipe;
119
- }
120
- return new AdbDaemonTransport({
121
- serial,
122
- connection,
123
- version,
124
- maxPayloadSize,
125
- banner,
126
- features: actualFeatures,
127
- initialDelayedAckBytes,
128
- ...options,
129
- });
130
- }
131
10
  #connection;
132
11
  get connection() {
133
12
  return this.#connection;
@@ -155,35 +34,34 @@ export class AdbDaemonTransport {
155
34
  get clientFeatures() {
156
35
  return this.#clientFeatures;
157
36
  }
158
- constructor({ serial, connection, version, banner, features = ADB_DAEMON_DEFAULT_FEATURES, initialDelayedAckBytes, ...options }) {
37
+ constructor({ serial, connection, version, banner, features = AdbDeviceFeatures, initialDelayedAckBytes = ADB_DAEMON_DEFAULT_INITIAL_PAYLOAD_SIZE, ...options }) {
159
38
  this.#serial = serial;
160
39
  this.#connection = connection;
161
40
  this.#banner = AdbBanner.parse(banner);
162
41
  this.#clientFeatures = features;
163
- if (features.includes(AdbFeature.DelayedAck)) {
164
- if (initialDelayedAckBytes <= 0) {
165
- throw new TypeError("`initialDelayedAckBytes` must be greater than 0 when DelayedAck feature is enabled.");
166
- }
167
- if (!this.#banner.features.includes(AdbFeature.DelayedAck)) {
168
- initialDelayedAckBytes = 0;
169
- }
170
- }
171
- else {
42
+ if (!this.#banner.features.includes(AdbFeature.DelayedAck) ||
43
+ !features.includes(AdbFeature.DelayedAck)) {
44
+ // For `AdbPacketDispatcher`, 0 means disabled
172
45
  initialDelayedAckBytes = 0;
173
46
  }
174
- let calculateChecksum;
175
- let appendNullToServiceString;
47
+ else if (initialDelayedAckBytes <= 0) {
48
+ // Delayed Ack is enabled in handshake process, we can't disable it here,
49
+ // so it must be a positive integer
50
+ throw new TypeError("`initialDelayedAckBytes` must be greater than 0 when DelayedAck feature is enabled.");
51
+ }
52
+ let shouldCalculateChecksum;
53
+ let shouldAppendNullToServiceString;
176
54
  if (version >= ADB_DAEMON_VERSION_OMIT_CHECKSUM) {
177
- calculateChecksum = false;
178
- appendNullToServiceString = false;
55
+ shouldCalculateChecksum = false;
56
+ shouldAppendNullToServiceString = false;
179
57
  }
180
58
  else {
181
- calculateChecksum = true;
182
- appendNullToServiceString = true;
59
+ shouldCalculateChecksum = true;
60
+ shouldAppendNullToServiceString = true;
183
61
  }
184
62
  this.#dispatcher = new AdbPacketDispatcher(connection, {
185
- calculateChecksum,
186
- appendNullToServiceString,
63
+ calculateChecksum: shouldCalculateChecksum,
64
+ appendNullToServiceString: shouldAppendNullToServiceString,
187
65
  initialDelayedAckBytes,
188
66
  ...options,
189
67
  });
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/daemon/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/daemon/transport.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import type { MaybePromiseLike } from "@yume-chan/async";
2
1
  import type { Event } from "@yume-chan/event";
3
- export interface DeviceObserver<T> {
2
+ import type { Closeable } from "./adb.js";
3
+ export interface DeviceObserver<T> extends Closeable {
4
4
  readonly onDeviceAdd: Event<readonly T[]>;
5
5
  readonly onDeviceRemove: Event<readonly T[]>;
6
6
  readonly onListChange: Event<readonly T[]>;
7
7
  readonly current: readonly T[];
8
- stop(): MaybePromiseLike<void>;
9
8
  }
10
9
  //# sourceMappingURL=device-observer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-observer.d.ts","sourceRoot":"","sources":["../src/device-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IAC/B,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"device-observer.d.ts","sourceRoot":"","sources":["../src/device-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,SAAS;IAChD,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;CAClC"}
@@ -0,0 +1,40 @@
1
+ export declare const Shell2 = "shell_v2";
2
+ export declare const Cmd = "cmd";
3
+ export declare const Stat2 = "stat_v2";
4
+ export declare const Ls2 = "ls_v2";
5
+ /**
6
+ * server only
7
+ */
8
+ export declare const Libusb = "libusb";
9
+ /**
10
+ * server only
11
+ */
12
+ export declare const PushSync = "push_sync";
13
+ export declare const Apex = "apex";
14
+ export declare const FixedPushMkdir = "fixed_push_mkdir";
15
+ export declare const Abb = "abb";
16
+ export declare const FixedPushSymlinkTimestamp = "fixed_push_symlink_timestamp";
17
+ export declare const AbbExec = "abb_exec";
18
+ export declare const RemountShell = "remount_shell";
19
+ export declare const TrackApp = "track_app";
20
+ export declare const SendReceive2 = "sendrecv_v2";
21
+ export declare const SendReceive2Brotli = "sendrecv_v2_brotli";
22
+ export declare const SendReceive2Lz4 = "sendrecv_v2_lz4";
23
+ export declare const SendReceive2Zstd = "sendrecv_v2_zstd";
24
+ export declare const SendReceive2DryRunSend = "sendrecv_v2_dry_run_send";
25
+ export declare const DelayedAck = "delayed_ack";
26
+ /**
27
+ * server only
28
+ */
29
+ export declare const OpenscreenMdns = "openscreen_mdns";
30
+ /**
31
+ * server only
32
+ */
33
+ export declare const DeviceTrackerProtoFormat = "devicetracker_proto_format";
34
+ export declare const DevRaw = "devraw";
35
+ export declare const AppInfo = "app_info";
36
+ /**
37
+ * server only
38
+ */
39
+ export declare const ServerStatus = "server_status";
40
+ //# sourceMappingURL=features-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features-value.d.ts","sourceRoot":"","sources":["../src/features-value.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,aAAa,CAAC;AACjC,eAAO,MAAM,GAAG,QAAQ,CAAC;AACzB,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,GAAG,UAAU,CAAC;AAC3B;;GAEG;AACH,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B;;GAEG;AACH,eAAO,MAAM,QAAQ,cAAc,CAAC;AACpC,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,cAAc,qBAAqB,CAAC;AACjD,eAAO,MAAM,GAAG,QAAQ,CAAC;AACzB,eAAO,MAAM,yBAAyB,iCAAiC,CAAC;AACxE,eAAO,MAAM,OAAO,aAAa,CAAC;AAClC,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAC5C,eAAO,MAAM,QAAQ,cAAc,CAAC;AACpC,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAC1C,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AACjE,eAAO,MAAM,UAAU,gBAAgB,CAAC;AACxC;;GAEG;AACH,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD;;GAEG;AACH,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AACrE,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,OAAO,aAAa,CAAC;AAClC;;GAEG;AACH,eAAO,MAAM,YAAY,kBAAkB,CAAC"}
@@ -0,0 +1,46 @@
1
+ // cspell: ignore Libusb
2
+ // cspell: ignore devraw
3
+ // cspell: ignore Openscreen
4
+ // cspell: ignore devicetracker
5
+ // The order follows
6
+ // https://cs.android.com/android/platform/superproject/main/+/main:packages/modules/adb/transport.cpp;l=81;drc=2d3e62c2af54a3e8f8803ea10492e63b8dfe709f
7
+ export const Shell2 = "shell_v2";
8
+ export const Cmd = "cmd";
9
+ export const Stat2 = "stat_v2";
10
+ export const Ls2 = "ls_v2";
11
+ /**
12
+ * server only
13
+ */
14
+ export const Libusb = "libusb";
15
+ /**
16
+ * server only
17
+ */
18
+ export const PushSync = "push_sync";
19
+ export const Apex = "apex";
20
+ export const FixedPushMkdir = "fixed_push_mkdir";
21
+ export const Abb = "abb";
22
+ export const FixedPushSymlinkTimestamp = "fixed_push_symlink_timestamp";
23
+ export const AbbExec = "abb_exec";
24
+ export const RemountShell = "remount_shell";
25
+ export const TrackApp = "track_app";
26
+ export const SendReceive2 = "sendrecv_v2";
27
+ export const SendReceive2Brotli = "sendrecv_v2_brotli";
28
+ export const SendReceive2Lz4 = "sendrecv_v2_lz4";
29
+ export const SendReceive2Zstd = "sendrecv_v2_zstd";
30
+ export const SendReceive2DryRunSend = "sendrecv_v2_dry_run_send";
31
+ export const DelayedAck = "delayed_ack";
32
+ /**
33
+ * server only
34
+ */
35
+ export const OpenscreenMdns = "openscreen_mdns";
36
+ /**
37
+ * server only
38
+ */
39
+ export const DeviceTrackerProtoFormat = "devicetracker_proto_format";
40
+ export const DevRaw = "devraw";
41
+ export const AppInfo = "app_info";
42
+ /**
43
+ * server only
44
+ */
45
+ export const ServerStatus = "server_status";
46
+ //# sourceMappingURL=features-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features-value.js","sourceRoot":"","sources":["../src/features-value.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,wBAAwB;AACxB,4BAA4B;AAC5B,+BAA+B;AAE/B,oBAAoB;AACpB,wJAAwJ;AAExJ,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC;AACjC,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC;AACzB,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC;AAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC;AAC3B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;AACpC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC;AACzB,MAAM,CAAC,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;AAClC,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;AAC5C,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AACjE,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AACxC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAChD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AACrE,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;AAClC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC"}
package/esm/features.d.ts CHANGED
@@ -1,13 +1,5 @@
1
- export declare const AdbFeature: {
2
- readonly ShellV2: "shell_v2";
3
- readonly Cmd: "cmd";
4
- readonly StatV2: "stat_v2";
5
- readonly ListV2: "ls_v2";
6
- readonly FixedPushMkdir: "fixed_push_mkdir";
7
- readonly Abb: "abb";
8
- readonly AbbExec: "abb_exec";
9
- readonly SendReceiveV2: "sendrecv_v2";
10
- readonly DelayedAck: "delayed_ack";
11
- };
12
- export type AdbFeature = (typeof AdbFeature)[keyof typeof AdbFeature];
1
+ import * as AdbFeature from "./features-value.js";
2
+ type AdbFeature = (typeof AdbFeature)[keyof typeof AdbFeature];
3
+ export { AdbFeature };
4
+ export declare const AdbDeviceFeatures: readonly AdbFeature[];
13
5
  //# sourceMappingURL=features.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;CAUb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAGlD,KAAK,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,CAAC;AAItB,eAAO,MAAM,iBAAiB,EAsBzB,SAAS,UAAU,EAAE,CAAC"}
package/esm/features.js CHANGED
@@ -1,14 +1,28 @@
1
- // The order follows
2
- // https://cs.android.com/android/platform/superproject/+/master:packages/modules/adb/transport.cpp;l=77;drc=6d14d35d0241f6fee145f8e54ffd77252e8d29fd
3
- export const AdbFeature = {
4
- ShellV2: "shell_v2",
5
- Cmd: "cmd",
6
- StatV2: "stat_v2",
7
- ListV2: "ls_v2",
8
- FixedPushMkdir: "fixed_push_mkdir",
9
- Abb: "abb",
10
- AbbExec: "abb_exec",
11
- SendReceiveV2: "sendrecv_v2",
12
- DelayedAck: "delayed_ack",
13
- };
1
+ import * as AdbFeature from "./features-value.js";
2
+ export { AdbFeature };
3
+ // https://android.googlesource.com/platform/packages/modules/adb/+/79010dc6d5ca7490c493df800d4421730f5466ca/transport.cpp#1252
4
+ // There are some other feature constants, but some of them are only used by ADB server, not devices (daemons).
5
+ export const AdbDeviceFeatures = [
6
+ AdbFeature.Shell2,
7
+ AdbFeature.Cmd,
8
+ AdbFeature.Stat2,
9
+ AdbFeature.Ls2,
10
+ AdbFeature.FixedPushMkdir,
11
+ AdbFeature.Apex,
12
+ AdbFeature.Abb,
13
+ // only tells the client the symlink timestamp issue in `adb push --sync` has been fixed.
14
+ // No special handling required.
15
+ AdbFeature.FixedPushSymlinkTimestamp,
16
+ AdbFeature.AbbExec,
17
+ AdbFeature.RemountShell,
18
+ AdbFeature.TrackApp,
19
+ AdbFeature.SendReceive2,
20
+ AdbFeature.SendReceive2Brotli,
21
+ AdbFeature.SendReceive2Lz4,
22
+ AdbFeature.SendReceive2Zstd,
23
+ AdbFeature.SendReceive2DryRunSend,
24
+ AdbFeature.DevRaw,
25
+ AdbFeature.AppInfo,
26
+ AdbFeature.DelayedAck,
27
+ ];
14
28
  //# sourceMappingURL=features.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,qJAAqJ;AACrJ,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,OAAO,EAAE,UAAU;IACnB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,OAAO;IACf,cAAc,EAAE,kBAAkB;IAClC,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,UAAU;IACnB,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,aAAa;CACnB,CAAC"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAKlD,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,+HAA+H;AAC/H,+GAA+G;AAC/G,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,UAAU,CAAC,MAAM;IACjB,UAAU,CAAC,GAAG;IACd,UAAU,CAAC,KAAK;IAChB,UAAU,CAAC,GAAG;IACd,UAAU,CAAC,cAAc;IACzB,UAAU,CAAC,IAAI;IACf,UAAU,CAAC,GAAG;IACd,yFAAyF;IACzF,gCAAgC;IAChC,UAAU,CAAC,yBAAyB;IACpC,UAAU,CAAC,OAAO;IAClB,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,QAAQ;IACnB,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,kBAAkB;IAC7B,UAAU,CAAC,eAAe;IAC1B,UAAU,CAAC,gBAAgB;IAC3B,UAAU,CAAC,sBAAsB;IACjC,UAAU,CAAC,MAAM;IACjB,UAAU,CAAC,OAAO;IAClB,UAAU,CAAC,UAAU;CACC,CAAC"}
package/esm/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export * from "./adb.js";
2
2
  export * from "./banner.js";
3
- export * from "./commands/index.js";
4
3
  export * from "./daemon/index.js";
5
4
  export * from "./device-observer.js";
6
5
  export * from "./features.js";
7
6
  export * from "./server/index.js";
7
+ export * from "./service/index.js";
8
8
  export * from "./utils/index.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
package/esm/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  export * from "./adb.js";
2
2
  export * from "./banner.js";
3
- export * from "./commands/index.js";
4
3
  export * from "./daemon/index.js";
5
4
  export * from "./device-observer.js";
6
5
  export * from "./features.js";
7
6
  export * from "./server/index.js";
7
+ export * from "./service/index.js";
8
8
  export * from "./utils/index.js";
9
9
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -1,19 +1,20 @@
1
1
  import type { MaybePromiseLike } from "@yume-chan/async";
2
2
  import type { Event } from "@yume-chan/event";
3
3
  import type { AbortSignal, MaybeConsumable, ReadableWritablePair } from "@yume-chan/stream-extra";
4
- import type { AdbIncomingSocketHandler, AdbSocket, Closeable } from "../adb.js";
4
+ import type { Closeable } from "../adb.js";
5
5
  import { Adb } from "../adb.js";
6
6
  import type { DeviceObserver as DeviceObserverBase } from "../device-observer.js";
7
7
  import type { AdbFeature } from "../features.js";
8
8
  import { MDnsCommands, WirelessCommands, AlreadyConnectedError as _AlreadyConnectedError, NetworkError as _NetworkError, UnauthorizedError as _UnauthorizedError } from "./commands/index.js";
9
+ import { AdbServerDataConnection } from "./data-connection.js";
9
10
  import { AdbServerDeviceObserverOwner } from "./observer.js";
10
- import { AdbServerStream } from "./stream.js";
11
11
  import { AdbServerTransport } from "./transport.js";
12
12
  /**
13
13
  * Client for the ADB Server.
14
14
  */
15
15
  export declare class AdbServerClient {
16
16
  #private;
17
+ static ConnectionState: readonly ["offline", "bootloader", "device", "host", "recovery", "rescue", "sideload", "unauthorized", "authorizing", "detached"];
17
18
  static NetworkError: typeof _NetworkError;
18
19
  static UnauthorizedError: typeof _UnauthorizedError;
19
20
  static AlreadyConnectedError: typeof _AlreadyConnectedError;
@@ -23,12 +24,12 @@ export declare class AdbServerClient {
23
24
  readonly wireless: WirelessCommands;
24
25
  readonly mDns: MDnsCommands;
25
26
  constructor(connector: AdbServerClient.ServerConnector);
26
- createConnection(request: string, options?: AdbServerClient.ServerConnectionOptions): Promise<AdbServerStream>;
27
+ createConnection(request: string, options?: AdbServerClient.ServerConnectionOptions): Promise<AdbServerDataConnection>;
27
28
  /**
28
29
  * `adb version`
29
30
  */
30
- getVersion(): Promise<number>;
31
- validateVersion(minimalVersion: number): Promise<void>;
31
+ getVersion(options?: AdbServerClient.ServerConnectionOptions): Promise<number>;
32
+ validateVersion(minimalVersion: number, options?: AdbServerClient.ServerConnectionOptions): Promise<void>;
32
33
  /**
33
34
  * `adb kill-server`
34
35
  */
@@ -66,9 +67,10 @@ export declare class AdbServerClient {
66
67
  * Creates a connection that will forward the service to device.
67
68
  * @param device The device selector
68
69
  * @param service The service to forward
70
+ * @param options The server connection options
69
71
  * @returns An `AdbServerClient.Socket` that can be used to communicate with the service
70
72
  */
71
- createDeviceConnection(device: AdbServerClient.DeviceSelector, service: string): Promise<AdbServerClient.Socket>;
73
+ createDeviceConnection(device: AdbServerClient.DeviceSelector, service: string, options?: AdbServerClient.ServerConnectionOptions): Promise<AdbServerClient.Socket>;
72
74
  /**
73
75
  * Wait for a device to be connected or disconnected.
74
76
  *
@@ -87,7 +89,6 @@ export declare class AdbServerClient {
87
89
  createTransport(device: AdbServerClient.DeviceSelector): Promise<AdbServerTransport>;
88
90
  createAdb(device: AdbServerClient.DeviceSelector): Promise<Adb>;
89
91
  }
90
- export declare function raceSignal<T>(callback: () => PromiseLike<T>, ...signals: (AbortSignal | undefined)[]): Promise<T>;
91
92
  export declare namespace AdbServerClient {
92
93
  interface ServerConnectionOptions {
93
94
  unref?: boolean | undefined;
@@ -98,11 +99,11 @@ export declare namespace AdbServerClient {
98
99
  }
99
100
  interface ServerConnector {
100
101
  connect(options?: ServerConnectionOptions): MaybePromiseLike<ServerConnection>;
101
- addReverseTunnel(handler: AdbIncomingSocketHandler, address?: string): MaybePromiseLike<string>;
102
+ addReverseTunnel(handler: Adb.IncomingSocketHandler, address?: string): MaybePromiseLike<string>;
102
103
  removeReverseTunnel(address: string): MaybePromiseLike<void>;
103
104
  clearReverseTunnels(): MaybePromiseLike<void>;
104
105
  }
105
- interface Socket extends AdbSocket {
106
+ interface Socket extends Adb.Socket {
106
107
  transportId: bigint;
107
108
  }
108
109
  /**
@@ -117,7 +118,7 @@ export declare namespace AdbServerClient {
117
118
  } | {
118
119
  tcp: true;
119
120
  } | undefined;
120
- type ConnectionState = "unauthorized" | "offline" | "device";
121
+ type ConnectionState = (typeof AdbServerClient.ConnectionState)[number];
121
122
  interface Device {
122
123
  serial: string;
123
124
  state: ConnectionState;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/server/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/server/client.ts"],"names":[],"mappings":"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"}