octoturge 51dba8e896 Fix broken v2 bambulab schema refs, wire up v2 dispatchers, fix PrintJobStatus JSON mismatch
- v2/common/device/device.schema.json: stray backtick in bed $ref broke resolution
- v2/report/print/print.schema.json: ams $ref pointed at wrong path (missing ams/ subdir)
- v2/common/device/plate.schema.json: $id was copy-pasted from bed.schema.json
- Add v2/request.schema.json and v2/report.schema.json dispatchers - v2's leaf
  schemas were unreachable without them, same oneOf convention as v1
- Rewrite schemas/bambulab/README.md layout section, which still described
  v1's pre-rename paths and claimed v2 was removed
- PrintJob.status serialized as a raw i32 in Rust (prost stores proto3 enums
  as i32) while ts-types' TypeBox schema validates full enum name strings -
  add serde with= on the field so Rust JSON matches TS and protobuf's own
  canonical JSON enum mapping, plus a regression test
2026-08-31 13:50:51 +00:00

continuum-schemas

Single source of truth for the Continuum data model. Protobuf definitions in proto/ are compiled into two consumer packages:

  • packages/ts-types - TypeScript types generated via ts-proto, plus hand-written TypeBox schemas under src/schemas/ used for runtime validation in continuum-backend's ElysiaJS routes.
  • packages/rust-types - a Rust crate (continuum-rust-types) that compiles the same .proto files with prost-build (via build.rs), producing serde-derived structs for continuum-proxy and continuum-ai-worker.

Layout

proto/continuum/v1/       canonical .proto message definitions
packages/ts-types/        TypeBox schemas + generated TS proto types
packages/rust-types/      prost-generated Rust structs (build.rs codegen)

Build

Requires protoc on PATH and npm install run at the repo root first.

npm install
npm run build:ts     # protoc + ts-proto -> packages/ts-types/src/generated
npm run build:rust   # cargo build, runs build.rs -> prost-generated structs
npm run build        # both

Generated TS output under packages/ts-types/src/generated is build-derived and gitignored. The Rust crate's generated code lands in OUT_DIR per standard prost-build conventions and is never committed.

S
Description
Continuum platform: continuum-schemas
Readme 146 KiB
Languages
Rust 61.2%
TypeScript 38.8%