[package]
name = "mad-hatter"
version = "0.2.7"
edition = "2021"
description = "Declarative Rust framework for building AI agent runtimes — manages IO boundaries (LLM, HTTP, DB, tunnels, logging)"
license = "MIT"

[dependencies]
mad-hatter-macros = { path = "../mad-hatter-macros", version = "0.2.5" }
axum = { version = "0.8", features = ["multipart", "ws"] }
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"] }
reqwest = { version = "0.12", features = ["json", "stream"] }
futures-util = "0.3"
bytes = "1"
async-trait = "0.1"
sqlx = { version = "0.8", features = ["sqlite", "runtime-tokio"] }
tokio-tungstenite = { version = "0.26", features = ["rustls-tls-webpki-roots"] }
rustls = { version = "0.23", default-features = false, features = ["std", "tls12", "ring"] }
webpki-roots = "0.26"
toml = "0.8"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt"] }
regex = "1"
chrono = "0.4"
thiserror = "1"
uuid = { version = "1", features = ["v4"] }
base64 = "0.22"

[dev-dependencies]
tempfile = "3"
http-body-util = "0.1"
tower = { version = "0.5", features = ["util"] }


