The MoQT transport that joule-code-collab's network rung needs lived in the private joulesperbit repo (as inv-moq + jwp), so a public consumer couldn't depend on it. Port both into the public open-standards joule-code workspace, self-contained (concrete dep versions, not workspace-inherited) so a bare git clone builds them: - crates/jwp: Joule Wire Protocol — energy-aware binary framing (CBOR, zstd/lz4, TCP + optional QUIC). Self-contained, external deps only. - crates/joule-moq: MoQT (Media-over-QUIC) wire protocol + JWP signed-receipt extension for CommunicationOS — Publisher/Subscriber/Relay traits, MockFabric (in-process) + a production QUIC path (quic feature). Renamed from inv-moq to drop the invisible-* namespace and match the joule-code branding; depends only on jwp. Both build (default + quic) and pass their tests (joule-moq 29, jwp 152) in the new home. The transport-moqt example now path-deps the public joule-moq instead of reaching into joulesperbit, and its end-to-end BFT-ops-over-MoQT-with-signed- receipts tests pass. This unblocks public consumers (agent-zed) from git-depping the transport for cross-machine fleet coordination. Co-Authored-By: Claude Opus 4.8 <[email protected]>
44 lines
1.4 KiB
TOML
44 lines
1.4 KiB
TOML
[package]
|
|
name = "joule-moq"
|
|
version = "0.1.0"
|
|
description = "MoQT (Media over QUIC Transport) wire protocol + JWP receipt extension for CommunicationOS broadcast media. Trait surface lets the Realtime stack publish, subscribe, and relay tracks with object-level signed provenance and joule receipts."
|
|
edition = "2024"
|
|
rust-version = "1.85"
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/transaction-science/open-standards"
|
|
|
|
[dependencies]
|
|
jwp = { path = "../jwp" }
|
|
bytes = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
thiserror = "2"
|
|
async-trait = "0.1"
|
|
tracing = "0.1"
|
|
tokio = { version = "1", features = ["sync", "rt", "macros", "io-util", "net", "time"] }
|
|
uuid = { version = "1", features = ["v4", "v5", "v7", "serde", "js"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
blake3 = "1"
|
|
ed25519-dalek = { version = "2", features = ["serde", "rand_core"] }
|
|
rand_core_06 = { package = "rand_core", version = "0.6", features = ["getrandom"] }
|
|
futures = "0.3"
|
|
|
|
[features]
|
|
default = []
|
|
quic = ["dep:quinn", "dep:rustls", "dep:rcgen"]
|
|
|
|
[dependencies.quinn]
|
|
version = "0.11"
|
|
optional = true
|
|
|
|
[dependencies.rustls]
|
|
version = "0.23"
|
|
features = ["ring", "std"]
|
|
optional = true
|
|
|
|
[dependencies.rcgen]
|
|
version = "0.14"
|
|
optional = true
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["macros", "rt", "rt-multi-thread"] }
|