Skip to main content

Module tool_search

Module tool_search 

Source
Expand description

ToolSearchTool — lets the model discover deferred tools on demand.

When tool search is enabled, deferred tools are not sent with full schemas in the initial API request. Instead their names appear in an <available-deferred-tools> block. The model calls ToolSearchTool to retrieve the full JSON schema for one or more deferred tools; the result is a <functions> block identical in encoding to the tool list at the top of the prompt. Once a tool’s schema has been returned it is callable exactly like any eagerly-loaded tool.

The tool is always eager (not deferred itself) and is only registered when at least one deferred tool exists in the registry.

Structs§

ToolSearchTool
ToolSearchTool resolves keyword queries or select:<name> selectors against the deferred tool catalog and returns full JSON schemas.

Constants§

TOOL_SEARCH_TOOL_NAME

Functions§

resolve
Resolve a query against the catalog, returning matching ToolSpecs.

Type Aliases§

DeferredCatalog
The deferred tool catalog shared between the registry and the tool. Updated by ToolRegistry::freeze_deferred_specs() after all tools are registered.