[package]
name = "huskies"
version = "0.10.4"
edition = "2024"
build = "build.rs"

[dependencies]
async-stream = { workspace = true }
async-trait = { workspace = true }
bytes = { workspace = true }
chrono = { workspace = true, features = ["serde"] }
chrono-tz = { workspace = true }
eventsource-stream = { workspace = true }
futures = { workspace = true }
homedir = { workspace = true }
ignore = { workspace = true }
mime_guess = { workspace = true }
notify = { workspace = true }
poem = { workspace = true, features = ["websocket"] }
poem-openapi = { workspace = true, features = ["swagger-ui"] }
portable-pty = { workspace = true }
reqwest = { workspace = true, features = ["json", "stream", "form"] }
rust-embed = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
serde_urlencoded = { workspace = true }
sha2 = { workspace = true }
serde_yaml = { workspace = true }
strip-ansi-escapes = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "sync", "process"] }
toml = { workspace = true }
uuid = { workspace = true, features = ["v4", "serde"] }
walkdir = { workspace = true }
matrix-sdk = { workspace = true }
pulldown-cmark = { workspace = true }
regex = { workspace = true }
tokio-tungstenite = { workspace = true }

# Force bundled SQLite so static musl builds don't need a system libsqlite3
libsqlite3-sys = { version = "0.35.0", features = ["bundled"] }
sqlx = { workspace = true }
wait-timeout = "0.2.1"
bft-json-crdt = { path = "../crates/bft-json-crdt", default-features = false, features = ["bft"] }
ed25519-dalek = { version = "2", features = ["rand_core"] }
fastcrypto = "0.1.8"
rand = "0.8"
indexmap = { version = "2.2.6", features = ["serde"] }

[target.'cfg(unix)'.dependencies]
libc = { workspace = true }

[lints.rust.unexpected_cfgs]
level = "warn"
check-cfg = ["cfg(feature, values(\"logging-base\"))"]

[dev-dependencies]
tempfile = { workspace = true }
mockito = "1"
filetime = { workspace = true }
# For the pipeline_state_sketch_statig example only.
statig = "0.3"
