2026-01-29 08:06:31 +01:00
# Agent Module API Documentation
This document provides an overview of the public functions available in the Agent module, which facilitates creating, configuring, and running AI agents.
## Functions
### `agent_create`
- **Description:** Creates a new agent instance with a specified goal and optional message history.
- **Signature:** `agent_handle agent_create(const char *goal, messages_handle messages)`
### `agent_destroy`
- **Description:** Destroys an agent instance, freeing associated resources.
- **Signature:** `void agent_destroy(agent_handle agent)`
### `agent_set_max_iterations`
- **Description:** Sets the maximum number of iterations the agent will perform.
- **Signature:** `void agent_set_max_iterations(agent_handle agent, int max)`
### `agent_set_verbose`
- **Description:** Enables or disables verbose output for debugging.
- **Signature:** `void agent_set_verbose(agent_handle agent, bool verbose)`
### `agent_set_is_subagent`
- **Description:** Marks the agent as a sub-agent, affecting its logging and behavior.
- **Signature:** `void agent_set_is_subagent(agent_handle agent, bool is_subagent)`
### `agent_set_tool_registry`
- **Description:** Sets the tool registry for the agent, allowing it to use external tools.
- **Signature:** `void agent_set_tool_registry(agent_handle agent, tool_registry_t *registry)`
### `agent_get_state`
- **Description:** Retrieves the current state of the agent.
- **Signature:** `agent_state_t agent_get_state(agent_handle agent)`
### `agent_get_error`
- **Description:** Gets the last error message from the agent.
- **Signature:** `const char *agent_get_error(agent_handle agent)`
### `agent_get_iteration_count`
- **Description:** Returns the number of iterations the agent has performed.
- **Signature:** `int agent_get_iteration_count(agent_handle agent)`
### `agent_run`
- **Description:** Runs the agent with a user message, returning the generated response.
- **Signature:** `char *agent_run(agent_handle agent, const char *user_message)`
### `agent_chat`
- **Description:** Convenience function to create an agent, run it, and destroy it.
- **Signature:** `char *agent_chat(const char *user_message, messages_handle messages)`
### `agent_chat_with_limit`
- **Description:** Runs the agent with a maximum iteration limit.
- **Signature:** `char *agent_chat_with_limit(const char *user_message, int max_iterations, messages_handle messages)`
---
This API provides the core functions needed to manage AI agents within your application, including creation, configuration, execution, and cleanup.