| title | Overview |
|---|---|
| description | Documentation for encoding Agent User Interaction Protocol events (Ruby SDK) |
The Agent User Interaction Protocol uses a streaming approach to send events
from agents to clients. The EventEncoder class provides the functionality to
encode events into a format that can be sent over HTTP.
AgUiProtocol::Encoder::EventEncoder
The EventEncoder class is responsible for encoding BaseEvent objects into
string representations that can be transmitted to clients.
require "ag_ui_protocol"
encoder = AgUiProtocol::EventEncoder.new
event = AgUiProtocol::Core::Events::TextMessageContentEvent.new(
message_id: "msg_123",
delta: "Hello, world!"
)
encoded = encoder.encode(event)The EventEncoder is typically used in HTTP handlers to convert event objects
into a stream of data. The current implementation encodes events as
Server-Sent Events (SSE), which can be consumed by clients using the
EventSource API.
Internally, the encoder converts events to JSON and formats them as Server-Sent Events with the following structure:
data: {json-serialized event}n\n
This format allows clients to receive a continuous stream of events and process them as they arrive.
Returns the content type of the encoder.
Returns: String: The content type of the encoder
Encodes an event into a string representation.
| Parameter | Type | Description |
|---|---|---|
event |
Object |
The event to encode |
Returns: String: A string representation of the event in SSE format.
Creates a new encoder instance.
| Parameter | Type | Description |
|---|---|---|
accept |
String (optional) |
Media type of the request |