Expand description
The AG-UI event stream.
An agent run is a sequence of these events. Event is the closed union of
all of them, tagged on the wire by a type field holding a
SCREAMING_SNAKE_CASE name:
let event = Event::text_message_content("msg-1", "Hello");
assert_eq!(event.event_type(), EventType::TextMessageContent);
assert_eq!(
serde_json::to_string(&event).unwrap(),
r#"{"type":"TEXT_MESSAGE_CONTENT","messageId":"msg-1","delta":"Hello"}"#
);Every event also carries the optional BaseEvent fields — a timestamp,
the provider event it was translated from, and metadata
— flattened into the same JSON object. Most events additionally accept an
optional subagentRunId saying which subagent produced them; see
subagent.
Re-exports§
pub use activity::ActivityDeltaEvent;pub use activity::ActivitySnapshotEvent;pub use lifecycle::RunErrorEvent;pub use lifecycle::RunFinishedEvent;pub use lifecycle::RunStartedEvent;pub use lifecycle::StepFinishedEvent;pub use lifecycle::StepStartedEvent;pub use reasoning::ReasoningEncryptedValueEvent;pub use reasoning::ReasoningEncryptedValueSubtype;pub use reasoning::ReasoningEndEvent;pub use reasoning::ReasoningMessageChunkEvent;pub use reasoning::ReasoningMessageContentEvent;pub use reasoning::ReasoningMessageEndEvent;pub use reasoning::ReasoningMessageStartEvent;pub use reasoning::ReasoningRole;pub use reasoning::ReasoningStartEvent;pub use reasoning::ThinkingEndEvent;pub use reasoning::ThinkingStartEvent;pub use reasoning::ThinkingTextMessageContentEvent;pub use reasoning::ThinkingTextMessageEndEvent;pub use reasoning::ThinkingTextMessageStartEvent;pub use special::CustomEvent;pub use special::RawEvent;pub use state::MessagesSnapshotEvent;pub use state::StateDeltaEvent;pub use state::StateSnapshotEvent;pub use subagent::SubagentErrorEvent;pub use subagent::SubagentFinishedEvent;pub use subagent::SubagentOutcome;pub use subagent::SubagentStartedEvent;pub use text::TextMessageChunkEvent;pub use text::TextMessageContentEvent;pub use text::TextMessageEndEvent;pub use text::TextMessageRole;pub use text::TextMessageStartEvent;pub use tool::ToolCallArgsEvent;pub use tool::ToolCallChunkEvent;pub use tool::ToolCallEndEvent;pub use tool::ToolCallResultEvent;pub use tool::ToolCallStartEvent;pub use tool::ToolResultRole;
Modules§
- activity
- Structured progress updates:
ACTIVITY_SNAPSHOT,ACTIVITY_DELTA. - factories
- Ergonomic constructors for every event type.
- lifecycle
- Run and step lifecycle:
RUN_*andSTEP_*. - reasoning
- Model reasoning:
REASONING_*, plus the deprecatedTHINKING_*events they replaced. - special
- Escape hatches:
RAWandCUSTOM. - state
- Shared state and message-history snapshots:
STATE_SNAPSHOT,STATE_DELTA,MESSAGES_SNAPSHOT. - subagent
- Subagent lifecycle:
SUBAGENT_STARTED,SUBAGENT_FINISHED,SUBAGENT_ERROR. - text
- Streaming assistant text:
TEXT_MESSAGE_*. - tool
- Tool invocation:
TOOL_CALL_*.
Structs§
- Base
Event - The fields every event may carry, flattened into the event’s own JSON object rather than nested under a key.