7f0e1a0
[workspace]
members = [
"lib/infra/*",
"lib/share/*",
"lib/service/*",
"lib/tools/*",
"app"
]
resolver = "3"
[workspace.package]
version = "1.0.0"
edition = "2024"
[workspace.dependencies]
api = { path = "lib/infra/api" }
auth = { path = "lib/service/auth" }
bootstrap = { path = "lib/infra/bootstrap" }
cache = { path = "lib/infra/cache" }
chat = { path = "lib/service/chat" }
config = { path = "lib/infra/config" }
deletion = { path = "lib/service/deletion" }
dir = { path = "lib/service/dir" }
models = { path = "lib/share/models" }
push = { path = "lib/service/push" }
storage = { path = "lib/infra/storage" }
user = { path = "lib/service/user" }
space = { path = "lib/service/space" }
issues = { path = "lib/service/issues" }
git = { path = "lib/service/git" }
i18n = { path = "lib/share/i18n" }
imaging = { path = "lib/tools/imaging" }
media = { path = "lib/tools/media" }
crypt = { path = "lib/infra/crypt" }
db = { path = "lib/infra/db" }
email = { path = "lib/share/email" }
envelope = { path = "lib/infra/envelope" }
events = { path = "lib/share/events" }
oltp = { path = "lib/infra/oltp" }
proto = { path = "lib/infra/proto" }
session = { path = "lib/infra/session" }
webapi = { path = "lib/service/webapi" }
pulls = { path = "lib/service/pulls" }
social = { path = "lib/tools/social" }
queue = { path = "lib/infra/queue" }
actor = { path = "lib/infra/actor" }
socket = { path = "lib/infra/socket" }
internal = { path = "lib/infra/internal" }
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-http = "0.32"
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 = ["v4", "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", "tls-ring"] }
tonic-prost = "0.14"
prost = "0.14"
prost-types = "0.14"
tonic-prost-build = "0.14"
rocketmq-client-rust = "1.0.0"
rocketmq-model = "1.0.0"
rocketmq-observability = "1.0.0"
rocketmq-runtime = "1.0.0"
hyper = { version = "1.12.0", features = ["http1", "server"] }
hyper-util = { version = "0.1.21", features = ["tokio", "client-legacy", "http1"] }
http-body-util = "0.1.5"
tokio-tungstenite = { version = "0.29.0", default-features = false, features = ["handshake"] }
futures-util = { version = "0.3.34", features = ["sink"] }