Skip to main content
SSE streams provide live output. Durable events provide replay, resume, and recovery. WebSocket notifications tell clients when related state changed.

Live transport

Conversation streams return text/event-stream for AG-UI execution. Clients render text, tool calls, tool results, reasoning, and terminal state while the run is active.

Durable event log

The durable mirror converts stream chunks into persisted run events. Later reads can replay the event log or continue following a run. Veryfront uses the AG-UI events specification for streamed agent output.

SSE run stream

The durable run stream returns text/event-stream. It starts from the persisted event log. It accepts Last-Event-ID, emits heartbeats, and closes after a terminal run event.

AG-UI event reference

The public stream forwards these AG-UI event types.
EventFamilyPurpose
RUN_STARTEDLifecycleRun began
RUN_FINISHEDLifecycleRun completed successfully
RUN_ERRORLifecycleRun failed or was cancelled
TEXT_MESSAGE_STARTTextAssistant message began
TEXT_MESSAGE_CONTENTTextAssistant text delta
TEXT_MESSAGE_ENDTextAssistant message ended
TOOL_CALL_STARTToolTool call began
TOOL_CALL_ARGSToolTool argument delta
TOOL_CALL_CHUNKToolTool-call chunk from compatible runtimes
TOOL_CALL_ENDToolTool call arguments ended
TOOL_CALL_RESULTToolTool result or tool error
STATE_SNAPSHOTStateFull runtime state snapshot
STATE_DELTAStateIncremental runtime state update
MESSAGES_SNAPSHOTStateFull message snapshot
REASONING_MESSAGE_STARTReasoningPublic reasoning message began
REASONING_MESSAGE_CONTENTReasoningPublic reasoning message delta
REASONING_MESSAGE_ENDReasoningPublic reasoning message ended
CUSTOMCustomNamed Veryfront extension event

Custom event names

CUSTOM events use a constrained public name set.
NamePurpose
message-metadataMessage metadata attached to streamed output
source-urlURL citation or source reference
source-documentDocument citation or source reference
fileFile reference emitted by a run
tool-call-statusTool execution status update
stream-heartbeatRun stream heartbeat emitted during SSE follow

WebSocket notification events

WebSocket notifications are lightweight invalidation events. They do not carry AG-UI token deltas. Clients use project event notifications to refresh child-run and message data.
EventPurpose
message.createdConversation message created
message.updatedConversation message changed
message.status_changedMessage status changed
message.deletedConversation message deleted
agent_run.createdConversation-owned agent run created
agent_run.updatedConversation-owned agent run changed
participant.joinedParticipant joined a conversation
participant.leftParticipant left a conversation
conversation.updatedConversation metadata changed
typing.startParticipant started typing
typing.stopParticipant stopped typing