[package]
name = "meerkat-live"
description = "Live audio/text transport for Meerkat — composable WebSocket bridge between clients and LiveAdapterHost"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
keywords.workspace = true
categories.workspace = true

[dependencies]
async-trait = { workspace = true }
meerkat-core = { workspace = true }
meerkat-contracts = { workspace = true }
axum = { workspace = true, features = ["ws"] }
tokio = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true }
tracing = { workspace = true }
base64 = { workspace = true }
thiserror = { workspace = true }
indexmap = { version = "2", features = ["serde"] }
bytes = { version = "1", optional = true }
webrtc = { version = "0.14.0", optional = true }
webrtc-media = { version = "0.11.0", optional = true }
opus = { version = "0.3.1", optional = true }
rubato = { version = "2.0.0", optional = true }

[features]
default = []
webrtc = ["dep:bytes", "dep:webrtc", "dep:webrtc-media", "dep:opus", "dep:rubato"]

[dev-dependencies]
tokio = { workspace = true, features = ["full", "test-util"] }
tokio-tungstenite = "0.29"
futures = { workspace = true }
