# Browserless Integration
# Decision: External integration crate, auto-registered via inventory plugin system
# Decision: REST API for one-shot operations, CDP (WebSocket) for persistent browser sessions
# Decision: /function endpoint for multi-step interactions (click, type, navigate)

[package]
name = "everruns-integrations-browserless"
readme = "README.md"
version.workspace = true
rust-version.workspace = true
homepage.workspace = true
repository.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
description = "Browserless browser automation integration for Everruns agents"
keywords = ["everruns", "browserless", "browser", "agents"]
categories = ["api-bindings", "development-tools"]
documentation = "https://docs.rs/everruns-integrations-browserless"

[dependencies]
everruns-core.workspace = true
inventory.workspace = true

# HTTP client for Browserless REST API
reqwest.workspace = true

# WebSocket client for CDP sessions
tokio-tungstenite.workspace = true
futures-util.workspace = true

# TLS: custom rustls config to force http/1.1 ALPN for WebSocket
rustls.workspace = true
rustls-native-certs = "0.8"

# Serialization
serde.workspace = true
serde_json.workspace = true

# Async
async-trait.workspace = true
tokio.workspace = true
chrono.workspace = true
tracing.workspace = true

# Base64 encoding for screenshot data
base64.workspace = true

[features]
browserless-live-tests = []

[dev-dependencies]
tokio = { workspace = true, features = ["full", "test-util"] }
wiremock = "0.6"
