pub enum ClientFrame {
Hello {
pubkey: String,
token: String,
agent: String,
},
Envelope {
envelope: SignedEnvelope,
},
AudioStreamStart {
sample_rate: u32,
},
AudioChunk {
data: String,
},
AudioStreamEnd,
}Expand description
Frames the phone sends to the Mac endpoint.
Variants§
Hello
Pairing / auth handshake. token is the one-time token from the QR
code; pubkey is the phone’s multibase Ed25519 public key, which the
Mac records as a paired device on success. agent is the canonical
agent name the phone wants to talk to (e.g. "mur").
Envelope
A signed A2A request destined for the agent (text-only path).
Fields
§
envelope: SignedEnvelopeAudioStreamStart
Phone begins a voice utterance. The Mac clears its audio accumulator and
prepares for incoming chunks at sample_rate Hz, mono f32.
AudioChunk
One chunk of raw PCM (f32 LE, sample_rate Hz mono, standard base64).
Authenticated by the connection (paired at Hello); no per-chunk sig.
AudioStreamEnd
Phone finished speaking. Mac should run STT on the accumulated audio, forward to the agent, and stream TTS audio back.
Trait Implementations§
Source§impl Debug for ClientFrame
impl Debug for ClientFrame
Source§impl<'de> Deserialize<'de> for ClientFrame
impl<'de> Deserialize<'de> for ClientFrame
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ClientFrame
impl RefUnwindSafe for ClientFrame
impl Send for ClientFrame
impl Sync for ClientFrame
impl Unpin for ClientFrame
impl UnsafeUnpin for ClientFrame
impl UnwindSafe for ClientFrame
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more