Phase 2a: Replace dynamic Value access with typed CdpResponse struct
in send_cdp_command (31.1% improvement for CDP response parsing).
Phase 2b: Replace dynamic Value access with typed structs in
parse_ax_tree (4-30% improvement scaling with data size).
Includes benchmark suite, code review fixes (mock-keychain opt-in,
structural CDP event detection, parse failure threshold), and
comprehensive unit tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Enable `npm install -g @actionbookdev/actionbook-rs` to install the Rust
binary using the optionalDependencies pattern (same as esbuild/biome).
- Switch reqwest and tokio-tungstenite to rustls-tls for cross-compilation
- Add platform-specific packages for 6 targets (darwin/linux/win32 x arm64/x64)
- Add main wrapper package with JS shim that detects platform and spawns native binary
- Add build-npm.sh and publish-npm.sh helper scripts
- Add GitHub Actions workflow triggered on actionbook-rs-v* tags
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>