[workspace] resolver = "2" members = [ "crates/wzp-proto", "crates/wzp-codec", "crates/wzp-fec", "crates/wzp-crypto", "crates/wzp-transport", "crates/wzp-relay", "crates/wzp-client", "crates/wzp-web", "crates/wzp-android", ] [workspace.package] version = "0.1.0" edition = "2024" license = "MIT OR Apache-2.0" rust-version = "1.85" [workspace.dependencies] # Shared bytes = "1" thiserror = "2" async-trait = "0.1" tokio = { version = "1", features = ["full"] } tracing = "0.1" tracing-subscriber = "0.3" serde = { version = "1", features = ["derive"] } # Transport quinn = "0.11" # FEC raptorq = "2" # Codec # opusic-c: high-level safe bindings over libopus 1.5.2 (encoder side). # opusic-sys: raw FFI for the decoder side — we build our own DecoderHandle # because opusic-c::Decoder.inner is pub(crate) and cannot be reached for the # Phase 3 DRED reconstruction path. See docs/PRD-dred-integration.md. # Pinned exactly (no caret) for reproducible libopus 1.5.2 across the fleet. opusic-c = { version = "=1.5.5", default-features = false, features = ["bundled", "dred"] } opusic-sys = { version = "=0.6.0", default-features = false, features = ["bundled"] } bytemuck = "1" codec2 = "0.3" # Crypto x25519-dalek = { version = "2", features = ["static_secrets"] } ed25519-dalek = { version = "2", features = ["rand_core", "pkcs8"] } chacha20poly1305 = "0.10" hkdf = "0.12" sha2 = "0.10" rand = "0.8" # Workspace crates wzp-proto = { path = "crates/wzp-proto" } wzp-codec = { path = "crates/wzp-codec" } wzp-fec = { path = "crates/wzp-fec" } wzp-crypto = { path = "crates/wzp-crypto" } wzp-transport = { path = "crates/wzp-transport" } wzp-client = { path = "crates/wzp-client" }