[package] name = "chorus" description = "A library for interacting with multiple Spacebar-compatible Instances at once." version = "0.10.0" license = "AGPL-3.0" edition = "2021" repository = "https://github.com/polyphony-chat/chorus" readme = "README.md" keywords = ["spacebar", "discord", "polyphony"] website = ["https://discord.com/invite/m3FpcapGDD"] [features] default = ["client", "rt-multi-thread"] backend = ["dep:poem", "dep:sqlx"] rt-multi-thread = ["tokio/rt-multi-thread"] rt = ["tokio/rt"] client = [] [dependencies] tokio = { version = "1.34.0", features = ["macros", "sync"] } serde = { version = "1.0.188", features = ["derive", "rc"] } serde_json = { version = "1.0.105", features = ["raw_value"] } serde-aux = "4.2.0" serde_with = "3.3.0" serde_repr = "0.1.16" reqwest = { version = "0.11.20", features = ["multipart", "json"] } url = "2.4.0" chrono = { version = "0.4.26", features = ["serde"] } regex = "1.9.4" custom_error = "1.9.2" futures-util = "0.3.28" http = "0.2.9" base64 = "0.21.3" bitflags = { version = "2.4.0", features = ["serde"] } lazy_static = "1.4.0" poem = { version = "1.3.57", optional = true } thiserror = "1.0.47" jsonwebtoken = "8.3.0" log = "0.4.20" async-trait = "0.1.73" chorus-macros = "0.2.0" sqlx = { version = "0.7.1", features = [ "mysql", "sqlite", "json", "chrono", "ipnetwork", "runtime-tokio-native-tls", "any", ], optional = true } futures-timer = "3.0.2" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] rustls = "0.21.8" rustls-native-certs = "0.6.3" rand = "0.8.5" tokio-tungstenite = { version = "0.20.0", features = [ "rustls-tls-native-roots", "rustls-native-certs", ] } native-tls = "0.2.11" hostname = "0.3.1" [target.'cfg(target_arch = "wasm32")'.dependencies] ws_stream_wasm = "0.7.4" getrandom = { version = "0.2.11", features = ["js"] } tokio-tungstenite = { version = "0.20.0", default-features = false } [dev-dependencies] lazy_static = "1.4.0" rusty-hook = "0.11.2"