[workspace] resolver = "2" members = [ "crates/mt-core", "crates/mt-db", ] default-members = ["."] [workspace.package] version = "0.3.3" edition = "2024" license-file = "LICENSE" [workspace.dependencies] # Core tokio = { version = "1", features = ["rt-multi-thread", "sync", "time", "macros", "signal"] } thiserror = "2" serde = { version = "1", features = ["derive"] } serde_json = "1" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Web axum = { version = "0.8", features = ["ws", "multipart"] } tower = "0.5" tower-http = { version = "0.6", features = ["fs", "cors", "trace", "set-header"] } tower-sessions = "0.14" tower-sessions-sqlx-store = { version = "0.15", features = ["postgres"] } # HTTP client / crypto reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } sha2 = "0.10" hmac = "0.12" base64 = "0.22" rand = "0.8" # S3 storage s3-storage = { path = "../../Shared/s3-storage" } # Database sqlx = { version = "0.8", features = ["runtime-tokio", "postgres", "chrono", "uuid"] } # Rate limiting tower_governor = "0.6" governor = "0.8" # Utilities chrono = { version = "0.4", features = ["serde"] } uuid = { version = "1", features = ["v4", "serde"] } pulldown-cmark = "0.12" askama = "0.13" # Internal crates mt-core = { path = "crates/mt-core" } mt-db = { path = "crates/mt-db" } tagtree = { path = "../../Shared/tagtree" } [package] name = "multithreaded" version.workspace = true edition.workspace = true [dependencies] mt-core = { workspace = true } mt-db = { workspace = true } tokio = { workspace = true } axum = { workspace = true } tower = { workspace = true } tower-http = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } askama = { workspace = true } chrono = { workspace = true } uuid = { workspace = true } sqlx = { workspace = true } tower-sessions = { workspace = true } tower-sessions-sqlx-store = { workspace = true } reqwest = { workspace = true } sha2 = { workspace = true } base64 = { workspace = true } rand = { workspace = true } pulldown-cmark = { workspace = true } docengine = { path = "../../Shared/docengine", features = ["mentions", "quotes"] } tagtree = { workspace = true } tower_governor = { workspace = true } governor = { workspace = true } s3-storage = { workspace = true } dotenvy = "0.15" hex = "0.4" hmac = { workspace = true } regex-lite = "0.1" urlencoding = "2" time = "0.3" [dev-dependencies] http-body-util = "0.1"