feat: add Roku WebDriver provider
Closed
TH
3mo ago+1176+1176+0123456789012345678901234567890123456789-26-26-01234567890123456789
Summary
Add a Roku WebDriver provider for LAN Roku devices.
- Adds
connect rokuprofile support with--roku-webdriver-urland--roku-device-ip, plusweb-instancelease backend plumbing. - Implements Roku WebDriver session allocation, launch, source snapshots, ECP TV remote input, close/release cleanup, and conservative web-TV capability gating.
- Covers CLI/profile parsing, capability gating, and a provider-scenario daemon flow using a fake Roku WebDriver/ECP server.
Validation
pnpm formatpnpm exec vitest run src/cli/parser/__tests__ src/utils/__tests__/command-schema-guards.test.ts src/__tests__/cloud-connect-profile.test.ts src/__tests__/remote-connection.test.ts src/core/__tests__/capabilities.test.ts src/core/__tests__/capability-plugin-routing-parity.test.ts test/integration/provider-scenarios/roku-webdriver-runtime.test.tspnpm typecheckpnpm buildpnpm test:smokepnpm check:unitunit projects passed once; a rerun hit an unrelated Apple runner slow-test timeout under host load, and the timed-out tests passed in isolation withpnpm exec vitest run src/platforms/apple/core/__tests__/runner-client.test.ts src/platforms/apple/core/__tests__/index.test.ts --testNamePattern "ensureXctestrun rebuilds after cached macOS runner repair failure|screenshotIos retries simulator capture timeouts and eventually succeeds"