Event encoding utilities for the Agent-User Interaction (AG-UI) Protocol.
@ag-ui/encoder
handles content negotiation and format encoding for AG-UI events. It automatically chooses between Server-Sent Events (JSON) and Protocol Buffers based on client Accept
headers, ensuring optimal transport efficiency.
npm install @ag-ui/encoder
pnpm add @ag-ui/encoder
yarn add @ag-ui/encoder
- 🎯 Content negotiation – Automatic format selection based on
Accept
headers - 📦 Dual encoding – SSE (JSON) and Protocol Buffer support
- ⚡ Efficient binary – Length-prefixed protobuf encoding for high-throughput scenarios
- 🔄 Seamless fallback – Graceful degradation to SSE when protobuf isn't supported
import { EventEncoder } from "@ag-ui/encoder";
import { EventType } from "@ag-ui/core";
const encoder = new EventEncoder({
accept: "application/vnd.ag-ui.event+proto, text/event-stream",
});
const event = {
type: EventType.TEXT_MESSAGE_CONTENT,
messageId: "msg_123",
delta: "Hello, world!",
};
// Returns protobuf-encoded binary data
const encoded = encoder.encodeBinary(event);
- Concepts & architecture:
docs/concepts
- Full API reference:
docs/sdk/js/encoder
Bug reports and pull requests are welcome! Please read our contributing guide first.
MIT © 2025 AG-UI Protocol Contributors