@yume-chan/adb 0.0.19 → 0.0.21

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 (197) hide show
  1. package/CHANGELOG.json +57 -0
  2. package/CHANGELOG.md +26 -1
  3. package/README.md +222 -103
  4. package/esm/adb.d.ts +28 -45
  5. package/esm/adb.d.ts.map +1 -1
  6. package/esm/adb.js +34 -213
  7. package/esm/adb.js.map +1 -1
  8. package/esm/banner.d.ts +17 -0
  9. package/esm/banner.d.ts.map +1 -0
  10. package/esm/banner.js +67 -0
  11. package/esm/banner.js.map +1 -0
  12. package/esm/commands/base.d.ts.map +1 -1
  13. package/esm/commands/base.js.map +1 -1
  14. package/esm/commands/framebuffer.d.ts +9 -0
  15. package/esm/commands/framebuffer.d.ts.map +1 -1
  16. package/esm/commands/framebuffer.js +27 -3
  17. package/esm/commands/framebuffer.js.map +1 -1
  18. package/esm/commands/power.d.ts +1 -1
  19. package/esm/commands/power.d.ts.map +1 -1
  20. package/esm/commands/power.js +2 -2
  21. package/esm/commands/power.js.map +1 -1
  22. package/esm/commands/reverse.d.ts +17 -18
  23. package/esm/commands/reverse.d.ts.map +1 -1
  24. package/esm/commands/reverse.js +53 -48
  25. package/esm/commands/reverse.js.map +1 -1
  26. package/esm/commands/subprocess/command.d.ts +1 -1
  27. package/esm/commands/subprocess/command.d.ts.map +1 -1
  28. package/esm/commands/subprocess/command.js +15 -13
  29. package/esm/commands/subprocess/command.js.map +1 -1
  30. package/esm/commands/subprocess/protocols/none.d.ts +3 -8
  31. package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
  32. package/esm/commands/subprocess/protocols/none.js +16 -16
  33. package/esm/commands/subprocess/protocols/none.js.map +1 -1
  34. package/esm/commands/subprocess/protocols/shell.d.ts +3 -9
  35. package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
  36. package/esm/commands/subprocess/protocols/shell.js +63 -57
  37. package/esm/commands/subprocess/protocols/shell.js.map +1 -1
  38. package/esm/commands/subprocess/protocols/types.d.ts +1 -2
  39. package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
  40. package/esm/commands/sync/list.js +2 -2
  41. package/esm/commands/sync/push.d.ts +14 -3
  42. package/esm/commands/sync/push.d.ts.map +1 -1
  43. package/esm/commands/sync/push.js +9 -9
  44. package/esm/commands/sync/push.js.map +1 -1
  45. package/esm/commands/sync/request.js +2 -2
  46. package/esm/commands/sync/request.js.map +1 -1
  47. package/esm/commands/sync/response.d.ts +5 -3
  48. package/esm/commands/sync/response.d.ts.map +1 -1
  49. package/esm/commands/sync/response.js +7 -5
  50. package/esm/commands/sync/response.js.map +1 -1
  51. package/esm/commands/sync/socket.d.ts +8 -14
  52. package/esm/commands/sync/socket.d.ts.map +1 -1
  53. package/esm/commands/sync/socket.js +35 -32
  54. package/esm/commands/sync/socket.js.map +1 -1
  55. package/esm/commands/sync/stat.js +4 -4
  56. package/esm/commands/sync/stat.js.map +1 -1
  57. package/esm/commands/sync/sync.d.ts +26 -18
  58. package/esm/commands/sync/sync.d.ts.map +1 -1
  59. package/esm/commands/sync/sync.js +36 -25
  60. package/esm/commands/sync/sync.js.map +1 -1
  61. package/esm/commands/tcpip.d.ts +2 -2
  62. package/esm/commands/tcpip.d.ts.map +1 -1
  63. package/esm/commands/tcpip.js +4 -2
  64. package/esm/commands/tcpip.js.map +1 -1
  65. package/esm/{auth.d.ts → daemon/auth.d.ts} +12 -11
  66. package/esm/daemon/auth.d.ts.map +1 -0
  67. package/esm/{auth.js → daemon/auth.js} +31 -22
  68. package/esm/daemon/auth.js.map +1 -0
  69. package/esm/{crypto.d.ts → daemon/crypto.d.ts} +5 -5
  70. package/esm/daemon/crypto.d.ts.map +1 -0
  71. package/esm/{crypto.js → daemon/crypto.js} +24 -28
  72. package/esm/daemon/crypto.js.map +1 -0
  73. package/esm/{backend.d.ts → daemon/device.d.ts} +2 -2
  74. package/esm/daemon/device.d.ts.map +1 -0
  75. package/esm/daemon/device.js +2 -0
  76. package/esm/daemon/device.js.map +1 -0
  77. package/esm/{socket → daemon}/dispatcher.d.ts +12 -30
  78. package/esm/daemon/dispatcher.d.ts.map +1 -0
  79. package/esm/{socket → daemon}/dispatcher.js +80 -78
  80. package/esm/daemon/dispatcher.js.map +1 -0
  81. package/esm/daemon/index.d.ts +8 -0
  82. package/esm/daemon/index.d.ts.map +1 -0
  83. package/esm/daemon/index.js +8 -0
  84. package/esm/daemon/index.js.map +1 -0
  85. package/esm/{packet.d.ts → daemon/packet.d.ts} +4 -4
  86. package/esm/daemon/packet.d.ts.map +1 -0
  87. package/esm/{packet.js → daemon/packet.js} +2 -2
  88. package/esm/{packet.js.map → daemon/packet.js.map} +1 -1
  89. package/esm/{socket → daemon}/socket.d.ts +15 -19
  90. package/esm/daemon/socket.d.ts.map +1 -0
  91. package/esm/{socket → daemon}/socket.js +49 -42
  92. package/esm/daemon/socket.js.map +1 -0
  93. package/esm/daemon/transport.d.ts +53 -0
  94. package/esm/daemon/transport.d.ts.map +1 -0
  95. package/esm/daemon/transport.js +186 -0
  96. package/esm/daemon/transport.js.map +1 -0
  97. package/esm/features.js +1 -1
  98. package/esm/features.js.map +1 -1
  99. package/esm/index.d.ts +3 -5
  100. package/esm/index.d.ts.map +1 -1
  101. package/esm/index.js +3 -5
  102. package/esm/index.js.map +1 -1
  103. package/esm/server/client.d.ts +78 -0
  104. package/esm/server/client.d.ts.map +1 -0
  105. package/esm/server/client.js +328 -0
  106. package/esm/server/client.js.map +1 -0
  107. package/esm/server/index.d.ts +3 -0
  108. package/esm/server/index.d.ts.map +1 -0
  109. package/esm/server/index.js +3 -0
  110. package/esm/server/index.js.map +1 -0
  111. package/esm/server/transport.d.ts +19 -0
  112. package/esm/server/transport.d.ts.map +1 -0
  113. package/esm/server/transport.js +44 -0
  114. package/esm/server/transport.js.map +1 -0
  115. package/esm/utils/auto-reset-event.d.ts +1 -2
  116. package/esm/utils/auto-reset-event.d.ts.map +1 -1
  117. package/esm/utils/auto-reset-event.js +12 -12
  118. package/esm/utils/auto-reset-event.js.map +1 -1
  119. package/esm/utils/base64.js +5 -5
  120. package/esm/utils/base64.js.map +1 -1
  121. package/esm/utils/conditional-variable.d.ts +1 -2
  122. package/esm/utils/conditional-variable.d.ts.map +1 -1
  123. package/esm/utils/conditional-variable.js +10 -10
  124. package/esm/utils/conditional-variable.js.map +1 -1
  125. package/esm/utils/hex.d.ts +3 -0
  126. package/esm/utils/hex.d.ts.map +1 -0
  127. package/esm/utils/hex.js +55 -0
  128. package/esm/utils/hex.js.map +1 -0
  129. package/esm/utils/index.d.ts +2 -0
  130. package/esm/utils/index.d.ts.map +1 -1
  131. package/esm/utils/index.js +2 -0
  132. package/esm/utils/index.js.map +1 -1
  133. package/esm/utils/no-op.d.ts +7 -0
  134. package/esm/utils/no-op.d.ts.map +1 -0
  135. package/esm/utils/no-op.js +12 -0
  136. package/esm/utils/no-op.js.map +1 -0
  137. package/package.json +12 -12
  138. package/src/adb.ts +75 -274
  139. package/src/banner.ts +82 -0
  140. package/src/commands/base.ts +1 -1
  141. package/src/commands/framebuffer.ts +31 -3
  142. package/src/commands/power.ts +10 -10
  143. package/src/commands/reverse.ts +77 -82
  144. package/src/commands/subprocess/command.ts +24 -25
  145. package/src/commands/subprocess/protocols/none.ts +29 -30
  146. package/src/commands/subprocess/protocols/shell.ts +87 -89
  147. package/src/commands/subprocess/protocols/types.ts +1 -2
  148. package/src/commands/sync/list.ts +7 -7
  149. package/src/commands/sync/pull.ts +4 -4
  150. package/src/commands/sync/push.ts +28 -16
  151. package/src/commands/sync/request.ts +4 -4
  152. package/src/commands/sync/response.ts +13 -11
  153. package/src/commands/sync/socket.ts +48 -46
  154. package/src/commands/sync/stat.ts +5 -5
  155. package/src/commands/sync/sync.ts +55 -43
  156. package/src/commands/tcpip.ts +6 -4
  157. package/src/{auth.ts → daemon/auth.ts} +62 -43
  158. package/src/{crypto.ts → daemon/crypto.ts} +33 -41
  159. package/src/{backend.ts → daemon/device.ts} +1 -1
  160. package/src/{socket → daemon}/dispatcher.ts +103 -109
  161. package/src/daemon/index.ts +7 -0
  162. package/src/{packet.ts → daemon/packet.ts} +6 -6
  163. package/src/{socket → daemon}/socket.ts +77 -67
  164. package/src/daemon/transport.ts +281 -0
  165. package/src/index.ts +3 -5
  166. package/src/server/client.ts +473 -0
  167. package/src/server/index.ts +2 -0
  168. package/src/server/transport.ts +77 -0
  169. package/src/utils/auto-reset-event.ts +16 -16
  170. package/src/utils/base64.ts +5 -5
  171. package/src/utils/conditional-variable.ts +14 -14
  172. package/src/utils/hex.ts +58 -0
  173. package/src/utils/index.ts +2 -0
  174. package/src/utils/no-op.ts +12 -0
  175. package/tsconfig.build.json +12 -1
  176. package/tsconfig.build.tsbuildinfo +1 -1
  177. package/esm/auth.d.ts.map +0 -1
  178. package/esm/auth.js.map +0 -1
  179. package/esm/backend.d.ts.map +0 -1
  180. package/esm/backend.js +0 -2
  181. package/esm/backend.js.map +0 -1
  182. package/esm/commands/install.d.ts +0 -10
  183. package/esm/commands/install.d.ts.map +0 -1
  184. package/esm/commands/install.js +0 -29
  185. package/esm/commands/install.js.map +0 -1
  186. package/esm/crypto.d.ts.map +0 -1
  187. package/esm/crypto.js.map +0 -1
  188. package/esm/packet.d.ts.map +0 -1
  189. package/esm/socket/dispatcher.d.ts.map +0 -1
  190. package/esm/socket/dispatcher.js.map +0 -1
  191. package/esm/socket/index.d.ts +0 -3
  192. package/esm/socket/index.d.ts.map +0 -1
  193. package/esm/socket/index.js +0 -3
  194. package/esm/socket/index.js.map +0 -1
  195. package/esm/socket/socket.d.ts.map +0 -1
  196. package/esm/socket/socket.js.map +0 -1
  197. package/src/socket/index.ts +0 -2
@@ -1,5 +1,5 @@
1
1
  import { PromiseResolver } from "@yume-chan/async";
2
- import { ConsumableTransformStream, ConsumableWritableStream, PushReadableStream, StructDeserializeStream, TransformStream, WritableStream, pipeFrom, } from "@yume-chan/stream-extra";
2
+ import { ConsumableTransformStream, ConsumableWritableStream, PushReadableStream, StructDeserializeStream, WritableStream, pipeFrom, } from "@yume-chan/stream-extra";
3
3
  import Struct, { placeholder } from "@yume-chan/struct";
4
4
  import { AdbFeature } from "../../../features.js";
5
5
  import { encodeUtf8 } from "../../../utils/index.js";
@@ -11,7 +11,7 @@ export var AdbShellProtocolId;
11
11
  AdbShellProtocolId[AdbShellProtocolId["Exit"] = 3] = "Exit";
12
12
  AdbShellProtocolId[AdbShellProtocolId["CloseStdin"] = 4] = "CloseStdin";
13
13
  AdbShellProtocolId[AdbShellProtocolId["WindowSizeChange"] = 5] = "WindowSizeChange";
14
- })(AdbShellProtocolId = AdbShellProtocolId || (AdbShellProtocolId = {}));
14
+ })(AdbShellProtocolId || (AdbShellProtocolId = {}));
15
15
  // This packet format is used in both direction.
16
16
  const AdbShellProtocolPacket = new Struct({ littleEndian: true })
17
17
  .uint8("id", placeholder())
@@ -32,47 +32,36 @@ class StdinSerializeStream extends ConsumableTransformStream {
32
32
  });
33
33
  }
34
34
  }
35
- class StdoutDeserializeStream extends TransformStream {
36
- constructor(type) {
37
- super({
38
- transform(chunk, controller) {
39
- if (chunk.id === type) {
40
- controller.enqueue(chunk.data);
41
- }
42
- },
43
- });
44
- }
45
- }
46
35
  class MultiplexStream {
47
- _readable;
48
- _readableController;
36
+ #readable;
37
+ #readableController;
49
38
  get readable() {
50
- return this._readable;
39
+ return this.#readable;
51
40
  }
52
- _activeCount = 0;
41
+ #activeCount = 0;
53
42
  constructor() {
54
- this._readable = new PushReadableStream((controller) => {
55
- this._readableController = controller;
43
+ this.#readable = new PushReadableStream((controller) => {
44
+ this.#readableController = controller;
56
45
  });
57
46
  }
58
47
  createWriteable() {
59
48
  return new WritableStream({
60
49
  start: () => {
61
- this._activeCount += 1;
50
+ this.#activeCount += 1;
62
51
  },
63
52
  write: async (chunk) => {
64
- await this._readableController.enqueue(chunk);
53
+ await this.#readableController.enqueue(chunk);
65
54
  },
66
55
  abort: () => {
67
- this._activeCount -= 1;
68
- if (this._activeCount === 0) {
69
- this._readableController.close();
56
+ this.#activeCount -= 1;
57
+ if (this.#activeCount === 0) {
58
+ this.#readableController.close();
70
59
  }
71
60
  },
72
61
  close: () => {
73
- this._activeCount -= 1;
74
- if (this._activeCount === 0) {
75
- this._readableController.close();
62
+ this.#activeCount -= 1;
63
+ if (this.#activeCount === 0) {
64
+ this.#readableController.close();
76
65
  }
77
66
  },
78
67
  });
@@ -97,48 +86,65 @@ export class AdbSubprocessShellProtocol {
97
86
  static async raw(adb, command) {
98
87
  return new AdbSubprocessShellProtocol(await adb.createSocket(`shell,v2,raw:${command}`));
99
88
  }
100
- _socket;
101
- _socketWriter;
102
- _stdin;
89
+ #socket;
90
+ #socketWriter;
91
+ #stdin;
103
92
  get stdin() {
104
- return this._stdin;
93
+ return this.#stdin;
105
94
  }
106
- _stdout;
95
+ #stdout;
107
96
  get stdout() {
108
- return this._stdout;
97
+ return this.#stdout;
109
98
  }
110
- _stderr;
99
+ #stderr;
111
100
  get stderr() {
112
- return this._stderr;
101
+ return this.#stderr;
113
102
  }
114
- _exit = new PromiseResolver();
103
+ #exit = new PromiseResolver();
115
104
  get exit() {
116
- return this._exit.promise;
105
+ return this.#exit.promise;
117
106
  }
118
107
  constructor(socket) {
119
- this._socket = socket;
108
+ this.#socket = socket;
120
109
  // Check this image to help you understand the stream graph
121
110
  // cspell: disable-next-line
122
111
  // https://www.plantuml.com/plantuml/png/bL91QiCm4Bpx5SAdv90lb1JISmiw5XzaQKf5PIkiLZIqzEyLSg8ks13gYtOykpFhiOw93N6UGjVDqK7rZsxKqNw0U_NTgVAy4empOy2mm4_olC0VEVEE47GUpnGjKdgXoD76q4GIEpyFhOwP_m28hW0NNzxNUig1_JdW0bA7muFIJDco1daJ_1SAX9bgvoPJPyIkSekhNYctvIGXrCH6tIsPL5fs-s6J5yc9BpWXhKtNdF2LgVYPGM_6GlMwfhWUsIt4lbScANrwlgVVUifPSVi__t44qStnwPvZwobdSmHHlL57p2vFuHS0
123
- // TODO: AdbShellSubprocessProtocol: Optimize stream graph
124
- const [stdout, stderr] = socket.readable
112
+ let stdoutController;
113
+ let stderrController;
114
+ this.#stdout = new PushReadableStream((controller) => {
115
+ stdoutController = controller;
116
+ });
117
+ this.#stderr = new PushReadableStream((controller) => {
118
+ stderrController = controller;
119
+ });
120
+ socket.readable
125
121
  .pipeThrough(new StructDeserializeStream(AdbShellProtocolPacket))
126
- .pipeThrough(new TransformStream({
127
- transform: (chunk, controller) => {
128
- if (chunk.id === AdbShellProtocolId.Exit) {
129
- this._exit.resolve(new Uint8Array(chunk.data)[0]);
130
- // We can let `StdoutDeserializeStream` to process `AdbShellProtocolId.Exit`,
131
- // but since we need this `TransformStream` to capture the exit code anyway,
132
- // terminating child streams here is killing two birds with one stone.
133
- controller.terminate();
134
- return;
122
+ .pipeTo(new WritableStream({
123
+ write: async (chunk) => {
124
+ switch (chunk.id) {
125
+ case AdbShellProtocolId.Exit:
126
+ this.#exit.resolve(chunk.data[0]);
127
+ break;
128
+ case AdbShellProtocolId.Stdout:
129
+ await stdoutController.enqueue(chunk.data);
130
+ break;
131
+ case AdbShellProtocolId.Stderr:
132
+ await stderrController.enqueue(chunk.data);
133
+ break;
135
134
  }
136
- controller.enqueue(chunk);
137
135
  },
138
136
  }))
139
- .tee();
140
- this._stdout = stdout.pipeThrough(new StdoutDeserializeStream(AdbShellProtocolId.Stdout));
141
- this._stderr = stderr.pipeThrough(new StdoutDeserializeStream(AdbShellProtocolId.Stderr));
137
+ .then(() => {
138
+ stdoutController.close();
139
+ stderrController.close();
140
+ // If `#exit` has already resolved, this will be a no-op
141
+ this.#exit.reject(new Error("Socket ended without exit message"));
142
+ }, (e) => {
143
+ stdoutController.error(e);
144
+ stderrController.error(e);
145
+ // If `#exit` has already resolved, this will be a no-op
146
+ this.#exit.reject(e);
147
+ });
142
148
  const multiplexer = new MultiplexStream();
143
149
  void multiplexer.readable
144
150
  .pipeThrough(new ConsumableTransformStream({
@@ -147,11 +153,11 @@ export class AdbSubprocessShellProtocol {
147
153
  },
148
154
  }))
149
155
  .pipeTo(socket.writable);
150
- this._stdin = pipeFrom(multiplexer.createWriteable(), new StdinSerializeStream());
151
- this._socketWriter = multiplexer.createWriteable().getWriter();
156
+ this.#stdin = pipeFrom(multiplexer.createWriteable(), new StdinSerializeStream());
157
+ this.#socketWriter = multiplexer.createWriteable().getWriter();
152
158
  }
153
159
  async resize(rows, cols) {
154
- await ConsumableWritableStream.write(this._socketWriter, {
160
+ await ConsumableWritableStream.write(this.#socketWriter, {
155
161
  id: AdbShellProtocolId.WindowSizeChange,
156
162
  data: encodeUtf8(
157
163
  // The "correct" format is `${rows}x${cols},${x_pixels}x${y_pixels}`
@@ -161,7 +167,7 @@ export class AdbSubprocessShellProtocol {
161
167
  });
162
168
  }
163
169
  kill() {
164
- return this._socket.close();
170
+ return this.#socket.close();
165
171
  }
166
172
  }
167
173
  //# sourceMappingURL=shell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { Consumable, ReadableStream, WritableStream } from "@yume-chan/stream-extra";
2
2
  import type { ValueOrPromise } from "@yume-chan/struct";
3
- import type { Adb } from "../../../adb.js";
4
- import type { AdbSocket } from "../../../socket/index.js";
3
+ import type { Adb, AdbSocket } from "../../../adb.js";
5
4
  export interface AdbSubprocessProtocol {
6
5
  /**
7
6
  * A WritableStream that writes to the `stdin` stream.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,cAAc,EACd,cAAc,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzD;;OAEG;IACH,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gCAAgC;IAC7C,+DAA+D;IAC/D,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/C,sDAAsD;IACtD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,gDAAgD;IAChD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,oEAAoE;IACpE,KAAK,MAAM,EAAE,SAAS,GAAG,qBAAqB,CAAC;CAClD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,cAAc,EACd,cAAc,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzD;;OAEG;IACH,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gCAAgC;IAC7C,+DAA+D;IAC/D,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/C,sDAAsD;IACtD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,gDAAgD;IAChD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,oEAAoE;IACpE,KAAK,MAAM,EAAE,SAAS,GAAG,qBAAqB,CAAC;CAClD"}
@@ -3,12 +3,12 @@ import { AdbSyncRequestId, adbSyncWriteRequest } from "./request.js";
3
3
  import { AdbSyncResponseId, adbSyncReadResponses } from "./response.js";
4
4
  import { AdbSyncLstatResponse, AdbSyncStatResponse } from "./stat.js";
5
5
  export const AdbSyncEntryResponse = new Struct({ littleEndian: true })
6
- .fields(AdbSyncLstatResponse)
6
+ .concat(AdbSyncLstatResponse)
7
7
  .uint32("nameLength")
8
8
  .string("name", { lengthField: "nameLength" })
9
9
  .extra({ id: AdbSyncResponseId.Entry });
10
10
  export const AdbSyncEntry2Response = new Struct({ littleEndian: true })
11
- .fields(AdbSyncStatResponse)
11
+ .concat(AdbSyncStatResponse)
12
12
  .uint32("nameLength")
13
13
  .string("name", { lengthField: "nameLength" })
14
14
  .extra({ id: AdbSyncResponseId.Entry2 });
@@ -2,19 +2,21 @@ import type { Consumable, ReadableStream } from "@yume-chan/stream-extra";
2
2
  import Struct from "@yume-chan/struct";
3
3
  import { AdbSyncRequestId } from "./request.js";
4
4
  import type { AdbSyncSocket } from "./socket.js";
5
+ import { LinuxFileType } from "./stat.js";
5
6
  export declare const ADB_SYNC_MAX_PACKET_SIZE: number;
6
7
  export interface AdbSyncPushV1Options {
7
8
  socket: AdbSyncSocket;
8
9
  filename: string;
9
10
  file: ReadableStream<Consumable<Uint8Array>>;
10
- mode?: number;
11
+ type?: LinuxFileType;
12
+ permission?: number;
11
13
  mtime?: number;
12
14
  packetSize?: number;
13
15
  }
14
16
  export declare const AdbSyncOkResponse: Struct<{
15
17
  unused: number;
16
18
  }, never, Record<never, never>, undefined>;
17
- export declare function adbSyncPushV1({ socket, filename, file, mode, mtime, packetSize, }: AdbSyncPushV1Options): Promise<void>;
19
+ export declare function adbSyncPushV1({ socket, filename, file, type, permission, mtime, packetSize, }: AdbSyncPushV1Options): Promise<void>;
18
20
  export declare enum AdbSyncSendV2Flags {
19
21
  None = 0,
20
22
  Brotli = 1,
@@ -32,6 +34,12 @@ export declare enum AdbSyncSendV2Flags {
32
34
  DryRun = 2147483648
33
35
  }
34
36
  export interface AdbSyncPushV2Options extends AdbSyncPushV1Options {
37
+ /**
38
+ * Don't write the file to disk. Requires the `sendrecv_v2` feature.
39
+ *
40
+ * It was used during ADB development to benchmark the performance of
41
+ * compression algorithms.
42
+ */
35
43
  dryRun?: boolean;
36
44
  }
37
45
  export declare const AdbSyncSendV2Request: Struct<{
@@ -39,8 +47,11 @@ export declare const AdbSyncSendV2Request: Struct<{
39
47
  mode: number;
40
48
  flags: AdbSyncSendV2Flags;
41
49
  }, never, Record<never, never>, undefined>;
42
- export declare function adbSyncPushV2({ socket, filename, file, mode, mtime, packetSize, dryRun, }: AdbSyncPushV2Options): Promise<void>;
50
+ export declare function adbSyncPushV2({ socket, filename, file, type, permission, mtime, packetSize, dryRun, }: AdbSyncPushV2Options): Promise<void>;
43
51
  export interface AdbSyncPushOptions extends AdbSyncPushV2Options {
52
+ /**
53
+ * Whether to use the v2 protocol. Requires the `sendrecv_v2` feature.
54
+ */
44
55
  v2: boolean;
45
56
  }
46
57
  export declare function adbSyncPush(options: AdbSyncPushOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM1E,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAuB,MAAM,cAAc,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAC;AAOtE,eAAO,MAAM,wBAAwB,QAAY,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB;;0CAE7B,CAAC;AAuCF,wBAAsB,aAAa,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,IAAyC,EACzC,KAA+B,EAC/B,UAAqC,GACxC,EAAE,oBAAoB,iBAStB;AAED,oBAAY,kBAAkB;IAC1B,IAAI,IAAI;IACR,MAAM,IAAI;IACV;;OAEG;IACH,GAAG,IAAS;IACZ;;OAEG;IACH,IAAI,IAAS;IACb;;OAEG;IACH,MAAM,aAAkB;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB;;;;0CAGsB,CAAC;AAExD,wBAAsB,aAAa,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,IAAyC,EACzC,KAA+B,EAC/B,UAAqC,EACrC,MAAc,GACjB,EAAE,oBAAoB,iBAqBtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC5D,EAAE,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,iBAUtD"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM1E,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAIxD,OAAO,EAAE,gBAAgB,EAAuB,MAAM,cAAc,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,eAAO,MAAM,wBAAwB,QAAY,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB;;0CAE7B,CAAC;AAuCF,wBAAsB,aAAa,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,IAAyB,EACzB,UAAkB,EAClB,KAA+B,EAC/B,UAAqC,GACxC,EAAE,oBAAoB,iBAUtB;AAED,oBAAY,kBAAkB;IAC1B,IAAI,IAAI;IACR,MAAM,IAAI;IACV;;OAEG;IACH,GAAG,IAAS;IACZ;;OAEG;IACH,IAAI,IAAS;IACb;;OAEG;IACH,MAAM,aAAkB;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB;;;;0CAGsB,CAAC;AAExD,wBAAsB,aAAa,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,IAAyB,EACzB,UAAkB,EAClB,KAA+B,EAC/B,UAAqC,EACrC,MAAc,GACjB,EAAE,oBAAoB,iBAsBtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC5D;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,iBAUtD"}
@@ -1,14 +1,12 @@
1
1
  import { AbortController, ConsumableWritableStream, DistributionStream, } from "@yume-chan/stream-extra";
2
2
  import Struct, { placeholder } from "@yume-chan/struct";
3
+ import { NOOP } from "../../utils/index.js";
3
4
  import { AdbSyncRequestId, adbSyncWriteRequest } from "./request.js";
4
5
  import { AdbSyncResponseId, adbSyncReadResponse } from "./response.js";
5
6
  import { LinuxFileType } from "./stat.js";
6
- const NOOP = () => {
7
- // no-op
8
- };
9
7
  export const ADB_SYNC_MAX_PACKET_SIZE = 64 * 1024;
10
8
  export const AdbSyncOkResponse = new Struct({ littleEndian: true }).uint32("unused");
11
- async function pipeFile(locked, file, packetSize, mtime) {
9
+ async function pipeFileData(locked, file, packetSize, mtime) {
12
10
  // Read and write in parallel,
13
11
  // allow error response to abort the write.
14
12
  const abortController = new AbortController();
@@ -27,12 +25,13 @@ async function pipeFile(locked, file, packetSize, mtime) {
27
25
  throw e;
28
26
  });
29
27
  }
30
- export async function adbSyncPushV1({ socket, filename, file, mode = (LinuxFileType.File << 12) | 0o666, mtime = (Date.now() / 1000) | 0, packetSize = ADB_SYNC_MAX_PACKET_SIZE, }) {
28
+ export async function adbSyncPushV1({ socket, filename, file, type = LinuxFileType.File, permission = 0o666, mtime = (Date.now() / 1000) | 0, packetSize = ADB_SYNC_MAX_PACKET_SIZE, }) {
31
29
  const locked = await socket.lock();
32
30
  try {
31
+ const mode = (type << 12) | permission;
33
32
  const pathAndMode = `${filename},${mode.toString()}`;
34
33
  await adbSyncWriteRequest(locked, AdbSyncRequestId.Send, pathAndMode);
35
- await pipeFile(locked, file, packetSize, mtime);
34
+ await pipeFileData(locked, file, packetSize, mtime);
36
35
  }
37
36
  finally {
38
37
  locked.release();
@@ -54,15 +53,16 @@ export var AdbSyncSendV2Flags;
54
53
  * 0x80000000
55
54
  */
56
55
  AdbSyncSendV2Flags[AdbSyncSendV2Flags["DryRun"] = 2147483648] = "DryRun";
57
- })(AdbSyncSendV2Flags = AdbSyncSendV2Flags || (AdbSyncSendV2Flags = {}));
56
+ })(AdbSyncSendV2Flags || (AdbSyncSendV2Flags = {}));
58
57
  export const AdbSyncSendV2Request = new Struct({ littleEndian: true })
59
58
  .uint32("id", placeholder())
60
59
  .uint32("mode")
61
60
  .uint32("flags", placeholder());
62
- export async function adbSyncPushV2({ socket, filename, file, mode = (LinuxFileType.File << 12) | 0o666, mtime = (Date.now() / 1000) | 0, packetSize = ADB_SYNC_MAX_PACKET_SIZE, dryRun = false, }) {
61
+ export async function adbSyncPushV2({ socket, filename, file, type = LinuxFileType.File, permission = 0o666, mtime = (Date.now() / 1000) | 0, packetSize = ADB_SYNC_MAX_PACKET_SIZE, dryRun = false, }) {
63
62
  const locked = await socket.lock();
64
63
  try {
65
64
  await adbSyncWriteRequest(locked, AdbSyncRequestId.SendV2, filename);
65
+ const mode = (type << 12) | permission;
66
66
  let flags = AdbSyncSendV2Flags.None;
67
67
  if (dryRun) {
68
68
  flags |= AdbSyncSendV2Flags.DryRun;
@@ -72,7 +72,7 @@ export async function adbSyncPushV2({ socket, filename, file, mode = (LinuxFileT
72
72
  mode,
73
73
  flags,
74
74
  }));
75
- await pipeFile(locked, file, packetSize, mtime);
75
+ await pipeFileData(locked, file, packetSize, mtime);
76
76
  }
77
77
  finally {
78
78
  locked.release();
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,12 @@ export var AdbSyncRequestId;
12
12
  AdbSyncRequestId["Data"] = "DATA";
13
13
  AdbSyncRequestId["Done"] = "DONE";
14
14
  AdbSyncRequestId["Receive"] = "RECV";
15
- })(AdbSyncRequestId = AdbSyncRequestId || (AdbSyncRequestId = {}));
15
+ })(AdbSyncRequestId || (AdbSyncRequestId = {}));
16
16
  export const AdbSyncNumberRequest = new Struct({ littleEndian: true })
17
17
  .string("id", { length: 4 })
18
18
  .uint32("arg");
19
19
  export const AdbSyncDataRequest = new Struct({ littleEndian: true })
20
- .fields(AdbSyncNumberRequest)
20
+ .concat(AdbSyncNumberRequest)
21
21
  .uint8Array("data", { lengthField: "arg" });
22
22
  export async function adbSyncWriteRequest(writable, id, value) {
23
23
  if (typeof value === "number") {
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAN,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,kCAAc,CAAA;IACd,iCAAa,CAAA;IACb,oCAAgB,CAAA;IAChB,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,oCAAgB,CAAA;AACpB,CAAC,EAXW,gBAAgB,GAAhB,gBAAgB,KAAhB,gBAAgB,QAW3B;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KACjE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KAC3B,MAAM,CAAC,KAAK,CAAC,CAAC;AAEnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC/D,MAAM,CAAC,oBAAoB,CAAC;KAC5B,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAMhD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,QAAyB,EACzB,EAA6B,EAC7B,KAAmC;IAEnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC;YAC1C,EAAE;YACF,GAAG,EAAE,KAAK;SACb,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAChC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAClC,+BAA+B;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,QAAQ,CAAC,KAAK,CAChB,oBAAoB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CACjE,CAAC;QACF,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAChC;SAAM;QACH,MAAM,QAAQ,CAAC,KAAK,CAChB,oBAAoB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAChE,CAAC;QACF,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC/B;AACL,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAN,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,kCAAc,CAAA;IACd,iCAAa,CAAA;IACb,oCAAgB,CAAA;IAChB,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,oCAAgB,CAAA;AACpB,CAAC,EAXW,gBAAgB,KAAhB,gBAAgB,QAW3B;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KACjE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KAC3B,MAAM,CAAC,KAAK,CAAC,CAAC;AAEnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC/D,MAAM,CAAC,oBAAoB,CAAC;KAC5B,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAMhD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,QAAyB,EACzB,EAA6B,EAC7B,KAAmC;IAEnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC;YAC1C,EAAE;YACF,GAAG,EAAE,KAAK;SACb,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAChC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAClC,+BAA+B;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,QAAQ,CAAC,KAAK,CAChB,oBAAoB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CACjE,CAAC;QACF,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAChC;SAAM;QACH,MAAM,QAAQ,CAAC,KAAK,CAChB,oBAAoB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAChE,CAAC;QACF,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC/B;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { StructAsyncDeserializeStream, StructLike, StructValueType } from "@yume-chan/struct";
1
+ import type { AsyncExactReadable, StructLike, StructValueType } from "@yume-chan/struct";
2
2
  import Struct from "@yume-chan/struct";
3
3
  export declare enum AdbSyncResponseId {
4
4
  Entry = "DENT",
@@ -11,10 +11,12 @@ export declare enum AdbSyncResponseId {
11
11
  Ok = "OKAY",
12
12
  Fail = "FAIL"
13
13
  }
14
+ export declare class AdbSyncError extends Error {
15
+ }
14
16
  export declare const AdbSyncFailResponse: Struct<{
15
17
  messageLength: number;
16
18
  message: string;
17
19
  }, "messageLength", Record<never, never>, never>;
18
- export declare function adbSyncReadResponse<T>(stream: StructAsyncDeserializeStream, id: AdbSyncResponseId, type: StructLike<T>): Promise<T>;
19
- export declare function adbSyncReadResponses<T extends Struct<object, PropertyKey, object, any>>(stream: StructAsyncDeserializeStream, id: AdbSyncResponseId, type: T): AsyncGenerator<StructValueType<T>, void, void>;
20
+ export declare function adbSyncReadResponse<T>(stream: AsyncExactReadable, id: AdbSyncResponseId, type: StructLike<T>): Promise<T>;
21
+ export declare function adbSyncReadResponses<T extends Struct<object, PropertyKey, object, any>>(stream: AsyncExactReadable, id: AdbSyncResponseId, type: T): AsyncGenerator<StructValueType<T>, void, void>;
20
22
  //# sourceMappingURL=response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,4BAA4B,EAC5B,UAAU,EACV,eAAe,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAIvC,oBAAY,iBAAiB;IACzB,KAAK,SAAS;IACd,MAAM,SAAS;IACf,KAAK,SAAS;IACd,IAAI,SAAS;IACb,MAAM,SAAS;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,EAAE,SAAS;IACX,IAAI,SAAS;CAChB;AAED,eAAO,MAAM,mBAAmB;;;gDAK1B,CAAC;AAEP,wBAAsB,mBAAmB,CAAC,CAAC,EACvC,MAAM,EAAE,4BAA4B,EACpC,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,wBAAuB,oBAAoB,CACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAElD,MAAM,EAAE,4BAA4B,EACpC,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,CAAC,GACR,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAuBhD"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,kBAAkB,EAClB,UAAU,EACV,eAAe,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAIvC,oBAAY,iBAAiB;IACzB,KAAK,SAAS;IACd,MAAM,SAAS;IACf,KAAK,SAAS;IACd,IAAI,SAAS;IACb,MAAM,SAAS;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,EAAE,SAAS;IACX,IAAI,SAAS;CAChB;AAED,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,eAAO,MAAM,mBAAmB;;;gDAK1B,CAAC;AAEP,wBAAsB,mBAAmB,CAAC,CAAC,EACvC,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,wBAAuB,oBAAoB,CACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAElD,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,CAAC,GACR,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAuBhD"}
@@ -11,15 +11,17 @@ export var AdbSyncResponseId;
11
11
  AdbSyncResponseId["Data"] = "DATA";
12
12
  AdbSyncResponseId["Ok"] = "OKAY";
13
13
  AdbSyncResponseId["Fail"] = "FAIL";
14
- })(AdbSyncResponseId = AdbSyncResponseId || (AdbSyncResponseId = {}));
14
+ })(AdbSyncResponseId || (AdbSyncResponseId = {}));
15
+ export class AdbSyncError extends Error {
16
+ }
15
17
  export const AdbSyncFailResponse = new Struct({ littleEndian: true })
16
18
  .uint32("messageLength")
17
19
  .string("message", { lengthField: "messageLength" })
18
20
  .postDeserialize((object) => {
19
- throw new Error(object.message);
21
+ throw new AdbSyncError(object.message);
20
22
  });
21
23
  export async function adbSyncReadResponse(stream, id, type) {
22
- const actualId = decodeUtf8(await stream.read(4));
24
+ const actualId = decodeUtf8(await stream.readExactly(4));
23
25
  switch (actualId) {
24
26
  case AdbSyncResponseId.Fail:
25
27
  await AdbSyncFailResponse.deserialize(stream);
@@ -32,7 +34,7 @@ export async function adbSyncReadResponse(stream, id, type) {
32
34
  }
33
35
  export async function* adbSyncReadResponses(stream, id, type) {
34
36
  while (true) {
35
- const actualId = decodeUtf8(await stream.read(4));
37
+ const actualId = decodeUtf8(await stream.readExactly(4));
36
38
  switch (actualId) {
37
39
  case AdbSyncResponseId.Fail:
38
40
  await AdbSyncFailResponse.deserialize(stream);
@@ -42,7 +44,7 @@ export async function* adbSyncReadResponses(stream, id, type) {
42
44
  //
43
45
  // For example, `DONE` responses for `LIST` requests are 16 bytes (same as `DENT` responses),
44
46
  // but `DONE` responses for `STAT` requests are 12 bytes (same as `STAT` responses).
45
- await stream.read(type.size);
47
+ await stream.readExactly(type.size);
46
48
  return;
47
49
  case id:
48
50
  yield await type.deserialize(stream);
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"AAKA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAN,IAAY,iBAUX;AAVD,WAAY,iBAAiB;IACzB,mCAAc,CAAA;IACd,oCAAe,CAAA;IACf,mCAAc,CAAA;IACd,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,kCAAa,CAAA;AACjB,CAAC,EAVW,iBAAiB,GAAjB,iBAAiB,KAAjB,iBAAiB,QAU5B;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAChE,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;KACnD,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;IACxB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEP,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAoC,EACpC,EAAqB,EACrB,IAAmB;IAEnB,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,QAAQ,QAAQ,EAAE;QACd,KAAK,iBAAiB,CAAC,IAAI;YACvB,MAAM,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,KAAK,EAAE;YACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C;YACI,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,eAAe,QAAQ,GAAG,CAAC,CAAC;KAClE;AACL,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAGvC,MAAoC,EACpC,EAAqB,EACrB,IAAO;IAEP,OAAO,IAAI,EAAE;QACT,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,QAAQ,QAAQ,EAAE;YACd,KAAK,iBAAiB,CAAC,IAAI;gBACvB,MAAM,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YACnC,KAAK,iBAAiB,CAAC,IAAI;gBACvB,2EAA2E;gBAC3E,EAAE;gBACF,6FAA6F;gBAC7F,oFAAoF;gBACpF,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO;YACX,KAAK,EAAE;gBACH,MAAM,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CACX,aAAa,EAAE,SAAS,iBAAiB,CAAC,IAAI,eAAe,QAAQ,GAAG,CAC3E,CAAC;SACT;KACJ;AACL,CAAC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"AAKA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAN,IAAY,iBAUX;AAVD,WAAY,iBAAiB;IACzB,mCAAc,CAAA;IACd,oCAAe,CAAA;IACf,mCAAc,CAAA;IACd,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,kCAAa,CAAA;AACjB,CAAC,EAVW,iBAAiB,KAAjB,iBAAiB,QAU5B;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;CAAG;AAE1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAChE,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;KACnD,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;IACxB,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEP,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAA0B,EAC1B,EAAqB,EACrB,IAAmB;IAEnB,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,QAAQ,QAAQ,EAAE;QACd,KAAK,iBAAiB,CAAC,IAAI;YACvB,MAAM,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,KAAK,EAAE;YACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C;YACI,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,eAAe,QAAQ,GAAG,CAAC,CAAC;KAClE;AACL,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAGvC,MAA0B,EAC1B,EAAqB,EACrB,IAAO;IAEP,OAAO,IAAI,EAAE;QACT,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,QAAQ,QAAQ,EAAE;YACd,KAAK,iBAAiB,CAAC,IAAI;gBACvB,MAAM,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YACnC,KAAK,iBAAiB,CAAC,IAAI;gBACvB,2EAA2E;gBAC3E,EAAE;gBACF,6FAA6F;gBAC7F,oFAAoF;gBACpF,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,OAAO;YACX,KAAK,EAAE;gBACH,MAAM,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CACX,aAAa,EAAE,SAAS,iBAAiB,CAAC,IAAI,eAAe,QAAQ,GAAG,CAC3E,CAAC;SACT;KACJ;AACL,CAAC"}
@@ -1,25 +1,19 @@
1
1
  import type { Consumable, WritableStreamDefaultWriter } from "@yume-chan/stream-extra";
2
2
  import { BufferedReadableStream } from "@yume-chan/stream-extra";
3
- import type { StructAsyncDeserializeStream } from "@yume-chan/struct";
4
- import type { AdbSocket } from "../../index.js";
5
- import { AutoResetEvent } from "../../index.js";
6
- export declare class AdbSyncSocketLocked implements StructAsyncDeserializeStream {
7
- private readonly _writer;
8
- private readonly _readable;
9
- private readonly _socketLock;
10
- private readonly _writeLock;
11
- private readonly _combiner;
3
+ import type { AsyncExactReadable } from "@yume-chan/struct";
4
+ import type { AdbSocket } from "../../adb.js";
5
+ import { AutoResetEvent } from "../../utils/index.js";
6
+ export declare class AdbSyncSocketLocked implements AsyncExactReadable {
7
+ #private;
8
+ get position(): number;
12
9
  constructor(writer: WritableStreamDefaultWriter<Consumable<Uint8Array>>, readable: BufferedReadableStream, bufferSize: number, lock: AutoResetEvent);
13
- private writeInnerStream;
14
10
  flush(): Promise<void>;
15
11
  write(data: Uint8Array): Promise<void>;
16
- read(length: number): Promise<Uint8Array>;
12
+ readExactly(length: number): Promise<Uint8Array>;
17
13
  release(): void;
18
14
  }
19
15
  export declare class AdbSyncSocket {
20
- private _lock;
21
- private _socket;
22
- private _locked;
16
+ #private;
23
17
  constructor(socket: AdbSocket, bufferSize: number);
24
18
  lock(): Promise<AdbSyncSocketLocked>;
25
19
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,2BAA2B,EAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEH,sBAAsB,EAEzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,qBAAa,mBAAoB,YAAW,4BAA4B;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;IACF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;gBAGvC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAC3D,QAAQ,EAAE,sBAAsB,EAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc;YAQV,gBAAgB;IAIjB,KAAK;IAYL,KAAK,CAAC,IAAI,EAAE,UAAU;IAWtB,IAAI,CAAC,MAAM,EAAE,MAAM;IAKzB,OAAO,IAAI,IAAI;CAIzB;AAED,qBAAa,aAAa;IACtB,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,OAAO,CAAsB;gBAElB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM;IAU3C,IAAI;IAKJ,KAAK;CAGrB"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,2BAA2B,EAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEH,sBAAsB,EAEzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qBAAa,mBAAoB,YAAW,kBAAkB;;IAO1D,IAAI,QAAQ,WAEX;gBAGG,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAC3D,QAAQ,EAAE,sBAAsB,EAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc;IAYlB,KAAK;IAYL,KAAK,CAAC,IAAI,EAAE,UAAU;IAWtB,WAAW,CAAC,MAAM,EAAE,MAAM;IAKhC,OAAO,IAAI,IAAI;CAIlB;AAED,qBAAa,aAAa;;gBAKV,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM;IAU3C,IAAI;IAKJ,KAAK;CAGd"}