[package] name = "chanora_protocol" description = "Chanora protocol adapter — isolates tsclientlib behind a typed boundary. No tsclientlib types may cross out of this crate per SAD-067 / SysDes-011 / SysDes-029." version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true publish.workspace = true [dependencies] thiserror.workspace = true tracing.workspace = true serde.workspace = true # tsclientlib is git-only and not on crates.io. The "audio" feature # pulls in `audiopus` only — `sdl2` is a dev-dep used by upstream # examples; the library itself does not link SDL. tsclientlib = { git = "https://github.com/ReSpeak/tsclientlib.git", rev = "04aa2491", default-features = false, features = ["default-tls", "audio"] } # tsproto_packets exposes OutAudio / InAudioBuf / AudioData / # CodecType / Direction. Pinning to the same git rev as tsclientlib # avoids any version-skew confusion. tsproto-packets = { git = "https://github.com/ReSpeak/tsclientlib.git", rev = "04aa2491" } # Async runtime utilities used by the connection task. tokio = { version = "1", features = ["macros", "rt-multi-thread", "time", "sync"] } futures = "0.3" async-trait = "0.1"