[package]
name = "revolt-january"
version = "0.11.5"
edition = "2021"
license = "AGPL-3.0-or-later"
publish = false

[dependencies]
# Utility
mime = "0.3.17"
regex = "1.11.0"
tempfile = "3.13.0"
lazy_static = "1.5.0"
moka = { version = "0.12.8", features = ["future"] }

# Web scraping
scraper = "0.20.0"
encoding_rs = "0.8.34"

# Serialisation
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.68"

# Async runtime
async-recursion = "1.1.1"
tokio = { version = "1.0", features = ["full"] }

# Web requests
reqwest = { version = "0.12", features = ["json"] }

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Core crates
revolt-config = { version = "0.11.5", path = "../../core/config" }
revolt-models = { version = "0.11.5", path = "../../core/models" }
revolt-result = { version = "0.11.5", path = "../../core/result", features = [
    "utoipa",
    "axum",
] }
revolt-files = { version = "0.11.5", path = "../../core/files" }

# Axum / web server
axum = { version = "0.7.5" }
axum-extra = { version = "0.9", features = ["typed-header"] }

# OpenAPI & documentation generation
utoipa-scalar = { version = "0.1.0", features = ["axum"] }
utoipa = { version = "4.2.3", features = ["axum_extras", "ulid"] }
