pub enum ClientMessage {
HelloMath {
client_instance_id: String,
version: String,
min_supported_version: String,
resume_thread_id: Option<Uuid>,
automagic: bool,
system_info: ClientSystemInfo,
},
SendMessage {
request_id: Uuid,
thread_id: Option<Uuid>,
text: String,
runtime_mode: Option<RuntimeMode>,
model_override: Option<ThreadModelOverride>,
},
UpdateAuthToken {
token: String,
},
UpdateWorkspaceRoots {
workspace_roots: Vec<WorkspaceRoot>,
},
RejectToolCall {
id: String,
reason: Option<String>,
},
AcceptToolCall {
id: String,
},
ResolveSubagentEscalation {
parent_message_id: Uuid,
subagent_run_id: Uuid,
escalation_id: String,
resolution: SubagentEscalationResolution,
},
ToolCallOutputs {
outputs: Vec<ToolCallOutput>,
},
CancelGeneration {
message_id: Uuid,
},
}Variants§
HelloMath
Fields
client_instance_id: StringRandom per-client-instance id (generated on client startup).
Used for multi-client tool-call claiming/coordination. Not derived from auth token.
min_supported_version: StringMinimum supported server version (the client can work with any server >= this).
resume_thread_id: Option<Uuid>Optional thread root message id used by reconnecting clients to restore active thread state.
system_info: ClientSystemInfoNormalized snapshot of the client machine.
Older clients may omit this; missing values deserialize as “unknown”.
SendMessage
Send a user message.
If thread_id is None, the server creates a new thread and returns it in SendMessageAck.
request_id is a client-generated correlation id for 1:1 request↔response mapping.
Fields
runtime_mode: Option<RuntimeMode>Optional runtime mode update to apply to the thread before generation.
model_override: Option<ThreadModelOverride>Optional model override update to apply to the thread before generation.
None: do not change current override.Some(value): set override tovalue.
UpdateAuthToken
Update/refresh auth token without reconnecting the WebSocket.
UpdateWorkspaceRoots
Replace the client-local workspace snapshot exposed to the server for this connection.
Sent separately from HelloMath so workspace state can be updated without reconnecting.
Fields
workspace_roots: Vec<WorkspaceRoot>RejectToolCall
AcceptToolCall
ResolveSubagentEscalation
Fields
resolution: SubagentEscalationResolutionToolCallOutputs
Fields
outputs: Vec<ToolCallOutput>CancelGeneration
Cancel the current in-progress generation for a specific assistant message.
Trait Implementations§
Source§impl Clone for ClientMessage
impl Clone for ClientMessage
Source§fn clone(&self) -> ClientMessage
fn clone(&self) -> ClientMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more