ForestHub SDK 0.1.0
C++14 LLM SDK for PC and embedded platforms
Loading...
Searching...
No Matches
tools.hpp File Reference

Tool system: ExternalTool, FunctionTool, WebSearch, and tool call types. More...

#include <cstdint>
#include <functional>
#include <memory>
#include <string>
#include <utility>
#include "foresthub/core/input.hpp"
#include "foresthub/util/json.hpp"
#include "foresthub/util/schema.hpp"

Go to the source code of this file.

Classes

class  foresthub::core::Tool
 Base interface for all tools. More...
class  foresthub::core::InternalToolCall
 Represents a tool call initiated internally by the model. More...
class  foresthub::core::ToolCallRequest
 Request from the model to call a tool. More...
class  foresthub::core::ToolResult
 Output of an executed tool. More...
class  foresthub::core::ExternalTool
 Tool with description and parameter schema, handled outside the LLM provider. More...
class  foresthub::core::ExternalToolBase
 Base implementation of ExternalTool with name, description, and parameters. More...
class  foresthub::core::FunctionTool
 ExternalTool with a C++ callback for execution. More...
class  foresthub::core::WebSearch
 Built-in web search tool. More...
class  foresthub::core::WebSearchToolCall
 Log entry for a web search invocation. More...

Namespaces

namespace  foresthub
 Top-level namespace for the ForestHub SDK.
namespace  foresthub::core
 Core abstractions: requests, responses, tools, input types, and provider interface.

Enumerations

enum class  foresthub::core::ToolType : uint8_t { foresthub::core::kFunction , foresthub::core::kWebSearch , foresthub::core::kHandoff }
 Type discriminator for Tool subclasses. More...

Functions

template<typename T, typename R>
std::shared_ptr< FunctionToolforesthub::core::NewFunctionTool (std::string name, std::string description, const json &schema, const std::function< R(T)> &handler)
 Create a FunctionTool with type-safe argument parsing.

Detailed Description

Tool system: ExternalTool, FunctionTool, WebSearch, and tool call types.