AguiEvent

@Serializable
sealed interface AguiEvent

One event from the AG-UI protocol stream. Discriminated by type at the top level, matching the wire format from docs.ag-ui.com.

This is a curated subset — 16 events covering Lifecycle, Text, Tool, State, and Special categories. Reasoning events and *_CHUNK convenience duplicates are not modeled yet; implementations that encounter them will drop to Raw via the ignoreUnknownKeys flag.

Inheritors

Types

Link copied to clipboard
@Serializable
@SerialName(value = "CUSTOM")
data class Custom(val name: String, val value: JsonElement, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "MESSAGES_SNAPSHOT")
data class MessagesSnapshot(val messages: JsonArray, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "RAW")
data class Raw(val event: JsonElement, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "RUN_ERROR")
data class RunError(val message: String, val code: String? = null, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "RUN_FINISHED")
data class RunFinished(val threadId: String, val runId: String, val outcome: String? = null, val interrupts: List<Interrupt> = emptyList(), val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "RUN_STARTED")
data class RunStarted(val threadId: String, val runId: String, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "STATE_DELTA")
data class StateDelta(val delta: JsonArray, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "STATE_SNAPSHOT")
data class StateSnapshot(val snapshot: JsonElement, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "STEP_FINISHED")
data class StepFinished(val stepName: String, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "STEP_STARTED")
data class StepStarted(val stepName: String, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "TEXT_MESSAGE_CONTENT")
data class TextMessageContent(val messageId: String, val delta: String, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "TEXT_MESSAGE_END")
data class TextMessageEnd(val messageId: String, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "TEXT_MESSAGE_START")
data class TextMessageStart(val messageId: String, val role: String = "assistant", val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "TOOL_CALL_ARGS")
data class ToolCallArgs(val toolCallId: String, val delta: String, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "TOOL_CALL_END")
data class ToolCallEnd(val toolCallId: String, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "TOOL_CALL_RESULT")
data class ToolCallResult(val toolCallId: String, val messageId: String? = null, val content: String, val timestamp: Long? = null) : AguiEvent
Link copied to clipboard
@Serializable
@SerialName(value = "TOOL_CALL_START")
data class ToolCallStart(val toolCallId: String, val toolCallName: String, val parentMessageId: String? = null, val timestamp: Long? = null) : AguiEvent

Properties

Link copied to clipboard
abstract val timestamp: Long?