Expand description
§entelix-tools
Built-in entelix_core::tools::Tool impls. First-party code
touches zero std::fs / std::process (Invariant 9); shell- and
filesystem-class tools delegate execution through the
entelix_core::sandbox::Sandbox trait, whose concrete
implementations ship as 1.x companion crates.
§Surface
HttpFetchTool— HTTP fetch with mandatory host allowlist (SSRF defense), redirect cap, response-size cap, method allowlist, cancellation-aware. The allowlist is opt-in by construction: anHttpFetchTool::builder()without any allowed hosts produces a tool that refuses every URL.HostAllowlist— domain / wildcard / literal-IP rules with a fail-closed default policy.Calculator— arithmetic overf64(+ - * / parens). Recursive-descent parser; noevalor shell-out. Generated from a free async fn via thetoolmacro.SearchProvider(trait) +SearchTool— adapter for external search APIs (Brave / Tavily / Perplexity / …). Concrete providers are deferred to 1.1 (same trait-only policy as forEmbedder).
Coding-agent vertical tools (SandboxedShellTool,
SandboxedCodeTool, Sandboxed{Read,Write,ListDir}FileTool,
ShellPolicy, CodePolicy, SandboxSkill) live in the
entelix-tools-coding companion crate so this horizontal surface
stays free of coding-shape opinions.
Re-exports§
pub use calculator::Calculator;pub use calculator::CalculatorInput;pub use calculator::CalculatorOutput;pub use skills::ActivateSkillTool;pub use skills::InMemorySkill;pub use skills::InMemorySkillBuilder;pub use skills::ListSkillsTool;pub use skills::ReadSkillResourceTool;pub use skills::StaticResource;
Modules§
- calculator
Calculator— arithmetic overf64.- memory
- LLM-facing memory tools — let the model query, mutate, and prune the agent’s long-term memory by emitting tool calls.
- skills
- In-memory skill plus the three LLM-facing tools that drive progressive disclosure.
Structs§
- Host
Allowlist - Host allowlist. Fail-closed: empty allowlist rejects everything.
- Http
Fetch Tool - HTTP fetch
Toolfor agentic workflows. - Http
Fetch Tool Builder - Builder for
HttpFetchTool. - Schema
Tool Adapter - Adapter that exposes any
SchemaToolthrough the erasedTooltrait. - Search
Result - One search hit.
- Search
Tool Toolwrapper around aSearchProvider.- Ssrf
Safe DnsResolver reqwest::dns::Resolveimpl that vets every resolved IP againstis_ssrf_blockedbefore handing addresses back to the HTTP connector. See module docs for the threat model.
Enums§
Constants§
- DEFAULT_
FETCH_ TIMEOUT - Default per-call timeout.
- DEFAULT_
MAX_ REDIRECTS - Default cap on redirect chain length.
- DEFAULT_
MAX_ RESPONSE_ BYTES - Default cap on response body size (1 MiB).
- DEFAULT_
MAX_ RESULTS - Default cap on results returned per query.
Traits§
- Schema
Tool - Typed-I/O sibling of
Tool. Implementors getInput/Outputtyped against the model’s tool dispatch without giving up the erased trait the rest of the SDK speaks. - Schema
Tool Ext - Provided extension methods on every
SchemaTool. Lives in a separate trait so blanket-impls (e.g.Box<dyn SchemaTool>) don’t fight with the user-implementedSchemaTooltrait associated types. - Search
Provider - Adapter trait the
SearchTooldispatches to.
Functions§
- is_
ssrf_ blocked - Returns
truefor IPs the SDK refuses to connect to by default.
Type Aliases§
- Tool
Result - Result alias used inside
entelix-tools.
Attribute Macros§
- tool
#[tool]attribute macro — generates aSchemaToolimpl from anasync fnsignature. Doc-comment first paragraph becomes the tool description; the function name (snake_case) becomes the tool struct name (PascalCase). See theentelix-tool-derivecrate docs for the full contract. Generate anentelix_tools::SchemaToolimpl from an async fn. See the crate-level docs for the contract and an example.