//! Browser backend abstraction.
//!
//! Enables pluggable browser backends — the native CDP implementation and
//! external CLI tools (e.g., `agent-browser`) both implement this trait.
//!
//! The trait operates at the `BrowserAction` level: callers dispatch actions
//! without knowing whether they're executed via CDP WebSocket, an external
//! process, or a mock.
use async_trait;
use crate;
/// A pluggable browser backend that can execute `BrowserAction` variants.
///
/// Implementations:
/// - `CdpBackend` — native Chrome DevTools Protocol (existing behavior)
/// - `AgentBrowserBackend` — external `agent-browser` CLI with `--json` mode