@yume-chan/adb 0.0.16 → 0.0.18
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.
- package/CHANGELOG.json +18 -0
- package/CHANGELOG.md +13 -1
- package/LICENSE +1 -1
- package/esm/adb.d.ts +13 -8
- package/esm/adb.d.ts.map +1 -1
- package/esm/adb.js +63 -38
- package/esm/adb.js.map +1 -1
- package/esm/auth.d.ts +4 -4
- package/esm/auth.d.ts.map +1 -1
- package/esm/auth.js +6 -6
- package/esm/auth.js.map +1 -1
- package/esm/backend.d.ts +3 -3
- package/esm/backend.d.ts.map +1 -1
- package/esm/commands/base.d.ts +2 -2
- package/esm/commands/base.d.ts.map +1 -1
- package/esm/commands/base.js +1 -1
- package/esm/commands/base.js.map +1 -1
- package/esm/commands/framebuffer.d.ts +22 -6
- package/esm/commands/framebuffer.d.ts.map +1 -1
- package/esm/commands/framebuffer.js +33 -45
- package/esm/commands/framebuffer.js.map +1 -1
- package/esm/commands/install.d.ts +2 -2
- package/esm/commands/install.d.ts.map +1 -1
- package/esm/commands/install.js +12 -5
- package/esm/commands/install.js.map +1 -1
- package/esm/commands/power.d.ts.map +1 -1
- package/esm/commands/power.js +13 -9
- package/esm/commands/power.js.map +1 -1
- package/esm/commands/reverse.d.ts +5 -5
- package/esm/commands/reverse.d.ts.map +1 -1
- package/esm/commands/reverse.js +20 -18
- package/esm/commands/reverse.js.map +1 -1
- package/esm/commands/subprocess/command.d.ts +52 -0
- package/esm/commands/subprocess/command.d.ts.map +1 -0
- package/esm/commands/subprocess/command.js +81 -0
- package/esm/commands/subprocess/command.js.map +1 -0
- package/esm/commands/subprocess/index.d.ts +1 -53
- package/esm/commands/subprocess/index.d.ts.map +1 -1
- package/esm/commands/subprocess/index.js +1 -85
- package/esm/commands/subprocess/index.js.map +1 -1
- package/esm/commands/subprocess/protocols/none.d.ts +5 -5
- package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/none.js +5 -3
- package/esm/commands/subprocess/protocols/none.js.map +1 -1
- package/esm/commands/subprocess/protocols/shell.d.ts +4 -4
- package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/shell.js +28 -20
- package/esm/commands/subprocess/protocols/shell.js.map +1 -1
- package/esm/commands/subprocess/protocols/types.d.ts +7 -7
- package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
- package/esm/commands/sync/index.d.ts +1 -1
- package/esm/commands/sync/index.d.ts.map +1 -1
- package/esm/commands/sync/index.js +1 -1
- package/esm/commands/sync/index.js.map +1 -1
- package/esm/commands/sync/list.d.ts +7 -7
- package/esm/commands/sync/list.d.ts.map +1 -1
- package/esm/commands/sync/list.js +34 -50
- package/esm/commands/sync/list.js.map +1 -1
- package/esm/commands/sync/pull.d.ts +5 -4
- package/esm/commands/sync/pull.d.ts.map +1 -1
- package/esm/commands/sync/pull.js +21 -22
- package/esm/commands/sync/pull.js.map +1 -1
- package/esm/commands/sync/push.d.ts +4 -4
- package/esm/commands/sync/push.d.ts.map +1 -1
- package/esm/commands/sync/push.js +7 -11
- package/esm/commands/sync/push.js.map +1 -1
- package/esm/commands/sync/request.d.ts +4 -4
- package/esm/commands/sync/request.d.ts.map +1 -1
- package/esm/commands/sync/request.js +6 -6
- package/esm/commands/sync/request.js.map +1 -1
- package/esm/commands/sync/response.d.ts +5 -10
- package/esm/commands/sync/response.d.ts.map +1 -1
- package/esm/commands/sync/response.js +35 -26
- package/esm/commands/sync/response.js.map +1 -1
- package/esm/commands/sync/stat.d.ts +7 -7
- package/esm/commands/sync/stat.d.ts.map +1 -1
- package/esm/commands/sync/stat.js +48 -55
- package/esm/commands/sync/stat.js.map +1 -1
- package/esm/commands/sync/sync.d.ts +7 -7
- package/esm/commands/sync/sync.d.ts.map +1 -1
- package/esm/commands/sync/sync.js +25 -22
- package/esm/commands/sync/sync.js.map +1 -1
- package/esm/crypto.d.ts.map +1 -1
- package/esm/crypto.js +26 -16
- package/esm/crypto.js.map +1 -1
- package/esm/index.d.ts +9 -10
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +9 -10
- package/esm/index.js.map +1 -1
- package/esm/packet.d.ts +8 -8
- package/esm/packet.d.ts.map +1 -1
- package/esm/packet.js +14 -12
- package/esm/packet.js.map +1 -1
- package/esm/socket/dispatcher.d.ts +11 -6
- package/esm/socket/dispatcher.d.ts.map +1 -1
- package/esm/socket/dispatcher.js +28 -20
- package/esm/socket/dispatcher.js.map +1 -1
- package/esm/socket/index.d.ts +1 -1
- package/esm/socket/index.d.ts.map +1 -1
- package/esm/socket/index.js +1 -1
- package/esm/socket/index.js.map +1 -1
- package/esm/socket/socket.d.ts +5 -5
- package/esm/socket/socket.d.ts.map +1 -1
- package/esm/socket/socket.js +37 -17
- package/esm/socket/socket.js.map +1 -1
- package/esm/utils/auto-reset-event.d.ts +1 -1
- package/esm/utils/auto-reset-event.d.ts.map +1 -1
- package/esm/utils/auto-reset-event.js +2 -2
- package/esm/utils/base64.d.ts +23 -0
- package/esm/utils/base64.d.ts.map +1 -1
- package/esm/utils/base64.js +36 -29
- package/esm/utils/base64.js.map +1 -1
- package/package.json +19 -17
- package/src/adb.ts +140 -86
- package/src/auth.ts +27 -18
- package/src/backend.ts +7 -4
- package/src/commands/base.ts +3 -2
- package/src/commands/framebuffer.ts +48 -47
- package/src/commands/install.ts +20 -10
- package/src/commands/power.ts +14 -10
- package/src/commands/reverse.ts +53 -33
- package/src/commands/subprocess/command.ts +134 -0
- package/src/commands/subprocess/index.ts +1 -137
- package/src/commands/subprocess/protocols/none.ts +10 -6
- package/src/commands/subprocess/protocols/shell.ts +72 -39
- package/src/commands/subprocess/protocols/types.ts +12 -8
- package/src/commands/sync/index.ts +1 -1
- package/src/commands/sync/list.ts +63 -68
- package/src/commands/sync/pull.ts +53 -37
- package/src/commands/sync/push.ts +26 -15
- package/src/commands/sync/request.ts +20 -21
- package/src/commands/sync/response.ts +63 -53
- package/src/commands/sync/stat.ts +91 -90
- package/src/commands/sync/sync.ts +56 -34
- package/src/crypto.ts +61 -33
- package/src/features.ts +1 -1
- package/src/index.ts +9 -11
- package/src/packet.ts +40 -30
- package/src/socket/dispatcher.ts +119 -77
- package/src/socket/index.ts +1 -1
- package/src/socket/socket.ts +68 -26
- package/src/utils/auto-reset-event.ts +3 -3
- package/src/utils/base64.ts +75 -42
- package/tsconfig.build.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/esm/stream/buffered.d.ts +0 -39
- package/esm/stream/buffered.d.ts.map +0 -1
- package/esm/stream/buffered.js +0 -143
- package/esm/stream/buffered.js.map +0 -1
- package/esm/stream/detect.d.ts +0 -2
- package/esm/stream/detect.d.ts.map +0 -1
- package/esm/stream/detect.js +0 -6
- package/esm/stream/detect.js.map +0 -1
- package/esm/stream/detect.native.d.ts +0 -240
- package/esm/stream/detect.native.d.ts.map +0 -1
- package/esm/stream/detect.native.js +0 -60
- package/esm/stream/detect.native.js.map +0 -1
- package/esm/stream/detect.polyfill.d.ts +0 -18
- package/esm/stream/detect.polyfill.d.ts.map +0 -1
- package/esm/stream/detect.polyfill.js +0 -4
- package/esm/stream/detect.polyfill.js.map +0 -1
- package/esm/stream/index.d.ts +0 -4
- package/esm/stream/index.d.ts.map +0 -1
- package/esm/stream/index.js +0 -4
- package/esm/stream/index.js.map +0 -1
- package/esm/stream/transform.d.ts +0 -124
- package/esm/stream/transform.d.ts.map +0 -1
- package/esm/stream/transform.js +0 -379
- package/esm/stream/transform.js.map +0 -1
- package/src/stream/buffered.ts +0 -168
- package/src/stream/detect.native.ts +0 -362
- package/src/stream/detect.polyfill.ts +0 -22
- package/src/stream/detect.ts +0 -7
- package/src/stream/index.ts +0 -3
- package/src/stream/transform.ts +0 -474
- package/tsconfig.test.json +0 -9
- package/web-streams-polyfill-4.0.0-beta.2.tgz +0 -0
package/CHANGELOG.json
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yume-chan/adb",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"version": "0.0.18",
|
|
6
|
+
"tag": "@yume-chan/adb_v0.0.18",
|
|
7
|
+
"date": "Wed, 25 Jan 2023 21:33:49 GMT",
|
|
8
|
+
"comments": {}
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"version": "0.0.17",
|
|
12
|
+
"tag": "@yume-chan/adb_v0.0.17",
|
|
13
|
+
"date": "Tue, 18 Oct 2022 09:32:30 GMT",
|
|
14
|
+
"comments": {
|
|
15
|
+
"none": [
|
|
16
|
+
{
|
|
17
|
+
"comment": "Move stream utils to separate package"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
},
|
|
4
22
|
{
|
|
5
23
|
"version": "0.0.16",
|
|
6
24
|
"tag": "@yume-chan/adb_v0.0.16",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
# Change Log - @yume-chan/adb
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Wed, 25 Jan 2023 21:33:49 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 0.0.18
|
|
6
|
+
Wed, 25 Jan 2023 21:33:49 GMT
|
|
7
|
+
|
|
8
|
+
_Version update only_
|
|
9
|
+
|
|
10
|
+
## 0.0.17
|
|
11
|
+
Tue, 18 Oct 2022 09:32:30 GMT
|
|
12
|
+
|
|
13
|
+
### Updates
|
|
14
|
+
|
|
15
|
+
- Move stream utils to separate package
|
|
4
16
|
|
|
5
17
|
## 0.0.16
|
|
6
18
|
Sat, 28 May 2022 03:56:37 GMT
|
package/LICENSE
CHANGED
package/esm/adb.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { WritableStream, type ReadableWritablePair } from "@yume-chan/stream-extra";
|
|
2
|
+
import { type AdbCredentialStore } from "./auth.js";
|
|
3
|
+
import { AdbPower, AdbReverseCommand, AdbSubprocess, AdbSync, AdbTcpIpCommand, type AdbFrameBuffer } from "./commands/index.js";
|
|
4
|
+
import { AdbFeatures } from "./features.js";
|
|
5
|
+
import { type AdbPacketData, type AdbPacketInit } from "./packet.js";
|
|
6
|
+
import { type AdbIncomingSocketHandler, type AdbSocket, type Closeable } from "./socket/index.js";
|
|
7
7
|
export declare enum AdbPropKey {
|
|
8
8
|
Product = "ro.product.name",
|
|
9
9
|
Model = "ro.product.model",
|
|
@@ -29,14 +29,19 @@ export declare class Adb implements Closeable {
|
|
|
29
29
|
private _device;
|
|
30
30
|
get device(): string | undefined;
|
|
31
31
|
private _features;
|
|
32
|
-
get features(): AdbFeatures[]
|
|
32
|
+
get features(): AdbFeatures[];
|
|
33
33
|
readonly subprocess: AdbSubprocess;
|
|
34
34
|
readonly power: AdbPower;
|
|
35
35
|
readonly reverse: AdbReverseCommand;
|
|
36
36
|
readonly tcpip: AdbTcpIpCommand;
|
|
37
37
|
constructor(connection: ReadableWritablePair<AdbPacketData, AdbPacketInit>, version: number, maxPayloadSize: number, banner: string);
|
|
38
38
|
private parseBanner;
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Add a handler for incoming socket.
|
|
41
|
+
* @param handler A function to call with new incoming sockets. It must return `true` if it accepts the socket.
|
|
42
|
+
* @returns A function to remove the handler.
|
|
43
|
+
*/
|
|
44
|
+
onIncomingSocket(handler: AdbIncomingSocketHandler): import("@yume-chan/event").RemoveEventListener;
|
|
40
45
|
createSocket(service: string): Promise<AdbSocket>;
|
|
41
46
|
createSocketAndWait(service: string): Promise<string>;
|
|
42
47
|
getProp(key: string): Promise<string>;
|
package/esm/adb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,cAAc,EACd,KAAK,oBAAoB,EAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAGH,KAAK,kBAAkB,EAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,eAAe,EAIf,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,aAAa,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,mBAAmB,CAAC;AAG3B,oBAAY,UAAU;IAClB,OAAO,oBAAoB;IAC3B,KAAK,qBAAqB;IAC1B,MAAM,sBAAsB;IAC5B,QAAQ,aAAa;CACxB;AAED,eAAO,MAAM,qBAAqB,WAAa,CAAC;AAEhD,qBAAa,GAAI,YAAW,SAAS;IACjC;;;;OAIG;WACiB,YAAY,CAC5B,UAAU,EAAE,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9D,eAAe,EAAE,kBAAkB,EACnC,cAAc,yCAA6B,GAC5C,OAAO,CAAC,GAAG,CAAC;IA6Gf,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,IAAW,YAAY,kBAEtB;IAED,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,IAAW,eAAe,uBAEzB;IAED,OAAO,CAAC,QAAQ,CAAqB;IACrC,IAAW,OAAO,uBAEjB;IAED,OAAO,CAAC,MAAM,CAAqB;IACnC,IAAW,KAAK,uBAEf;IAED,OAAO,CAAC,OAAO,CAAqB;IACpC,IAAW,MAAM,uBAEhB;IAED,OAAO,CAAC,SAAS,CAAqB;IACtC,IAAW,QAAQ,kBAElB;IAED,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAChC,SAAgB,OAAO,EAAE,iBAAiB,CAAC;IAC3C,SAAgB,KAAK,EAAE,eAAe,CAAC;gBAGnC,UAAU,EAAE,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9D,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM;IA4BlB,OAAO,CAAC,WAAW;IAiCnB;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,wBAAwB;IAI5C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIjD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASrD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQrC,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IASjD,OAAO;IAID,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAKxB,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAInD;;;;;;OAMG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
|
package/esm/adb.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// cspell: ignore libusb
|
|
2
|
-
import { PromiseResolver } from
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
2
|
+
import { PromiseResolver } from "@yume-chan/async";
|
|
3
|
+
import { AbortController, DecodeUtf8Stream, GatherStringStream, WritableStream, } from "@yume-chan/stream-extra";
|
|
4
|
+
import { ADB_DEFAULT_AUTHENTICATORS, AdbAuthenticationProcessor, } from "./auth.js";
|
|
5
|
+
import { AdbPower, AdbReverseCommand, AdbSubprocess, AdbSync, AdbTcpIpCommand, escapeArg, framebuffer, install, } from "./commands/index.js";
|
|
6
|
+
import { AdbFeatures } from "./features.js";
|
|
7
|
+
import { AdbCommand, calculateChecksum, } from "./packet.js";
|
|
8
|
+
import { AdbPacketDispatcher, } from "./socket/index.js";
|
|
9
9
|
import { decodeUtf8, encodeUtf8 } from "./utils/index.js";
|
|
10
10
|
export var AdbPropKey;
|
|
11
11
|
(function (AdbPropKey) {
|
|
@@ -39,10 +39,11 @@ export class Adb {
|
|
|
39
39
|
maxPayloadSize = Math.min(maxPayloadSize, packet.arg1);
|
|
40
40
|
resolver.resolve(decodeUtf8(packet.payload));
|
|
41
41
|
break;
|
|
42
|
-
case AdbCommand.Auth:
|
|
42
|
+
case AdbCommand.Auth: {
|
|
43
43
|
const response = await authProcessor.process(packet);
|
|
44
44
|
await sendPacket(response);
|
|
45
45
|
break;
|
|
46
|
+
}
|
|
46
47
|
default:
|
|
47
48
|
// Maybe the previous ADB client exited without reading all packets,
|
|
48
49
|
// so they are still waiting in OS internal buffer.
|
|
@@ -51,8 +52,9 @@ export class Adb {
|
|
|
51
52
|
// Eventually there will be `Connect` and `Auth` response packets.
|
|
52
53
|
break;
|
|
53
54
|
}
|
|
54
|
-
}
|
|
55
|
+
},
|
|
55
56
|
}), {
|
|
57
|
+
// Don't cancel the source ReadableStream on AbortSignal abort.
|
|
56
58
|
preventCancel: true,
|
|
57
59
|
signal: abortController.signal,
|
|
58
60
|
})
|
|
@@ -75,20 +77,20 @@ export class Adb {
|
|
|
75
77
|
AdbFeatures.StatV2,
|
|
76
78
|
AdbFeatures.ListV2,
|
|
77
79
|
AdbFeatures.FixedPushMkdir,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
"apex",
|
|
81
|
+
"abb",
|
|
80
82
|
// only tells the client the symlink timestamp issue in `adb push --sync` has been fixed.
|
|
81
83
|
// No special handling required.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
].join(
|
|
84
|
+
"fixed_push_symlink_timestamp",
|
|
85
|
+
"abb_exec",
|
|
86
|
+
"remount_shell",
|
|
87
|
+
"track_app",
|
|
88
|
+
"sendrecv_v2",
|
|
89
|
+
"sendrecv_v2_brotli",
|
|
90
|
+
"sendrecv_v2_lz4",
|
|
91
|
+
"sendrecv_v2_zstd",
|
|
92
|
+
"sendrecv_v2_dry_run_send",
|
|
93
|
+
].join(",");
|
|
92
94
|
await sendPacket({
|
|
93
95
|
command: AdbCommand.Connect,
|
|
94
96
|
arg0: version,
|
|
@@ -110,17 +112,29 @@ export class Adb {
|
|
|
110
112
|
return new Adb(connection, version, maxPayloadSize, banner);
|
|
111
113
|
}
|
|
112
114
|
dispatcher;
|
|
113
|
-
get disconnected() {
|
|
115
|
+
get disconnected() {
|
|
116
|
+
return this.dispatcher.disconnected;
|
|
117
|
+
}
|
|
114
118
|
_protocolVersion;
|
|
115
|
-
get protocolVersion() {
|
|
119
|
+
get protocolVersion() {
|
|
120
|
+
return this._protocolVersion;
|
|
121
|
+
}
|
|
116
122
|
_product;
|
|
117
|
-
get product() {
|
|
123
|
+
get product() {
|
|
124
|
+
return this._product;
|
|
125
|
+
}
|
|
118
126
|
_model;
|
|
119
|
-
get model() {
|
|
127
|
+
get model() {
|
|
128
|
+
return this._model;
|
|
129
|
+
}
|
|
120
130
|
_device;
|
|
121
|
-
get device() {
|
|
122
|
-
|
|
123
|
-
|
|
131
|
+
get device() {
|
|
132
|
+
return this._device;
|
|
133
|
+
}
|
|
134
|
+
_features = [];
|
|
135
|
+
get features() {
|
|
136
|
+
return this._features;
|
|
137
|
+
}
|
|
124
138
|
subprocess;
|
|
125
139
|
power;
|
|
126
140
|
reverse;
|
|
@@ -149,15 +163,14 @@ export class Adb {
|
|
|
149
163
|
this.tcpip = new AdbTcpIpCommand(this);
|
|
150
164
|
}
|
|
151
165
|
parseBanner(banner) {
|
|
152
|
-
|
|
153
|
-
const pieces = banner.split('::');
|
|
166
|
+
const pieces = banner.split("::");
|
|
154
167
|
if (pieces.length > 1) {
|
|
155
168
|
const props = pieces[1];
|
|
156
|
-
for (const prop of props.split(
|
|
169
|
+
for (const prop of props.split(";")) {
|
|
157
170
|
if (!prop) {
|
|
158
171
|
continue;
|
|
159
172
|
}
|
|
160
|
-
const keyValue = prop.split(
|
|
173
|
+
const keyValue = prop.split("=");
|
|
161
174
|
if (keyValue.length !== 2) {
|
|
162
175
|
continue;
|
|
163
176
|
}
|
|
@@ -173,14 +186,19 @@ export class Adb {
|
|
|
173
186
|
this._device = value;
|
|
174
187
|
break;
|
|
175
188
|
case AdbPropKey.Features:
|
|
176
|
-
this._features = value.split(
|
|
189
|
+
this._features = value.split(",");
|
|
177
190
|
break;
|
|
178
191
|
}
|
|
179
192
|
}
|
|
180
193
|
}
|
|
181
194
|
}
|
|
182
|
-
|
|
183
|
-
|
|
195
|
+
/**
|
|
196
|
+
* Add a handler for incoming socket.
|
|
197
|
+
* @param handler A function to call with new incoming sockets. It must return `true` if it accepts the socket.
|
|
198
|
+
* @returns A function to remove the handler.
|
|
199
|
+
*/
|
|
200
|
+
onIncomingSocket(handler) {
|
|
201
|
+
return this.dispatcher.onIncomingSocket(handler);
|
|
184
202
|
}
|
|
185
203
|
async createSocket(service) {
|
|
186
204
|
return this.dispatcher.createSocket(service);
|
|
@@ -194,18 +212,25 @@ export class Adb {
|
|
|
194
212
|
return gatherStream.result;
|
|
195
213
|
}
|
|
196
214
|
async getProp(key) {
|
|
197
|
-
const stdout = await this.subprocess.spawnAndWaitLegacy([
|
|
215
|
+
const stdout = await this.subprocess.spawnAndWaitLegacy([
|
|
216
|
+
"getprop",
|
|
217
|
+
key,
|
|
218
|
+
]);
|
|
198
219
|
return stdout.trim();
|
|
199
220
|
}
|
|
200
221
|
async rm(...filenames) {
|
|
201
|
-
const stdout = await this.subprocess.spawnAndWaitLegacy([
|
|
222
|
+
const stdout = await this.subprocess.spawnAndWaitLegacy([
|
|
223
|
+
"rm",
|
|
224
|
+
"-rf",
|
|
225
|
+
...filenames.map((arg) => escapeArg(arg)),
|
|
226
|
+
]);
|
|
202
227
|
return stdout;
|
|
203
228
|
}
|
|
204
229
|
install() {
|
|
205
230
|
return install(this);
|
|
206
231
|
}
|
|
207
232
|
async sync() {
|
|
208
|
-
const socket = await this.createSocket(
|
|
233
|
+
const socket = await this.createSocket("sync:");
|
|
209
234
|
return new AdbSync(this, socket);
|
|
210
235
|
}
|
|
211
236
|
async framebuffer() {
|
package/esm/adb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"AAAA,wBAAwB;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"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"}
|
package/esm/auth.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import { type AdbPacketData } from
|
|
4
|
-
export
|
|
1
|
+
import { type Disposable } from "@yume-chan/event";
|
|
2
|
+
import { type ValueOrPromise } from "@yume-chan/struct";
|
|
3
|
+
import { type AdbPacketData } from "./packet.js";
|
|
4
|
+
export type AdbKeyIterable = Iterable<Uint8Array> | AsyncIterable<Uint8Array>;
|
|
5
5
|
export interface AdbCredentialStore {
|
|
6
6
|
/**
|
|
7
7
|
* Generate and store a RSA private key with modulus length `2048` and public exponent `65537`.
|
package/esm/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOxD,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG7D,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,WAAW,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IAE1C;;;;OAIG;IACH,WAAW,IAAI,cAAc,CAAC;CACjC;AAED,oBAAY,WAAW;IACnB,KAAK,IAAI;IACT,SAAS,IAAI;IACb,SAAS,IAAI;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC7B;;;;;;;;;;OAUG;IACH,CACI,eAAe,EAAE,kBAAkB,EACnC,cAAc,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,GAC7C,aAAa,CAAC,aAAa,CAAC,CAAC;CACnC;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAmBvC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,gBAqCvC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,EAGxD,CAAC;AAEF,qBAAa,0BAA2B,YAAW,UAAU;IACzD,SAAgB,cAAc,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAE5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAErD,OAAO,CAAC,cAAc,CAAwC;IAE9D,OAAO,CAAC,QAAQ,CAAuD;gBAGnE,cAAc,EAAE,SAAS,gBAAgB,EAAE,EAC3C,eAAe,EAAE,kBAAkB;IAMvC,OAAO,CAAC,cAAc,CAEpB;YAEa,mBAAmB;IAuBrB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAe5D,OAAO;CAGjB"}
|
package/esm/auth.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PromiseResolver } from
|
|
2
|
-
import { calculatePublicKey, calculatePublicKeyLength, sign } from
|
|
3
|
-
import { AdbCommand } from
|
|
4
|
-
import { calculateBase64EncodedLength, encodeBase64 } from
|
|
1
|
+
import { PromiseResolver } from "@yume-chan/async";
|
|
2
|
+
import { calculatePublicKey, calculatePublicKeyLength, sign, } from "./crypto.js";
|
|
3
|
+
import { AdbCommand } from "./packet.js";
|
|
4
|
+
import { calculateBase64EncodedLength, encodeBase64 } from "./utils/index.js";
|
|
5
5
|
export var AdbAuthType;
|
|
6
6
|
(function (AdbAuthType) {
|
|
7
7
|
AdbAuthType[AdbAuthType["Token"] = 1] = "Token";
|
|
@@ -86,12 +86,12 @@ export class AdbAuthenticationProcessor {
|
|
|
86
86
|
this.pendingRequest.resolve(packet);
|
|
87
87
|
const result = await this.iterator.next();
|
|
88
88
|
if (result.done) {
|
|
89
|
-
throw new Error(
|
|
89
|
+
throw new Error("No authenticator can handle the request");
|
|
90
90
|
}
|
|
91
91
|
return result.value;
|
|
92
92
|
}
|
|
93
93
|
dispose() {
|
|
94
|
-
this.iterator?.return?.();
|
|
94
|
+
void this.iterator?.return?.();
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
//# sourceMappingURL=auth.js.map
|
package/esm/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/esm/backend.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import
|
|
3
|
-
import type
|
|
1
|
+
import { type ReadableWritablePair } from "@yume-chan/stream-extra";
|
|
2
|
+
import { type ValueOrPromise } from "@yume-chan/struct";
|
|
3
|
+
import { type AdbPacketData, type AdbPacketInit } from "./packet.js";
|
|
4
4
|
export interface AdbBackend {
|
|
5
5
|
readonly serial: string;
|
|
6
6
|
readonly name: string | undefined;
|
package/esm/backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,OAAO,IAAI,cAAc,CACrB,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,CACrD,CAAC;CACL"}
|
package/esm/commands/base.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AutoDisposable } from
|
|
2
|
-
import type
|
|
1
|
+
import { AutoDisposable } from "@yume-chan/event";
|
|
2
|
+
import { type Adb } from "../adb.js";
|
|
3
3
|
export declare class AdbCommandBase extends AutoDisposable {
|
|
4
4
|
protected adb: Adb;
|
|
5
5
|
constructor(adb: Adb);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,cAAe,SAAQ,cAAc;IAC9C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEA,GAAG,EAAE,GAAG;CAI9B"}
|
package/esm/commands/base.js
CHANGED
package/esm/commands/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,OAAO,cAAe,SAAQ,cAAc;IACpC,GAAG,CAAM;IAEnB,YAAmB,GAAQ;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;CACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Struct from "@yume-chan/struct";
|
|
2
|
-
import type
|
|
2
|
+
import { type Adb } from "../adb.js";
|
|
3
3
|
export declare const AdbFrameBufferV1: Struct<{
|
|
4
4
|
bpp: number;
|
|
5
5
|
size: number;
|
|
@@ -14,8 +14,8 @@ export declare const AdbFrameBufferV1: Struct<{
|
|
|
14
14
|
alpha_offset: number;
|
|
15
15
|
alpha_length: number;
|
|
16
16
|
data: Uint8Array;
|
|
17
|
-
}, "size",
|
|
18
|
-
export
|
|
17
|
+
}, "size", Record<never, never>, undefined>;
|
|
18
|
+
export type AdbFrameBufferV1 = typeof AdbFrameBufferV1["TDeserializeResult"];
|
|
19
19
|
export declare const AdbFrameBufferV2: Struct<{
|
|
20
20
|
bpp: number;
|
|
21
21
|
colorSpace: number;
|
|
@@ -31,8 +31,24 @@ export declare const AdbFrameBufferV2: Struct<{
|
|
|
31
31
|
alpha_offset: number;
|
|
32
32
|
alpha_length: number;
|
|
33
33
|
data: Uint8Array;
|
|
34
|
-
}, "size",
|
|
35
|
-
export
|
|
36
|
-
|
|
34
|
+
}, "size", Record<never, never>, undefined>;
|
|
35
|
+
export type AdbFrameBufferV2 = typeof AdbFrameBufferV2["TDeserializeResult"];
|
|
36
|
+
/**
|
|
37
|
+
* ADB uses 8 int32 fields to describe bit depths
|
|
38
|
+
*
|
|
39
|
+
* The only combination I have seen is RGBA8888, which is
|
|
40
|
+
*
|
|
41
|
+
* red_offset: 0
|
|
42
|
+
* red_length: 8
|
|
43
|
+
* blue_offset: 16
|
|
44
|
+
* blue_length: 8
|
|
45
|
+
* green_offset: 8
|
|
46
|
+
* green_length: 8
|
|
47
|
+
* alpha_offset: 24
|
|
48
|
+
* alpha_length: 8
|
|
49
|
+
*
|
|
50
|
+
* But it doesn't mean that other combinations are not possible.
|
|
51
|
+
*/
|
|
52
|
+
export type AdbFrameBuffer = AdbFrameBufferV1 | AdbFrameBufferV2;
|
|
37
53
|
export declare function framebuffer(adb: Adb): Promise<AdbFrameBuffer>;
|
|
38
54
|
//# sourceMappingURL=framebuffer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;2CAamB,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAE7E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;2CAcmB,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEjE,wBAAsB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAanE"}
|
|
@@ -1,59 +1,47 @@
|
|
|
1
|
+
import { BufferedReadableStream } from "@yume-chan/stream-extra";
|
|
1
2
|
import Struct from "@yume-chan/struct";
|
|
2
|
-
|
|
3
|
-
const Version = new Struct({ littleEndian: true })
|
|
4
|
-
.uint32('version');
|
|
5
|
-
/*
|
|
6
|
-
* ADB uses 8 int32 fields to describe bit depths
|
|
7
|
-
* The only combination I have seen is RGBA8888, which is
|
|
8
|
-
* red_offset: 0
|
|
9
|
-
* red_length: 8
|
|
10
|
-
* blue_offset: 16
|
|
11
|
-
* blue_length: 8
|
|
12
|
-
* green_offset: 8
|
|
13
|
-
* green_length: 8
|
|
14
|
-
* alpha_offset: 24
|
|
15
|
-
* alpha_length: 8
|
|
16
|
-
*/
|
|
3
|
+
const Version = new Struct({ littleEndian: true }).uint32("version");
|
|
17
4
|
export const AdbFrameBufferV1 = new Struct({ littleEndian: true })
|
|
18
|
-
.uint32(
|
|
19
|
-
.uint32(
|
|
20
|
-
.uint32(
|
|
21
|
-
.uint32(
|
|
22
|
-
.uint32(
|
|
23
|
-
.uint32(
|
|
24
|
-
.uint32(
|
|
25
|
-
.uint32(
|
|
26
|
-
.uint32(
|
|
27
|
-
.uint32(
|
|
28
|
-
.uint32(
|
|
29
|
-
.uint32(
|
|
30
|
-
.uint8Array(
|
|
5
|
+
.uint32("bpp")
|
|
6
|
+
.uint32("size")
|
|
7
|
+
.uint32("width")
|
|
8
|
+
.uint32("height")
|
|
9
|
+
.uint32("red_offset")
|
|
10
|
+
.uint32("red_length")
|
|
11
|
+
.uint32("blue_offset")
|
|
12
|
+
.uint32("blue_length")
|
|
13
|
+
.uint32("green_offset")
|
|
14
|
+
.uint32("green_length")
|
|
15
|
+
.uint32("alpha_offset")
|
|
16
|
+
.uint32("alpha_length")
|
|
17
|
+
.uint8Array("data", { lengthField: "size" });
|
|
31
18
|
export const AdbFrameBufferV2 = new Struct({ littleEndian: true })
|
|
32
|
-
.uint32(
|
|
33
|
-
.uint32(
|
|
34
|
-
.uint32(
|
|
35
|
-
.uint32(
|
|
36
|
-
.uint32(
|
|
37
|
-
.uint32(
|
|
38
|
-
.uint32(
|
|
39
|
-
.uint32(
|
|
40
|
-
.uint32(
|
|
41
|
-
.uint32(
|
|
42
|
-
.uint32(
|
|
43
|
-
.uint32(
|
|
44
|
-
.uint32(
|
|
45
|
-
.uint8Array(
|
|
19
|
+
.uint32("bpp")
|
|
20
|
+
.uint32("colorSpace")
|
|
21
|
+
.uint32("size")
|
|
22
|
+
.uint32("width")
|
|
23
|
+
.uint32("height")
|
|
24
|
+
.uint32("red_offset")
|
|
25
|
+
.uint32("red_length")
|
|
26
|
+
.uint32("blue_offset")
|
|
27
|
+
.uint32("blue_length")
|
|
28
|
+
.uint32("green_offset")
|
|
29
|
+
.uint32("green_length")
|
|
30
|
+
.uint32("alpha_offset")
|
|
31
|
+
.uint32("alpha_length")
|
|
32
|
+
.uint8Array("data", { lengthField: "size" });
|
|
46
33
|
export async function framebuffer(adb) {
|
|
47
|
-
const socket = await adb.createSocket(
|
|
48
|
-
const stream = new
|
|
34
|
+
const socket = await adb.createSocket("framebuffer:");
|
|
35
|
+
const stream = new BufferedReadableStream(socket.readable);
|
|
49
36
|
const { version } = await Version.deserialize(stream);
|
|
50
37
|
switch (version) {
|
|
51
38
|
case 1:
|
|
39
|
+
// TODO: AdbFrameBuffer: does all v1 responses uses the same color space? Add it so the command returns same format for all versions.
|
|
52
40
|
return AdbFrameBufferV1.deserialize(stream);
|
|
53
41
|
case 2:
|
|
54
42
|
return AdbFrameBufferV2.deserialize(stream);
|
|
55
43
|
default:
|
|
56
|
-
throw new Error(
|
|
44
|
+
throw new Error("Unknown FrameBuffer version");
|
|
57
45
|
}
|
|
58
46
|
}
|
|
59
47
|
//# sourceMappingURL=framebuffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../src/commands/framebuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAIvC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7D,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,OAAO,CAAC;KACf,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAIjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC7D,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,OAAO,CAAC;KACf,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,MAAM,CAAC,cAAc,CAAC;KACtB,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAsBjD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAQ;IACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtD,QAAQ,OAAO,EAAE;QACb,KAAK,CAAC;YACF,qIAAqI;YACrI,OAAO,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChD,KAAK,CAAC;YACF,OAAO,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChD;YACI,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KACtD;AACL,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
1
|
+
import { type WritableStream } from "@yume-chan/stream-extra";
|
|
2
|
+
import { type Adb } from "../adb.js";
|
|
3
3
|
export declare function install(adb: Adb): WritableStream<Uint8Array>;
|
|
4
4
|
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,cAAc,EACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,CA6B5D"}
|