defineTool
function defineTool<TInput, TOutput>(tool): Tool<TInput, TOutput>;Defined in: 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 Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
TInput extends ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> |
TOutput extends ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
tool |
Tool<TInput, TOutput> |
Returns
Section titled “Returns”Tool<TInput, TOutput>