open-standards/wai/quickstart
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 0e4487a921
Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 8s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 18s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 45s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 1m34s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 3m27s
joule-code conformance gate / joule-moq-relay, every target (push) Successful in 3m57s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 4m44s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 5m26s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Successful in 5m29s
joule-code conformance gate / joule-moq-ingest, every target (push) Successful in 6m26s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 6m51s
wai-audit collector and player integration / does this change touch it (push) Has been cancelled
wai-audit collector and player integration / collector · linux (push) Has been cancelled
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Has been cancelled
WAI operation catalogue / does this change touch it (push) Has been cancelled
WAI operation catalogue / the catalogue and every door · linux (push) Has been cancelled
wai-quantum docs, course and locales / does this change touch it (push) Has been cancelled
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Has been cancelled
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Has been cancelled
wai-quantum docs, course and locales / the Studio's words in every locale · linux (push) Has been cancelled
wai-quantum for JavaScript / does this change touch it (push) Has been cancelled
wai-quantum for JavaScript / javascript · linux (push) Has been cancelled
wai-quantum studio and desktop / does this change touch it (push) Has been cancelled
wai-quantum studio and desktop / studio · browser (push) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (push) Has been cancelled
wai-quantum studio and desktop / desktop app · linux (push) Has been cancelled
wai-quantum studio and desktop / desktop app · windows (push) Has been cancelled
wai-sink-android native sink library / does this change touch it (push) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Has been cancelled
wai-sink-swift native sink package / does this change touch it (push) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Has been cancelled
WAI Studio / does this change touch it (push) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (push) Has been cancelled
WAI Studio / Studio in WebKit · linux (push) Has been cancelled
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Successful in 9m33s
wai release binaries build on Windows / the seven release binaries · windows (push) Successful in 12m21s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Successful in 12m37s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Successful in 14m48s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Has been cancelled
joule-moq-room room service / joule-moq-room · does this change touch it (push) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has been cancelled
wai-app and Create / wai-app · does this change touch it (push) Has been cancelled
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Has been cancelled
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Has been cancelled
wai-fleet service / does this change touch it (push) Has been cancelled
wai-fleet service / service · linux (push) Has been cancelled
wai-fleet service / service · macos (push) Has been cancelled
wai-key-proxy / does this change touch it (push) Has been cancelled
wai-key-proxy / proxy · linux (push) Has been cancelled
wai-ledger service / does this change touch it (push) Has been cancelled
wai-ledger service / service · linux (push) Has been cancelled
wai-ledger service / service · macos (push) Has been cancelled
wai-int-module WAISM module of record / 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 10s
wai-int-module WAISM module of record / linux · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Successful in 9m8s
wai-int-module WAISM module of record / linux-arm64 · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Successful in 6m56s
wai command line release / the tag is the crate's version (push) Successful in 16s
wai command line release / the room client and WAI Studio (push) Successful in 3m21s
wai command line release / macOS · aarch64-apple-darwin (push) Successful in 9m15s
wai command line release / Linux · x86_64-unknown-linux-musl (push) Successful in 12m56s
wai command line release / Linux · aarch64-unknown-linux-musl (push) Successful in 13m24s
wai command line release / macOS · x86_64-apple-darwin (push) Successful in 21m33s
wai command line release / Windows · x86_64-pc-windows-msvc (push) Successful in 28m22s
wai command line release / Homebrew formula and Scoop manifest (push) Successful in 9s
wai 0.6.0
The crate's version for the release wai-v0.6.0, version only: wai/wai-rs/Cargo.toml and the
`wai` entry of the eighteen lockfiles that hold it; the installer's default
(wai/quickstart/install.sh), which the release's first job requires to be the tag's version;
the catalogue export, whose `toolchain` is the crate's version, and WAI Studio's actions
generated from it (node scripts/actions.mjs). The changelog's entries under wai/changes/ are
assembled into it (scripts/changelog-assemble.py --write) and become v0.6.0, under an
Unreleased heading for what comes next. Fixtures and recorded measurements keep the version
they name.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-09 16:17:06 -05:00
..
test The release's macOS leg has node on its PATH, each quickstart runs every binary, and the release check reads commands 2026-11-07 10:56:00 -05:00
build-studio.sh wai/toolchain-fixes, converted to the layout of the fix: no shared append point 2026-11-05 01:45:34 -05:00
build-web.sh wai: the developer's path, hello, create, dev and verify, a floor build with no system library, and nine examples 2026-10-26 22:58:39 -04:00
build.sh wai doctor: whether this machine can run the toolchain, one check to a line 2026-11-06 17:24:16 -05:00
formulae.py wai/toolchain-fixes, converted to the layout of the fix: no shared append point 2026-11-05 01:45:34 -05:00
install.sh wai 0.6.0 2026-11-09 16:17:06 -05:00
publish.sh The service binaries are wai-relay, wai-room and wai-ingest; the crates keep their names 2026-10-27 04:52:31 -04:00
README.md wai doctor: a browser counts when it runs, and on Windows a hung program's tree is stopped 2026-11-06 17:24:17 -05:00

WAI

The wai command line, and the reference software wai dev runs on your own machine. All of it is open source under Apache-2.0, built from the open-standards repository (wai/quickstart/build.sh).

File What it is
bin/wai The command line: hello, create, dev, verify, doctor, and the envelope tools (inspect, wrap, unwrap, encode, decode for the mandatory floor, capabilities)
bin/wai-relay The relay a room's media goes through: MOQT over QUIC, WebTransport and WebSocket
bin/wai-room The room service: a room's keys, its grants, its clock
bin/wai-ingest The ingest gateway: WHIP, SRT and RTMP into a room, each group signed at the first hop, and WHEP out
bin/wai-remote-host A remote desktop room's host agent
bin/wai-pack The packager: a title as WAI objects, HTTP playlists and a MoQ catalog
bin/wai-quantum The quantum command line: OpenQASM programs run on this machine, the result signed
share/wai/web/ The room client a browser loads: its pages and their WebAssembly
share/wai/studio/ WAI Studio, which wai dev serves at /_wai/

Start

wai hello                                   # WAI's four steps on a sample: name, dispatch, rebuild, receipt
wai create my-room --template video-room    # a video room in one page
cd my-room
wai dev                                     # the relay, the room service and your page, on 127.0.0.1:8080
wai verify ../wai-hello                     # the receipts hello wrote, checked offline

wai create --list names every template. wai dev --help gives its options. Nothing here needs an account, and nothing is sent off your machine.

Keep bin/ and share/ side by side: wai dev finds the relay, the room service, the room client and Studio beside itself. Homebrew and Scoop install wai-quantum as a package of its own, which wai depends on.

Check this machine

wai doctor                                  # one check to a line; --json for the same as an envelope

says whether this machine can run all of this: this wai and what wai reaches at a prompt, the relay and the room service and whether they are of this wai's version, each port in the table below, the browsers for Studio and for the browser harnesses, each asked its version and passed only when one runs, and where wai key keeps keys and who else may reach them. A check that fails says what to do. One that could not be run reads "not checked" with the reason, which is not a pass, and the last line says which of the three the run came to: passed, failed, or passed with some not checked. It exits 1 when a check failed. It sends nothing off this machine, writes nothing, reads no secret and raises no prompt, so on macOS whether the login keychain is unlocked always reads not checked, and a browser that would open a window to say its version (a WebKit browser, and on Windows any windowed program) is not started and says so.

Ports

What each program listens on by default, on 127.0.0.1. wai dev serves everything on one origin and runs its own relay and room service on free ports behind it; the other rows are each daemon's own default, as its example configuration or its source sets it, for running it alone. No two of them share a port, so any of them run side by side. A deployment sets its own.

Port Program What Set by
8080 wai dev your page at /, the room service at /room-api/, the relay at /moq, Studio at /_wai/ --port
4443/udp wai-relay MOQT over QUIC, and WebTransport quic_listen
4480 wai-relay MOQT over WebSocket websocket_listen
9682 wai-room the room service's HTTP API listen
8088 wai-ingest WHIP and WHEP [http] listen
1935 wai-ingest RTMP [rtmp] listen
1936 wai-ingest RTMPS, off until set [rtmp] tls_listen
5167 wai-ingest SCTE 104 automation, off until set [injector] listen
9000/udp wai-ingest SRT, off until set [contrib.srt] listen
9694 wai-audit the audit collector WAI_AUDIT_ADDR
8251 wai-ledger the receipt ledger WAI_LEDGER_ADDR
8252 wai-fleet the fleet service WAI_FLEET_ADDR
8241 wai-quantum-service the quantum job service WAI_QSVC_ADDR
9670 wai-world-relay the interactive worlds' relay WAI_RELAY_BIND
9690 wai_stitched_presentation serve the stitched presentation verifier --listen
8380 wai http origin an HTTP origin of WAI objects --port

A program that reaches another names that one's port: the room service's relay_url is the relay's WebSocket (ws://127.0.0.1:4480/moq), and the ingest gateway's [relay] addr is the relay's QUIC endpoint (127.0.0.1:4443). joule-moq-room's tests/ports.rs holds every row to the program that serves it.

More