lellm_graph/stream_chunk.rs
1//! StreamChunk — Data Plane 数据面事件。
2//!
3//! 高频、数据透传、无嵌套包装。
4//! 与控制面 RuntimeEvent 分离,避免高频数据事件撑爆控制事件通道。
5
6// ─── StreamChunk ──────────────────────────────────────────────
7
8/// 数据面事件 — 高频、数据透传。
9///
10/// 设计原则:只承载"需要实时展示给用户的内容",不混入状态变更等低频数据。
11#[derive(Debug, Clone)]
12pub enum StreamChunk {
13 /// 文本输出(LLM 生成的文本 token)
14 Text(String),
15 /// 思考内容(LLM 的 reasoning/thinking block)
16 Thinking(String),
17 /// 工具调用开始
18 ToolCall {
19 id: String,
20 name: String,
21 arguments: String,
22 },
23 /// 工具执行结果
24 ToolResult {
25 id: String,
26 content: String,
27 is_error: bool,
28 },
29}