[package]
name = "livekit-api"
version = "0.8.2"
license.workspace = true
description = "Rust Server SDK for LiveKit"
edition.workspace = true
repository.workspace = true
readme = "README.md"
[features]
default = ["services", "access-token", "webhooks"]
signal-client = ["dep:livekit-signaling"]
signal-client-native = ["signal-client", "livekit-signaling/native"]
services = ["access-token", "dep:livekit-region", "dep:reqwest", "dep:tokio", "tokio/time"]
access-token = ["dep:livekit-token"]
webhooks = ["access-token", "dep:serde_json", "dep:base64"]
native-tls = ["livekit-signaling?/native-tls", "reqwest?/native-tls"]
native-tls-vendored = ["livekit-signaling?/native-tls-vendored", "reqwest?/native-tls-vendored"]
rustls-tls-native-roots = ["livekit-signaling?/rustls-tls-native-roots", "reqwest?/rustls-tls-native-roots"]
rustls-tls-webpki-roots = ["livekit-signaling?/rustls-tls-webpki-roots", "reqwest?/rustls-tls-webpki-roots"]
__rustls-tls = ["livekit-signaling?/__rustls-tls", "reqwest?/__rustls"]
[package.metadata.feature-combinations]
mode = "curated"
check = [
["default"],
[],
["access-token"],
["webhooks"],
["services", "native-tls"],
["services", "native-tls-vendored"],
["services", "rustls-tls-webpki-roots"],
["services", "rustls-tls-native-roots"],
["signal-client-native", "rustls-tls-webpki-roots"],
["default", "rustls-tls-webpki-roots"],
]
[dependencies]
livekit-signaling = { workspace = true, optional = true }
livekit-protocol = { workspace = true }
livekit-region = { workspace = true, optional = true }
livekit-token = { workspace = true, optional = true }
thiserror = { workspace = true }
serde = { workspace = true, features = ["derive"] }
sha2 = "0.10"
url = "2.3"
log = { workspace = true }
prost = { workspace = true }
pbjson-types = "0.9"
serde_json = { workspace = true, optional = true }
base64 = { version = "0.21", optional = true, features = ["std"] }
tokio = { workspace = true, default-features = false, features = ["sync", "macros", "signal", "io-util", "net", "rt-multi-thread"], optional = true }
http = "1.1"
reqwest = { version = "0.12", default-features = false, features = [ "json" ], optional = true }
rand = { workspace = true }
[dev-dependencies]
tokio = { workspace = true, features = ["rt", "rt-multi-thread", "net", "time", "macros", "io-util"] }