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
Nils Fischer
8660b0433f
feat: add settings appearance command ( #119 )
...
* feat: add settings appearance command
- add appearance light|dark|toggle support to settings command
- implement iOS simulator and Android night mode handlers
- cover parser/handler/platform behavior with unit tests
- update README, docs, and agent-device skill guidance
* test: align settings usage assertions
- expect split settings usage lines for wifi/location and appearance
* fix: harden settings appearance parsing and dedupe usage contract
---------
Co-authored-by: Michał Pierzchała <thymikee@gmail.com >
2026-02-24 17:25:56 +01:00
Michał Pierzchała
ddfeb65896
fix: harden android non-ascii text input and document IME workaround ( #118 )
2026-02-24 16:53:30 +01:00
Michał Pierzchała
67b6698f34
feat: expose app permission grant/deny/reset in settings ( #108 )
...
* feat: add app-scoped permission settings across ios and android
* refactor: centralize permission target parsing and options
* fix: include stderr excerpt in generic command failures
* refactor: gate stderr message override to process-exit errors
2026-02-23 18:34:27 +01:00
Michał Pierzchała
55065488f6
feat: improve logs debugging workflow ( #111 )
2026-02-22 15:52:26 +01:00
Oskar Kwaśniewski
2876c9839e
feat: publish on ClawHub ( #110 )
...
* feat: publish on ClawHub
Added information about accessing the skill in ClawHub.
* Update README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Michał Pierzchała <thymikee@gmail.com >
2026-02-22 11:28:12 +01:00
Michał Pierzchała
e638e0ac60
feat: add full session log coverage and diagnostics workflows ( #106 )
...
* feat: add full session log coverage with doctor and marker tooling
* chore: split logs skill guidance into reference doc
2026-02-22 10:35:41 +01:00
Michał Pierzchała
df0892b88a
feat: colorize snapshot diff output ( #90 )
...
* feat: colorize snapshot diff output with node util
* docs: update snapshot diff color guidance
2026-02-20 20:01:22 +01:00
Michał Pierzchała
00ba0be101
fix: speed up and simplify scrollintoview @ref ( #87 )
2026-02-20 19:43:05 +01:00
Michał Pierzchała
8eea063374
feat: add iOS device record support via runner ( #83 )
...
* feat: add iOS device record support via runner
* refactor: simplify record command pathways
* fix: harden iOS record runner failure handling
* chore: emit diagnostic on iOS record stop runner failure
* fix: clear ios device runner cache in build:xcuitest
* chore: drop unused clean-derived env from build script
* fix: stage iOS device recordings via runner temp file
* fix: prefer requested iOS record path with permission fallback
* fix: disable iOS record fallback for explicit output paths
* refactor: remove iOS record fallback staging path flow
* fix: resolve record output paths from request cwd
* chore: log resolved record output path in diagnostics
* fix: avoid app activation when starting iOS recording
* refactor: streamline iOS recording setup paths
* fix: copy iOS device recordings back to host path
* fix: copy iOS recordings from runner test container
* feat: add configurable iOS recording fps
* fix: disable xcode test diagnostics for runner sessions
* fix: use wall-clock timestamps for iOS recording
* feat: default iOS recording to uncapped fps
* fix: recover stale ios runner recording state
* fix: preserve app focus when starting iOS recording
* docs: clarify iOS device recording capture model
* fix: tighten iOS device record start ownership checks
* refactor: collocate iOS record context checks
* refactor: derive uncapped recorder timescale from interval
2026-02-20 18:41:07 +01:00
Michał Pierzchała
cd73856d17
perf: optimize and verify scrollintoview ref path ( #86 )
2026-02-20 18:38:07 +01:00
Michał Pierzchała
87a11bd765
feat: add diff snapshot command ( #81 )
...
* feat: add snapshot diff command and snapshot efficiency guidance
* chore: polish snapshot diff baseline output
* fix: trim diff output context and normalize +/- indentation
* fix: normalize unchanged context indentation in diff output
* fix: preserve snapshot indentation in diff formatter
* fix: honor diff snapshot -i flatten mode
2026-02-20 18:37:28 +01:00
Michał Pierzchała
44c966b4b4
feat: switch CLI long-press command to longpress ( #80 )
...
* fix: use longpress as sole CLI command and sync docs
* fix: keep long-press as hidden longpress alias
2026-02-20 12:51:01 +01:00
Michał Pierzchała
feeee5e414
feat: add unified node diagnostics and error normalization ( #73 )
...
* feat: add unified node diagnostics and error normalization
* chore: clarify diagnostics session scope and retry logging docs
* chore: simplify and de-stale AGENTS guidance
* chore: add diagnostics context for settings actions
2026-02-18 19:40:45 +01:00
Michał Pierzchała
0418b0cb7c
feat: add Face ID simulator controls to settings command ( #75 )
...
* feat: add iOS simulator Face ID settings command support
* fix: remove faceid aliases and standardize docs
2026-02-18 19:34:10 +01:00
Michał Pierzchała
99cc68463c
fix: align press/click behavior and honor fast press cadence on iOS ( #70 )
...
* fix: align press and click semantics and reduce iOS tap latency
* perf: batch repeated iOS taps in runner
* perf: add opt-in tap batching for repeated iOS presses
* perf: batch repeated iOS swipes in runner
* fix: preserve interaction series semantics in record/replay
* test: cover click/press interaction handler paths
* refactor: dedupe replay and interaction series helpers
* fix: unify press/click double-tap behavior
* refactor: add interactor doubleTap and alias docs
* refactor: normalize click alias to press path
2026-02-18 16:02:45 +01:00
Michał Pierzchała
94477dd998
feat: add daemon-native JSON batch execution ( #69 )
...
* feat: add daemon-native JSON batch command for agent workflows
* docs: add agent batching guides across readme website and skills
* chore: remove batch stdin source and related docs
* fix: harden batch step normalization and flag sanitization
* refactor: simplify batch execution and validation reuse
* docs: rename batching guidance and links
2026-02-18 11:45:19 +01:00
Michał Pierzchała
c1c50af598
fix: support reinstall on physical iOS devices ( #67 )
...
* fix: support reinstall on physical iOS devices
* fix: add devicectl timeout for iOS uninstall
* chore: simplify iOS reinstall error handling and tests
2026-02-18 10:58:49 +01:00
Michał Pierzchała
106a5f661d
chore(breaking): remove AX snapshot backend and trim npm artifacts ( #62 )
...
* chore: remove AX snapshot backend and trim npm artifacts
* docs: remove AX backend references from commands page
* chore: update website
2026-02-17 12:00:21 +01:00
Michał Pierzchała
2f64e845b0
feat: iOS device deep link support and web links ( #66 )
...
* feat: add iOS device URL session fallback behavior
* chore: trim PR branch naming note
* docs: remove simulator/device support phrasing
* feat: unify iOS deep link behavior across simulator and device
* feat: support iOS open <app> <url> flow
* fix: validate iOS open app+url argument shape
* docs: remove redundant iOS deep-link note
2026-02-16 20:35:00 +01:00
Michał Pierzchała
ac078905c6
refactor: stabilize iOS app/session and daemon startup flows ( #64 )
...
* refactor: stabilize iOS app/session and daemon startup flows
* fix: wait for android app launch completion
* fix: address review findings for iOS appstate and daemon flows
* fixups
2026-02-16 18:19:17 +01:00
Michał Pierzchała
3314d0355e
feat: allow optional --save-script output path ( #63 )
2026-02-16 11:43:36 +01:00
Michał Pierzchała
06a8778157
Enable iOS device core parity and align docs/skills ( #55 )
...
* Add iOS device runner support and document platform matrix
* ios: make signing identity override-only
* ios: address PR55 review follow-ups
* docs: remove v1 phrasing from support messages
* ios appstate: prefer xctest before ax fallback
* docs: clarify ios runner derived path override behavior
* ios: harden runner polling and appstate fallback
* ios: remove automatic AX fallback paths
* docs: clarify no automatic AX fallback
* ios: replace ad-hoc runner poll sleep with retry policy
* Harden iOS runner timeouts and cleanup safety
* args: align scrollintoview schema with capabilities
* test: skip iOS integration flows on CI by default
2026-02-15 21:12:10 +01:00
Michał Pierzchała
64d27c18d0
Add consolidated gesture controls for press and swipe ( #54 )
...
* Add gesture series controls for press and swipe
* Normalize iOS swipe timing to safe duration
* Harden daemon startup for integration runs
2026-02-14 13:55:58 +01:00
Michał Pierzchała
8cef2a61e0
Add deep-link URL support to open command ( #53 )
...
* Add deep-link URL support to open command
* Update agent-device skill docs for deep-link open
2026-02-13 18:49:00 +01:00
Michał Pierzchała
a0ce6f1df2
feat: reinstall command for reuse and agent ergonomics ( #47 )
...
* Refine reinstall flow and add agent-focused coverage
* Avoid duplicate readiness preflight in open flow
* Document boot and reinstall in website docs and skill
* Bound iOS boot commands and enforce runCmd timeouts
* Align boot readiness with timeout profiles across platforms
* Refine boot docs: troubleshooting-only and non-CI wording
* Clarify open vs boot fallback guidance
2026-02-12 17:17:56 +01:00
Michał Pierzchała
3ddd3a1ef5
Complete issue #39 boot diagnostics, telemetry, and boot command ( #46 )
...
* Complete issue #39 phase diagnostics telemetry and boot command
* Address review findings for boot diagnostics and command gating
* Use agent-device boot preflight in iOS CI workflow
* Run iOS boot preflight via source CLI in CI
2026-02-12 15:00:27 +01:00
Michał Pierzchała
204184ac1e
Improve boot readiness retries and normalized diagnostics ( #41 )
...
* Add boot diagnostics classification and deadline-based boot retries
* Fix TypeScript narrowing in boot diagnostics error paths
* update docs and cleanup
* Stabilize iOS integration assertion for Settings General page
2026-02-12 13:51:54 +01:00
Zhongjin Lu
31a639ab5f
feat: add version flags and unify version lookup ( #44 )
...
Co-authored-by: Zhongjin Lu <zhongjin.lu@mondorobotics.com >
2026-02-11 17:02:47 +01:00
Michał Pierzchała
1ecbec9012
feat: replay --save-script for self-updating e2e tests; add it assertions; add DSL with selectors ( #24 )
...
* feat: for self-healing e2e tests; assertions
* rework ad scripts
2026-02-09 11:01:19 +01:00
Anton Kuznetsov
d3ac97dbcd
Update README with skill installation and session info ( #19 )
...
Add usage instructions for adding skills and session commands.
2026-02-06 18:57:50 +01:00
Michał Pierzchała
ebf45f1e79
feat: record start [path], screenshot [path], --record-json ( #18 )
2026-02-06 12:44:26 +01:00
Michał Pierzchała
d8440a6645
fix: make fill clear input and progressively fill the input ( #17 )
...
* fix: make fill clear input and progressively fill the input
* fixup ios
* improve text fill reliability
2026-02-06 12:16:20 +01:00
Michał Pierzchała
e63cf2ab33
feat: android open --activity flag ( #12 )
2026-02-05 17:40:26 +01:00