flybrain/services/flysim
acamilo c567727351 feat(session-types): the TypeScript half of the contracts, over the same fixtures
packages/session-types mirrors the Rust crate: canonical JSON (RFC 8785), strict parsing,
canonical digests, readers with a validate step for every payload of ipc-v1, workers-v1,
state-media-v1 and publishing-v1, the trace comparator, seed derivation and the FLYSESS1
envelope. It loads the crate fixtures/ directory rather than keeping a copy.

43 tests with node test runner, as in packages/feed. Both languages assert the same recorded
canonical bytes and digests, so agreement is checked rather than assumed; the envelope test
goes further and requires the bytes this package writes to equal the fixture the Rust crate
wrote.

Also narrows the canonical number rule to a value-based one (finite, and within the exact
integer range when integral), because JSON.parse cannot tell 1e21 from the same digits
written out, and two implementations that disagree about one number agree about no digest.
2026-09-22 11:54:13 +00:00
..
.cargo flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
crates feat(session-types): the TypeScript half of the contracts, over the same fixtures 2026-09-22 11:54:13 +00:00
golden flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
tools symbols: the four WRAM names the whole-map grid reads 2026-09-22 03:17:20 +00:00
vendor/binjgb flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
Cargo.lock feat(session-types): the fly-session-types crate: domain scalars, closed enums, method payloads, canonical JSON and digests 2026-09-22 11:27:06 +00:00
Cargo.toml feat(session-types): the fly-session-types crate: domain scalars, closed enums, method payloads, canonical JSON and digests 2026-09-22 11:27:06 +00:00
flysim.toml.example flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
rust-toolchain.toml flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00