ToolFn<Input, Output> typedef

ToolFn<Input, Output> = FutureOr<ToolResult<Output>> Function(Input input, ToolFnArg<Input> context)

A function that implements a tool.

Returns a ToolResult: .response(output) for a normal result (optionally with multipart parts) or .interrupt(data) to interrupt the generation loop. Both synchronous and asynchronous bodies are supported via FutureOr.

Implementation

typedef ToolFn<Input, Output> =
    FutureOr<ToolResult<Output>> Function(
      Input input,
      ToolFnArg<Input> context,
    );