ToolExecutor typedef

ToolExecutor = Future<ToolExecutionResult> Function(ToolCall toolCall, CancelToken? cancelToken, ToolUpdateCallback? onUpdate)

Executes a single tool call and returns its result.

Throw to signal failure — the loop converts the error into an error tool result (pi's "throw on failure instead of encoding errors in content"). cancelToken should abort in-flight work promptly; onUpdate streams partial results.

Implementation

typedef ToolExecutor =
    Future<ToolExecutionResult> Function(
      ToolCall toolCall,
      CancelToken? cancelToken,
      ToolUpdateCallback? onUpdate,
    );