feat(daemon): wire protocol with a type-safe method vocabulary and a generated OpenRPC contract

Methods and events are enums built by one macro, so every consumer matches
exhaustively: adding a member is a compile error until the dispatcher, the
published schema, and the remote client all handle it. docs/openrpc.json is
derived from the DTOs rather than hand-written, and a test fails the build
when the checked-in copy drifts.
This commit is contained in:
Michel de Graaf
2026-07-27 09:56:48 +02:00
parent e2813392ea
commit df089fbab3
8 changed files with 3481 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
//! The resident service: one logged-in session, controlled over a socket.
/// Generates `docs/openrpc.json` from the wire types and checks it is current.
/// Test-only: the published document is served at runtime by `include_str!`.
#[cfg(test)]
mod openrpc;
pub mod proto;