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

79 lines
2.2 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/client
Client SDK for connecting to **Agent-User Interaction (AG-UI) Protocol** servers.
`@ag-ui/client` provides agent implementations that handle the full lifecycle of AG-UI communication: connecting to servers, processing streaming events, managing state mutations, and providing reactive subscriber hooks.
## Installation
```bash
npm install @ag-ui/client
pnpm add @ag-ui/client
yarn add @ag-ui/client
```
## Features
- 🔗 **HTTP connectivity** `HttpAgent` for direct server connections with SSE/protobuf support
- 🏗️ **Custom agents** `AbstractAgent` base class for building your own transport layer
- 📡 **Event streaming** Full AG-UI event processing with validation and transformation
- 🔄 **State management** Automatic message/state tracking with reactive updates
- 🪝 **Subscriber system** Middleware-style hooks for logging, persistence, and custom logic
- 🎯 **Middleware support** Transform and filter events with function or class-based middleware
## Quick example
```ts
import { HttpAgent } from "@ag-ui/client";
const agent = new HttpAgent({
url: "https://api.example.com/agent",
headers: { Authorization: "Bearer token" },
});
const result = await agent.runAgent({
messages: [{ role: "user", content: "Hello!" }],
});
console.log(result.newMessages);
```
## Using Middleware
```ts
import { HttpAgent, FilterToolCallsMiddleware } from "@ag-ui/client";
const agent = new HttpAgent({
url: "https://api.example.com/agent",
});
// Add middleware to transform or filter events
agent.use(
// Function middleware for logging
(input, next) => {
console.log("Starting run:", input.runId);
return next.run(input);
},
// Class middleware for filtering tool calls
new FilterToolCallsMiddleware({
allowedToolCalls: ["search", "calculate"]
})
);
await agent.runAgent();
```
## Documentation
- Concepts & architecture: [`docs/concepts`](https://docs.ag-ui.com/concepts/architecture)
- Full API reference: [`docs/sdk/js/client`](https://docs.ag-ui.com/sdk/js/client/overview)
## 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