Commit Graph

195 Commits

Author SHA1 Message Date
Michał Pierzchała 3e0a7b56bb feat: enrich screenshot diff guidance (#403)
* feat: enrich screenshot diff guidance

* fix: address screenshot diff review feedback

* docs: organize screenshot diff skill guidance

* refactor: prune screenshot diff result metadata

* refactor: tighten screenshot diff readout

* refactor: generalize screenshot diff heuristics

* feat: add compact screenshot diff hints

* refactor: prune screenshot diff guidance output
2026-04-12 12:45:15 +02:00
Michał Pierzchała f4f143ced7 fix: restore helper subpath exports (#402)
* fix: restore helper subpath exports

* fix: polish helper subpath typings
2026-04-11 22:16:32 +02:00
Michał Pierzchała d63cfcd956 fix: harden executable override policy (#398) 2026-04-11 21:36:54 +02:00
Michał Pierzchała 24f398c9a9 refactor: remove scrollintoview command (#400) 2026-04-11 21:07:54 +02:00
Michał Pierzchała 8e42f2e654 fix: harden public API boundaries (#399) 2026-04-11 21:01:09 +02:00
Michał Pierzchała 6cf63c262c feat: expose selector helper subpath (#384) 2026-04-11 19:07:42 +02:00
Michał Pierzchała ffd472a5bf feat: expose typed client command methods (#380) 2026-04-11 16:24:16 +02:00
Michał Pierzchała 52d9707647 feat: expose apps list in node client (#378) 2026-04-11 12:33:58 +02:00
Michał Pierzchała 66d65c887c refactor: expose metro and remote config node apis (#372)
* refactor: expose metro and remote config node apis

* refactor: tighten public node api surface

* refactor: tighten metro public type boundaries

* refactor: normalize remote config public profile

* refactor: make remote config parser library-owned

* refactor: share remote config parsing primitives

* refactor: avoid regex in base url normalization
2026-04-10 13:03:13 +02:00
Michał Pierzchała f3181a51b6 fix: auto-manage metro companion for remote runs (#370)
* fix: auto-manage metro companion for remote runs

* fix: fail fast on non-retryable metro bridge errors

* fix: scope metro companion ownership by profile

* fix: align remote close metro companion cleanup

* fix: guard metro companion shutdown reconnect

* test: ignore expected bridge reset in metro reconnect test

* chore: format, cleanup
2026-04-10 09:42:38 +02:00
Michał Pierzchała 9cbba956b0 fix: require auth for non-loopback remote daemons (#369)
* fix: require auth for non-loopback remote daemons

* fix: allow mapped loopback remote daemons

* refactor: use net blocklist for loopback checks
2026-04-08 13:45:52 +02:00
Michał Pierzchała 83db76f14a feat: add iOS device perf sampling (#358)
* feat: add iOS device perf sampling

* fix: restart stale daemon after source changes

* chore: ignore tests in daemon signature

* fix: dedupe iOS perf samples by pid

* chore: move daemon invalidation out of perf PR

* refactor: use fast xml parser for iOS perf exports

* refactor: simplify iOS perf XML coverage

* test: align iOS perf parser follow-ups

* fix: preserve duplicate iOS perf export columns

* refactor: reuse XML parser for plist fallback

* refactor: share iOS XML parsing helpers
2026-04-07 16:46:15 +02:00
Michał Pierzchała d437efe079 feat: generalize perf sampling for Apple app sessions (#351)
* feat: generalize perf sampling for Apple app sessions

* fix: report physical ios perf as unsupported

* refactor: simplify Apple perf sampling flow

* docs: refresh debugging skill guidance
2026-04-02 12:36:27 +02:00
Michał Pierzchała cd44582d40 fix: tighten dogfood snapshot and session UX (#350)
* fix: tighten dogfood snapshot and session UX

* fix: improve iOS simulator network dump recovery

* fix: honor simulator device set in iOS log recovery
2026-04-02 10:02:34 +02:00
Michał Pierzchała 413f67cdba feat: add Android perf cpu and memory sampling (#349)
* feat: add Android perf cpu and memory sampling

* fix: degrade Android perf metrics individually
2026-04-02 07:55:19 +02:00
Michał Pierzchała 7df452b3b5 feat: add rotate command for iOS and Android (#344)
* feat: add device rotation command

* fix: simplify rotate command handling
2026-04-01 20:34:56 +02:00
Michał Pierzchała 8df45b69a8 fix: make snapshot refs visible-first (#337)
* fix: make snapshot refs visible-first

* fix: handle zero-height visible rects

* refactor: simplify scrollintoview success handling

* feat: hint hidden scroll content in snapshots

* refactor: simplify snapshot output helpers

* feat: add hidden scroll-area hints to snapshots

* refactor: keep scroll containers in interactive snapshots

* perf: reuse Android snapshot tree for scroll hints

* refactor: trim hidden scroll hint scope

* refactor: unify mobile visible-first snapshot semantics

* fix: suppress noisy system scroll-container labels

* refactor: unify scroll indicator heuristics

* refactor: trim android hinting overhead

* fix: avoid viewport-sized ancestor promotion for ref taps

* refactor: dedupe viewport helpers and clarify hint naming
2026-04-01 19:00:02 +02:00
Michał Pierzchała 3d736ebba1 docs: use GIF for README video (#339)
* update readme

* chore: update demo link

* chore: use gif
2026-04-01 16:40:08 +02:00
Michał Pierzchała 31b80ff436 docs: add demo video to the repo (#338)
* docs: add demo video to the repo

* update readme
2026-04-01 12:34:24 +02:00
Michał Pierzchała 94966abefc fix: tighten Expensify Android flow guidance (#330)
* fix: tighten agent-device expensify flow guidance

* fix: tighten Expensify Android flow guidance

* fix: surface diff snapshot stale warnings

* fix: clarify inactive network log recovery
2026-04-01 07:44:22 +02:00
Michał Pierzchała 8aea3e0902 feat: improve snapshot diff and network exploration ergonomics (#326)
* feat: improve snapshot diff and network exploration ergonomics

* refactor: tighten snapshot diff guidance and Android log correlation
2026-03-31 19:37:26 +02:00
Michał Pierzchała 58e64933fb feat: add lightweight upgrade check (#324)
* feat: add lightweight upgrade check

* refactor: simplify upgrade check

* refactor: remove update-check test DI
2026-03-31 15:20:27 +02:00
Michał Pierzchała 876f091c00 feat: close macOS parity gaps (#311)
* feat: close macos parity gaps

* fix: support targeted macOS menubar app snapshots

* chore: clarify menubar fallback heuristics

* chore: address review nits

* fix: complete macOS parity flow
2026-03-28 19:06:52 +01:00
Michał Pierzchała f13ad2054d feat: add screenshot ref overlays (#307)
* feat: add screenshot ref overlays

* fix: refresh overlay refs from a fresh snapshot

* chore: tighten screenshot overlay plumbing

* fix: improve screenshot overlay targeting

* docs: trim screenshot overlay docs

* feat: add overlay ref centers

* docs: trim fallback guidance

* fix: improve android overlay labels
2026-03-27 19:04:34 +01:00
Michał Pierzchała 73298e5c9a Bound scrollintoview with max-scroll and progress guards (#290)
* fix: bound scrollintoview termination

* fix: finish scrollintoview review follow-ups

* fix: finish rebased scrollintoview follow-ups

* refactor: address remaining scroll review nits

* fix: finalize rebased scrollintoview merge
2026-03-27 12:52:02 +01:00
Michał Pierzchała 1669c7a101 feat: support pixel-based scroll gestures (#293)
* feat: add pixel-based scroll gestures

* fix: address remaining scroll review comments

* chore: make scroll direction switch exhaustive

* docs: keep readme informational

* docs: revert readme changes

* refactor: reuse shared apple scroll planning

* refactor: reduce apple scroll runner churn
2026-03-27 12:06:57 +01:00
Michał Pierzchała 11b47a25a7 Fix keyboard dismiss semantics across iOS and Android (#291)
* fix: correct keyboard dismiss semantics

* fix: address PR review feedback

* fix: preserve iOS keyboard dismiss contract

* fix: restore session handler platform import

* docs: update skill guidance for keyboard commands
2026-03-27 11:49:30 +01:00
Michał Pierzchała c9ca550f1e feat: add --delay-ms support to type and fill (#292)
* feat: add delayed typing support

* fix: keep literal delay tokens in replay

* chore: tighten delay-ms follow-up polish
2026-03-27 10:43:52 +01:00
Michał Pierzchała 90b8544c75 feat: improve cli batch output and acknowledgments (#280)
* feat: improve cli batch output and acknowledgments

* docs: clarify skill guidance for cheaper models

* fix: move success messages into command responses

* refactor: add shared success message helpers

* refactor: address PR review follow-ups

* refactor: reuse daemon success payloads
2026-03-27 10:34:31 +01:00
Michał Pierzchała 55c1341304 fix: align is visible with snapshot semantics (#286)
* fix: align is visible with snapshot semantics

* fix: address visibility review feedback
2026-03-27 10:28:25 +01:00
Michał Pierzchała dc8f318f76 Split back navigation into explicit in-app and system semantics (#288)
* feat: split back navigation semantics

* fix: address back review feedback

* fix: make in-app back the default
2026-03-27 10:18:00 +01:00
Michał Pierzchała c393ffe612 feat: add light test runner for .ad scripts (#266)
* feat: add metadata-aware ad test runner

* test: migrate platform integrations to replay suites

* fix: stop macos runner during close

* fix: harden ad test runner

* fix: tighten ad test runner retries and reporting

* refactor: tighten replay test suite runtime

* test: cover replay suite helpers

* docs: trim replay test guidance in skill

* refactor: extract replay test cli helpers
2026-03-26 19:21:16 +01:00
Michał Pierzchała 7100fc5920 feat: add macOS desktop snapshot surfaces (#258)
* feat: add macOS desktop snapshot surfaces

* fix: tighten macos desktop surface routing

* refactor: harden macos helper snapshot traversal

* fix: scope frontmost macos snapshots to visible windows
2026-03-25 15:10:52 +01:00
Michał Pierzchała 9c37d76381 feat: improve macOS phase 1 support (#256)
* feat: improve macOS phase 1 support

* fix: address macOS phase 1 review comments

* fix: address macOS PR review feedback

* chore: remove unused apple log alias

* fix: allow mocked macOS helper outside darwin
2026-03-25 13:45:40 +01:00
Michał Pierzchała 0cca41f673 feat: add gesture telemetry recording overlays (#245)
* feat: add gesture telemetry recording overlays

* fix: stabilize recording validation and telemetry artifacts

* fix: tighten recording telemetry helpers

* fix: clean up android recording stop fallback

* refactor: split ios recording handlers

* fix: tighten runner-backed touch telemetry

* refactor: simplify touch recording recovery

* feat: add gesture telemetry recording overlays

* refactor: split touch interaction recording flow

* fix: rebase gesture telemetry onto main

* test: fix recording overlay CI expectations
2026-03-24 13:38:41 +01:00
Michał Pierzchała 4b8fc2f4f6 fix: improve macOS runner snapshot and context menus (#252)
* fix: improve macos runner snapshot and context menus

* fix: address macos runner review feedback

* refactor: simplify xctestrun product resolution

* refactor: future-proof macos runner and click flows

* refactor: remove secondary click alias

* fix: tighten macos runner review follow-ups

* update readme

* fix: discover macos apps from standard bundles

* fix: stabilize macos app listing test on linux
2026-03-23 16:01:52 +01:00
Michał Pierzchała 9e1991daf6 feat: add apple-family macOS desktop support (#246)
* feat: add apple-family macos desktop support

* feat: extend macos desktop command support

* fix: stabilize CI for macos runner build

* fix: harden macos app resolution

* fix: tighten apple-family session routing

* fix: align macos log capabilities

* fix: support macos wait text

* fix: make iOS session refresh test host-agnostic
2026-03-23 10:22:55 +01:00
Michał Pierzchała aebc59b2a6 feat: streamline remote metro open flow (#240)
* feat: streamline remote metro open flow

* fix: honor remote config defaults and cli precedence
2026-03-20 14:07:17 +01:00
Michał Pierzchała da9d4527ad feat: add client metro prepare command (#236)
* feat: add client metro prepare command

* fix: tighten metro prepare cli behavior
2026-03-18 16:29:22 +01:00
Michał Pierzchała 11010192a2 feat: add install-from-source CLI command (#235) 2026-03-18 12:47:41 +01:00
Michał Pierzchała 22fbca81e2 fix: return Android identity from install_from_source (#226)
* 0.8.1

* fix: derive android launch target for installFromSource

* fix: return android identity from install source

* fix: resolve android package from install artifacts

* docs: move typed client docs out of readme
2026-03-16 14:10:27 +01:00
Michał Pierzchała c874eeb4a5 feat: centralize CLI option resolution (#223)
* 0.7.22

* feat: centralize CLI option resolution

* refactor: introduce canonical CLI option specs

* fix: preserve enum config parsing in option specs

* docs: clarify canonical config values

* fix: honor config-backed session bindings
2026-03-14 20:55:59 +01:00
Michał Pierzchała c34639ec4d feat: share session lock policy across clients (#222)
* 0.7.22

* fix: add cli session binding lock mode

* fix: add cli session lock flags

* fix: preserve batch platform inheritance

* chore: clean up cli binding flow

* docs: update session-bound automation guidance

* feat: simplify session lock policy

* feat: share session lock policy across clients

* docs: add shared session lock examples

* refactor: simplify session lock policy helpers

* test: cover shared session lock policy cases

* test: cover strip mode router dispatch
2026-03-14 20:46:15 +01:00
Michał Pierzchała 674ae974ec feat: add typed runtime to open (#217)
* feat: add typed runtime to open

* fix: normalize typed runtime validation errors

* fix: defer runtime replacement until open succeeds

* feat: add typed openApp client helper
2026-03-13 19:35:05 +01:00
Michał Pierzchała b79cbce951 feat: support android shutdown on close (#213)
* feat: support android shutdown on close

* fix: stub android readiness in relaunch test
2026-03-13 14:36:57 +01:00
Michał Pierzchała 884e48ba27 fix: harden Android runtime relaunch flows (#211)
* fix: harden Android runtime relaunch flows

* docs: clarify mobile QA skill flows
2026-03-12 17:29:40 +01:00
Michał Pierzchała f23df4d9c8 docs: add missing command reference entries (#201)
* docs: add missing command reference entries

* docs: clarify wait ref behavior
2026-03-10 12:59:36 +01:00
Michał Pierzchała e2bf4ef7a1 docs: add missing command reference entries (#200) 2026-03-10 12:29:05 +01:00
Michał Pierzchała 8b36c2a56c feat: support remote runtime hints and artifact retrieval (#199)
* feat: add remote runtime hints and artifact retrieval

* fix: apply session runtime transport hints on open

* fix: secure and time out artifact downloads
2026-03-09 19:50:40 +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