ACP v2 TypeScript SDK — EXPERIMENTAL DRAFT - v2.0.0
    Preparing search index...

    Type Alias ToolCallUpdateExperimental

    Represents an upsert for a tool call that the language model has requested.

    Tool calls are actions that the agent executes on behalf of the language model, such as reading files, executing code, or fetching data from external sources.

    Only [ToolCallUpdate::tool_call_id] is required. Other fields have patch semantics: omitted fields leave the existing tool call value unchanged, null clears or unsets the value, and concrete values replace the previous value. For collection fields, concrete arrays replace the previous collection, and both null and [] clear the collection. A concrete _meta object instead patches the stored metadata by top-level key. When a client receives a tool call ID it has not seen before, omitted fields use client defaults.

    See protocol docs: Tool Calls

    type ToolCallUpdate = {
        toolCallId: ToolCallId;
        name?: string | null;
        title?: string | null;
        kind?: ToolKind | null;
        status?: ToolCallStatus | null;
        content?: ToolCallContent[] | null;
        locations?: ToolCallLocation[] | null;
        rawInput?: unknown;
        rawOutput?: unknown;
        _meta?: { [key: string]: unknown } | null;
    }
    Index
    toolCallId: ToolCallId

    Unique identifier for this tool call within the session.

    name?: string | null

    Programmatic name of the tool being invoked.

    This field is optional and has patch semantics. Omission means no change, null clears the name, and a string replaces it. For a tool call ID the client has not seen before, omission or null means that no tool name is available.

    title?: string | null

    Human-readable title describing what the tool is doing.

    kind?: ToolKind | null

    The category of tool being invoked. Helps clients choose appropriate icons and UI treatment.

    status?: ToolCallStatus | null

    Current execution status of the tool call.

    content?: ToolCallContent[] | null

    Content produced by the tool call.

    locations?: ToolCallLocation[] | null

    File locations affected by this tool call. Enables "follow-along" features in clients.

    rawInput?: unknown

    Raw input parameters sent to the tool.

    rawOutput?: unknown

    Raw output returned by the tool.

    _meta?: { [key: string]: unknown } | null

    The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Omitted leaves the stored metadata unchanged; null clears it. An object patches the stored metadata by top-level key: keys it omits are unchanged, a key set to null is removed, and any other value replaces that key's stored value without merging nested objects. Beyond this patch rule, implementations MUST NOT make assumptions about values at these keys.

    See protocol docs: Metadata Patches