adb-ready 0.3.4 → 0.3.5
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.md +22 -1
- package/dist/cli.js +31 -7
- package/docs/RELEASING.md +2 -1
- package/package.json +3 -2
- package/schema/agent-tools-v1.json +1 -1
- package/dist/cli.js.map +0 -132
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,26 @@ breaking changes.
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [0.3.5] - 2026-09-12
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Enforce at least 95% coverage of measurable executable lines added or
|
|
17
|
+
replaced by a pull request, in addition to the existing repository-wide
|
|
18
|
+
line and function coverage floors.
|
|
19
|
+
- Keep external source maps available in local builds while excluding their
|
|
20
|
+
unreferenced payload from the published npm package.
|
|
21
|
+
- Make the read-only real-ADB check report logical targets and raw transports
|
|
22
|
+
separately and fail when ADB returns an unrecognized device state.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Preserve complete mDNS transport serials containing Bonjour collision
|
|
27
|
+
suffixes such as ` (2)`, preventing one physical device from appearing as a
|
|
28
|
+
second unknown target.
|
|
29
|
+
- Classify connected `_adb-tls-connect._tcp` service transports as TLS even
|
|
30
|
+
when their mDNS serial contains a Bonjour collision suffix.
|
|
31
|
+
|
|
12
32
|
## [0.3.4] - 2026-09-12
|
|
13
33
|
|
|
14
34
|
### Added
|
|
@@ -242,7 +262,8 @@ breaking changes.
|
|
|
242
262
|
explainable configuration precedence.
|
|
243
263
|
- Human, plain, JSON, and NDJSON output across Node, Bun, and Deno entrypoints.
|
|
244
264
|
|
|
245
|
-
[Unreleased]: https://github.com/Adam014/adb-ready/compare/v0.3.
|
|
265
|
+
[Unreleased]: https://github.com/Adam014/adb-ready/compare/v0.3.5...HEAD
|
|
266
|
+
[0.3.5]: https://github.com/Adam014/adb-ready/compare/v0.3.4...v0.3.5
|
|
246
267
|
[0.3.4]: https://github.com/Adam014/adb-ready/compare/v0.3.3...v0.3.4
|
|
247
268
|
[0.3.3]: https://github.com/Adam014/adb-ready/compare/v0.3.2...v0.3.3
|
|
248
269
|
[0.3.2]: https://github.com/Adam014/adb-ready/compare/v0.3.1...v0.3.2
|
package/dist/cli.js
CHANGED
|
@@ -355,7 +355,7 @@ import process13 from "node:process";
|
|
|
355
355
|
// package.json
|
|
356
356
|
var package_default = {
|
|
357
357
|
name: "adb-ready",
|
|
358
|
-
version: "0.3.
|
|
358
|
+
version: "0.3.5",
|
|
359
359
|
description: "Agent-ready Android CLI for reliable ADB sessions, app automation, and verified evidence.",
|
|
360
360
|
private: false,
|
|
361
361
|
type: "module",
|
|
@@ -366,7 +366,7 @@ var package_default = {
|
|
|
366
366
|
files: [
|
|
367
367
|
"CHANGELOG.md",
|
|
368
368
|
"COMPATIBILITY.md",
|
|
369
|
-
"dist",
|
|
369
|
+
"dist/cli.js",
|
|
370
370
|
"docs",
|
|
371
371
|
"examples",
|
|
372
372
|
"LICENSE",
|
|
@@ -389,6 +389,7 @@ var package_default = {
|
|
|
389
389
|
"ui:check": "bun run scripts/ui-playground.ts --all --non-interactive",
|
|
390
390
|
test: "bun test",
|
|
391
391
|
"test:coverage": "bun test --coverage && bun run scripts/coverage-check.mjs",
|
|
392
|
+
"test:coverage:diff": "bun run scripts/coverage-diff-check.mjs",
|
|
392
393
|
"test:commands": "bun run build && bun run scripts/command-matrix.mjs",
|
|
393
394
|
"test:package-managers": "bun run build && bun run scripts/package-manager-smoke.mjs",
|
|
394
395
|
"test:integration": "bun test tests/integration",
|
|
@@ -34740,6 +34741,26 @@ function normalizeState(tokens) {
|
|
|
34740
34741
|
}
|
|
34741
34742
|
return { state: "unknown", consumed: candidate === undefined ? 0 : 1 };
|
|
34742
34743
|
}
|
|
34744
|
+
function splitDeviceLine(line) {
|
|
34745
|
+
const knownState = line.match(/^(.+?)\s+(no\s+permissions|bootloader|device|offline|recovery|sideload|unauthorized)(?:\s+(.*))?$/u);
|
|
34746
|
+
if (knownState !== null) {
|
|
34747
|
+
const serial2 = knownState[1]?.trim();
|
|
34748
|
+
const state = knownState[2];
|
|
34749
|
+
if (serial2 === undefined || serial2 === "" || state === undefined)
|
|
34750
|
+
return;
|
|
34751
|
+
const details = knownState[3]?.trim();
|
|
34752
|
+
return {
|
|
34753
|
+
serial: serial2,
|
|
34754
|
+
tokens: [
|
|
34755
|
+
...state.split(/\s+/u),
|
|
34756
|
+
...details === undefined || details === "" ? [] : details.split(/\s+/u)
|
|
34757
|
+
]
|
|
34758
|
+
};
|
|
34759
|
+
}
|
|
34760
|
+
const tokens = line.split(/\s+/u);
|
|
34761
|
+
const serial = tokens.shift();
|
|
34762
|
+
return serial === undefined || serial === "" ? undefined : { serial, tokens };
|
|
34763
|
+
}
|
|
34743
34764
|
function parseAdbDevices(output) {
|
|
34744
34765
|
const devices = [];
|
|
34745
34766
|
let sawHeader = false;
|
|
@@ -34758,11 +34779,10 @@ function parseAdbDevices(output) {
|
|
|
34758
34779
|
if (!sawHeader || line.startsWith("* daemon") || line.startsWith("adb server")) {
|
|
34759
34780
|
continue;
|
|
34760
34781
|
}
|
|
34761
|
-
const
|
|
34762
|
-
|
|
34763
|
-
if (serial === undefined || serial === "") {
|
|
34782
|
+
const fields = splitDeviceLine(line);
|
|
34783
|
+
if (fields === undefined)
|
|
34764
34784
|
continue;
|
|
34765
|
-
}
|
|
34785
|
+
const { serial, tokens } = fields;
|
|
34766
34786
|
const { state, consumed } = normalizeState(tokens);
|
|
34767
34787
|
const details = tokens.slice(consumed);
|
|
34768
34788
|
const properties = {};
|
|
@@ -37833,6 +37853,10 @@ function transportKind(device, services) {
|
|
|
37833
37853
|
return services.some((service) => service.serviceType === "connect" && service.endpoint.serial === endpoint.serial) ? "tls" : "tcp";
|
|
37834
37854
|
}
|
|
37835
37855
|
if (isMdnsServiceSerial(device.serial)) {
|
|
37856
|
+
if (/\._adb-tls-connect\._tcp(?:\.|$)/iu.test(device.serial))
|
|
37857
|
+
return "tls";
|
|
37858
|
+
if (/\._adb\._tcp(?:\.|$)/iu.test(device.serial))
|
|
37859
|
+
return "tcp";
|
|
37836
37860
|
return "unknown";
|
|
37837
37861
|
}
|
|
37838
37862
|
if (device.usb !== undefined || device.serial !== "") {
|
|
@@ -49048,4 +49072,4 @@ try {
|
|
|
49048
49072
|
process14.removeListener("SIGTERM", abort);
|
|
49049
49073
|
}
|
|
49050
49074
|
|
|
49051
|
-
//# debugId=
|
|
49075
|
+
//# debugId=855CD3B5A014B04364756E2164756E21
|
package/docs/RELEASING.md
CHANGED
|
@@ -24,7 +24,8 @@ The workflow does not use a long-lived npm write token.
|
|
|
24
24
|
Release evidence has three tiers:
|
|
25
25
|
|
|
26
26
|
- **Every release:** the complete fixture, unit, integration, runtime, package,
|
|
27
|
-
documentation, privacy, and release-artifact verification gate must
|
|
27
|
+
documentation, privacy, coverage, and release-artifact verification gate must
|
|
28
|
+
pass. Pull requests must also satisfy the 95% changed-line coverage gate.
|
|
28
29
|
- **Device-behavior changes:** rerun every affected workflow on a real target
|
|
29
30
|
and record the exact host, target, Android version, and transport. A
|
|
30
31
|
documentation, metadata, or machine-output-only patch does not manufacture
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adb-ready",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "Agent-ready Android CLI for reliable ADB sessions, app automation, and verified evidence.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"files": [
|
|
12
12
|
"CHANGELOG.md",
|
|
13
13
|
"COMPATIBILITY.md",
|
|
14
|
-
"dist",
|
|
14
|
+
"dist/cli.js",
|
|
15
15
|
"docs",
|
|
16
16
|
"examples",
|
|
17
17
|
"LICENSE",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"ui:check": "bun run scripts/ui-playground.ts --all --non-interactive",
|
|
35
35
|
"test": "bun test",
|
|
36
36
|
"test:coverage": "bun test --coverage && bun run scripts/coverage-check.mjs",
|
|
37
|
+
"test:coverage:diff": "bun run scripts/coverage-diff-check.mjs",
|
|
37
38
|
"test:commands": "bun run build && bun run scripts/command-matrix.mjs",
|
|
38
39
|
"test:package-managers": "bun run build && bun run scripts/package-manager-smoke.mjs",
|
|
39
40
|
"test:integration": "bun test tests/integration",
|