[package]
name = "rho-coding-agent"
version = "0.22.0"
edition = "2021"
description = "A lightweight agent harness inspired by Pi"
license = "MIT"
repository = "https://github.com/matthewyjiang/rho"
readme = "README.md"

[[bin]]
name = "rho"
path = "src/main.rs"

[dependencies]
tokio = { version = "1", features = ["full"] }
reqwest = { version = "0.12", features = ["json", "stream"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
clap = { version = "4", features = ["derive"] }
anyhow = "1"
thiserror = "2"
toml = "0.8"
uuid = { version = "1", features = ["v4"] }
async-trait = "0.1"
ratatui = { version = "0.30.2", default-features = false, features = ["crossterm"] }
crossterm = { version = "0.29.0", features = ["osc52"] }
futures-util = "0.3"
tokio-tungstenite = { version = "0.27", features = ["rustls-tls-native-roots"] }
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
regex = "1"
ignore = "0.4"
rusqlite = { version = "0.32" }
keyring = "4.1.2"
rand = "0.8"
sha2 = "0.10"
base64 = "0.22"
url = "2"
webbrowser = "1"
libc = "0.2"
unicode-segmentation = "1"
unicode-width = "0.2"
similar = "2"

# Use unreleased Windows VT input support so bracketed paste produces Event::Paste.
# Remove this override after crossterm-rs/crossterm#1030 is released.
[patch.crates-io]
crossterm = { git = "https://github.com/crossterm-rs/crossterm", rev = "03bb4f26610a5904b8e875fcb610d16bf7d00814" }

[features]
default = ["bundled-sqlite"]
bundled-sqlite = ["rusqlite/bundled"]

[dev-dependencies]
pretty_assertions = "1"
tempfile = "3"

[build-dependencies]
winresource = "0.1.31"
