Skip to main content
Libraries and tools · Apache-2.0

Every library, tool and suite in the standard.

Every WAI library, tool and conformance suite is in the open-standards repository. The specification, the extensions and every crate listed here are under Apache-2.0; where the conformance content comes from says where third-party material sits and how it is licensed. Each entry says what it is, how to get it, which CI workflow builds or tests it, and where its source lives. Source links go to the forge, the standard's canonical repository.

Generated from the repository's main branch at commit 17b7559a ().

The reference implementation

wai

In the standard

source folder wai-rs

The Rust reference implementation: the envelope, the manifest, capability dispatch, the capability registry, the integer codecs, receipts and energy meters. It builds as a Rust library, as a C-compatible shared or static library (libwai, with the generated header include/wai.h, behind the ffi feature) and as the wai command-line tool. For standard codecs it calls each codec's own library; without them it builds with --no-default-features, which is also how the WebAssembly target builds.

Form
Rust library · C library · command-line tool
Get it
Build from source. cargo build builds every part and needs the standard codecs' own libraries; cargo build --no-default-features --features ffi builds the library, the C library and the command-line tool without any codec library. It is not published to the Rust package registry.
Licence
Apache-2.0
CI
The conformance workflow builds the library and the command-line tool, runs the C interface's envelope tests and checks the registry export through the tool; the byte equality, HTTP delivery, energy receipts, neural sink gates, neural end to end, JPEG AI whole decode and integer vectors workflows test it further.

wai-web

In the standard

The browser build: envelope parsing and packing, capability dispatch and the integer decoders, compiled to WebAssembly. This site serves one build of it at /wai/pkg/, which these demonstrations load:

Other demonstrations load builds of their own.

Form
WebAssembly module with JavaScript bindings
Get it
Build from source for the wasm32 target, or use the build this site serves.
Licence
Apache-2.0
CI
The wasm32 build workflow.

Packaging and delivery

wai-pack

In the standard

The reference packager: a declared policy and its digest, scene-cut segmentation with bounded lookahead, piece classification, packages, and the package verifier.

Form
Rust library and the wai-pack command-line tool
Get it
Build from source.
Licence
Apache-2.0
CI
The packaging workflow, with its independent verifier.

wai-world-relay

In the standard

source folder wai-relay

The reference relay for live world sessions. It verifies every operation's Ed25519 signature before forwarding, and keeps the signed log for late joiners.

Form
Rust server
Get it
Build from source.
Licence
Apache-2.0
CI
Not built in CI.

Quantum on classical hardware

wai-quantum

In the standard

The quantum stack as its own crate: byte-exact simulation, error mitigation, decoding, compilation and signed receipts. The same code builds natively, for the browser and as a WebAssembly component; its README records byte-identical results and receipts across the three, and CI checks the native library.

Form
Rust library
Get it
Published to the Rust package registry, with API documentation.
Licence
Apache-2.0
CI
The energy receipts workflow tests the library.

wai-quantum-serve

In the standard

The quantum stack as a WASI HTTP component for serverless hosts, built to return the same hashes and the same signed receipt bytes as a native run.

Form
WebAssembly component
Get it
Build from source for the wasm32-wasip2 target.
Licence
Apache-2.0
CI
The energy receipts workflow tests its library natively; the WebAssembly component is not built in CI.

Command-line tools

  • wai: wraps any registered capability's bytes in an envelope and unwraps and inspects envelopes (wai wrap, wai unwrap, wai inspect); lists the capability registry (wai capabilities) and writes its export (wai registry export); prints a parameter set's listing and pin (wai prior-set); and runs the staged-delivery (wai stage) and HTTP-delivery (wai http) tools in a build with their features. A build with the standard codecs also encodes and decodes through them.

  • wai-pack: reads and digests a packaging policy, plans and packs sources under it, and verifies and lists packages.

  • wai-quantum: runs and verifies quantum circuits and their receipts. It is a binary of the reference implementation, built with its quantum features, and is not built in CI.

  • wai-spz-gen: writes a Gaussian-splat asset in the SPZ format as a content-addressed wai.splat.spz WAI object, or a wai.splat.4d clip from it, using the format's own library as the codec, and checks that the file round-trips through it. Build from source; it is not built in CI. Source

  • Vector generators in the reference implementation regenerate a suite's committed vectors, where its README names a generator (gen):

    • wai_audio_vectors
    • wai_avatar_vectors
    • wai_claim_vectors
    • wai_feed_vectors
    • wai_film_vectors
    • wai_haptic_vectors
    • wai_http_vectors
    • wai_int_payload_vectors
    • wai_int_synth_vectors
    • wai_jwp_vectors
    • wai_oer_vectors
    • wai_pin_vectors
    • wai_quantum_ops_vectors
    • wai_quantum_vectors
    • wai_score_vectors
    • wai_signer_vectors
    • wai_splat4d_vectors
    • wai_staged_vectors
    • wai_world_vectors
  • Other tools in the reference implementation, for measurement, metering, the key log, provenance, telemetry, differential checks and benchmarks:

    • wai-keys
    • wai_bench
    • wai_bench_diff
    • wai_decode_bench
    • wai_meter
    • wai_oer_diff
    • wai_prov
    • wai_quantum_meter
    • wai_stage_bench
    • wai_stage_measure
    • wai_telemetry
    • wai_video_meter
    • wai_world_meter

Conformance suites

In the standard

Each suite is a folder of vectors with a README that states what it checks and where its content comes from.

Conformance suites by area, and what they check
Area Suites What they check
Integer decode Byte-identical integer decode across architectures; the pinned payload formats and their refusals; the integer-synthesis decoder
Parameter sets Parameter-set pins, listings and rendition selection
Instruction cargo State, samples or per-frame identity for each class, by hash
Delivery Staged delivery and its measurement; HTTP objects, playlists and caches; packaging; delivery telemetry
Receipts and keys Receipt chains and gaps; stage and session claims; the signature rule; OER/2 receipts
Quantum Simulation and operations receipts

Where the conformance content comes from

Each suite's README states where its content comes from. Two committed vectors code third-party pictures that have no recorded licence for redistribution: photo in neural-conformance and video_real in int-payload-conformance. Their READMEs say so, and both are marked for replacement with generated content. The JPEG AI whole-decode inputs are not in the repository: they are extracted from the JPEG AI reference software, carry that software's licence, and CI fetches them from this site's models root, pinned by SHA-256.

Verifiers

Some suites ship a verifier written apart from the reference implementation. This list is generated from the repository, with the workflow that runs each verifier, or "not run in CI".

Independent verifiers, by suite, and the workflows that run them
Suite Verifier Runs in
cache-conformance Python driver and mutators, run against the reference origin HTTP delivery
claim-conformance Python conformance; wasm32 build
http-conformance Python conformance; HTTP delivery
int-payload-conformance Python conformance; HTTP delivery; packaging
jwp-conformance Python conformance
oer-conformance Python not run in CI
oer-conformance C kernel, whose energy meter is modelled conformance
pack-conformance Python packaging
pin-conformance Python conformance
quantum-conformance JavaScript, in the browser not run in CI
signer-conformance Python conformance
staged-conformance Python conformance; HTTP delivery
staged-measure-conformance Python (measurement and simulator) conformance
telemetry-conformance JavaScript differential against an independent open-source library conformance

The other suites have no separate verifier; the reference implementation's own vector tools check them in CI.

Registry and data

  • REGISTRY.md and registry/capabilities.json, with its JSON Schema: the WAI capability registry, every registered string with its kind, status, classes, edition and registration date.
  • vocab/ v2: the registry as RDF, a JSON-LD context and a SHACL shape. Version 1 is stable in a stated sense: no v1 term is removed and none changes what it means, though a label or comment may be corrected and a term added. It is served at /vocab/v1.jsonld.
  • glossary/codecs.json: the codec glossary dataset behind the glossary.

Continuous integration

Each workflow shows its current status on the forge. Each name links to its workflow file.