> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ag-ui.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Core concepts in the Agent User Interaction Protocol SDK

# ag-ui-core

The Agent User Interaction Protocol SDK uses a streaming event-based
architecture with strongly typed data structures. This package provides the
foundation for connecting to agent systems.

```xml theme={null}
<dependency>
  <groupId>com.ag-ui</groupId>
  <artifactId>core</artifactId>
  <version>0.0.1</version>
</dependency>
```

## Types

Core data structures that represent the building blocks of the system:

* RunAgentInput — Input parameters for running agents
* Message — User/assistant communication and tool usage
* Context — Contextual information provided to agents
* Tool — Defines functions that agents can call
* State — Agent state management

<Card title="Types Reference" icon="cube" href="/sdk/java/core/types" color="#3B82F6" iconType="solid">
  Complete documentation of core types in the Java SDK
</Card>

## Events

Events that power communication between agents and frontends:

* Lifecycle Events — Run and step tracking
* Text Message Events — Assistant message streaming
* Tool Call Events — Function call lifecycle
* State Management Events — Agent state updates
* Special Events — Raw and custom events

<Card title="Events Reference" icon="cube" href="/sdk/java/core/events" color="#3B82F6" iconType="solid">
  Complete documentation of all events in the Java SDK
</Card>
