正在构建中的内容块的状态。 因为 content_block_delta 是一小段一小段来的, 我们需要把它们累积起来。 就像拼图:每个 delta 是一块拼图碎片, content_block_stop 时拼图就完成了。
| 394 | |
| 395 | @dataclass |
| 396 | class ContentBlockState: |
| 397 | """ |
| 398 | 正在构建中的内容块的状态。 |
| 399 | |
| 400 | 因为 content_block_delta 是一小段一小段来的, |
| 401 | 我们需要把它们累积起来。 |
| 402 | |
| 403 | 就像拼图:每个 delta 是一块拼图碎片, |
| 404 | content_block_stop 时拼图就完成了。 |
| 405 | """ |
| 406 | index: int |
| 407 | block_type: str # "text" or "tool_use" |
| 408 | text: str = "" # 累积的文本 |
| 409 | tool_id: str = "" |
| 410 | tool_name: str = "" |
| 411 | partial_json: str = "" # 累积的工具调用 JSON |
| 412 | |
| 413 | |
| 414 | def process_stream_events(stream_events: list[StreamEvent]) -> list[AssistantEvent]: |
no outgoing calls
no test coverage detected