38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
"""ProcessResult - Result of processing an SSE line."""
|
|
|
|
|
|
class ProcessResult:
|
|
"""Result of processing an SSE line.
|
|
|
|
Attributes:
|
|
events: List of SSE event strings to yield
|
|
has_error: Whether an error occurred
|
|
error_content: Error message if any
|
|
has_content: Whether content was received
|
|
has_tool_calls: Whether tool calls were received
|
|
"""
|
|
|
|
def __init__(self):
|
|
self.events: list = []
|
|
self.has_error: bool = False
|
|
self.error_content: str = ""
|
|
self.has_content: bool = False
|
|
self.has_tool_calls: bool = False
|
|
|
|
def add_event(self, event: str):
|
|
"""Add an event to the result."""
|
|
self.events.append(event)
|
|
|
|
def set_error(self, content: str):
|
|
"""Set error state."""
|
|
self.has_error = True
|
|
self.error_content = content
|
|
|
|
def set_content(self):
|
|
"""Mark that content was received."""
|
|
self.has_content = True
|
|
|
|
def set_tool_calls(self):
|
|
"""Mark that tool calls were received."""
|
|
self.has_tool_calls = True
|