[workspace]
resolver = "2"
members = [
    "crates/forage-server",
    "crates/forage-core",
    "crates/forage-db",
    "crates/forage-grpc",
    "ci",
]

[workspace.dependencies]
anyhow = "1"
thiserror = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
axum = { version = "0.8", features = ["macros"] }
axum-extra = { version = "0.10", features = ["cookie"] }
minijinja = { version = "2", features = ["loader"] }
sqlx = { version = "0.8", features = ["runtime-tokio", "tls-rustls", "postgres", "migrate", "uuid", "chrono"] }
uuid = { version = "1", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
tower = "0.5"
tower-http = { version = "0.6", features = ["fs", "trace", "cors", "compression-gzip"] }
tonic = "0.14"
prost = "0.14"
prost-types = "0.14"
tonic-prost = "0.14"
async-trait = "0.1"
rand = "0.9"
time = "0.3"
