ferrin-tool
Tool definitions for Ferrin: Tool, ToolKind, ToolSet, the execution
contract (ToolExecute, ToolOutput, ToolContext, ToolError), approval
declarations (NeedsApproval), model-output normalisation, caller
restrictions, tool fingerprints and (feature sandbox) the Sandbox trait
with a local-process implementation.
Part of the Ferrin workspace. Design:
docs/01-architecture/06-tool-system.md, ADR 0012.
Example
use Tool;
use ToolSet;
use ToolError;
Tool call parsing, approval resolution, scheduling and repair live in
ferrin-core; this crate describes tools and runs single executions.
Features
| Feature | Default | Effect |
|---|---|---|
sandbox |
off | Sandbox/SandboxProcess traits, LocalProcessSandbox, ToolContext::sandbox |
License
Apache-2.0. See LICENSE and NOTICE. Portions of this crate are derived from the Vercel AI SDK (Apache-2.0); the crate and module documentation carry the attribution.