# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "livekit-api"
version = "0.5.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust Server SDK for LiveKit"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/livekit/rust-sdks"

[features]
__rustls-tls = [
    "tokio-tungstenite?/__rustls-tls",
    "reqwest?/__rustls",
]
__signal-client-async-compatible = [
    "dep:async-tungstenite",
    "dep:tokio",
    "dep:futures-util",
    "dep:isahc",
    "dep:livekit-runtime",
    "dep:base64",
    "dep:flate2",
    "dep:bytes",
]
access-token = [
    "dep:jsonwebtoken",
    "dep:hmac",
    "dep:signature",
]
default = [
    "services-tokio",
    "access-token",
    "webhooks",
]
native-tls = [
    "tokio-tungstenite?/native-tls",
    "async-tungstenite?/async-native-tls",
    "reqwest?/native-tls",
]
native-tls-vendored = [
    "tokio-tungstenite?/native-tls-vendored",
    "reqwest?/native-tls-vendored",
]
rustls-tls-native-roots = [
    "tokio-tungstenite?/rustls-tls-native-roots",
    "reqwest?/rustls-tls-native-roots",
    "tokio-tungstenite?/__rustls-tls",
    "dep:tokio-rustls",
    "dep:rustls-native-certs",
]
rustls-tls-webpki-roots = [
    "tokio-tungstenite?/rustls-tls-webpki-roots",
    "reqwest?/rustls-tls-webpki-roots",
]
services-async = ["dep:isahc"]
services-tokio = ["dep:reqwest"]
signal-client-async = [
    "__signal-client-async-compatible",
    "livekit-runtime/async",
]
signal-client-dispatcher = [
    "__signal-client-async-compatible",
    "livekit-runtime/dispatcher",
]
signal-client-tokio = [
    "dep:tokio-tungstenite",
    "dep:tokio",
    "dep:futures-util",
    "dep:reqwest",
    "dep:livekit-runtime",
    "livekit-runtime/tokio",
    "dep:base64",
    "dep:flate2",
    "dep:bytes",
]
webhooks = [
    "access-token",
    "dep:serde_json",
    "dep:base64",
]

[lib]
name = "livekit_api"
path = "src/lib.rs"

[dependencies.async-tungstenite]
version = "0.29"
features = [
    "async-std-runtime",
    "async-native-tls",
    "url",
]
optional = true

[dependencies.base64]
version = "0.21"
features = ["std"]
optional = true

[dependencies.bytes]
version = "1.10"
optional = true

[dependencies.device-info]
version = "0.1.1"

[dependencies.flate2]
version = "1"
optional = true

[dependencies.futures-util]
version = "0.3"
features = ["sink"]
optional = true
default-features = false

[dependencies.hmac]
version = "0.12"
optional = true

[dependencies.http]
version = "1.1"

[dependencies.isahc]
version = "1.7.2"
features = [
    "json",
    "text-decoding",
]
optional = true
default-features = false

[dependencies.jsonwebtoken]
version = "10"
optional = true
default-features = false

[dependencies.livekit-protocol]
version = "0.7.8"

[dependencies.livekit-runtime]
version = "0.4.0"
optional = true

[dependencies.log]
version = "0.4"

[dependencies.os_info]
version = "3.14.0"

[dependencies.parking_lot]
version = "0.12"

[dependencies.pbjson-types]
version = "0.6"

[dependencies.prost]
version = "0.12"

[dependencies.rand]
version = "0.9"

[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
default-features = false

[dependencies.rustls-native-certs]
version = "0.8"
optional = true

[dependencies.scopeguard]
version = "1.2.0"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.sha2]
version = "0.10"

[dependencies.signature]
version = "2"
optional = true

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = [
    "sync",
    "macros",
    "signal",
    "io-util",
    "net",
]
optional = true
default-features = false

[dependencies.tokio-rustls]
version = "0.26"
features = [
    "logging",
    "tls12",
    "ring",
]
optional = true
default-features = false

[dependencies.tokio-tungstenite]
version = "0.29"
features = ["url"]
optional = true

[dependencies.url]
version = "2.3"

[dev-dependencies.tokio]
version = "1"
features = [
    "rt",
    "rt-multi-thread",
    "net",
    "time",
    "macros",
    "io-util",
]
default-features = false
