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

# Conversation History • Rust AI Agent SDK

> ConversationHistory: Conversation history storage

# ConversationHistory

> Defined in the [**memory**](../modules/memory) module.

<Badge color="orange">Rust AI Agent SDK</Badge>

Conversation history storage

## Fields

| Name           | Type                      | Description |
| -------------- | ------------------------- | ----------- |
| `messages`     | `VecDeque&lt;Message&gt;` | -           |
| `max_messages` | `usize`                   | -           |

## Methods

### `new`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn new(max_messages: usize) -> Self
```

Create a new conversation history

**Parameters:**

| Name           | Type    |
| -------------- | ------- |
| `max_messages` | `usize` |

### `add`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn add(&mut self, message: Message) -> ()
```

Add a message to the history

**Parameters:**

| Name      | Type      |
| --------- | --------- |
| `message` | `Message` |

### `messages`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn messages(&self) -> Vec<Message>
```

Get all messages

### `clear`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn clear(&mut self) -> ()
```

Clear the history

### `len`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn len(&self) -> usize
```

Get the number of messages

### `is_empty`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn is_empty(&self) -> bool
```

Check if empty

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-rust/praisonai/src/memory/mod.rs#L16">
  `praisonai/src/memory/mod.rs` at line 16
</Card>
