adb-ready 0.3.2 → 0.3.4
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 +38 -1
- package/README.md +1 -0
- package/dist/cli.js +20 -5
- package/dist/cli.js.map +4 -4
- package/docs/RELEASING.md +14 -3
- package/package.json +2 -1
- package/schema/agent-tools-v1.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,41 @@ breaking changes.
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [0.3.4] - 2026-09-12
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Publish the verified LCOV report to Codecov through short-lived GitHub OIDC
|
|
17
|
+
credentials and show the measured `main` coverage in a live README badge.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Raise the authoritative LCOV line and function coverage floors from 90% to
|
|
22
|
+
95% with additional lifecycle, recovery, agent, configuration, persistence,
|
|
23
|
+
platform, terminal, and protocol boundary tests.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Keep a development session running when optional local session history cannot
|
|
28
|
+
be initialized or finalized, while reporting the persistence gap as a warning.
|
|
29
|
+
- Return a structured target-lease availability error when its per-user state
|
|
30
|
+
directory cannot be created instead of leaking an internal filesystem error.
|
|
31
|
+
|
|
32
|
+
## [0.3.3] - 2026-09-11
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- Fail closed before npm publishing unless the immutable release tag already
|
|
37
|
+
has a matching draft GitHub release.
|
|
38
|
+
- Isolate the push-level permission needed to inspect that draft release in a
|
|
39
|
+
preflight job that never checks out or executes repository code.
|
|
40
|
+
- Allow the audited workflow on protected `main` to promote an exact immutable
|
|
41
|
+
release tag, so release-infrastructure fixes never require moving that tag.
|
|
42
|
+
- Document Deno's 24-hour minimum dependency age and the explicit override
|
|
43
|
+
reserved for immediate post-publish verification.
|
|
44
|
+
- Enforce 90% LCOV line and function coverage floors in the authoritative
|
|
45
|
+
verification gate and preserve its LCOV report in CI.
|
|
46
|
+
|
|
12
47
|
## [0.3.2] - 2026-09-11
|
|
13
48
|
|
|
14
49
|
### Fixed
|
|
@@ -207,7 +242,9 @@ breaking changes.
|
|
|
207
242
|
explainable configuration precedence.
|
|
208
243
|
- Human, plain, JSON, and NDJSON output across Node, Bun, and Deno entrypoints.
|
|
209
244
|
|
|
210
|
-
[Unreleased]: https://github.com/Adam014/adb-ready/compare/v0.3.
|
|
245
|
+
[Unreleased]: https://github.com/Adam014/adb-ready/compare/v0.3.4...HEAD
|
|
246
|
+
[0.3.4]: https://github.com/Adam014/adb-ready/compare/v0.3.3...v0.3.4
|
|
247
|
+
[0.3.3]: https://github.com/Adam014/adb-ready/compare/v0.3.2...v0.3.3
|
|
211
248
|
[0.3.2]: https://github.com/Adam014/adb-ready/compare/v0.3.1...v0.3.2
|
|
212
249
|
[0.3.1]: https://github.com/Adam014/adb-ready/compare/v0.3.0...v0.3.1
|
|
213
250
|
[0.3.0]: https://github.com/Adam014/adb-ready/compare/v0.2.0...v0.3.0
|
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@ verified evidence—for developers, agents, and CI.
|
|
|
9
9
|
|
|
10
10
|
[](./docs/agent-integration.md)
|
|
11
11
|
[](https://github.com/Adam014/adb-ready/actions/workflows/ci.yml)
|
|
12
|
+
[](https://app.codecov.io/gh/Adam014/adb-ready)
|
|
12
13
|
[](https://www.npmjs.com/package/adb-ready)
|
|
13
14
|
[](https://nodejs.org/)
|
|
14
15
|
[](https://bun.sh/)
|
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.4",
|
|
359
359
|
description: "Agent-ready Android CLI for reliable ADB sessions, app automation, and verified evidence.",
|
|
360
360
|
private: false,
|
|
361
361
|
type: "module",
|
|
@@ -388,6 +388,7 @@ var package_default = {
|
|
|
388
388
|
"ui:playground": "bun run scripts/ui-playground.ts",
|
|
389
389
|
"ui:check": "bun run scripts/ui-playground.ts --all --non-interactive",
|
|
390
390
|
test: "bun test",
|
|
391
|
+
"test:coverage": "bun test --coverage && bun run scripts/coverage-check.mjs",
|
|
391
392
|
"test:commands": "bun run build && bun run scripts/command-matrix.mjs",
|
|
392
393
|
"test:package-managers": "bun run build && bun run scripts/package-manager-smoke.mjs",
|
|
393
394
|
"test:integration": "bun test tests/integration",
|
|
@@ -39233,7 +39234,10 @@ async function runDev(options, config4 = {}, dependencies = {}, signal) {
|
|
|
39233
39234
|
projectRoot: options.sessionStore.projectRoot ?? options.cwd
|
|
39234
39235
|
});
|
|
39235
39236
|
} catch {
|
|
39236
|
-
problems.push(
|
|
39237
|
+
problems.push({
|
|
39238
|
+
...commandProblem(ProblemCode.SessionPersistenceFailed, "session.persistence", "Session history could not be started.", "The development session can continue, but this run will not be available afterward.", context.commandId),
|
|
39239
|
+
severity: "warning"
|
|
39240
|
+
});
|
|
39237
39241
|
}
|
|
39238
39242
|
}
|
|
39239
39243
|
const complete = async (data) => {
|
|
@@ -39265,7 +39269,10 @@ async function runDev(options, config4 = {}, dependencies = {}, signal) {
|
|
|
39265
39269
|
...data?.preset === undefined ? {} : { preset: data.preset }
|
|
39266
39270
|
});
|
|
39267
39271
|
if (!persisted.ok) {
|
|
39268
|
-
execution2.result.problems.push(
|
|
39272
|
+
execution2.result.problems.push({
|
|
39273
|
+
...commandProblem(ProblemCode.SessionPersistenceFailed, "session.persistence", persisted.message, "The development session completed, but its local history is incomplete.", context.commandId),
|
|
39274
|
+
severity: "warning"
|
|
39275
|
+
});
|
|
39269
39276
|
}
|
|
39270
39277
|
}
|
|
39271
39278
|
return execution2;
|
|
@@ -43273,7 +43280,15 @@ async function acquireTargetLease(request, options = {}) {
|
|
|
43273
43280
|
throw new RangeError("target lease heartbeatIntervalMs must be non-negative and less than ttlMs");
|
|
43274
43281
|
}
|
|
43275
43282
|
const root = leaseDirectory(options);
|
|
43276
|
-
|
|
43283
|
+
try {
|
|
43284
|
+
await mkdir4(root, { recursive: true, mode: 448 });
|
|
43285
|
+
} catch {
|
|
43286
|
+
return {
|
|
43287
|
+
ok: false,
|
|
43288
|
+
code: "TARGET_LEASE_UNAVAILABLE",
|
|
43289
|
+
message: "ADB Ready could not create the target ownership lease."
|
|
43290
|
+
};
|
|
43291
|
+
}
|
|
43277
43292
|
const canonicalRoot = await realpath4(path11.resolve(request.projectRoot)).catch(() => path11.resolve(request.projectRoot));
|
|
43278
43293
|
const targetFingerprint = fingerprint3(request.targetIdentity);
|
|
43279
43294
|
const projectFingerprint = fingerprint3(`root:${process11.platform === "win32" ? canonicalRoot.toLowerCase() : canonicalRoot}`);
|
|
@@ -49033,4 +49048,4 @@ try {
|
|
|
49033
49048
|
process14.removeListener("SIGTERM", abort);
|
|
49034
49049
|
}
|
|
49035
49050
|
|
|
49036
|
-
//# debugId=
|
|
49051
|
+
//# debugId=3B60240054A5D38E64756E2164756E21
|