[package]
name = "titan-server"
version = "0.1.0"
edition = "2024"

[dependencies]
axum = "0.8.7"
dotenv = "0.15.0"
reqwest = { version = "0.12.24", features = ["json", "rustls-tls", "gzip", "brotli", "blocking"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
thiserror = "2.0.17"
tokio = { version = "1.48.0", features = ["rt-multi-thread", "macros", "process", "fs"] }
tower-http = { version = "0.6.7", features = ["cors"] }
tracing = "0.1.43"
tracing-subscriber = "0.3.22"
anyhow = "1"
v8 = "0.106.0"
dotenvy = "0.15"
base64 = "0.21"
regex = "1.10"
bcrypt = "0.15"
jsonwebtoken = "9"
postgres = { version = "0.19", features = ["with-serde_json-1"] }
libloading = "0.8"
walkdir = "2"
crossbeam = "0.8.4"
dashmap = "6.1.0"
bytes = "1.11.0"
smallvec = "1.15.1"
num_cpus = "1.17.0"
deadpool-postgres = "0.12"
tokio-postgres = "0.7"

# Performance: Global Allocator
mimalloc = { version = "0.1", default-features = false }

# Static Analysis: OXC (Zero runtime cost, used at startup)
oxc = { version = "0.108", features = ["semantic"] }

# Release Profile
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true

# Dev Profile
[profile.dev]
opt-level = 0
debug = 1