# Agent Module API Documentation This document provides an overview of the public functions available in the Agent module, including `src/agent.c` and `include/agent.h`. These functions facilitate the creation, configuration, and management of agent instances. ## Function Signatures ### Creation and Destruction - `agent_handle agent_create(const char *goal, messages_handle messages);` - `void agent_destroy(agent_handle agent);` ### Configuration - `void agent_set_max_iterations(agent_handle agent, int max);` - `void agent_set_verbose(agent_handle agent, bool verbose);` - `void agent_set_is_subagent(agent_handle agent, bool is_subagent);` - `void agent_set_tool_registry(agent_handle agent, tool_registry_t *registry);` - `void agent_set_id(agent_handle agent, const char *id);` - `void agent_set_role(agent_handle agent, const char *role);` - `void agent_set_manager_id(agent_handle agent, const char *manager_id);` ### Retrieval - `agent_state_t agent_get_state(agent_handle agent);` - `int agent_get_iteration_count(agent_handle agent);` ### Miscellaneous - `void agent_set_max_iterations(agent_handle agent, int max);` - `void agent_set_verbose(agent_handle agent, bool verbose);` - `void agent_set_is_subagent(agent_handle agent, bool is_subagent);` - `void agent_set_tool_registry(agent_handle agent, tool_registry_t *registry);` - `void agent_set_id(agent_handle agent, const char *id);` - `void agent_set_role(agent_handle agent, const char *role);` - `void agent_set_manager_id(agent_handle agent, const char *manager_id);` This documentation is intended to assist developers in understanding and utilizing the Agent API effectively.