Interface DynamicStructuredToolInput<SchemaT, SchemaOutputT>

Interface for the input parameters of the DynamicStructuredTool class.

interface DynamicStructuredToolInput<SchemaT, SchemaOutputT> {
    callbacks?: Callbacks;
    description: string;
    func: ((input: SchemaOutputT, runManager?: CallbackManagerForToolRun, config?: RunnableConfig<Record<string, any>>) => Promise<any>);
    metadata?: Record<string, unknown>;
    name: string;
    responseFormat?: string;
    returnDirect?: boolean;
    schema: SchemaT extends ZodObjectAny
        ? SchemaT<SchemaT>
        : SchemaT;
    tags?: string[];
    verbose?: boolean;
    verboseParsingErrors?: boolean;
}

Type Parameters

  • SchemaT extends ToolInputSchemaBase = ZodObjectAny

    The type of the tool input schema. Usually you don't need to specify this.

  • SchemaOutputT = ToolInputSchemaOutputType<SchemaT>

    The TypeScript type representing the result of applying the schema to the tool arguments. Useful for type checking tool handler functions when using JSONSchema.

Hierarchy (view full)

Properties

callbacks?: Callbacks
description: string
func: ((input: SchemaOutputT, runManager?: CallbackManagerForToolRun, config?: RunnableConfig<Record<string, any>>) => Promise<any>)

Tool handler function - the function that will be called when the tool is invoked.

Type declaration

    • (input, runManager?, config?): Promise<any>
    • Parameters

      • input: SchemaOutputT

        The input to the tool.

      • OptionalrunManager: CallbackManagerForToolRun

        The run manager for the tool.

      • Optionalconfig: RunnableConfig<Record<string, any>>

        The configuration for the tool.

      Returns Promise<any>

      The result of the tool.

metadata?: Record<string, unknown>
name: string
responseFormat?: string

The tool response format.

If "content" then the output of the tool is interpreted as the contents of a ToolMessage. If "content_and_artifact" then the output is expected to be a two-tuple corresponding to the (content, artifact) of a ToolMessage.

"content"
returnDirect?: boolean

Whether to return the tool's output directly.

Setting this to true means that after the tool is called, an agent should stop looping.

schema: SchemaT extends ZodObjectAny
    ? SchemaT<SchemaT>
    : SchemaT
tags?: string[]
verbose?: boolean
verboseParsingErrors?: boolean

Whether to show full details in the thrown parsing errors.

false