4cc40c913c
- print.schema.json, _ams.schema.json, _ams_unit.schema.json still pointed at the pre-rename filenames (ams.schema.json, ams_unit.schema.json, ams_tray.schema.json) after the underscore-prefix split - fixed all three, verified with a full jsonschema + referencing validation run against real captures (get_version, pushall, a full print/ams/xcam report with both empty and loaded trays) plus negative tests. - _upgrade_state.schema.json: fixed its $id (pointed at report/info/, file lives under report/print/) and its title (said "ModuleInfo", clearly copy-pasted from _module_info.schema.json). Wired it into print.schema.json as the print report's `upgrade_state` property - the file existed but nothing referenced it yet. - Deleted schemas/bambulab/v2/, which had been recreated as stale, broken copies of an older v1 (missing the envelope allOf, missing the underscore renames, $ids still pointing at v1/ paths) - the repo's own README documents v2 as intentionally removed until V2's wire format is known to differ from V1's. - Updated schemas/bambulab/README.md's layout tree and inheritance- example reference, both stale after the underscore rename. - Removed stray tsc -b build output (packages/ts-types/src/*.d.ts/js) that isn't meant to be committed (outDir is dist/, gitignored). Verified: cargo check clean (continuum-proxy, continuum-ai-worker, rust-types), tsc clean (continuum-backend, continuum-common ts-core), 10/10 JSON Schema validation cases passing.
36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
# 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](https://github.com/sinclairzx81/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.
|