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