Expand description
Wire protocol for the MUR mobile app ↔ Mac daemon WebSocket endpoint.
Shared by mur-mobile-sdk (the phone client) and mur-daemon (the Mac
endpoint) so both ends agree on the framing. Every message is one JSON
object sent as a WebSocket text frame. The first client frame is a
ClientFrame::Hello pairing handshake; once the server replies
ServerFrame::Paired, application traffic is carried as Ed25519-signed
SignedEnvelopes whose payload is the canonical JSON of an A2A
JsonRpcRequest — the same crypto MUR uses for agent↔agent bridge traffic.
P3 adds a voice streaming path: the phone streams raw 16 kHz mono f32 PCM chunks, the Mac runs whisper.cpp for an authoritative transcript, then replies with Kokoro TTS audio chunks.
Design: docs/superpowers/specs/2026-06-05-mur-voice-mobile-app-design.md.
Enums§
- Client
Frame - Frames the phone sends to the Mac endpoint.
- Server
Frame - Frames the Mac endpoint sends back to the phone.
Constants§
- MOBILE_
WS_ PATH - WebSocket path the daemon’s mobile endpoint serves.