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

# task • Rust AI Agent SDK

> Task module for PraisonAI Rust SDK.

# task

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

Task module for PraisonAI Rust SDK.

A Task is a unit of work that can be executed by an Agent.
Tasks support dependencies, callbacks, guardrails, and various output formats.

# Usage

```rust,ignore theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
use praisonai::{Task, Agent};

let task = Task::new("Research AI trends")
.expected_output("A summary of current AI trends")
.build();

let agent = Agent::new()
.instructions("You are a researcher")
.build()?;

let result = task.execute(&agent).await?;
```

## Import

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
use praisonai::task::*;
```

## Classes

<CardGroup cols={2}>
  <Card title="TaskOutput" icon="brackets-curly" href="../classes/TaskOutput">
    Task output containing the result of task execution
  </Card>

  <Card title="TaskConfig" icon="brackets-curly" href="../classes/TaskConfig">
    Task configuration
  </Card>

  <Card title="Task" icon="brackets-curly" href="../classes/Task">
    A unit of work that can be executed by an Agent
  </Card>

  <Card title="TaskBuilder" icon="brackets-curly" href="../classes/TaskBuilder">
    Builder for Task
  </Card>

  <Card title="TaskStatus" icon="brackets-curly" href="../classes/TaskStatus">
    Task status
  </Card>

  <Card title="TaskType" icon="brackets-curly" href="../classes/TaskType">
    Task type
  </Card>

  <Card title="OnError" icon="brackets-curly" href="../classes/OnError">
    Error handling behavior
  </Card>
</CardGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Rust Tasks" icon="list-check" href="/docs/rust/tasks" />

  <Card title="Rust Execution" icon="play" href="/docs/rust/execution" />
</CardGroup>
