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
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
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
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
fe27c50408
chore: update demo link
2026-04-01 16:16:44 +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
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
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
121eacc872
restore readme
2026-03-24 07:57:33 +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
b2afb501ea
docs: simplify README landing page ( #251 )
...
* docs: simplify README landing page
* docs: remove experimental wording from README
* docs: mention token efficiency in README
* docs: remove npx README guidance
* docs: link contributing guide from README
* docs: add demo video to README
* docs: simplify README demo embed
2026-03-22 21:02:22 +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
9b65546562
fix: harden remote install-from-source transport ( #224 )
2026-03-16 11:26:45 +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
34b9579b51
Add typed TypeScript daemon client ( #218 )
...
* feat: add typed daemon client
* chore: tighten client package exports
* fix: preserve open and screenshot cli flags
* feat: expose runtime open and install-source client flows
* feat: expose retained materialization paths in client
* feat: complete typed client cleanup
* fix: fall back to XML plist parsing
2026-03-14 14:19:16 +01:00
Michał Pierzchała
d841bc58ad
fix: simplify install-from-source identity resolution ( #219 )
...
* fix: simplify install-from-source identity resolution
* fix: trim install-source follow-ups
* fix: enforce install-source download timeout through body copy
* fix: omit ephemeral install artifact paths from daemon responses
* feat: retain install-source materializations on demand
2026-03-13 19:35:29 +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
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
Michał Pierzchała
3bafc24f05
fix: support explicit remote daemon endpoints ( #189 )
...
* fix: support remote daemon base url
* fix: harden remote daemon endpoint handling
* docs: update remote daemon skill guidance
2026-03-06 15:40:06 +01:00
Michał Pierzchała
9b0a3dee6e
feat: add install command with ipa/aab support ( #151 )
...
* feat: add install command for in-place app deployment
* chore: document install vs reinstall in quick start and skill
* docs: clarify install format support and limits
* feat: support ipa and aab app installation
* feat: improve install flexibility for ipa and aab
* fix: retry iOS simulator screenshot surface timeouts
* refactor: simplify install resolution and boot handling
2026-03-03 14:14:23 +01:00
Michał Pierzchała
14de55c9b7
fix: support configurable iOS runner bundle IDs ( #146 )
2026-02-26 16:40:24 +01:00
Michał Pierzchała
b3ad24f527
feat: add Android keyboard status and dismiss command ( #144 )
2026-02-26 11:47:46 +01:00
Michał Pierzchała
890ceefe90
feat: add trigger-app-event aliases and routing ( #134 )
...
* feat: add trigger app event aliases and routing
* chore: remove redundant trigger normalization in session handler
* chore: remove trigger command aliases
2026-02-26 10:44:46 +01:00
Michał Pierzchała
4a38bb0b74
feat: add simulator-set and Android allowlist isolation ( #143 )
...
* feat: add simulator-set and Android allowlist isolation
* chore: document isolation scopes in agent-device skills
2026-02-26 10:38:23 +01:00
Michał Pierzchała
74eee5a32e
Fix Android boot completion and emulator launch modes ( #138 )
...
* Fix Android boot completion and headless emulator launch
* Refactor Android boot fast lookup for testability
* Avoid extra target probes in Android boot fast lookup
* Simplify Android boot path in session handler
* fix: enforce boot target and headless validation
2026-02-26 10:20:51 +01:00
Michał Pierzchała
b685a0b259
Add remote HTTP daemon mode with lease admission controls ( #136 )
...
* fix: add daemon remote HTTP server mode with isolation controls
* feat: add tenant lease lifecycle and admission control
* refactor: simplify lease scope and rpc method routing
* fix: correct smoke expectations for close without session
2026-02-25 18:25:15 +01:00
Michał Pierzchała
803ba256d4
Add Touch ID and Android fingerprint simulation for settings ( #135 )
...
* fix: add touchid/fingerprint settings simulation and harden error handling
* chore: tighten agent docs and simplify iOS biometric settings flow
2026-02-25 17:38:43 +01:00
Michał Pierzchała
e8e92dc7b8
feat: port dogfood skill to agent-device ( #133 )
...
* feat: add agent-device dogfood skill package
* Apply suggestion from @thymikee
2026-02-25 16:27:25 +01:00
Michał Pierzchała
f512b7d69c
feat: add network dump command for session app traffic ( #120 )
...
* feat: add network dump command for session app traffic
* fix: restore cli branch block after rebase conflict
2026-02-25 16:17:08 +01:00
Michał Pierzchała
ef20dea6bc
feat: add AndroidTV and tvOS target support ( #125 )
...
* feat: add AndroidTV and tvOS target support
* feat: enable tvOS runner interactions
* refactor: unify apple target handling and tvOS capability gates
* refactor: remove hardcoded tvOS app-switcher sleep
* fix: align tvOS capabilities and docs for simulator-only helpers
* feat: improve AppleTV and AndroidTV physical device detection
* refactor: simplify tv target detection helpers
2026-02-25 14:55:54 +01:00
Michał Pierzchała
996d1fca2f
feat: add session perf metrics command ( #121 )
...
* feat: add session perf metrics command
* refactor: simplify open perf result shaping
* docs: improve perf guidance in docs and skill
* docs: split perf guidance into skill reference
2026-02-25 13:49:59 +01:00
Michał Pierzchała
ab338263ed
feat: add clipboard read and write commands ( #122 )
2026-02-25 13:01:33 +01:00
Michał Pierzchała
66b0bdba31
fix: expose push notification simulation ( #109 )
...
* fix: expose push notification simulation across iOS and Android
* refactor: share push JSON detection and clean extras validation
* fix: harden push payload path handling in session
* refactor: consolidate push payload source resolution
2026-02-24 17:34:28 +01:00