Member Junction
    Preparing search index...

    Interface ChatToolCall

    One tool call the model asked for, normalized across providers.

    interface ChatToolCall {
        arguments: Record<string, unknown>;
        id: string;
        name: string;
        providerMetadata?: Record<string, unknown>;
    }
    Index

    Properties

    arguments: Record<string, unknown>

    The call arguments, already PARSED. Providers that transmit arguments as a JSON string (OpenAI) parse them in the driver, so consumers never see a string here.

    id: string

    The provider's call id, echoed back on the matching tool_result block so the provider can pair result to call. Drivers synthesize a stable id for providers that do not supply one (Gemini names calls rather than identifying them).

    name: string

    The tool name the model called — matches a ChatTool.name that was declared.

    providerMetadata?: Record<string, unknown>

    Opaque provider data that must travel with the call when it is replayed into history. Gemini 3 attaches a thoughtSignature to each function-call part and rejects a replayed call that lacks it (HTTP 400); the driver stores it here on the way in and sends it back on the way out. Other providers leave this undefined. Never read by the loop.