@ag-ui/encoder
TypeScript icon, indicating that this package has built-in type declarations

0.0.35 • Public • Published

@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

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

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

Contributing

Bug reports and pull requests are welcome! Please read our contributing guide first.

License

MIT © 2025 AG-UI Protocol Contributors

Readme

Keywords

none

Package Sidebar

Install

npm i @ag-ui/encoder

Weekly Downloads

46,487

Version

0.0.35

License

none

Unpacked Size

44.8 kB

Total Files

9

Last publish

Collaborators

  • _mme
  • copilotkit