Files
2026-01-16 01:51:36 +00:00

54 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# @ag-ui/encoder
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.
## Installation
```bash
npm install @ag-ui/encoder
pnpm add @ag-ui/encoder
yarn add @ag-ui/encoder
```
## Features
- 🎯 **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
## Quick example
```ts
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);
```
## Documentation
- Concepts & architecture: [`docs/concepts`](https://docs.ag-ui.com/concepts/architecture)
- Full API reference: [`docs/sdk/js/encoder`](https://docs.ag-ui.com/sdk/js/encoder)
## Contributing
Bug reports and pull requests are welcome! Please read our [contributing guide](https://docs.ag-ui.com/development/contributing) first.
## License
MIT © 2025 AG-UI Protocol Contributors