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

# main • AI Agent SDK

> Module reference for main

# main

<Badge color="blue">AI Agent</Badge>

## Import

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import main
```

## Classes

<CardGroup cols={2}>
  <Card title="ReflectionOutput" icon="brackets-curly" href="../classes/ReflectionOutput">
    Class definition.
  </Card>

  <Card title="TaskOutput" icon="brackets-curly" href="../classes/TaskOutput">
    Class definition.
  </Card>
</CardGroup>

## Functions

<CardGroup cols={2}>
  <Card title="register_display_callback()" icon="function" href="../functions/register_display_callback">
    Register a synchronous or asynchronous callback function for a specific display type.
  </Card>

  <Card title="register_approval_callback()" icon="function" href="../functions/register_approval_callback">
    Register a global approval callback function for dangerous tool operations.
  </Card>

  <Card title="execute_sync_callback()" icon="function" href="../functions/execute_sync_callback">
    Execute synchronous callback for a given display type without displaying anything.
  </Card>

  <Card title="execute_callback()" icon="function" href="../functions/execute_callback">
    Execute both sync and async callbacks for a given display type.
  </Card>

  <Card title="display_interaction()" icon="function" href="../functions/display_interaction">
    Synchronous version of display\_interaction.
  </Card>

  <Card title="display_self_reflection()" icon="function" href="../functions/display_self_reflection">
    Function definition.
  </Card>

  <Card title="display_instruction()" icon="function" href="../functions/display_instruction">
    Function definition.
  </Card>

  <Card title="display_tool_call()" icon="function" href="../functions/display_tool_call">
    Display tool call information in PraisonAI's unique timeline format.
  </Card>

  <Card title="display_error()" icon="function" href="../functions/display_error">
    Function definition.
  </Card>

  <Card title="display_generating()" icon="function" href="../functions/display_generating">
    Function definition.
  </Card>

  <Card title="display_reasoning_steps()" icon="function" href="../functions/display_reasoning_steps">
    Display reasoning steps with unique numbered circles.
  </Card>

  <Card title="display_working_status()" icon="function" href="../functions/display_working_status">
    Display animated working status with pulsing dots.
  </Card>

  <Card title="adisplay_interaction()" icon="function" href="../functions/adisplay_interaction">
    Async version of display\_interaction.
  </Card>

  <Card title="adisplay_self_reflection()" icon="function" href="../functions/adisplay_self_reflection">
    Async version of display\_self\_reflection.
  </Card>

  <Card title="adisplay_instruction()" icon="function" href="../functions/adisplay_instruction">
    Async version of display\_instruction.
  </Card>

  <Card title="adisplay_tool_call()" icon="function" href="../functions/adisplay_tool_call">
    Async version of display\_tool\_call.
  </Card>

  <Card title="adisplay_error()" icon="function" href="../functions/adisplay_error">
    Async version of display\_error.
  </Card>

  <Card title="adisplay_generating()" icon="function" href="../functions/adisplay_generating">
    Async version of display\_generating.
  </Card>

  <Card title="clean_triple_backticks()" icon="function" href="../functions/clean_triple_backticks">
    Remove triple backticks and surrounding json fences from a string.
  </Card>
</CardGroup>

### Constants

| Name             | Value                                                                                                                                                                                                         |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PRAISON_COLORS` | `{'agent': '#86A789', 'agent_text': '#D2E3C8', 'task': '#FF9B9B', 'task_text': '#FFE5E5', 'working': '#FFB347', 'working_text': '#FFF3E0', 'response': '#4A90D9', 'response_text': '#E3F2FD', 'tool': '#9...` |
| `WORKING_FRAMES` | `['●○○', '○●○', '○○●', '○●○']`                                                                                                                                                                                |
| `WORKING_PHASES` | `['Analyzing query...', 'Processing context...', 'Generating response...', 'Finalizing output...']`                                                                                                           |
