Files
siren/Cargo.toml
2026-04-04 12:22:17 -04:00

72 lines
2.2 KiB
TOML

[workspace]
members = [
"crates/siren",
"crates/siren-core",
"crates/siren-bot",
"crates/siren-api",
]
resolver = "2"
[workspace.package]
edition = "2024"
version = "0.3.0"
rust-version = "1.86"
authors = ["Ben Sherriff <ben@bensherriff.com>"]
description = "A Discord bot for playing music"
repository = "https://github.com/bensherriff/siren"
readme = "README.md"
[workspace.dependencies]
# Internal crates
siren-core = { path = "crates/siren-core" }
siren-bot = { path = "crates/siren-bot" }
siren-api = { path = "crates/siren-api" }
# Async runtime
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
# Logging
log = "0.4"
env_logger = "0.11"
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Discord / Audio
serenity = { version = "0.12", default-features = false, features = ["client", "gateway", "rustls_backend", "model", "voice", "cache", "framework", "standard_framework"] }
#songbird = { version = "0.5", features = ["builtin-queue"] }
# Temporary until DAVE encryption release https://github.com/serenity-rs/songbird/issues/293
songbird = { git = "https://github.com/serenity-rs/songbird.git", branch = "next", features = ["builtin-queue"] }
symphonia = { version = "0.5", features = ["all"] }
# HTTP
reqwest = { version = "0.12", default-features = false, features = ["json"] }
# Database
sqlx = { version = "0.8", features = ["runtime-tokio", "postgres", "chrono", "uuid"] }
redis = { version = "1", features = ["tokio-comp", "connection-manager", "r2d2"] }
# Utilities
dotenv = "0.15"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1", features = ["serde", "v4"] }
rand = "0.10"
rand_chacha = "0.10"
regex = "1"
lazy_static = "1"
# Auth / Security
argon2 = { version = "0.5", features = ["std"] }
sha2 = "0.10"
cookie = { version = "0.18", features = ["percent-encode"] }
# API
axum = { version = "0.8", features = ["json", "ws", "macros"] }
axum-extra = { version = "0.12", features = ["typed-header", "cookie"] }
jsonwebtoken = { version = "10", features = ["rust_crypto"] }
tower-http = { version = "0.6", features = ["fs", "cors"] }
dashmap = "6"
futures-util = "0.3"