Skip to main content

Module event

Module event 

Source
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_* and STEP_*.
reasoning
Model reasoning: REASONING_*, plus the deprecated THINKING_* events they replaced.
special
Escape hatches: RAW and CUSTOM.
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§

BaseEvent
The fields every event may carry, flattened into the event’s own JSON object rather than nested under a key.

Enums§

Event
One event in an AG-UI stream.
EventType
The type discriminator of an Event, on its own.