hashbrown

ToolCall

API

export type ToolCall<ToolUnion extends  AnyTool > =
   Prettify <
    ToolUnion extends  Tool <
      infer Name,
      infer Args,
      infer Result
    >
      ?
          | {
              role: "tool";
              status: "done";
              name: Name;
              args: Args;
              result:  PromiseSettledResult <Result>;
              toolCallId: string;
            }
          | {
              role: "tool";
              status: "pending";
              name: Name;
              args: Args;
              toolCallId: string;
              progress?: number;
            }
      : never
  >;
ToolCall
@typeToolUnion
AnyTool