Function Signature,Description "agent_handle agent_create(const char *goal, messages_handle messages)","Creates a new agent with a specified goal and message handle." "void agent_destroy(agent_handle agent)","Destroys the specified agent and frees associated resources." "void agent_set_max_iterations(agent_handle agent, int max)","Sets the maximum number of iterations the agent will perform." "void agent_set_verbose(agent_handle agent, bool verbose)","Enables or disables verbose output for the agent." "void agent_set_is_subagent(agent_handle agent, bool is_subagent)","Marks the agent as a subagent, affecting its output verbosity." "void agent_set_tool_registry(agent_handle agent, tool_registry_t *registry)","Assigns a tool registry to the agent." "agent_state_t agent_get_state(agent_handle agent)","Returns the current state of the agent." "const char *agent_get_error(agent_handle agent)","Returns the last error message encountered by the agent." "int agent_get_iteration_count(agent_handle agent)","Returns the number of iterations performed by the agent." "char *agent_run(agent_handle agent, const char *user_message)","Runs the agent with a user message and returns the response." "char *agent_chat(const char *user_message, messages_handle messages)","Creates an agent, runs it with the user message, and returns the response." "char *agent_chat_with_limit(const char *user_message, int max_iterations, messages_handle messages)","Creates an agent, runs it with a limit on iterations, and returns the response."