@yume-chan/adb 0.0.8 → 0.0.11
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 +49 -0
- package/CHANGELOG.md +30 -0
- package/LICENSE +21 -21
- package/README.md +240 -257
- package/esm/adb.d.ts +48 -0
- package/esm/adb.d.ts.map +1 -0
- package/esm/adb.js +141 -145
- package/esm/adb.js.map +1 -1
- package/{dts → esm}/auth.d.ts +17 -7
- package/esm/auth.d.ts.map +1 -0
- package/esm/auth.js +69 -109
- package/esm/auth.js.map +1 -1
- package/esm/backend.d.ts +9 -0
- package/esm/backend.d.ts.map +1 -0
- package/{dts → esm}/commands/base.d.ts +1 -1
- package/esm/commands/base.d.ts.map +1 -0
- package/esm/commands/base.js +1 -0
- package/esm/commands/base.js.map +1 -1
- package/{dts → esm}/commands/framebuffer.d.ts +3 -3
- package/esm/commands/framebuffer.d.ts.map +1 -0
- package/esm/commands/framebuffer.js +15 -18
- package/esm/commands/framebuffer.js.map +1 -1
- package/esm/commands/index.d.ts +9 -0
- package/esm/commands/index.d.ts.map +1 -0
- package/esm/commands/index.js +8 -8
- package/esm/commands/index.js.map +1 -1
- package/esm/commands/install.d.ts +4 -0
- package/esm/commands/install.d.ts.map +1 -0
- package/esm/commands/install.js +21 -13
- package/esm/commands/install.js.map +1 -1
- package/esm/commands/power.d.ts +23 -0
- package/esm/commands/power.d.ts.map +1 -0
- package/esm/commands/power.js +45 -0
- package/esm/commands/power.js.map +1 -0
- package/{dts → esm}/commands/reverse.d.ts +3 -3
- package/esm/commands/reverse.d.ts.map +1 -0
- package/esm/commands/reverse.js +50 -60
- package/esm/commands/reverse.js.map +1 -1
- package/esm/commands/subprocess/index.d.ts +57 -0
- package/esm/commands/subprocess/index.d.ts.map +1 -0
- package/esm/commands/subprocess/index.js +83 -0
- package/esm/commands/subprocess/index.js.map +1 -0
- package/esm/commands/subprocess/legacy.d.ts +28 -0
- package/esm/commands/subprocess/legacy.d.ts.map +1 -0
- package/esm/commands/subprocess/legacy.js +44 -0
- package/esm/commands/subprocess/legacy.js.map +1 -0
- package/esm/commands/subprocess/protocol.d.ts +38 -0
- package/esm/commands/subprocess/protocol.d.ts.map +1 -0
- package/esm/commands/subprocess/protocol.js +155 -0
- package/esm/commands/subprocess/protocol.js.map +1 -0
- package/esm/commands/subprocess/types.d.ts +47 -0
- package/esm/commands/subprocess/types.d.ts.map +1 -0
- package/esm/commands/{shell → subprocess}/types.js +0 -0
- package/{cjs/commands/shell → esm/commands/subprocess}/types.js.map +1 -1
- package/{dts/commands/shell → esm/commands/subprocess}/utils.d.ts +0 -0
- package/esm/commands/subprocess/utils.d.ts.map +1 -0
- package/esm/commands/{shell → subprocess}/utils.js +0 -0
- package/esm/commands/subprocess/utils.js.map +1 -0
- package/esm/commands/sync/index.d.ts +8 -0
- package/esm/commands/sync/index.d.ts.map +1 -0
- package/esm/commands/sync/index.js +7 -7
- package/esm/commands/sync/index.js.map +1 -1
- package/{dts → esm}/commands/sync/list.d.ts +4 -4
- package/esm/commands/sync/list.d.ts.map +1 -0
- package/esm/commands/sync/list.js +16 -19
- package/esm/commands/sync/list.js.map +1 -1
- package/esm/commands/sync/pull.d.ts +11 -0
- package/esm/commands/sync/pull.d.ts.map +1 -0
- package/esm/commands/sync/pull.js +17 -11
- package/esm/commands/sync/pull.js.map +1 -1
- package/esm/commands/sync/push.d.ts +8 -0
- package/esm/commands/sync/push.d.ts.map +1 -0
- package/esm/commands/sync/push.js +19 -37
- package/esm/commands/sync/push.js.map +1 -1
- package/{dts → esm}/commands/sync/request.d.ts +3 -3
- package/esm/commands/sync/request.d.ts.map +1 -0
- package/esm/commands/sync/request.js +24 -26
- package/esm/commands/sync/request.js.map +1 -1
- package/{dts → esm}/commands/sync/response.d.ts +3 -3
- package/esm/commands/sync/response.d.ts.map +1 -0
- package/esm/commands/sync/response.js +16 -19
- package/esm/commands/sync/response.js.map +1 -1
- package/{dts → esm}/commands/sync/stat.d.ts +4 -4
- package/esm/commands/sync/stat.d.ts.map +1 -0
- package/esm/commands/sync/stat.js +22 -27
- package/esm/commands/sync/stat.js.map +1 -1
- package/esm/commands/sync/sync.d.ts +83 -0
- package/esm/commands/sync/sync.d.ts.map +1 -0
- package/esm/commands/sync/sync.js +92 -89
- package/esm/commands/sync/sync.js.map +1 -1
- package/{dts → esm}/commands/tcpip.d.ts +1 -1
- package/{dts → esm}/commands/tcpip.d.ts.map +1 -1
- package/esm/commands/tcpip.js +14 -19
- package/esm/commands/tcpip.js.map +1 -1
- package/esm/crypto.d.ts +24 -0
- package/esm/crypto.d.ts.map +1 -0
- package/esm/crypto.js +33 -31
- package/esm/crypto.js.map +1 -1
- package/{dts → esm}/features.d.ts +0 -0
- package/{dts → esm}/features.d.ts.map +0 -0
- package/esm/features.js +1 -1
- package/esm/features.js.map +1 -1
- package/esm/index.d.ts +11 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +10 -10
- package/esm/index.js.map +1 -1
- package/esm/packet.d.ts +28 -0
- package/esm/packet.d.ts.map +1 -0
- package/esm/packet.js +26 -53
- package/esm/packet.js.map +1 -1
- package/esm/socket/controller.d.ts +37 -0
- package/esm/socket/controller.d.ts.map +1 -0
- package/esm/socket/controller.js +52 -66
- package/esm/socket/controller.js.map +1 -1
- package/{dts → esm}/socket/dispatcher.d.ts +10 -23
- package/esm/socket/dispatcher.d.ts.map +1 -0
- package/esm/socket/dispatcher.js +148 -164
- package/esm/socket/dispatcher.js.map +1 -1
- package/esm/socket/index.d.ts +3 -0
- package/esm/socket/index.d.ts.map +1 -0
- package/esm/socket/index.js +2 -6
- package/esm/socket/index.js.map +1 -1
- package/esm/socket/socket.d.ts +34 -0
- package/esm/socket/socket.d.ts.map +1 -0
- package/esm/socket/socket.js +69 -14
- package/esm/socket/socket.js.map +1 -1
- package/esm/stream/buffered.d.ts +35 -0
- package/esm/stream/buffered.d.ts.map +1 -0
- package/esm/stream/buffered.js +123 -0
- package/esm/stream/buffered.js.map +1 -0
- package/esm/stream/detect.bak.d.ts +240 -0
- package/esm/stream/detect.bak.d.ts.map +1 -0
- package/esm/stream/detect.bak.js +60 -0
- package/esm/stream/detect.bak.js.map +1 -0
- package/esm/stream/detect.d.ts +18 -0
- package/esm/stream/detect.d.ts.map +1 -0
- package/esm/stream/detect.js +6 -0
- package/esm/stream/detect.js.map +1 -0
- package/esm/stream/detect.native.d.ts +240 -0
- package/esm/stream/detect.native.d.ts.map +1 -0
- package/esm/stream/detect.native.js +60 -0
- package/esm/stream/detect.native.js.map +1 -0
- package/esm/stream/detect.polyfill.d.ts +18 -0
- package/esm/stream/detect.polyfill.d.ts.map +1 -0
- package/esm/stream/detect.polyfill.js +6 -0
- package/esm/stream/detect.polyfill.js.map +1 -0
- package/esm/stream/index.d.ts +4 -0
- package/esm/stream/index.d.ts.map +1 -0
- package/esm/stream/index.js +3 -2
- package/esm/stream/index.js.map +1 -1
- package/esm/stream/transform.d.ts +98 -0
- package/esm/stream/transform.d.ts.map +1 -0
- package/esm/stream/transform.js +352 -0
- package/esm/stream/transform.js.map +1 -0
- package/{dts → esm}/utils/auto-reset-event.d.ts +1 -1
- package/esm/utils/auto-reset-event.d.ts.map +1 -0
- package/esm/utils/auto-reset-event.js +2 -1
- package/esm/utils/auto-reset-event.js.map +1 -1
- package/esm/utils/base64.d.ts +5 -0
- package/esm/utils/base64.d.ts.map +1 -0
- package/esm/utils/base64.js +116 -80
- package/esm/utils/base64.js.map +1 -1
- package/esm/utils/encoding.d.ts +3 -0
- package/esm/utils/encoding.d.ts.map +1 -0
- package/esm/utils/encoding.js +11 -0
- package/esm/utils/encoding.js.map +1 -0
- package/esm/utils/index.d.ts +4 -0
- package/esm/utils/index.d.ts.map +1 -0
- package/esm/utils/index.js +3 -4
- package/esm/utils/index.js.map +1 -1
- package/package.json +49 -50
- package/src/adb.ts +247 -242
- package/src/auth.ts +170 -156
- package/src/backend.ts +11 -24
- package/src/commands/base.ts +11 -11
- package/src/commands/framebuffer.ts +73 -73
- package/src/commands/index.ts +8 -8
- package/src/commands/install.ts +32 -21
- package/src/commands/power.ts +54 -0
- package/src/commands/reverse.ts +136 -133
- package/src/commands/subprocess/index.ts +124 -0
- package/src/commands/subprocess/legacy.ts +58 -0
- package/src/commands/subprocess/protocol.ts +185 -0
- package/src/commands/subprocess/types.ts +55 -0
- package/src/commands/{shell → subprocess}/utils.ts +20 -20
- package/src/commands/sync/index.ts +7 -7
- package/src/commands/sync/list.ts +40 -39
- package/src/commands/sync/pull.ts +43 -34
- package/src/commands/sync/push.ts +41 -46
- package/src/commands/sync/request.ts +49 -48
- package/src/commands/sync/response.ts +58 -57
- package/src/commands/sync/stat.ts +123 -121
- package/src/commands/sync/sync.ts +145 -113
- package/src/commands/tcpip.ts +21 -21
- package/src/crypto.ts +280 -280
- package/src/features.ts +5 -5
- package/src/index.ts +11 -10
- package/src/packet.ts +69 -89
- package/src/socket/dispatcher.ts +256 -269
- package/src/socket/index.ts +2 -6
- package/src/socket/socket.ts +129 -28
- package/src/stream/buffered.ts +147 -0
- package/src/stream/detect.native.ts +362 -0
- package/src/stream/detect.polyfill.ts +25 -0
- package/src/stream/detect.ts +25 -0
- package/src/stream/index.ts +3 -2
- package/src/stream/transform.ts +427 -0
- package/src/utils/auto-reset-event.ts +41 -41
- package/src/utils/base64.ts +306 -274
- package/src/utils/encoding.ts +13 -0
- package/src/utils/index.ts +3 -4
- package/tsconfig.build.json +3 -0
- package/tsconfig.build.tsbuildinfo +1 -0
- package/tsconfig.test.json +10 -0
- package/cjs/adb.js +0 -205
- package/cjs/adb.js.map +0 -1
- package/cjs/auth.js +0 -141
- package/cjs/auth.js.map +0 -1
- package/cjs/backend.js +0 -3
- package/cjs/backend.js.map +0 -1
- package/cjs/commands/base.js +0 -12
- package/cjs/commands/base.js.map +0 -1
- package/cjs/commands/demo-mode.js +0 -174
- package/cjs/commands/demo-mode.js.map +0 -1
- package/cjs/commands/framebuffer.js +0 -66
- package/cjs/commands/framebuffer.js.map +0 -1
- package/cjs/commands/index.js +0 -12
- package/cjs/commands/index.js.map +0 -1
- package/cjs/commands/install.js +0 -20
- package/cjs/commands/install.js.map +0 -1
- package/cjs/commands/reverse.js +0 -105
- package/cjs/commands/reverse.js.map +0 -1
- package/cjs/commands/shell/index.js +0 -56
- package/cjs/commands/shell/index.js.map +0 -1
- package/cjs/commands/shell/legacy.js +0 -37
- package/cjs/commands/shell/legacy.js.map +0 -1
- package/cjs/commands/shell/protocol.js +0 -83
- package/cjs/commands/shell/protocol.js.map +0 -1
- package/cjs/commands/shell/types.js +0 -3
- package/cjs/commands/shell/utils.js +0 -23
- package/cjs/commands/shell/utils.js.map +0 -1
- package/cjs/commands/sync/index.js +0 -11
- package/cjs/commands/sync/index.js.map +0 -1
- package/cjs/commands/sync/list.js +0 -36
- package/cjs/commands/sync/list.js.map +0 -1
- package/cjs/commands/sync/pull.js +0 -34
- package/cjs/commands/sync/pull.js.map +0 -1
- package/cjs/commands/sync/push.js +0 -49
- package/cjs/commands/sync/push.js.map +0 -1
- package/cjs/commands/sync/request.js +0 -48
- package/cjs/commands/sync/request.js.map +0 -1
- package/cjs/commands/sync/response.js +0 -53
- package/cjs/commands/sync/response.js.map +0 -1
- package/cjs/commands/sync/stat.js +0 -109
- package/cjs/commands/sync/stat.js.map +0 -1
- package/cjs/commands/sync/sync.js +0 -118
- package/cjs/commands/sync/sync.js.map +0 -1
- package/cjs/commands/tcpip.js +0 -28
- package/cjs/commands/tcpip.js.map +0 -1
- package/cjs/crypto.js +0 -231
- package/cjs/crypto.js.map +0 -1
- package/cjs/features.js +0 -10
- package/cjs/features.js.map +0 -1
- package/cjs/index.js +0 -14
- package/cjs/index.js.map +0 -1
- package/cjs/packet.js +0 -77
- package/cjs/packet.js.map +0 -1
- package/cjs/socket/close-event-emitter.js +0 -32
- package/cjs/socket/close-event-emitter.js.map +0 -1
- package/cjs/socket/controller.js +0 -84
- package/cjs/socket/controller.js.map +0 -1
- package/cjs/socket/data-event-emitter.js +0 -29
- package/cjs/socket/data-event-emitter.js.map +0 -1
- package/cjs/socket/dispatcher.js +0 -219
- package/cjs/socket/dispatcher.js.map +0 -1
- package/cjs/socket/index.js +0 -10
- package/cjs/socket/index.js.map +0 -1
- package/cjs/socket/logger.js +0 -3
- package/cjs/socket/logger.js.map +0 -1
- package/cjs/socket/socket.js +0 -24
- package/cjs/socket/socket.js.map +0 -1
- package/cjs/stream/buffered-stream.js +0 -78
- package/cjs/stream/buffered-stream.js.map +0 -1
- package/cjs/stream/index.js +0 -6
- package/cjs/stream/index.js.map +0 -1
- package/cjs/stream/stream.js +0 -45
- package/cjs/stream/stream.js.map +0 -1
- package/cjs/utils/auto-reset-event.js +0 -37
- package/cjs/utils/auto-reset-event.js.map +0 -1
- package/cjs/utils/base64.js +0 -210
- package/cjs/utils/base64.js.map +0 -1
- package/cjs/utils/chunk.js +0 -75
- package/cjs/utils/chunk.js.map +0 -1
- package/cjs/utils/event-queue.js +0 -108
- package/cjs/utils/event-queue.js.map +0 -1
- package/cjs/utils/index.js +0 -8
- package/cjs/utils/index.js.map +0 -1
- package/dts/adb.d.ts +0 -46
- package/dts/adb.d.ts.map +0 -1
- package/dts/auth.d.ts.map +0 -1
- package/dts/backend.d.ts +0 -15
- package/dts/backend.d.ts.map +0 -1
- package/dts/commands/base.d.ts.map +0 -1
- package/dts/commands/demo-mode.d.ts +0 -41
- package/dts/commands/demo-mode.d.ts.map +0 -1
- package/dts/commands/framebuffer.d.ts.map +0 -1
- package/dts/commands/index.d.ts +0 -9
- package/dts/commands/index.d.ts.map +0 -1
- package/dts/commands/install.d.ts +0 -3
- package/dts/commands/install.d.ts.map +0 -1
- package/dts/commands/reverse.d.ts.map +0 -1
- package/dts/commands/shell/index.d.ts +0 -20
- package/dts/commands/shell/index.d.ts.map +0 -1
- package/dts/commands/shell/legacy.d.ts +0 -27
- package/dts/commands/shell/legacy.d.ts.map +0 -1
- package/dts/commands/shell/protocol.d.ts +0 -37
- package/dts/commands/shell/protocol.d.ts.map +0 -1
- package/dts/commands/shell/types.d.ts +0 -15
- package/dts/commands/shell/types.d.ts.map +0 -1
- package/dts/commands/shell/utils.d.ts.map +0 -1
- package/dts/commands/sync/index.d.ts +0 -8
- package/dts/commands/sync/index.d.ts.map +0 -1
- package/dts/commands/sync/list.d.ts.map +0 -1
- package/dts/commands/sync/pull.d.ts +0 -11
- package/dts/commands/sync/pull.d.ts.map +0 -1
- package/dts/commands/sync/push.d.ts +0 -8
- package/dts/commands/sync/push.d.ts.map +0 -1
- package/dts/commands/sync/request.d.ts.map +0 -1
- package/dts/commands/sync/response.d.ts.map +0 -1
- package/dts/commands/sync/stat.d.ts.map +0 -1
- package/dts/commands/sync/sync.d.ts +0 -68
- package/dts/commands/sync/sync.d.ts.map +0 -1
- package/dts/crypto.d.ts +0 -17
- package/dts/crypto.d.ts.map +0 -1
- package/dts/index.d.ts +0 -11
- package/dts/index.d.ts.map +0 -1
- package/dts/packet.d.ts +0 -27
- package/dts/packet.d.ts.map +0 -1
- package/dts/socket/close-event-emitter.d.ts +0 -8
- package/dts/socket/close-event-emitter.d.ts.map +0 -1
- package/dts/socket/controller.d.ts +0 -43
- package/dts/socket/controller.d.ts.map +0 -1
- package/dts/socket/data-event-emitter.d.ts +0 -10
- package/dts/socket/data-event-emitter.d.ts.map +0 -1
- package/dts/socket/dispatcher.d.ts.map +0 -1
- package/dts/socket/index.d.ts +0 -7
- package/dts/socket/index.d.ts.map +0 -1
- package/dts/socket/logger.d.ts +0 -9
- package/dts/socket/logger.d.ts.map +0 -1
- package/dts/socket/socket.d.ts +0 -22
- package/dts/socket/socket.d.ts.map +0 -1
- package/dts/stream/buffered-stream.d.ts +0 -30
- package/dts/stream/buffered-stream.d.ts.map +0 -1
- package/dts/stream/index.d.ts +0 -3
- package/dts/stream/index.d.ts.map +0 -1
- package/dts/stream/stream.d.ts +0 -15
- package/dts/stream/stream.d.ts.map +0 -1
- package/dts/utils/auto-reset-event.d.ts.map +0 -1
- package/dts/utils/base64.d.ts +0 -7
- package/dts/utils/base64.d.ts.map +0 -1
- package/dts/utils/chunk.d.ts +0 -3
- package/dts/utils/chunk.d.ts.map +0 -1
- package/dts/utils/event-queue.d.ts +0 -35
- package/dts/utils/event-queue.d.ts.map +0 -1
- package/dts/utils/index.d.ts +0 -5
- package/dts/utils/index.d.ts.map +0 -1
- package/esm/commands/demo-mode.js +0 -170
- package/esm/commands/demo-mode.js.map +0 -1
- package/esm/commands/shell/index.js +0 -52
- package/esm/commands/shell/index.js.map +0 -1
- package/esm/commands/shell/legacy.js +0 -33
- package/esm/commands/shell/legacy.js.map +0 -1
- package/esm/commands/shell/protocol.js +0 -79
- package/esm/commands/shell/protocol.js.map +0 -1
- package/esm/commands/shell/types.js.map +0 -1
- package/esm/commands/shell/utils.js.map +0 -1
- package/esm/socket/close-event-emitter.js +0 -28
- package/esm/socket/close-event-emitter.js.map +0 -1
- package/esm/socket/data-event-emitter.js +0 -25
- package/esm/socket/data-event-emitter.js.map +0 -1
- package/esm/socket/logger.js +0 -2
- package/esm/socket/logger.js.map +0 -1
- package/esm/stream/buffered-stream.js +0 -73
- package/esm/stream/buffered-stream.js.map +0 -1
- package/esm/stream/stream.js +0 -41
- package/esm/stream/stream.js.map +0 -1
- package/esm/utils/chunk.js +0 -70
- package/esm/utils/chunk.js.map +0 -1
- package/esm/utils/event-queue.js +0 -104
- package/esm/utils/event-queue.js.map +0 -1
- package/src/commands/demo-mode.ts +0 -160
- package/src/commands/shell/index.ts +0 -68
- package/src/commands/shell/legacy.ts +0 -42
- package/src/commands/shell/protocol.ts +0 -94
- package/src/commands/shell/types.ts +0 -21
- package/src/socket/close-event-emitter.ts +0 -28
- package/src/socket/controller.ts +0 -105
- package/src/socket/data-event-emitter.ts +0 -27
- package/src/socket/logger.ts +0 -12
- package/src/stream/buffered-stream.ts +0 -100
- package/src/stream/stream.ts +0 -50
- package/src/utils/chunk.ts +0 -70
- package/src/utils/event-queue.ts +0 -145
- package/tsconfig.cjs.json +0 -11
- package/tsconfig.esm.json +0 -28
- package/tsconfig.esm.tsbuildinfo +0 -1305
- package/tsconfig.json +0 -18
package/esm/adb.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type AdbCredentialStore } from './auth.js';
|
|
2
|
+
import { AdbPower, AdbReverseCommand, AdbSubprocess, AdbSync, AdbTcpIpCommand, type AdbFrameBuffer } from './commands/index.js';
|
|
3
|
+
import { AdbFeatures } from './features.js';
|
|
4
|
+
import { type AdbPacketCore, type AdbPacketInit } from './packet.js';
|
|
5
|
+
import { AdbSocket } from './socket/index.js';
|
|
6
|
+
import { WritableStream, type ReadableWritablePair } from "./stream/index.js";
|
|
7
|
+
export declare enum AdbPropKey {
|
|
8
|
+
Product = "ro.product.name",
|
|
9
|
+
Model = "ro.product.model",
|
|
10
|
+
Device = "ro.product.device",
|
|
11
|
+
Features = "features"
|
|
12
|
+
}
|
|
13
|
+
export declare const VERSION_OMIT_CHECKSUM = 16777217;
|
|
14
|
+
export declare class Adb {
|
|
15
|
+
/**
|
|
16
|
+
* It's possible to call `authenticate` multiple times on a single connection,
|
|
17
|
+
* every time the device receives a `CNXN` packet, it resets its internal state,
|
|
18
|
+
* and starts a new authentication process.
|
|
19
|
+
*/
|
|
20
|
+
static authenticate(connection: ReadableWritablePair<AdbPacketCore, AdbPacketCore>, credentialStore: AdbCredentialStore, authenticators?: import("./auth.js").AdbAuthenticator[]): Promise<Adb>;
|
|
21
|
+
private readonly packetDispatcher;
|
|
22
|
+
get disconnected(): Promise<void>;
|
|
23
|
+
private _protocolVersion;
|
|
24
|
+
get protocolVersion(): number | undefined;
|
|
25
|
+
private _product;
|
|
26
|
+
get product(): string | undefined;
|
|
27
|
+
private _model;
|
|
28
|
+
get model(): string | undefined;
|
|
29
|
+
private _device;
|
|
30
|
+
get device(): string | undefined;
|
|
31
|
+
private _features;
|
|
32
|
+
get features(): AdbFeatures[] | undefined;
|
|
33
|
+
readonly subprocess: AdbSubprocess;
|
|
34
|
+
readonly power: AdbPower;
|
|
35
|
+
readonly reverse: AdbReverseCommand;
|
|
36
|
+
readonly tcpip: AdbTcpIpCommand;
|
|
37
|
+
constructor(connection: ReadableWritablePair<AdbPacketCore, AdbPacketInit>, version: number, maxPayloadSize: number, banner: string);
|
|
38
|
+
private parseBanner;
|
|
39
|
+
getProp(key: string): Promise<string>;
|
|
40
|
+
rm(...filenames: string[]): Promise<string>;
|
|
41
|
+
install(): WritableStream<Uint8Array>;
|
|
42
|
+
sync(): Promise<AdbSync>;
|
|
43
|
+
framebuffer(): Promise<AdbFrameBuffer>;
|
|
44
|
+
createSocket(service: string): Promise<AdbSocket>;
|
|
45
|
+
createSocketAndWait(service: string): Promise<string>;
|
|
46
|
+
dispose(): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=adb.d.ts.map
|
package/esm/adb.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"AACA,OAAO,EAAsD,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxG,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAmC,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjK,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA4C,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAuB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAyD,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGrI,oBAAY,UAAU;IAClB,OAAO,oBAAoB;IAC3B,KAAK,qBAAqB;IAC1B,MAAM,sBAAsB;IAC5B,QAAQ,aAAa;CACxB;AAED,eAAO,MAAM,qBAAqB,WAAa,CAAC;AAEhD,qBAAa,GAAG;IACZ;;;;OAIG;WACiB,YAAY,CAC5B,UAAU,EAAE,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9D,eAAe,EAAE,kBAAkB,EACnC,cAAc,yCAA2B,GAC1C,OAAO,CAAC,GAAG,CAAC;IA4Ff,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IAEvD,IAAW,YAAY,kBAAiD;IAExE,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,IAAW,eAAe,uBAAoC;IAE9D,OAAO,CAAC,QAAQ,CAAqB;IACrC,IAAW,OAAO,uBAA4B;IAE9C,OAAO,CAAC,MAAM,CAAqB;IACnC,IAAW,KAAK,uBAA0B;IAE1C,OAAO,CAAC,OAAO,CAAqB;IACpC,IAAW,MAAM,uBAA2B;IAE5C,OAAO,CAAC,SAAS,CAA4B;IAC7C,IAAW,QAAQ,8BAA6B;IAEhD,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;IAoBlB,OAAO,CAAC,WAAW;IAmCN,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOrC,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjD,OAAO;IAID,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAKxB,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAItC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIjD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxC"}
|
package/esm/adb.js
CHANGED
|
@@ -1,120 +1,134 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import { PromiseResolver } from '@yume-chan/async';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
2
|
+
import { AdbAuthenticationHandler, AdbDefaultAuthenticators } from './auth.js';
|
|
3
|
+
import { AdbPower, AdbReverseCommand, AdbSubprocess, AdbSync, AdbTcpIpCommand, escapeArg, framebuffer, install } from './commands/index.js';
|
|
4
|
+
import { AdbFeatures } from './features.js';
|
|
5
|
+
import { AdbCommand, calculateChecksum } from './packet.js';
|
|
6
|
+
import { AdbPacketDispatcher } from './socket/index.js';
|
|
7
|
+
import { AbortController, DecodeUtf8Stream, GatherStringStream, WritableStream } from "./stream/index.js";
|
|
8
|
+
import { decodeUtf8, encodeUtf8 } from "./utils/index.js";
|
|
9
9
|
export var AdbPropKey;
|
|
10
10
|
(function (AdbPropKey) {
|
|
11
11
|
AdbPropKey["Product"] = "ro.product.name";
|
|
12
12
|
AdbPropKey["Model"] = "ro.product.model";
|
|
13
13
|
AdbPropKey["Device"] = "ro.product.device";
|
|
14
14
|
AdbPropKey["Features"] = "features";
|
|
15
|
-
})(AdbPropKey || (AdbPropKey = {}));
|
|
15
|
+
})(AdbPropKey = AdbPropKey || (AdbPropKey = {}));
|
|
16
|
+
export const VERSION_OMIT_CHECKSUM = 0x01000001;
|
|
16
17
|
export class Adb {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
/**
|
|
19
|
+
* It's possible to call `authenticate` multiple times on a single connection,
|
|
20
|
+
* every time the device receives a `CNXN` packet, it resets its internal state,
|
|
21
|
+
* and starts a new authentication process.
|
|
22
|
+
*/
|
|
23
|
+
static async authenticate(connection, credentialStore, authenticators = AdbDefaultAuthenticators) {
|
|
24
|
+
let version = 0x01000001;
|
|
25
|
+
let maxPayloadSize = 0x100000;
|
|
26
|
+
const features = [
|
|
27
|
+
'shell_v2',
|
|
28
|
+
'cmd',
|
|
29
|
+
AdbFeatures.StatV2,
|
|
30
|
+
'ls_v2',
|
|
31
|
+
'fixed_push_mkdir',
|
|
32
|
+
'apex',
|
|
33
|
+
'abb',
|
|
34
|
+
'fixed_push_symlink_timestamp',
|
|
35
|
+
'abb_exec',
|
|
36
|
+
'remount_shell',
|
|
37
|
+
'track_app',
|
|
38
|
+
'sendrecv_v2',
|
|
39
|
+
'sendrecv_v2_brotli',
|
|
40
|
+
'sendrecv_v2_lz4',
|
|
41
|
+
'sendrecv_v2_zstd',
|
|
42
|
+
'sendrecv_v2_dry_run_send',
|
|
43
|
+
].join(',');
|
|
44
|
+
const resolver = new PromiseResolver();
|
|
45
|
+
const authHandler = new AdbAuthenticationHandler(authenticators, credentialStore);
|
|
46
|
+
const abortController = new AbortController();
|
|
47
|
+
const pipe = connection.readable
|
|
48
|
+
.pipeTo(new WritableStream({
|
|
49
|
+
async write(packet) {
|
|
50
|
+
switch (packet.command) {
|
|
51
|
+
case AdbCommand.Connect:
|
|
52
|
+
version = Math.min(version, packet.arg0);
|
|
53
|
+
maxPayloadSize = Math.min(maxPayloadSize, packet.arg1);
|
|
54
|
+
resolver.resolve(decodeUtf8(packet.payload));
|
|
55
|
+
break;
|
|
56
|
+
case AdbCommand.Auth:
|
|
57
|
+
const response = await authHandler.handle(packet);
|
|
58
|
+
await sendPacket(response);
|
|
59
|
+
break;
|
|
60
|
+
case AdbCommand.Close:
|
|
61
|
+
// Last connection was interrupted
|
|
62
|
+
// Ignore this packet, device will recover
|
|
63
|
+
break;
|
|
64
|
+
default:
|
|
65
|
+
throw new Error('Device not in correct state. Reconnect your device and try again');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}), {
|
|
69
|
+
preventCancel: true,
|
|
70
|
+
signal: abortController.signal,
|
|
71
|
+
})
|
|
72
|
+
.catch((e) => { resolver.reject(e); });
|
|
73
|
+
const writer = connection.writable.getWriter();
|
|
74
|
+
async function sendPacket(init) {
|
|
75
|
+
// Always send checksum in auth steps
|
|
76
|
+
// Because we don't know if the device will ignore it yet.
|
|
77
|
+
await writer.write(calculateChecksum(init));
|
|
78
|
+
}
|
|
79
|
+
await sendPacket({
|
|
80
|
+
command: AdbCommand.Connect,
|
|
81
|
+
arg0: version,
|
|
82
|
+
arg1: maxPayloadSize,
|
|
83
|
+
// The terminating `;` is required in formal definition
|
|
84
|
+
// But ADB daemon (all versions) can still work without it
|
|
85
|
+
payload: encodeUtf8(`host::features=${features};`),
|
|
86
|
+
});
|
|
87
|
+
try {
|
|
88
|
+
const banner = await resolver.promise;
|
|
89
|
+
// Stop piping before creating Adb object
|
|
90
|
+
// Because AdbPacketDispatcher will try to lock the streams when initializing
|
|
91
|
+
abortController.abort();
|
|
92
|
+
await pipe;
|
|
93
|
+
writer.releaseLock();
|
|
94
|
+
return new Adb(connection, version, maxPayloadSize, banner);
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
abortController.abort();
|
|
98
|
+
writer.releaseLock();
|
|
99
|
+
}
|
|
26
100
|
}
|
|
27
|
-
|
|
28
|
-
get
|
|
29
|
-
|
|
30
|
-
get name() { return this.backend.name; }
|
|
101
|
+
packetDispatcher;
|
|
102
|
+
get disconnected() { return this.packetDispatcher.disconnected; }
|
|
103
|
+
_protocolVersion;
|
|
31
104
|
get protocolVersion() { return this._protocolVersion; }
|
|
105
|
+
_product;
|
|
32
106
|
get product() { return this._product; }
|
|
107
|
+
_model;
|
|
33
108
|
get model() { return this._model; }
|
|
109
|
+
_device;
|
|
34
110
|
get device() { return this._device; }
|
|
111
|
+
_features;
|
|
35
112
|
get features() { return this._features; }
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
'fixed_push_symlink_timestamp',
|
|
56
|
-
'abb_exec',
|
|
57
|
-
'remount_shell',
|
|
58
|
-
'track_app',
|
|
59
|
-
'sendrecv_v2',
|
|
60
|
-
'sendrecv_v2_brotli',
|
|
61
|
-
'sendrecv_v2_lz4',
|
|
62
|
-
'sendrecv_v2_zstd',
|
|
63
|
-
'sendrecv_v2_dry_run_send',
|
|
64
|
-
].join(',');
|
|
65
|
-
const resolver = new PromiseResolver();
|
|
66
|
-
const authHandler = new AdbAuthenticationHandler(authenticators, credentialStore);
|
|
67
|
-
const disposableList = new DisposableList();
|
|
68
|
-
disposableList.add(this.packetDispatcher.onPacket((e) => __awaiter(this, void 0, void 0, function* () {
|
|
69
|
-
e.handled = true;
|
|
70
|
-
const { packet } = e;
|
|
71
|
-
try {
|
|
72
|
-
switch (packet.command) {
|
|
73
|
-
case AdbCommand.Connect:
|
|
74
|
-
this.packetDispatcher.maxPayloadSize = Math.min(maxPayloadSize, packet.arg1);
|
|
75
|
-
const finalVersion = Math.min(version, packet.arg0);
|
|
76
|
-
this._protocolVersion = finalVersion;
|
|
77
|
-
if (finalVersion >= versionNoChecksum) {
|
|
78
|
-
this.packetDispatcher.calculateChecksum = false;
|
|
79
|
-
// Android prior to 9.0.0 uses char* to parse service string
|
|
80
|
-
// thus requires an extra null character
|
|
81
|
-
this.packetDispatcher.appendNullToServiceString = false;
|
|
82
|
-
}
|
|
83
|
-
this.parseBanner(this.backend.decodeUtf8(packet.payload));
|
|
84
|
-
resolver.resolve();
|
|
85
|
-
break;
|
|
86
|
-
case AdbCommand.Auth:
|
|
87
|
-
const authPacket = yield authHandler.handle(e.packet);
|
|
88
|
-
yield this.packetDispatcher.sendPacket(authPacket);
|
|
89
|
-
break;
|
|
90
|
-
case AdbCommand.Close:
|
|
91
|
-
// Last connection was interrupted
|
|
92
|
-
// Ignore this packet, device will recover
|
|
93
|
-
break;
|
|
94
|
-
default:
|
|
95
|
-
throw new Error('Device not in correct state. Reconnect your device and try again');
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
catch (e) {
|
|
99
|
-
resolver.reject(e);
|
|
100
|
-
}
|
|
101
|
-
})));
|
|
102
|
-
disposableList.add(this.packetDispatcher.onError(e => {
|
|
103
|
-
resolver.reject(e);
|
|
104
|
-
}));
|
|
105
|
-
// Android prior 9.0.0 requires the null character
|
|
106
|
-
// Newer versions can also handle the null character
|
|
107
|
-
// The terminating `;` is required in formal definition
|
|
108
|
-
// But ADB daemon can also work without it
|
|
109
|
-
yield this.packetDispatcher.sendPacket(AdbCommand.Connect, version, maxPayloadSize, `host::features=${features};\0`);
|
|
110
|
-
try {
|
|
111
|
-
yield resolver.promise;
|
|
112
|
-
this._connected = true;
|
|
113
|
-
}
|
|
114
|
-
finally {
|
|
115
|
-
disposableList.dispose();
|
|
116
|
-
}
|
|
117
|
-
});
|
|
113
|
+
subprocess;
|
|
114
|
+
power;
|
|
115
|
+
reverse;
|
|
116
|
+
tcpip;
|
|
117
|
+
constructor(connection, version, maxPayloadSize, banner) {
|
|
118
|
+
this.parseBanner(banner);
|
|
119
|
+
this.packetDispatcher = new AdbPacketDispatcher(connection);
|
|
120
|
+
this._protocolVersion = version;
|
|
121
|
+
if (version >= VERSION_OMIT_CHECKSUM) {
|
|
122
|
+
this.packetDispatcher.calculateChecksum = false;
|
|
123
|
+
// Android prior to 9.0.0 uses char* to parse service string
|
|
124
|
+
// thus requires an extra null character
|
|
125
|
+
this.packetDispatcher.appendNullToServiceString = false;
|
|
126
|
+
}
|
|
127
|
+
this.packetDispatcher.maxPayloadSize = maxPayloadSize;
|
|
128
|
+
this.subprocess = new AdbSubprocess(this);
|
|
129
|
+
this.power = new AdbPower(this);
|
|
130
|
+
this.reverse = new AdbReverseCommand(this.packetDispatcher);
|
|
131
|
+
this.tcpip = new AdbTcpIpCommand(this);
|
|
118
132
|
}
|
|
119
133
|
parseBanner(banner) {
|
|
120
134
|
this._features = [];
|
|
@@ -147,55 +161,37 @@ export class Adb {
|
|
|
147
161
|
}
|
|
148
162
|
}
|
|
149
163
|
}
|
|
150
|
-
getProp(key) {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
return output.trim();
|
|
154
|
-
});
|
|
164
|
+
async getProp(key) {
|
|
165
|
+
const stdout = await this.subprocess.spawnAndWaitLegacy(['getprop', key]);
|
|
166
|
+
return stdout.trim();
|
|
155
167
|
}
|
|
156
|
-
rm(...filenames) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
});
|
|
168
|
+
async rm(...filenames) {
|
|
169
|
+
const stdout = await this.subprocess.spawnAndWaitLegacy(['rm', '-rf', ...filenames.map(arg => escapeArg(arg))]);
|
|
170
|
+
return stdout;
|
|
160
171
|
}
|
|
161
|
-
install(
|
|
162
|
-
return
|
|
163
|
-
return yield install(this, apk, onProgress);
|
|
164
|
-
});
|
|
172
|
+
install() {
|
|
173
|
+
return install(this);
|
|
165
174
|
}
|
|
166
|
-
sync() {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
return new AdbSync(this, socket);
|
|
170
|
-
});
|
|
175
|
+
async sync() {
|
|
176
|
+
const socket = await this.createSocket('sync:');
|
|
177
|
+
return new AdbSync(this, socket);
|
|
171
178
|
}
|
|
172
|
-
framebuffer() {
|
|
173
|
-
return
|
|
174
|
-
return framebuffer(this);
|
|
175
|
-
});
|
|
179
|
+
async framebuffer() {
|
|
180
|
+
return framebuffer(this);
|
|
176
181
|
}
|
|
177
|
-
createSocket(service) {
|
|
178
|
-
return
|
|
179
|
-
return this.packetDispatcher.createSocket(service);
|
|
180
|
-
});
|
|
182
|
+
async createSocket(service) {
|
|
183
|
+
return this.packetDispatcher.createSocket(service);
|
|
181
184
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
});
|
|
190
|
-
socket.onClose(() => resolver.resolve(result));
|
|
191
|
-
return resolver.promise;
|
|
192
|
-
});
|
|
185
|
+
async createSocketAndWait(service) {
|
|
186
|
+
const socket = await this.createSocket(service);
|
|
187
|
+
const gatherStream = new GatherStringStream();
|
|
188
|
+
await socket.readable
|
|
189
|
+
.pipeThrough(new DecodeUtf8Stream())
|
|
190
|
+
.pipeTo(gatherStream.writable);
|
|
191
|
+
return gatherStream.result;
|
|
193
192
|
}
|
|
194
|
-
dispose() {
|
|
195
|
-
|
|
196
|
-
this.packetDispatcher.dispose();
|
|
197
|
-
yield this.backend.dispose();
|
|
198
|
-
});
|
|
193
|
+
async dispose() {
|
|
194
|
+
this.packetDispatcher.dispose();
|
|
199
195
|
}
|
|
200
196
|
}
|
|
201
197
|
//# sourceMappingURL=adb.js.map
|
package/esm/adb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adb.js","sourceRoot":"","sources":["../src/adb.ts"],"names":[],"mappings":"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"}
|
package/{dts → esm}/auth.d.ts
RENAMED
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import { Disposable } from '@yume-chan/event';
|
|
2
|
-
import { ValueOrPromise } from '@yume-chan/struct';
|
|
3
|
-
import { AdbPacket,
|
|
4
|
-
export declare type AdbKeyIterable = Iterable<
|
|
1
|
+
import type { Disposable } from '@yume-chan/event';
|
|
2
|
+
import type { ValueOrPromise } from '@yume-chan/struct';
|
|
3
|
+
import { AdbPacket, type AdbPacketCore } from './packet.js';
|
|
4
|
+
export declare type AdbKeyIterable = Iterable<Uint8Array> | AsyncIterable<Uint8Array>;
|
|
5
5
|
export interface AdbCredentialStore {
|
|
6
|
+
/**
|
|
7
|
+
* Generate and store a RSA private key with modulus length `2048` and public exponent `65537`.
|
|
8
|
+
*
|
|
9
|
+
* The returned `Uint8Array` is the private key in PKCS #8 format.
|
|
10
|
+
*/
|
|
11
|
+
generateKey(): ValueOrPromise<Uint8Array>;
|
|
12
|
+
/**
|
|
13
|
+
* Synchronously or asynchronously iterate through all stored RSA private keys.
|
|
14
|
+
*
|
|
15
|
+
* Each call to `iterateKeys` must return a different iterator that iterate through all stored keys.
|
|
16
|
+
*/
|
|
6
17
|
iterateKeys(): AdbKeyIterable;
|
|
7
|
-
generateKey(): ValueOrPromise<ArrayBuffer>;
|
|
8
18
|
}
|
|
9
19
|
export declare enum AdbAuthType {
|
|
10
20
|
Token = 1,
|
|
@@ -23,7 +33,7 @@ export interface AdbAuthenticator {
|
|
|
23
33
|
*
|
|
24
34
|
* Calling `getNextRequest` multiple times without `yield` or `return` will always return the same request.
|
|
25
35
|
*/
|
|
26
|
-
(credentialStore: AdbCredentialStore, getNextRequest: () => Promise<AdbPacket>): AsyncIterable<
|
|
36
|
+
(credentialStore: AdbCredentialStore, getNextRequest: () => Promise<AdbPacket>): AsyncIterable<AdbPacketCore>;
|
|
27
37
|
}
|
|
28
38
|
export declare const AdbSignatureAuthenticator: AdbAuthenticator;
|
|
29
39
|
export declare const AdbPublicKeyAuthenticator: AdbAuthenticator;
|
|
@@ -36,7 +46,7 @@ export declare class AdbAuthenticationHandler implements Disposable {
|
|
|
36
46
|
constructor(authenticators: readonly AdbAuthenticator[], credentialStore: AdbCredentialStore);
|
|
37
47
|
private getNextRequest;
|
|
38
48
|
private runAuthenticator;
|
|
39
|
-
handle(packet: AdbPacket): Promise<
|
|
49
|
+
handle(packet: AdbPacket): Promise<AdbPacketCore>;
|
|
40
50
|
dispose(): void;
|
|
41
51
|
}
|
|
42
52
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAc,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxE,oBAAY,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,SAAS,CAAC,GACzC,aAAa,CAAC,aAAa,CAAC,CAAC;CACnC;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAmBvC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,gBAwCvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAGtD,CAAC;AAEF,qBAAa,wBAAyB,YAAW,UAAU;IACvD,SAAgB,cAAc,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAE5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAErD,OAAO,CAAC,cAAc,CAAoC;IAE1D,OAAO,CAAC,QAAQ,CAA2C;gBAGvD,cAAc,EAAE,SAAS,gBAAgB,EAAE,EAC3C,eAAe,EAAE,kBAAkB;IAMvC,OAAO,CAAC,cAAc,CAEpB;YAEa,gBAAgB;IAkBlB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAUvD,OAAO;CAGjB"}
|