Skip to main content

Module protocol

Module protocol 

Source
Expand description

Typed daemon control protocol.

Every JSON command a mermaidd socket client can send, as one enum — the wire shape ({"command": "...", ...fields}) is BYTE-IDENTICAL to the previous stringly dispatch; this is a protocol contract being made exhaustive, not a compat shim. The daemon parses requests into this enum (a typo becomes a serde error naming the field instead of a silent unknown command), and the client constructs requests from it (a misspelled literal becomes a compile error).

Deliberately NO typed response enum: wire responses are heterogeneous per command and the client already owns typed response structs — the exhaustiveness win lives on the request side.

Enums§

DaemonRequest
One daemon control request. auth.token rides OUTSIDE this shape (the daemon reads it before the typed parse), so no variant carries it.