> ## 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.

# Todo Item • Rust AI Agent SDK

> TodoItem: A todo item.

# TodoItem

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

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

A todo item.

## Fields

| Name         | Type                                                | Description       |
| ------------ | --------------------------------------------------- | ----------------- |
| `id`         | `String`                                            | Item ID           |
| `content`    | `String`                                            | Item content      |
| `status`     | `StepStatus`                                        | Item status       |
| `priority`   | `TodoPriority`                                      | Priority          |
| `tags`       | `Vec&lt;String&gt;`                                 | Tags              |
| `due_date`   | `Option&lt;chrono::DateTime&lt;chrono::Utc&gt;&gt;` | Due date          |
| `created_at` | `chrono::DateTime&lt;chrono::Utc&gt;`               | Created timestamp |

## Methods

### `new`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn new(content: impl Into<String>) -> Self
```

Create a new todo item.

**Parameters:**

| Name      | Type                      |
| --------- | ------------------------- |
| `content` | `impl Into&lt;String&gt;` |

### `priority`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn priority(mut self, priority: TodoPriority) -> Self
```

Set priority.

**Parameters:**

| Name       | Type           |
| ---------- | -------------- |
| `priority` | `TodoPriority` |

### `tag`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn tag(mut self, tag: impl Into<String>) -> Self
```

Add a tag.

**Parameters:**

| Name  | Type                      |
| ----- | ------------------------- |
| `tag` | `impl Into&lt;String&gt;` |

### `due`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn due(mut self, date: chrono::DateTime<chrono::Utc>) -> Self
```

Set due date.

**Parameters:**

| Name   | Type                                  |
| ------ | ------------------------------------- |
| `date` | `chrono::DateTime&lt;chrono::Utc&gt;` |

### `complete`

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

Mark as completed.

### `is_overdue`

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

Check if overdue.

## Source

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