Spaces:
Running
Running
from __future__ import annotations | |
from dataclasses import dataclass | |
from typing import Any, Literal, Union | |
from typing_extensions import TypeAlias | |
from .agent import Agent | |
from .items import RunItem, TResponseStreamEvent | |
class RawResponsesStreamEvent: | |
"""Streaming event from the LLM. These are 'raw' events, i.e. they are directly passed through | |
from the LLM. | |
""" | |
data: TResponseStreamEvent | |
"""The raw responses streaming event from the LLM.""" | |
type: Literal["raw_response_event"] = "raw_response_event" | |
"""The type of the event.""" | |
class RunItemStreamEvent: | |
"""Streaming events that wrap a `RunItem`. As the agent processes the LLM response, it will | |
generate these events for new messages, tool calls, tool outputs, handoffs, etc. | |
""" | |
name: Literal[ | |
"message_output_created", | |
"handoff_requested", | |
# This is misspelled, but we can't change it because that would be a breaking change | |
"handoff_occured", | |
"tool_called", | |
"tool_output", | |
"reasoning_item_created", | |
"mcp_approval_requested", | |
"mcp_list_tools", | |
] | |
"""The name of the event.""" | |
item: RunItem | |
"""The item that was created.""" | |
type: Literal["run_item_stream_event"] = "run_item_stream_event" | |
class AgentUpdatedStreamEvent: | |
"""Event that notifies that there is a new agent running.""" | |
new_agent: Agent[Any] | |
"""The new agent.""" | |
type: Literal["agent_updated_stream_event"] = "agent_updated_stream_event" | |
StreamEvent: TypeAlias = Union[RawResponsesStreamEvent, RunItemStreamEvent, AgentUpdatedStreamEvent] | |
"""A streaming event from an agent.""" | |