Some checks failed
wai-fleet service / does this change touch it (push) Successful in 26s
joule-moq-http live HTTP egress / joule-moq-http · does this change touch it (push) Successful in 25s
WAI operation catalogue / does this change touch it (push) Successful in 27s
wai-int-module WAISM module of record / does this change touch it (push) Successful in 27s
wai-pack / wai-pack · does this change touch it (push) Successful in 18s
wai-quantum command line / does this change touch it (push) Successful in 16s
wai-quantum clippy / does this change touch it (push) Successful in 20s
wai-quantum contract / does this change touch it (push) Successful in 26s
wai-quantum docs, course and locales / does this change touch it (push) Successful in 22s
wai-quantum editors / does this change touch it (push) Successful in 21s
wai-quantum resource estimation / does this change touch it (push) Successful in 23s
wai-quantum for JavaScript / does this change touch it (push) Successful in 25s
wai-quantum-landscape-fpga reference design / does this change touch it (push) Successful in 24s
wai-quantum other formats / does this change touch it (push) Successful in 28s
wai-quantum OpenQASM reader / does this change touch it (push) Successful in 14s
wai-quantum pulse and dynamics / does this change touch it (push) Successful in 18s
wai-quantum for Python / does this change touch it (push) Successful in 16s
wai-quantum error correction and mitigation / does this change touch it (push) Successful in 21s
wai-quantum qudit jobs / does this change touch it (push) Successful in 16s
wai-ledger service / does this change touch it (push) Successful in 3m1s
wai-app and Create / wai-app · does this change touch it (push) Successful in 3m17s
wai-key-proxy / does this change touch it (push) Successful in 3m1s
wai-audit collector and player integration / does this change touch it (push) Successful in 3m12s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 3m20s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 3m18s
wai-ops-gpu integer operators on GPUs / does this change touch it (push) Successful in 2m58s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 3m18s
wai-quantum studio and desktop / does this change touch it (push) Successful in 19s
wai-quantum extension points / does this change touch it (push) Successful in 21s
wai-quantum service / does this change touch it (push) Successful in 18s
wai-quantum variational and algorithm library / does this change touch it (push) Successful in 17s
wai-quantum verdicts and repairs / does this change touch it (push) Successful in 55s
wai-quantum views in agent hosts / does this change touch it (push) Successful in 2m39s
wai-quantum on Windows / does this change touch it (push) Successful in 2m35s
WAI Studio / does this change touch it (push) Successful in 2m16s
wai-sink-swift native sink package / does this change touch it (push) Successful in 2m28s
wai-sink-android native sink library / does this change touch it (push) Successful in 2m38s
wai-ops-gpu integer operators on GPUs / Vulkan GPUs (jetson-hub) (push) Successful in 11m30s
wai-quantum service / service energy · linux packages (push) Failing after 12s
wai-ops-gpu integer operators on GPUs / Vulkan GPUs (framework-128gb) (push) Successful in 14m28s
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (push) Successful in 29s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 21s
WAI examples / WAI examples · does this change touch them (push) Successful in 16s
wai-quantum landscape energy to solution / does this change touch it (push) Successful in 11s
wai-int-module WAISM module of record / the module of record in Chromium (push) Successful in 29s
wai-quantum landscape stage 0, the sampler against the exact law / does this change touch it (push) Successful in 20s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 17s
wai-quantum wasmQ / does this change touch it (push) Successful in 15s
wai-fleet service / service · linux (push) Successful in 3m12s
wai-gstreamer / wai-gstreamer · the plugin on a distribution's GStreamer (push) Successful in 3m38s
wai web player plugins / the browser run's room compiles · linux (push) Successful in 41s
WAI operation catalogue / the catalogue and every door · linux (push) Failing after 3m56s
wai-quantum contract / the policy is linked, and the deprecations page reads (push) Successful in 14s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 5m53s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (push) Successful in 21s
wai web player plugins / the plugins' core under Node · linux (push) Successful in 3m46s
wai tv web application / the tv application, built to its baseline and checked · linux (push) Successful in 4m2s
wai-int-module WAISM module of record / linux · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Successful in 7m8s
wai-quantum clippy / clippy, warnings denied, every feature set · linux (push) Successful in 5m58s
wai-pack / wai-pack · linux (push) Successful in 6m24s
wai-quantum editors / editors · linux (push) Successful in 4m5s
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (push) Successful in 1m46s
wai-quantum contract / API compatibility · linux (push) Successful in 6m29s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (push) Successful in 1m14s
wai-quantum other formats / the set under wasm32-wasip2 (wasmtime) (push) Successful in 3m4s
wai-quantum for JavaScript / javascript · linux (push) Successful in 6m37s
wai-quantum qudit jobs / the module and the conformance set under wasm32-wasip2 (wasmtime) (push) Successful in 1m58s
wai-quantum OpenQASM reader / reader and corpus · linux (push) Successful in 4m17s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 38s
wai-quantum other formats / readers, writers and the set · linux (push) Successful in 6m55s
wai-ledger service / service · linux (push) Successful in 1m59s
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Successful in 10m10s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (push) Successful in 5m52s
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (push) Successful in 5m24s
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (push) Successful in 2m32s
wai-key-proxy / proxy · linux (push) Successful in 3m0s
wai-quantum resource estimation / estimation and calibration · linux, release (push) Successful in 10m50s
wai-quantum qudit jobs / the module, the job, the conformance set, the referee and the verb · linux (push) Successful in 5m41s
wai-quantum studio and desktop / studio · browser (push) Successful in 3m59s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (push) Successful in 2m46s
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (push) Successful in 2m31s
wai-audit collector and player integration / collector · linux (push) Successful in 6m17s
wai-quantum extension points / the registry and the example · linux (push) Successful in 9m14s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 1m54s
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (push) Successful in 6m17s
wai-quantum for Python / python · linux (push) Successful in 14m26s
wai-quantum views in agent hosts / views · a scripted host (push) Successful in 5m45s
wai-quantum views in agent hosts / views · the page and its engine (push) Successful in 5m55s
wai-quantum contract / schemas and the committed tool lists · linux (push) Successful in 23m16s
wai-quantum studio and desktop / desktop app · linux (push) Successful in 13m17s
wai-quantum service / service · linux (push) Successful in 13m56s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (push) Successful in 17m15s
wai-quantum-landscape-fpga reference design / the member against the model of the logic, and the logic against the model · linux, release (push) Successful in 26m2s
wai-quantum command line / command line · linux (push) Successful in 42m5s
WAI Studio / Studio in WebKit · linux (push) Failing after 23m6s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Failing after 44m9s
joule-moq-http live HTTP egress / joule-moq-http, every target (push) Successful in 3m11s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Failing after 9m18s
wai-pack / wai-pack · linux-arm64 (push) Successful in 4m44s
wai-pack / wai-pack · the floor through a media prober (push) Failing after 1m4s
wai-pack / wai-pack · dependency licences (push) Successful in 2m14s
wai-int-module WAISM module of record / linux-arm64 · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Successful in 8m0s
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (push) Successful in 2m39s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (push) Successful in 5m34s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 2m21s
joule-moq-room room service / joule-moq-room, every target (push) Failing after 8m45s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (push) Successful in 3m11s
wai-quantum extension points / the registry and the example · linux-arm64 (push) Successful in 7m8s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 51s
wai-fleet service / service · macos (push) Successful in 44s
wai-pack / wai-pack · independent verifier (Python) (push) Successful in 22m28s
wai-quantum editors / editors · macos (push) Successful in 1m35s
wai-quantum command line / command line · macos (push) Successful in 3m13s
wai-quantum pulse and dynamics / the same bits · macos (push) Successful in 1m17s
wai-pack / wai-pack · macos (push) Successful in 3m58s
wai-ledger service / service · macos (push) Successful in 1m17s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Successful in 8m30s
wai-quantum qudit jobs / the same bits · macos (push) Successful in 2m9s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 1m0s
wai-quantum for Python / python · macos (push) Successful in 3m37s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (push) Failing after 8m26s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Failing after 7m31s
joule-code conformance gate / joule-moq-ingest, every target (push) Failing after 47m41s
joule-code conformance gate / joule-moq-relay, every target (push) Failing after 47m42s
wai-quantum service / service · macos (push) Successful in 8m7s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 2m10s
joule-moq-http in browsers / the egress and the protected room in Chromium, Firefox and WebKit · macos (push) Successful in 15m26s
wai-quantum studio and desktop / desktop app · macos (push) Successful in 4m42s
wai peer delivery in browsers / peer delivery in Chromium, Firefox and WebKit · macos (push) Successful in 7m2s
wai protected floor in browsers / the protected floor in Chromium, Firefox and WebKit · macos (push) Successful in 2m55s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Successful in 16m18s
wai tv web application / the tv application in Chromium, Firefox and WebKit · macos (push) Successful in 7m8s
WAI Studio / Studio in Chromium and Firefox · macos (push) Failing after 11m49s
wai web player plugins / the three players in Chromium, Firefox and WebKit · macos (push) Successful in 18m59s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Successful in 22m40s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Successful in 15m51s
wai release binaries build on Windows / the seven release binaries · windows (push) Has been cancelled
wai-quantum on Windows / engine · windows (push) Has been cancelled
wai-quantum on Windows / command line · windows (push) Has been cancelled
wai-quantum on Windows / job service · windows (push) Has been cancelled
wai-quantum on Windows / python · windows (push) Has been cancelled
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · linux (push) Has been cancelled
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · macos (push) Has been cancelled
wai-quantum wasmQ / the reference modules rebuild to their modules of record · linux (push) Has been cancelled
wai-quantum wasmQ / interpreter and vectors under wasm32-wasip2 (wasmtime) (push) Has been cancelled
wai-quantum studio and desktop / desktop app · windows (push) Has been cancelled
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Has been cancelled
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Has been cancelled
wai-quantum energy-landscape jobs / the same bits · macos (push) Has been cancelled
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Has been cancelled
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Has been cancelled
wai-quantum landscape stage 0, the sampler against the exact law / the small tier, to the byte · linux (push) Has been cancelled
wai-quantum landscape stage 0, the sampler against the exact law / the small tier, to the byte · macos (push) Has been cancelled
wai-quantum landscape energy to solution / the small tier, to the byte · linux (push) Has been cancelled
wai-quantum landscape energy to solution / the small tier, to the byte · macos (push) Has been cancelled
WAI examples / WAI examples · portable · linux (push) Has been cancelled
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (push) Has been cancelled
WAI examples / WAI examples · android-app · linux-arm64 (push) Has been cancelled
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Has been cancelled
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Has been cancelled
Every requirement on ed25519-dalek 2, x25519-dalek 2, curve25519-dalek 4 and
signature 2 moves to 3, 3, 5 and 3 (51 in 48 manifests); hpke 0.13 -> 0.15. 52
lockfiles now resolve ed25519-dalek 3.0.0, the released stable. Each 2.x
feature set maps to the 3.x set with the same API: 2's defaults (fast, std,
zeroize) are 3's defaults plus `alloc`, which 3 no longer turns on and which
PKCS#8 encoding and `Signature::to_vec` need; 2's `std` is 3's `alloc`.
Key generation. dalek 3's `generate` takes a rand_core 0.10 RNG, and every
site passed a rand_core 0.6 one. dalek 2's `generate` was fill 32 bytes, then
`from_bytes`; that body is written out at the 50 call sites with the RNG each
already used, so no RNG or dependency changes. op-screening and
joule-code-identity take the 32 bytes from getrandom directly.
- jouleclaw-hpke on hpke 0.15 and rand 0.10. Measured across versions first:
a seed names the same public key under 0.13 + rand 0.9 and 0.15 + rand
0.10; the stored secret is now the clamped scalar of the same X25519 key,
and a secret stored by either version opens what the other sealed. A test
pins the seeded key. The suite is asked for by name (hkdfsha2 is no longer
a default, ML-KEM is and is not used here).
- wai-rs's corpus signs with hazmat::raw_sign over dalek's own Sha512.
HPKE's X25519 and the claim corpus's curve arithmetic are unchanged on 5.
- smart-byte: iroh 1.0.0-rc.0 pinned ed25519-dalek =3.0.0-pre.7; iroh 1 and
iroh-blobs 0.104 take the stable 3. iroh-blobs is not called yet.
- sandbox-tee's amd-kds: c28dd2e46 moved sandbox to sha2 0.11 with rsa 0.9
(digest 0.10) still under it, and the feature has not compiled since; the
nightly-only job that builds it had not run. rsa 0.10 (digest 0.11,
signature 3), and the test chain built field by field and signed over its
DER, so x509-cert's builder and the signature traits it ties RSA to are not
needed. 52 tests pass with amd-kds,intel-pcs.
Left where a third party has not released on the new curve: c2pa (wai-rs),
openmls and frost-ed25519 (joule-code, jcp-threshold), bulletproofs and snow
(smart-byte; smart-byte-zk keeps curve 4.1 because its scalars go into
bulletproofs, and says so), and the libp2p 0.56 and hpke-rs 0.7 lines.
Each is handed bytes, never a key type of ours.
Checked: all 53 workspaces `cargo check --all-targets` with every feature,
or the defaults where every feature fails for a reason the log shows is not
this (CUDA, livekit, an old wasm-bindgen); wai-rs as CI builds it and with
codecs and neural on macOS; gstreamer on Linux; the desktop app after the
Studio. Tests: jcp-rs 755 (one RAPL timing test failed once at load 229 on
the arm64 host, passes alone on main there and in the full run), wai-rs lib
1252, joule-code 694 + 88, smart-byte 183, op-screening 50, sandbox-tee 52,
joulecontract 17, jouleclaw-hpke 12. The wasmQ modules of record rebuild
byte for byte on x86_64 Linux (main's lockfile first, then this one): no
dalek code is in them, so only the lockfile digest moves. The views page's
script and styles are unchanged; its engine moved with its dependencies.
lockfiles current, advisories: nothing new.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
58 lines
2.9 KiB
TOML
58 lines
2.9 KiB
TOML
[package]
|
|
name = "joule-moq-remote"
|
|
version = "0.1.0"
|
|
description = "A host agent for WAI remote desktop rooms (wai.live.remote) over joule-moq-relay: it captures a screen, encodes it with the platform's encoder, publishes it as the room's screen track with its receipts, decides every input by the host's rules of the extension and injects what they accept, signing a screen statement and an outcome for every input."
|
|
edition = "2024"
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/transaction-science/open-standards"
|
|
|
|
# A workspace of its own, with its own lock file, as joule-moq-room is: it builds on wai-rs
|
|
# (the room's records are WAI's), whose features would otherwise be unified into every crate of
|
|
# the joule-code workspace.
|
|
[workspace]
|
|
|
|
# The relay's wtransport, vendored with its WebTransport session close; the joule-code
|
|
# workspace patches it the same way (vendor/wtransport/VENDORED.md).
|
|
[patch.crates-io]
|
|
wtransport = { path = "../../vendor/wtransport" }
|
|
# quinn 0.11.12 and quinn-proto 0.11.19 with RESET_STREAM_AT and the reset_stream_at transport
|
|
# parameter, which WebTransport over HTTP/3 relies on (vendor/quinn-proto/VENDORED.md).
|
|
quinn = { path = "../../vendor/quinn" }
|
|
quinn-proto = { path = "../../vendor/quinn-proto" }
|
|
|
|
[lib]
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "wai-remote-host"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
joule-moq = { path = "../joule-moq" }
|
|
joule-moq-relay = { path = "../joule-moq-relay" }
|
|
# The room's records (live-rooms, live-events) and the remote desktop extension's statements,
|
|
# rules and verifier: no codec chain.
|
|
wai = { path = "../../../../wai/wai-rs", default-features = false, features = ["remote_desktop"] }
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "net", "io-util", "signal"] }
|
|
tracing = "0.1"
|
|
tracing-subscriber = "0.3"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
ed25519-dalek = { version = "3", features = ["alloc", "rand_core"] }
|
|
rand_core_06 = { package = "rand_core", version = "0.6", features = ["getrandom"] }
|
|
sha2 = "0.10"
|
|
hex = "0.4"
|
|
# TLS to the room service (https://) and the relay (wss://): rustls with ring, as the relay
|
|
# builds it, the operating system's roots, and the WebSocket client the relay's binding takes.
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] }
|
|
tokio-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12"] }
|
|
rustls-native-certs = "0.8"
|
|
tokio-tungstenite = "0.29"
|
|
|
|
# The platform adapters on Linux: dlopen for the X11 client library (so a host without it still
|
|
# builds and runs with the pattern source), and the input device's ioctls.
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
|