Skip to main content

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}