5#ifndef FORESTHUB_AGENT_AGENT_HPP
6#define FORESTHUB_AGENT_AGENT_HPP
58 std::shared_ptr<core::Tool>
AsTool(std::string tool_name, std::string description,
59 const std::shared_ptr<Runner>& runner);
62 const std::string&
name()
const {
return name_; }
70 const std::vector<std::shared_ptr<core::Tool>>&
tools()
const {
return tools_; }
74 std::string instructions_;
77 std::vector<std::shared_ptr<core::Tool>> tools_;
Agent & WithTools(std::vector< std::shared_ptr< core::Tool > > tools)
Replace all tools with the given list.
const core::Options & options() const
Definition agent.hpp:68
const std::string & name() const
Definition agent.hpp:62
Agent & WithResponseFormat(core::ResponseFormat format)
Set the structured output format.
const std::vector< std::shared_ptr< core::Tool > > & tools() const
Definition agent.hpp:70
Agent & WithInstructions(std::string instructions)
Set the system prompt for this agent.
Agent & AddTool(std::shared_ptr< core::Tool > tool)
Append a tool to the agent's tool list.
const foresthub::Optional< core::ResponseFormat > & response_format() const
Definition agent.hpp:66
Agent(std::string name)
Construct an agent with the given display name.
std::shared_ptr< core::ExternalTool > FindExternalTool(const std::string &name) const
Search for an ExternalTool by name within the agent's tools.
Agent & WithOptions(core::Options options)
Set generation parameters (temperature, max_tokens, etc.).
std::shared_ptr< core::Tool > AsTool(std::string tool_name, std::string description, const std::shared_ptr< Runner > &runner)
Convert this agent into a tool that other agents can invoke.
const std::string & instructions() const
Definition agent.hpp:64
Manages the agent execution loop: LLM calls, tool dispatch, and handoffs.
Definition runner.hpp:55
ChatRequest and ChatResponse types with fluent builder API.
Agent framework: multi-turn execution with tool calling and handoffs.
Top-level namespace for the ForestHub SDK.
Minimal Optional<T> polyfill for C++14 compatibility.
Model-specific generation options (temperature, max_tokens, etc.).
Minimal Optional<T> polyfill for C++14 compatibility.
Definition optional.hpp:21
Model-specific generation options.
Definition options.hpp:17