[workspace] members = [ "lib/*", "app" ] resolver = "3" [workspace.package] version = "1.0.0" edition = "2024" [workspace.dependencies] auth = { path = "lib/auth" } cache = { path = "lib/cache" } chat = { path = "lib/chat" } config = { path = "lib/config" } deletion = { path = "lib/deletion" } export = { path = "lib/export" } models = { path = "lib/models" } push = { path = "lib/push" } storage = { path = "lib/storage" } user = { path = "lib/user" } space = { path = "lib/space" } issues = { path = "lib/issues" } git = { path = "lib/git" } i18n = { path = "lib/i18n" } imaging = { path = "lib/imaging" } crypt = { path = "lib/crypt" } db = { path = "lib/db" } email = { path = "lib/email" } envelope = { path = "lib/envelope" } events = { path = "lib/events" } oltp = { path = "lib/oltp" } proto = { path = "lib/proto" } session = { path = "lib/session" } webapi = { path = "lib/webapi" } pulls = { path = "lib/pulls" } social = { path = "lib/social" } queue = { path = "lib/queue" } tokio = "1.53.1" clap = { version = "4.6.7", features = ["derive"] } serde = "1.0.229" serde_json = "1.0.151" actix-web = "4.16.0" actix-cors = "0.7" tower = "0.5.3" opentelemetry = "0.32" opentelemetry_sdk = { version = "0.32.1", features = ["rt-tokio", "trace"] } opentelemetry-http = "0.32" # reqwest-rustls: the default client feature set compiles reqwest with no TLS backend, # so an https OTEL_EXPORTER_OTLP_ENDPOINT would fail every export at request time. opentelemetry-otlp = { version = "0.32", features = ["reqwest-rustls"] } tracing-opentelemetry = "0.33" image = { version = "0.25", default-features = false, features = ["jpeg", "png", "webp", "gif"] } tracing = "0.1.44" figment = { version = "0.10", features = ["toml", "env"] } dotenvy = "0.15" rust-s3-async = "0.35.0" redis = { version = "1.6.0", features = ["aio", "tokio-comp", "connection-manager", "cluster-async"] } sea-orm = { version = "2.0.2", features = ["sqlx-postgres", "runtime-tokio-rustls"] } async-trait = "0.1.92" base64 = "0.23.1" rand = "0.8" sha2 = "0.11.0" hmac = "0.13" uuid = { version = "1", features = ["v7", "serde"] } time = { version = "0.3", features = ["serde", "serde-human-readable"] } bytes = "1" futures = "0.3" http = "0.2" tokio-util = { version = "0.7", features = ["io"] } flate2 = "1" globset = "0.4" utoipa = { version = "5.5", features = ["actix_extras", "time", "uuid"] } utoipa-swagger-ui = { version = "9", features = ["actix-web"] } thiserror = "2.0.20" hayro = { version = "0.7.1", features = ["embed-fonts", "embed-cmaps"] } maud = "0.27" pulldown-cmark = { version = "0.13", default-features = false, features = ["html"] } reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json", "gzip", "brotli", "deflate"] } livekit-api = { version = "0.7.1", default-features = false, features = ["services", "webhooks", "rustls-tls-webpki-roots"] } livekit-protocol = "0.7.13" anyhow = "1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } regex = "1" url = "2" percent-encoding = "2" encoding_rs = "0.8" tonic = { version = "0.14", default-features = false, features = ["channel", "codegen", "router", "server"] } tonic-prost = "0.14" prost = "0.14" prost-types = "0.14" tonic-prost-build = "0.14" rocketmq-client-rust = "0.9.0" rocketmq-common = "0.9.0"