Skip to content

defineTool

function defineTool<TInput, TOutput>(tool): Tool<TInput, TOutput>;

Defined in: shared/src/tool/tool.ts:75

Define a tool, wrapping execute so input is validated against the input schema before running and the return value against the output schema after. The schemas in the interface become load-bearing wherever the tool runs — in a sandbox, an agent, or (rebuilt from JSON Schema) a client — not only behind the server’s request validator. Throws ToolInputValidationError or ToolOutputValidationError on a schema mismatch.

Type Parameter
TInput extends ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>
TOutput extends ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>
Parameter Type
tool Tool<TInput, TOutput>

Tool<TInput, TOutput>