feat: support simulator camera video files#752
Conversation
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
|
a382ae2 to
7faedef
Compare
7faedef to
79c8bc7
Compare
Code reviewVerdict: significant issues — feature plumbing and tests are solid, but the vendoring approach and helper-process lifecycle need work before merge. Findings
Verified cleanThe Android running-emulator rejection ( OverallThe TypeScript integration is well-plumbed and validated at every dispatch layer, but two structural weaknesses remain. Shipping renamed, checksum-less third-party Mach-O executables in git — in a repo where every other helper builds from source — is hard to audit and update safely; at minimum the README needs per-file SHA-256s, original artifact names, and the upstream tarball hash, and the better design is fetching the pinned Generated by Claude Code |
|
Overview: Adds sample-video camera inputs — Android emulator Regression risk: Medium — new behavior is well platform-gated and additive, but it touches several shared core/daemon files that have been heavily refactored on Must rebaseThis PR is
Blocking
Non-blocking
🤖 Automated review via Claude Code |
Summary
Add sample-video camera inputs for both emulator families agents need to test:
--camera-front/--camera-backmodes or video file paths, with running-emulator rejection when camera sources cannot be changed safely.open <app> --camera-video <path>/cameraVideo, starts the vendored serve-sim helper, injects the AVFoundation dylib for that app process, and stops the helper on app close.third_party/serve-sim-camera: the helper binary, injector dylib, README, and license. The local binary filenames are neutral (camera-helper,camera-injector.dylib). Unpacked payload is ~600 KB; helper binaries are ~584 KB.Validation
pnpm formatpnpm exec vitest run src/utils/__tests__/args.test.ts src/__tests__/client.test.ts src/core/__tests__/dispatch-open.test.ts src/daemon/__tests__/context.test.ts src/platforms/ios/__tests__/simulator-camera.test.tspnpm exec vitest run src/platforms/ios/__tests__/simulator-camera.test.tsafter trimming unused vendored source files and renaming local binary artifactspnpm check:quickpnpm check:unitpnpm buildpnpm check:fallow --base origin/main-camera-back videofile:/private/tmp/agent-device-back-camera.mp4 -camera-front none -feature VideoPlayback; repeated front-camera playback.open com.agentdevice.CameraFeed --camera-video /private/tmp/agent-device-camera-proof/camera-feed.mp4; captured/private/tmp/agent-device-camera-proof/simcam-proof-final.pngshowing the MP4 test pattern in the camera preview.Touched files: 29. Scope expanded from Android boot camera files to iOS simulator app-launch video injection at reviewer request.