7 Commits

Author SHA1 Message Date
Michał Pierzchała 59d28e8446 refactor: add provider-first device lab tests (#542)
* refactor: add provider-first device lab tests

* refactor: tighten device lab provider seams

* test: cover provider lab contracts

* docs: record device lab harness direction

* ci: run device lab integration tests

* test: move device lab under integration

* test: extract device lab helpers

* refactor: centralize apps filter defaults

* test: drop lab-covered unit tests

* test: fold platform happy paths into device lab

* test: reuse device lab helpers

* test: move device lab to in-process harness

* test: replace session handler cases with device lab

* test: harden device lab scenario contracts

* docs: define unit test retention policy

* test: expand provider device lab coverage

* test: harden provider device lab coverage

* test: cover manifest install and runner session contracts

* chore: remove unused provider cleanup code

* test: split android find device lab scenario

* test: track provider lab architecture progress

* test: clarify provider lab roadmap progress

* test: advance provider lab session coverage

* test: move menubar click routing to device lab

* test: move menubar snapshots to device lab

* refactor: centralize screenshot flag plumbing

* refactor: colocate screenshot flag metadata

* test: cover all public commands in device lab

* test: move macos wait success to device lab

* test: drop redundant perf and diff units

* test: move push payload paths to device lab

* test: move network parsing to device lab

* test: move log cleanup to device lab

* test: move log restart and boot to device lab

* test: move ios physical boot to device lab

* test: cover perf startup in device lab

* test: extract android and ios device lab worlds

* test: trim device lab world surface

* test: split snapshot capture unit coverage

* test: deepen device lab coverage and trim handler units

* test: clean up device lab migration scaffolding

* test: report device lab public command coverage

* refactor: make Apple provider seams semantic

* refactor: tighten device inventory and Linux provider seams

* refactor: tighten request provider scoping

* refactor: add semantic macos host provider

* test: broaden device lab find coverage

* test: cover workflow flags in device lab

* refactor: promote linux input provider seam

* test: clarify device lab flag coverage

* test: classify snapshot force-full progress

* test: enforce device lab progress in ci

* test: stabilize device lab ci

* test: move packaged metro smoke to integration

* test: drop stale provider seam coverage

* test: harden provider scope regression coverage

* refactor: remove stale platform barrels

* refactor: keep linux clipboard and screenshots semantic

* refactor: move macos host tools behind provider

* fix: honor remote artifact output paths

* test: deepen runtime coverage for daemon and runner paths

* test: share loopback test helpers

* refactor: make daemon runtime importable

* fix: honor replay target metadata

* chore: tighten final device lab quality gates

* test: share device lab setup helpers

* test: remove generic apple lab fallback

* test: deduplicate device lab helpers

* chore: tighten fallow duplication signal

* refactor: share apple diagnostic helpers

* fix: detect active android ime during fill verification

* test: consolidate provider-backed integration suite

* ci: fix fallow and iOS smoke setup

* chore: consolidate cleanup after ci fixes

* test: split vitest unit and integration projects

* docs: mention MCP discovery metadata

* docs: add agent skills context pointers

* fix: close provider recording coverage gaps

* fix: restore mcp compatibility smoke

* test: cover provider edge regressions

* test: consolidate loopback helpers

* docs: remove stale provider routing reference

* fix: harden final provider review issues

* chore: defer mcp cleanup from provider refactor
2026-05-18 14:50:52 +02:00
Michał Pierzchała 10fd292569 fix: stabilize remote DevTools and install workflow (#490)
* 0.14.6

* fix: harden remote install workflow

* fix: prevent companion startup state race

* fix: guide remote ios devtools reconnects
2026-05-01 07:27:36 -04:00
Michał Pierzchała 5260ac8edd fix: harden Node runtime cleanup (#457)
* fix: harden node runtime cleanup

* fix: propagate command cancellation

* fix: address runtime cleanup review

* fix: close partial artifact writes before cleanup
2026-04-27 17:19:08 -04:00
Michał Pierzchała 5868ace77b fix: optimize remote install artifact uploads (#413)
* fix: optimize remote install artifact uploads

* refactor: clean up upload client flow

* fix: fall back after direct upload failure

* docs: correct ios install source examples
2026-04-16 12:25:50 +02:00
Michał Pierzchała be001e1906 feat: add upload cache preflight (#379) 2026-04-11 12:53:30 +02:00
Michał Pierzchała 2be4de0a75 chore: prettier 2026-03-17 18:18:53 +01:00
Michał Pierzchała 780ecbc7a4 feat: support installing local artifacts over remote daemon transport (#192)
* feat: support installing local artifacts over remote daemon transport

When the CLI runs on a different machine than the daemon (via
AGENT_DEVICE_DAEMON_BASE_URL), install/reinstall commands now
transparently upload local app binaries (.apk/.ipa/.aab) and app
bundles (.app dirs) to the daemon before installing. No new flags
required — same CLI ergonomics.

- Add POST /upload endpoint to daemon HTTP server with auth and
  streaming file/tar reception
- Add client-side upload helper with timeout and tar packing for
  .app directories
- Intercept install/reinstall in sendToDaemon for remote daemons,
  upload artifact, rewrite positional path
- Clean up uploaded temp files after install completes (or fails)
  with 5-minute safety-net auto-cleanup for abandoned uploads
- Sanitize artifact filenames to prevent path traversal

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: harden remote artifact upload flow

* refactor: split upload registry from receiver

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 16:10:31 +01:00