car-browser 0.55.0

Browser automation and perception pipeline for Common Agent Runtime
Documentation
# car-browser

Browser automation and perception pipeline for the [Common Agent Runtime](https://github.com/Parslee-ai/car).

## What it does

Provides a backend-agnostic browser automation layer. The `BrowserBackend` trait abstracts
over different browser engines (Tauri WebView, Chromium via chromiumoxide, or test mocks).
The perception pipeline converts raw browser state (screenshots + accessibility trees) into
structured `UiMap` data for agent consumption.

## Usage

```rust
use car_browser::{BrowserBackend, BrowserToolExecutor};

// Implement BrowserBackend for your engine, then register tools
let executor = BrowserToolExecutor::new(backend);
// Tools: browse_navigate, browse_click, browse_type, browse_scroll, browse_screenshot
```

## Backends

`ChromiumBackend` (chromiumoxide-based headless Chrome over CDP) is
always available -- there are no cargo feature flags to enable. The
chromiumoxide dependency is compiled unconditionally on every build.

## Provisioned Chrome checks

The ordinary `car-browser` suite is hermetic and does not launch Chrome. On a
machine with Chrome installed, run the ignored integration lanes serially; they
serve checked-in HTML over loopback and make no public-web request:

```bash
cargo test -p car-browser --test headless -- --ignored --test-threads=1
cargo test -p car-browser --test live_chrome -- --ignored --test-threads=1 --nocapture
```

The live perception lane always checks deterministic icon classification. To
require its OCR contracts too, provision a system OCR backend and set the exact
test opt-in; the test fails closed when OCR is unavailable:

```bash
CAR_TEST_BROWSER_OCR=1 cargo test -p car-browser --test live_chrome \
  -- --ignored --test-threads=1 --nocapture
```

Part of [CAR](https://github.com/Parslee-ai/car) -- see the main repo for full documentation.