[package]
name = "car-browser"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "Browser automation and perception pipeline for Common Agent Runtime"
repository.workspace = true
readme = "README.md"

[features]
default = []
chromium = ["dep:chromiumoxide", "dep:futures", "dep:tempfile"]

[dependencies]
# CAR crates
car-ir = { path = "../car-ir", version = "0.7.0" }
car-engine = { path = "../car-engine", version = "0.7.0" }

# Workspace deps
serde.workspace = true
serde_json.workspace = true
chrono.workspace = true
uuid.workspace = true
thiserror.workspace = true
tracing.workspace = true
tokio.workspace = true

# Perception pipeline
sha2 = "0.10"
hex = "0.4"
base64 = "0.22"
async-trait = "0.1"

# Chromium backend (optional)
chromiumoxide = { version = "0.9", optional = true }
futures = { version = "0.3", optional = true }
# Per-instance profile directory so concurrent backends (e.g.
# Playwright workers) don't contend over the default profile dir's
# SingletonLock (#148).
tempfile = { version = "3", optional = true }

[dev-dependencies]
tokio = { workspace = true, features = ["test-util"] }
car-engine = { path = "../car-engine", version = "0.7.0" }
car-ir = { path = "../car-ir", version = "0.7.0" }
