pub enum MessageKind {
UserMessage {
text: String,
},
ReasoningStarted,
PartialAssistantMessage {
delta: String,
},
AssistantMessage {
blocks: Vec<ContentBlock>,
},
PartialToolCall {
call_id: String,
name: String,
delta: String,
},
ToolCall {
call_id: String,
name: String,
arguments: Value,
},
ToolOutput {
chunk: String,
},
ToolResponse {
call_id: String,
output: Vec<ContentBlock>,
is_error: bool,
},
}Expand description
消息内容。Partial* 是流式增量,与之配对的成型变体在内容完整时发出。
序列化为 { "type": "tool_call", ... },方便前端按 tag 分发。
Variants§
UserMessage
用户提交的一条消息。
ReasoningStarted
一次推理开始(provider 即将被调用)。
PartialAssistantMessage
assistant 文本的流式增量。(预留:需 provider 支持 token 流式后才发出。)
AssistantMessage
一条成型的 assistant 消息(含 thinking / text / tool_use 块)。
Fields
§
blocks: Vec<ContentBlock>PartialToolCall
工具调用参数的流式拼装增量。(预留:同上。)
ToolCall
模型决定调用某工具(参数已成型)。
ToolOutput
工具执行期间的实时原始输出(如 bash 边跑边吐)。纯前端展示用:
不进 transcript、模型也看不到——它不是 ToolResponse 的一部分。
模型看到的真正结果始终是下面那条完整的 ToolResponse(后台工具任务则是 {id, running} 信封)。
不带 call_id —— 归属“当前正在执行的工具“(非只读工具独占串行,任一时刻至多一个)。
ToolResponse
工具执行结束的完整结果(模型看到的、也是会落进 transcript 的那条消息)。
后台工具任务超时让步时,这里就是 {id, status:"running", …} 那个异步信封。
Trait Implementations§
Source§impl Clone for MessageKind
impl Clone for MessageKind
Source§fn clone(&self) -> MessageKind
fn clone(&self) -> MessageKind
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MessageKind
impl Debug for MessageKind
Source§impl<'de> Deserialize<'de> for MessageKind
impl<'de> Deserialize<'de> for MessageKind
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 MessageKind
impl RefUnwindSafe for MessageKind
impl Send for MessageKind
impl Sync for MessageKind
impl Unpin for MessageKind
impl UnsafeUnpin for MessageKind
impl UnwindSafe for MessageKind
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