Drop Protobuf; move continuum/v1 domain model to JSON Schema
Nothing imported the proto-generated code (zero references to continuum-rust-types or @continuum/ts-types's proto export in any consumer repo), and protobuf's real value - one schema compiled to a compact binary wire format for both languages - never applied: BE<->proxy and FE<->BE are both JSON. Also fixes 8 broken $ref paths in the bambulab schemas and a root tsconfig.json that was sweeping the gitignored examples/ directory into typecheck. - proto/continuum/v1/*.proto -> schemas/continuum/v1/*.schema.json - packages/rust-types: hand-written serde structs instead of prost-build codegen - packages/ts-types: drop the generated/ proto barrel export, keep the hand-written TypeBox schemas as the TS source of truth - root package.json: drop build:ts, protoc, ts-proto
This commit is contained in:
@@ -6,7 +6,7 @@ fn sample(status: PrintJobStatus) -> PrintJob {
|
||||
farm_id: "farm-1".into(),
|
||||
printer_id: "printer-1".into(),
|
||||
template_id: "template-1".into(),
|
||||
status: status as i32,
|
||||
status,
|
||||
progress_percent: 50.0,
|
||||
started_at_unix: 0,
|
||||
completed_at_unix: 0,
|
||||
@@ -14,9 +14,8 @@ fn sample(status: PrintJobStatus) -> PrintJob {
|
||||
}
|
||||
}
|
||||
|
||||
// Regression test: PrintJob.status must serialize as the full proto enum
|
||||
// name (matching ts-types' TypeBox schema), not the raw i32 prost stores
|
||||
// it as internally.
|
||||
// Regression test: PrintJob.status must serialize as the full name string
|
||||
// (matching ts-types' TypeBox schema), not a bare enum discriminant.
|
||||
#[test]
|
||||
fn status_serializes_as_full_proto_enum_name() {
|
||||
let json = serde_json::to_value(sample(PrintJobStatus::Printing)).unwrap();
|
||||
@@ -28,5 +27,5 @@ fn status_round_trips_through_json() {
|
||||
let original = sample(PrintJobStatus::Completed);
|
||||
let json = serde_json::to_string(&original).unwrap();
|
||||
let restored: PrintJob = serde_json::from_str(&json).unwrap();
|
||||
assert_eq!(restored.status, PrintJobStatus::Completed as i32);
|
||||
assert_eq!(restored.status, PrintJobStatus::Completed);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user