---
title: "Overview"
description: "Client package overview for the Rust SDK"
---

# `ag-ui-client`

The Agent User Interaction Protocol Client SDK provides agent connectivity
options for AI systems. This package builds on the core types and events to
deliver flexible connection methods to agent implementations.

```bash
cargo add ag-ui-client
```

## Agent Trait

`Agent` is the trait to implement for custom agent
connectivity. Implementing `run()` lets you bridge your
own service or agent implementation to AG-UI.

- [Configuration](/sdk/rust/client/agent-trait#configuration) - Setup with
  agent ID, messages, and state
- [Core Methods](/sdk/rust/client/agent-trait#core-methods) - Run, abort, and
  clone functionality
- [Protected Methods](/sdk/rust/client/agent-trait#protected-methods) -
  Extensible hooks for custom implementations
- [Properties](/sdk/rust/client/agent-trait#properties) - State and message
  tracking

<Card
  title="Agent Trait Reference"
  icon="cube"
  href="/sdk/rust/client/agent-trait"
  color="#3B82F6"
  iconType="solid"
>
  Trait for creating custom agent connections
</Card>

## HttpAgent

Agent implementation for HTTP-based agent connectivity:

- [Configuration](/sdk/rust/client/http-agent#configuration) - URL and header
  setup
- [Methods](/sdk/rust/client/http-agent#methods) - HTTP-specific execution and
  cancellation
- [Protected Methods](/sdk/rust/client/http-agent#protected-methods) -
  Customizable HTTP request handling
- [Properties](/sdk/rust/client/http-agent#properties) - Connection management

<Card
  title="HttpAgent Reference"
  icon="cube"
  href="/sdk/rust/client/http-agent"
  color="#3B82F6"
  iconType="solid"
>
  Ready-to-use HTTP implementation for agent connectivity, using a highly
  efficient event encoding format
</Card>

## AgentSubscriber

Event-driven subscriber system for handling agent lifecycle events and state
mutations during agent execution:

- [Event Handlers](/sdk/rust/client/subscriber#event-handlers) - Lifecycle,
  message, tool call, and state events
- [State Management](/sdk/rust/client/subscriber#state-management) - Mutation
  control and propagation handling
- [Usage Examples](/sdk/rust/client/subscriber#usage-examples) - Logging,
  persistence, and error handling patterns
- [Integration](/sdk/rust/client/subscriber#integration-with-agents) - Registering
  and using subscribers with agents

<Card
  title="AgentSubscriber Reference"
  icon="bolt"
  href="/sdk/rust/client/subscriber"
  color="#3B82F6"
  iconType="solid"
>
  Comprehensive event system for reactive agent interaction and middleware-style
  functionality
</Card>
