Genkit JS API reference
    Preparing search index...

    Interface Agent<State>

    Represents a configured, registered Agent.

    An Agent exposes two surfaces:

    1. The ergonomic, transport-agnostic AgentAPI (chat, loadChat, getSnapshot, abort) - the same surface returned by remoteAgent on the client, so server- and client-side code share one interface.
    2. The lower-level BidiAction surface (run, streamBidi, …) for advanced use and for serving over HTTP.
    interface Agent<State = unknown> {
        abortAgentAction: Action<
            z.ZodObject<
                { snapshotId: z.ZodString },
                "strip",
                z.ZodTypeAny,
                { snapshotId: string },
                { snapshotId: string },
            >,
            z.ZodObject<
                {
                    snapshotId: z.ZodString;
                    status: z.ZodOptional<
                        z.ZodEnum<["pending", "completed", "aborted", "failed", "expired"]>,
                    >;
                },
                "strip",
                z.ZodTypeAny,
                {
                    snapshotId: string;
                    status?: "failed"
                    | "completed"
                    | "pending"
                    | "expired"
                    | "aborted";
                },
                {
                    snapshotId: string;
                    status?: "failed"
                    | "completed"
                    | "pending"
                    | "expired"
                    | "aborted";
                },
            >,
        >;
        getSnapshotDataAction: GetSnapshotDataAction<State>;
        abort(
            snapshotId: string,
            options?: SessionStoreOptions,
        ): Promise<
            "failed"
            | "completed"
            | "pending"
            | "expired"
            | "aborted"
            | undefined,
        >;
        chat(init?: AgentInit<State>): AgentChat<State>;
        getSnapshot(
            lookup: string | SnapshotLookup,
        ): Promise<SessionSnapshot<State> | undefined>;
        getSnapshotData(
            opts: GetSnapshotDataInput,
        ): Promise<SessionSnapshot<State> | undefined>;
        loadChat(opts: SnapshotLookup): Promise<AgentChat<State>>;
        run(
            input?: {
                detach?: boolean;
                message?: {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: string } & {
                                content?: (...)[];
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                };
                resume?: {
                    respond?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: string } & {
                            content?: (...)[];
                        };
                    }[];
                    restart?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }[];
                };
            },
            options?: BidiActionRunOptions<
                {
                    artifact?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    };
                    customPatch?: {
                        from?: string;
                        op: "replace"
                        | "add"
                        | "remove"
                        | "copy"
                        | "move"
                        | "test";
                        path: string;
                        value?: any;
                    }[];
                    modelChunk?: {
                        aggregated?: boolean;
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        custom?: unknown;
                        index?: number;
                        role?: "user"
                        | "model"
                        | "tool"
                        | "system";
                    };
                    turnEnd?: {
                        finishReason?: | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                        snapshotId?: string;
                    };
                },
                {
                    detach?: boolean;
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    resume?: {
                        respond?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }[];
                        restart?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }[];
                    };
                },
                {
                    sessionId?: string;
                    snapshotId?: string;
                    state?: {
                        artifacts?: {
                            metadata?: Record<string, any>;
                            name?: string;
                            parts: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        }[];
                        custom?: any;
                        messages?: {
                            content: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "model" | "tool" | "system";
                        }[];
                        sessionId?: string;
                    };
                },
            >,
        ): Promise<
            ActionResult<
                {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media: { contentType?: (...) | (...); url: string };
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: (...) | (...) | (...);
                                    ref?: (...) | (...);
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                    content?: ...;
                                };
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    }[];
                    error?: { details?: any; message: string; status?: string };
                    finishReason?:
                        | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    sessionId?: string;
                    snapshotId?: string;
                    state?: {
                        artifacts?: {
                            metadata?: Record<string, any>;
                            name?: string;
                            parts: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        }[];
                        custom?: any;
                        messages?: {
                            content: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "model" | "tool" | "system";
                        }[];
                        sessionId?: string;
                    };
                },
            >,
        >;
        stream(
            input?: {
                detach?: boolean;
                message?: {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: string } & {
                                content?: (...)[];
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                };
                resume?: {
                    respond?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: string } & {
                            content?: (...)[];
                        };
                    }[];
                    restart?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }[];
                };
            },
            opts?: BidiActionRunOptions<
                {
                    artifact?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    };
                    customPatch?: {
                        from?: string;
                        op: "replace"
                        | "add"
                        | "remove"
                        | "copy"
                        | "move"
                        | "test";
                        path: string;
                        value?: any;
                    }[];
                    modelChunk?: {
                        aggregated?: boolean;
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        custom?: unknown;
                        index?: number;
                        role?: "user"
                        | "model"
                        | "tool"
                        | "system";
                    };
                    turnEnd?: {
                        finishReason?: | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                        snapshotId?: string;
                    };
                },
                {
                    detach?: boolean;
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    resume?: {
                        respond?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }[];
                        restart?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }[];
                    };
                },
                {
                    sessionId?: string;
                    snapshotId?: string;
                    state?: {
                        artifacts?: {
                            metadata?: Record<string, any>;
                            name?: string;
                            parts: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        }[];
                        custom?: any;
                        messages?: {
                            content: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "model" | "tool" | "system";
                        }[];
                        sessionId?: string;
                    };
                },
            >,
        ): StreamingResponse<
            z.ZodObject<
                {
                    artifacts: z.ZodOptional<
                        z.ZodArray<
                            z.ZodObject<
                                {
                                    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    name: z.ZodOptional<z.ZodString>;
                                    parts: z.ZodArray<
                                        z.ZodUnion<
                                            [
                                                z.ZodObject<(...), (...), (...), (...), (...)>,
                                                z.ZodObject<(...), (...), (...), (...), (...)>,
                                                z.ZodObject<(...), (...), (...), (...), (...)>,
                                            ],
                                        >,
                                        "many",
                                    >;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    metadata?: Record<string, any>;
                                    name?: string;
                                    parts: (
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text: string;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media: { contentType?: ...; url: ... };
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse: (...) & (...);
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom: Record<(...), (...)>;
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning: string;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource: { uri: ... };
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                    )[];
                                },
                                {
                                    metadata?: Record<string, any>;
                                    name?: string;
                                    parts: (
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text: string;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media: { contentType?: ...; url: ... };
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse: (...) & (...);
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom: Record<(...), (...)>;
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning: string;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource: { uri: ... };
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                    )[];
                                },
                            >,
                            "many",
                        >,
                    >;
                    error: z.ZodOptional<
                        z.ZodObject<
                            {
                                details: z.ZodOptional<z.ZodAny>;
                                message: z.ZodString;
                                status: z.ZodOptional<z.ZodString>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            { details?: any; message: string; status?: string },
                            { details?: any; message: string; status?: string },
                        >,
                    >;
                    finishReason: z.ZodOptional<
                        z.ZodEnum<
                            [
                                "stop",
                                "length",
                                "blocked",
                                "interrupted",
                                "other",
                                "unknown",
                                "aborted",
                                "detached",
                                "failed",
                            ],
                        >,
                    >;
                    message: z.ZodOptional<
                        z.ZodObject<
                            {
                                content: z.ZodArray<
                                    z.ZodUnion<
                                        [
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                        ],
                                    >,
                                    "many",
                                >;
                                metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                                role: z.ZodEnum<["system", "user", "model", "tool"]>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                metadata?: Record<string, unknown>;
                                role: "user" | "model" | "tool" | "system";
                            },
                            {
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                metadata?: Record<string, unknown>;
                                role: "user" | "model" | "tool" | "system";
                            },
                        >,
                    >;
                    sessionId: z.ZodOptional<z.ZodString>;
                    snapshotId: z.ZodOptional<z.ZodString>;
                    state: z.ZodOptional<
                        z.ZodObject<
                            {
                                artifacts: z.ZodOptional<
                                    z.ZodArray<
                                        z.ZodObject<
                                            {
                                                metadata: z.ZodOptional<(...)>;
                                                name: z.ZodOptional<(...)>;
                                                parts: z.ZodArray<(...), (...)>;
                                            },
                                            "strip",
                                            z.ZodTypeAny,
                                            { metadata?: (...)
                                            | (...); name?: (...) | (...); parts: (...)[] },
                                            { metadata?: (...) | (...); name?: (...) | (...); parts: (...)[] },
                                        >,
                                        "many",
                                    >,
                                >;
                                custom: z.ZodOptional<z.ZodAny>;
                                messages: z.ZodOptional<
                                    z.ZodArray<
                                        z.ZodObject<
                                            {
                                                content: z.ZodArray<(...), (...)>;
                                                metadata: z.ZodOptional<(...)>;
                                                role: z.ZodEnum<(...)>;
                                            },
                                            "strip",
                                            z.ZodTypeAny,
                                            {
                                                content: (...)[];
                                                metadata?: (...) | (...);
                                                role: (...) | (...) | (...) | (...);
                                            },
                                            {
                                                content: (...)[];
                                                metadata?: (...) | (...);
                                                role: (...) | (...) | (...) | (...);
                                            },
                                        >,
                                        "many",
                                    >,
                                >;
                                sessionId: z.ZodOptional<z.ZodString>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                artifacts?: {
                                    metadata?: Record<(...), (...)>;
                                    name?: string;
                                    parts: (
                                        (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                    )[];
                                }[];
                                custom?: any;
                                messages?: {
                                    content: (
                                        (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                    )[];
                                    metadata?: Record<(...), (...)>;
                                    role: "user" | "model" | "tool" | "system";
                                }[];
                                sessionId?: string;
                            },
                            {
                                artifacts?: {
                                    metadata?: Record<(...), (...)>;
                                    name?: string;
                                    parts: (
                                        (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                    )[];
                                }[];
                                custom?: any;
                                messages?: {
                                    content: (
                                        (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                    )[];
                                    metadata?: Record<(...), (...)>;
                                    role: "user" | "model" | "tool" | "system";
                                }[];
                                sessionId?: string;
                            },
                        >,
                    >;
                },
                "strip",
                z.ZodTypeAny,
                {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media: { contentType?: (...) | (...); url: string };
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: (...) | (...) | (...);
                                    ref?: (...) | (...);
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                    content?: ...;
                                };
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    }[];
                    error?: { details?: any; message: string; status?: string };
                    finishReason?:
                        | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    sessionId?: string;
                    snapshotId?: string;
                    state?: {
                        artifacts?: {
                            metadata?: Record<string, any>;
                            name?: string;
                            parts: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        }[];
                        custom?: any;
                        messages?: {
                            content: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "model" | "tool" | "system";
                        }[];
                        sessionId?: string;
                    };
                },
                {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media: { contentType?: (...) | (...); url: string };
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: (...) | (...) | (...);
                                    ref?: (...) | (...);
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                    content?: ...;
                                };
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    }[];
                    error?: { details?: any; message: string; status?: string };
                    finishReason?:
                        | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    sessionId?: string;
                    snapshotId?: string;
                    state?: {
                        artifacts?: {
                            metadata?: Record<string, any>;
                            name?: string;
                            parts: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        }[];
                        custom?: any;
                        messages?: {
                            content: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "model" | "tool" | "system";
                        }[];
                        sessionId?: string;
                    };
                },
            >,
            z.ZodObject<
                {
                    artifact: z.ZodOptional<
                        z.ZodObject<
                            {
                                metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                name: z.ZodOptional<z.ZodString>;
                                parts: z.ZodArray<
                                    z.ZodUnion<
                                        [
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                        ],
                                    >,
                                    "many",
                                >;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                metadata?: Record<string, any>;
                                name?: string;
                                parts: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                            },
                            {
                                metadata?: Record<string, any>;
                                name?: string;
                                parts: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                            },
                        >,
                    >;
                    customPatch: z.ZodOptional<
                        z.ZodArray<
                            z.ZodObject<
                                {
                                    from: z.ZodOptional<z.ZodString>;
                                    op: z.ZodEnum<["add", "remove", "replace", "move", "copy", "test"]>;
                                    path: z.ZodString;
                                    value: z.ZodOptional<z.ZodAny>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    from?: string;
                                    op: "replace"
                                    | "add"
                                    | "remove"
                                    | "copy"
                                    | "move"
                                    | "test";
                                    path: string;
                                    value?: any;
                                },
                                {
                                    from?: string;
                                    op: "replace"
                                    | "add"
                                    | "remove"
                                    | "copy"
                                    | "move"
                                    | "test";
                                    path: string;
                                    value?: any;
                                },
                            >,
                            "many",
                        >,
                    >;
                    modelChunk: z.ZodOptional<
                        z.ZodObject<
                            {
                                aggregated: z.ZodOptional<z.ZodBoolean>;
                                content: z.ZodArray<
                                    z.ZodUnion<
                                        [
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                        ],
                                    >,
                                    "many",
                                >;
                                custom: z.ZodOptional<z.ZodUnknown>;
                                index: z.ZodOptional<z.ZodNumber>;
                                role: z.ZodOptional<z.ZodEnum<["system", "user", "model", "tool"]>>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                aggregated?: boolean;
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                custom?: unknown;
                                index?: number;
                                role?: "user"
                                | "model"
                                | "tool"
                                | "system";
                            },
                            {
                                aggregated?: boolean;
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                custom?: unknown;
                                index?: number;
                                role?: "user"
                                | "model"
                                | "tool"
                                | "system";
                            },
                        >,
                    >;
                    turnEnd: z.ZodOptional<
                        z.ZodObject<
                            {
                                finishReason: z.ZodOptional<
                                    z.ZodEnum<
                                        [
                                            "stop",
                                            "length",
                                            "blocked",
                                            "interrupted",
                                            "other",
                                            "unknown",
                                            "aborted",
                                            "detached",
                                            "failed",
                                        ],
                                    >,
                                >;
                                snapshotId: z.ZodOptional<z.ZodString>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                finishReason?: | "length"
                                | "stop"
                                | "failed"
                                | "other"
                                | "unknown"
                                | "interrupted"
                                | "blocked"
                                | "aborted"
                                | "detached";
                                snapshotId?: string;
                            },
                            {
                                finishReason?: | "length"
                                | "stop"
                                | "failed"
                                | "other"
                                | "unknown"
                                | "interrupted"
                                | "blocked"
                                | "aborted"
                                | "detached";
                                snapshotId?: string;
                            },
                        >,
                    >;
                },
                "strip",
                z.ZodTypeAny,
                {
                    artifact?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    };
                    customPatch?: {
                        from?: string;
                        op: "replace"
                        | "add"
                        | "remove"
                        | "copy"
                        | "move"
                        | "test";
                        path: string;
                        value?: any;
                    }[];
                    modelChunk?: {
                        aggregated?: boolean;
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        custom?: unknown;
                        index?: number;
                        role?: "user"
                        | "model"
                        | "tool"
                        | "system";
                    };
                    turnEnd?: {
                        finishReason?: | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                        snapshotId?: string;
                    };
                },
                {
                    artifact?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    };
                    customPatch?: {
                        from?: string;
                        op: "replace"
                        | "add"
                        | "remove"
                        | "copy"
                        | "move"
                        | "test";
                        path: string;
                        value?: any;
                    }[];
                    modelChunk?: {
                        aggregated?: boolean;
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        custom?: unknown;
                        index?: number;
                        role?: "user"
                        | "model"
                        | "tool"
                        | "system";
                    };
                    turnEnd?: {
                        finishReason?: | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                        snapshotId?: string;
                    };
                },
            >,
        >;
        streamBidi(
            init?: {
                sessionId?: string;
                snapshotId?: string;
                state?: {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media: { contentType?: ...; url: ... };
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: (...) & (...);
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource: { uri: ... };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    }[];
                    custom?: any;
                    messages?: {
                        content: (
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media: { contentType?: ...; url: ... };
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: (...) & (...);
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource: { uri: ... };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    }[];
                    sessionId?: string;
                };
            },
            opts?: BidiActionRunOptions<
                {
                    artifact?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    };
                    customPatch?: {
                        from?: string;
                        op: "replace"
                        | "add"
                        | "remove"
                        | "copy"
                        | "move"
                        | "test";
                        path: string;
                        value?: any;
                    }[];
                    modelChunk?: {
                        aggregated?: boolean;
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        custom?: unknown;
                        index?: number;
                        role?: "user"
                        | "model"
                        | "tool"
                        | "system";
                    };
                    turnEnd?: {
                        finishReason?: | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                        snapshotId?: string;
                    };
                },
                {
                    detach?: boolean;
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    resume?: {
                        respond?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }[];
                        restart?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }[];
                    };
                },
                {
                    sessionId?: string;
                    snapshotId?: string;
                    state?: {
                        artifacts?: {
                            metadata?: Record<string, any>;
                            name?: string;
                            parts: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        }[];
                        custom?: any;
                        messages?: {
                            content: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "model" | "tool" | "system";
                        }[];
                        sessionId?: string;
                    };
                },
            >,
        ): BidiStreamingResponse<
            z.ZodObject<
                {
                    artifacts: z.ZodOptional<
                        z.ZodArray<
                            z.ZodObject<
                                {
                                    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    name: z.ZodOptional<z.ZodString>;
                                    parts: z.ZodArray<
                                        z.ZodUnion<
                                            [
                                                z.ZodObject<(...), (...), (...), (...), (...)>,
                                                z.ZodObject<(...), (...), (...), (...), (...)>,
                                                z.ZodObject<(...), (...), (...), (...), (...)>,
                                            ],
                                        >,
                                        "many",
                                    >;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    metadata?: Record<string, any>;
                                    name?: string;
                                    parts: (
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text: string;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media: { contentType?: ...; url: ... };
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse: (...) & (...);
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom: Record<(...), (...)>;
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning: string;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource: { uri: ... };
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                    )[];
                                },
                                {
                                    metadata?: Record<string, any>;
                                    name?: string;
                                    parts: (
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text: string;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media: { contentType?: ...; url: ... };
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse: (...) & (...);
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom: Record<(...), (...)>;
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning: string;
                                            resource?: undefined;
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                        | {
                                            custom?: (...)
                                            | (...);
                                            data?: unknown;
                                            media?: undefined;
                                            metadata?: (...) | (...);
                                            reasoning?: undefined;
                                            resource: { uri: ... };
                                            text?: undefined;
                                            toolRequest?: undefined;
                                            toolResponse?: undefined;
                                        }
                                    )[];
                                },
                            >,
                            "many",
                        >,
                    >;
                    error: z.ZodOptional<
                        z.ZodObject<
                            {
                                details: z.ZodOptional<z.ZodAny>;
                                message: z.ZodString;
                                status: z.ZodOptional<z.ZodString>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            { details?: any; message: string; status?: string },
                            { details?: any; message: string; status?: string },
                        >,
                    >;
                    finishReason: z.ZodOptional<
                        z.ZodEnum<
                            [
                                "stop",
                                "length",
                                "blocked",
                                "interrupted",
                                "other",
                                "unknown",
                                "aborted",
                                "detached",
                                "failed",
                            ],
                        >,
                    >;
                    message: z.ZodOptional<
                        z.ZodObject<
                            {
                                content: z.ZodArray<
                                    z.ZodUnion<
                                        [
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                        ],
                                    >,
                                    "many",
                                >;
                                metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                                role: z.ZodEnum<["system", "user", "model", "tool"]>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                metadata?: Record<string, unknown>;
                                role: "user" | "model" | "tool" | "system";
                            },
                            {
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                metadata?: Record<string, unknown>;
                                role: "user" | "model" | "tool" | "system";
                            },
                        >,
                    >;
                    sessionId: z.ZodOptional<z.ZodString>;
                    snapshotId: z.ZodOptional<z.ZodString>;
                    state: z.ZodOptional<
                        z.ZodObject<
                            {
                                artifacts: z.ZodOptional<
                                    z.ZodArray<
                                        z.ZodObject<
                                            {
                                                metadata: z.ZodOptional<(...)>;
                                                name: z.ZodOptional<(...)>;
                                                parts: z.ZodArray<(...), (...)>;
                                            },
                                            "strip",
                                            z.ZodTypeAny,
                                            { metadata?: (...)
                                            | (...); name?: (...) | (...); parts: (...)[] },
                                            { metadata?: (...) | (...); name?: (...) | (...); parts: (...)[] },
                                        >,
                                        "many",
                                    >,
                                >;
                                custom: z.ZodOptional<z.ZodAny>;
                                messages: z.ZodOptional<
                                    z.ZodArray<
                                        z.ZodObject<
                                            {
                                                content: z.ZodArray<(...), (...)>;
                                                metadata: z.ZodOptional<(...)>;
                                                role: z.ZodEnum<(...)>;
                                            },
                                            "strip",
                                            z.ZodTypeAny,
                                            {
                                                content: (...)[];
                                                metadata?: (...) | (...);
                                                role: (...) | (...) | (...) | (...);
                                            },
                                            {
                                                content: (...)[];
                                                metadata?: (...) | (...);
                                                role: (...) | (...) | (...) | (...);
                                            },
                                        >,
                                        "many",
                                    >,
                                >;
                                sessionId: z.ZodOptional<z.ZodString>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                artifacts?: {
                                    metadata?: Record<(...), (...)>;
                                    name?: string;
                                    parts: (
                                        (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                    )[];
                                }[];
                                custom?: any;
                                messages?: {
                                    content: (
                                        (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                    )[];
                                    metadata?: Record<(...), (...)>;
                                    role: "user" | "model" | "tool" | "system";
                                }[];
                                sessionId?: string;
                            },
                            {
                                artifacts?: {
                                    metadata?: Record<(...), (...)>;
                                    name?: string;
                                    parts: (
                                        (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                    )[];
                                }[];
                                custom?: any;
                                messages?: {
                                    content: (
                                        (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                    )[];
                                    metadata?: Record<(...), (...)>;
                                    role: "user" | "model" | "tool" | "system";
                                }[];
                                sessionId?: string;
                            },
                        >,
                    >;
                },
                "strip",
                z.ZodTypeAny,
                {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media: { contentType?: (...) | (...); url: string };
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: (...) | (...) | (...);
                                    ref?: (...) | (...);
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                    content?: ...;
                                };
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    }[];
                    error?: { details?: any; message: string; status?: string };
                    finishReason?:
                        | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    sessionId?: string;
                    snapshotId?: string;
                    state?: {
                        artifacts?: {
                            metadata?: Record<string, any>;
                            name?: string;
                            parts: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        }[];
                        custom?: any;
                        messages?: {
                            content: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "model" | "tool" | "system";
                        }[];
                        sessionId?: string;
                    };
                },
                {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media: { contentType?: (...) | (...); url: string };
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: (...) | (...) | (...);
                                    ref?: (...) | (...);
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                    content?: ...;
                                };
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<(...), (...)>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    }[];
                    error?: { details?: any; message: string; status?: string };
                    finishReason?:
                        | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    sessionId?: string;
                    snapshotId?: string;
                    state?: {
                        artifacts?: {
                            metadata?: Record<string, any>;
                            name?: string;
                            parts: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        }[];
                        custom?: any;
                        messages?: {
                            content: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "model" | "tool" | "system";
                        }[];
                        sessionId?: string;
                    };
                },
            >,
            z.ZodObject<
                {
                    artifact: z.ZodOptional<
                        z.ZodObject<
                            {
                                metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                name: z.ZodOptional<z.ZodString>;
                                parts: z.ZodArray<
                                    z.ZodUnion<
                                        [
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                        ],
                                    >,
                                    "many",
                                >;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                metadata?: Record<string, any>;
                                name?: string;
                                parts: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                            },
                            {
                                metadata?: Record<string, any>;
                                name?: string;
                                parts: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                            },
                        >,
                    >;
                    customPatch: z.ZodOptional<
                        z.ZodArray<
                            z.ZodObject<
                                {
                                    from: z.ZodOptional<z.ZodString>;
                                    op: z.ZodEnum<["add", "remove", "replace", "move", "copy", "test"]>;
                                    path: z.ZodString;
                                    value: z.ZodOptional<z.ZodAny>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    from?: string;
                                    op: "replace"
                                    | "add"
                                    | "remove"
                                    | "copy"
                                    | "move"
                                    | "test";
                                    path: string;
                                    value?: any;
                                },
                                {
                                    from?: string;
                                    op: "replace"
                                    | "add"
                                    | "remove"
                                    | "copy"
                                    | "move"
                                    | "test";
                                    path: string;
                                    value?: any;
                                },
                            >,
                            "many",
                        >,
                    >;
                    modelChunk: z.ZodOptional<
                        z.ZodObject<
                            {
                                aggregated: z.ZodOptional<z.ZodBoolean>;
                                content: z.ZodArray<
                                    z.ZodUnion<
                                        [
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                        ],
                                    >,
                                    "many",
                                >;
                                custom: z.ZodOptional<z.ZodUnknown>;
                                index: z.ZodOptional<z.ZodNumber>;
                                role: z.ZodOptional<z.ZodEnum<["system", "user", "model", "tool"]>>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                aggregated?: boolean;
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                custom?: unknown;
                                index?: number;
                                role?: "user"
                                | "model"
                                | "tool"
                                | "system";
                            },
                            {
                                aggregated?: boolean;
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                custom?: unknown;
                                index?: number;
                                role?: "user"
                                | "model"
                                | "tool"
                                | "system";
                            },
                        >,
                    >;
                    turnEnd: z.ZodOptional<
                        z.ZodObject<
                            {
                                finishReason: z.ZodOptional<
                                    z.ZodEnum<
                                        [
                                            "stop",
                                            "length",
                                            "blocked",
                                            "interrupted",
                                            "other",
                                            "unknown",
                                            "aborted",
                                            "detached",
                                            "failed",
                                        ],
                                    >,
                                >;
                                snapshotId: z.ZodOptional<z.ZodString>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                finishReason?: | "length"
                                | "stop"
                                | "failed"
                                | "other"
                                | "unknown"
                                | "interrupted"
                                | "blocked"
                                | "aborted"
                                | "detached";
                                snapshotId?: string;
                            },
                            {
                                finishReason?: | "length"
                                | "stop"
                                | "failed"
                                | "other"
                                | "unknown"
                                | "interrupted"
                                | "blocked"
                                | "aborted"
                                | "detached";
                                snapshotId?: string;
                            },
                        >,
                    >;
                },
                "strip",
                z.ZodTypeAny,
                {
                    artifact?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    };
                    customPatch?: {
                        from?: string;
                        op: "replace"
                        | "add"
                        | "remove"
                        | "copy"
                        | "move"
                        | "test";
                        path: string;
                        value?: any;
                    }[];
                    modelChunk?: {
                        aggregated?: boolean;
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        custom?: unknown;
                        index?: number;
                        role?: "user"
                        | "model"
                        | "tool"
                        | "system";
                    };
                    turnEnd?: {
                        finishReason?: | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                        snapshotId?: string;
                    };
                },
                {
                    artifact?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    };
                    customPatch?: {
                        from?: string;
                        op: "replace"
                        | "add"
                        | "remove"
                        | "copy"
                        | "move"
                        | "test";
                        path: string;
                        value?: any;
                    }[];
                    modelChunk?: {
                        aggregated?: boolean;
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        custom?: unknown;
                        index?: number;
                        role?: "user"
                        | "model"
                        | "tool"
                        | "system";
                    };
                    turnEnd?: {
                        finishReason?: | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                        snapshotId?: string;
                    };
                },
            >,
            z.ZodObject<
                {
                    detach: z.ZodOptional<z.ZodBoolean>;
                    message: z.ZodOptional<
                        z.ZodObject<
                            {
                                content: z.ZodArray<
                                    z.ZodUnion<
                                        [
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest?: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                            z.ZodObject<
                                                (...) & (...),
                                                "strip",
                                                z.ZodTypeAny,
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                                {
                                                    custom?: ...;
                                                    data?: ...;
                                                    media?: ...;
                                                    metadata?: ...;
                                                    reasoning?: ...;
                                                    resource?: ...;
                                                    text?: ...;
                                                    toolRequest: ...;
                                                    toolResponse?: ...;
                                                },
                                            >,
                                        ],
                                    >,
                                    "many",
                                >;
                                metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                                role: z.ZodEnum<["system", "user", "model", "tool"]>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                metadata?: Record<string, unknown>;
                                role: "user" | "model" | "tool" | "system";
                            },
                            {
                                content: (
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text: string;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media: { contentType?: (...) | (...); url: string };
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest: {
                                            input?: unknown;
                                            name: string;
                                            partial?: (...) | (...) | (...);
                                            ref?: (...) | (...);
                                        };
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                            content?: ...;
                                        };
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom: Record<string, any>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning: string;
                                        resource?: undefined;
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                    | {
                                        custom?: Record<(...), (...)>;
                                        data?: unknown;
                                        media?: undefined;
                                        metadata?: Record<(...), (...)>;
                                        reasoning?: undefined;
                                        resource: { uri: string };
                                        text?: undefined;
                                        toolRequest?: undefined;
                                        toolResponse?: undefined;
                                    }
                                )[];
                                metadata?: Record<string, unknown>;
                                role: "user" | "model" | "tool" | "system";
                            },
                        >,
                    >;
                    resume: z.ZodOptional<
                        z.ZodObject<
                            {
                                respond: z.ZodOptional<
                                    z.ZodArray<
                                        z.ZodObject<
                                            {
                                                custom: ...;
                                                data: ...;
                                                media: ...;
                                                metadata: ...;
                                                reasoning: ...;
                                                resource: ...;
                                                text: ...;
                                                toolRequest: ...;
                                            } & { toolResponse: ... },
                                            "strip",
                                            z.ZodTypeAny,
                                            {
                                                custom?: (...) | (...);
                                                data?: unknown;
                                                media?: undefined;
                                                metadata?: (...) | (...);
                                                reasoning?: undefined;
                                                resource?: undefined;
                                                text?: undefined;
                                                toolRequest?: undefined;
                                                toolResponse: (...) & (...);
                                            },
                                            {
                                                custom?: (...)
                                                | (...);
                                                data?: unknown;
                                                media?: undefined;
                                                metadata?: (...) | (...);
                                                reasoning?: undefined;
                                                resource?: undefined;
                                                text?: undefined;
                                                toolRequest?: undefined;
                                                toolResponse: (...) & (...);
                                            },
                                        >,
                                        "many",
                                    >,
                                >;
                                restart: z.ZodOptional<
                                    z.ZodArray<
                                        z.ZodObject<
                                            {
                                                custom: ...;
                                                data: ...;
                                                media: ...;
                                                metadata: ...;
                                                reasoning: ...;
                                                resource: ...;
                                                text: ...;
                                                toolResponse: ...;
                                            } & { toolRequest: ... },
                                            "strip",
                                            z.ZodTypeAny,
                                            {
                                                custom?: (...) | (...);
                                                data?: unknown;
                                                media?: undefined;
                                                metadata?: (...) | (...);
                                                reasoning?: undefined;
                                                resource?: undefined;
                                                text?: undefined;
                                                toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                                toolResponse?: undefined;
                                            },
                                            {
                                                custom?: (...)
                                                | (...);
                                                data?: unknown;
                                                media?: undefined;
                                                metadata?: (...) | (...);
                                                reasoning?: undefined;
                                                resource?: undefined;
                                                text?: undefined;
                                                toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                                toolResponse?: undefined;
                                            },
                                        >,
                                        "many",
                                    >,
                                >;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                respond?: {
                                    custom?: Record<(...), (...)>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<(...), (...)>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest?: undefined;
                                    toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                        content?: ...;
                                    };
                                }[];
                                restart?: {
                                    custom?: Record<(...), (...)>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<(...), (...)>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest: {
                                        input?: unknown;
                                        name: string;
                                        partial?: (...) | (...) | (...);
                                        ref?: (...) | (...);
                                    };
                                    toolResponse?: undefined;
                                }[];
                            },
                            {
                                respond?: {
                                    custom?: Record<(...), (...)>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<(...), (...)>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest?: undefined;
                                    toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                        content?: ...;
                                    };
                                }[];
                                restart?: {
                                    custom?: Record<(...), (...)>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<(...), (...)>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest: {
                                        input?: unknown;
                                        name: string;
                                        partial?: (...) | (...) | (...);
                                        ref?: (...) | (...);
                                    };
                                    toolResponse?: undefined;
                                }[];
                            },
                        >,
                    >;
                },
                "strip",
                z.ZodTypeAny,
                {
                    detach?: boolean;
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    resume?: {
                        respond?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }[];
                        restart?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }[];
                    };
                },
                {
                    detach?: boolean;
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    resume?: {
                        respond?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }[];
                        restart?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }[];
                    };
                },
            >,
        >;
        (
            input?: {
                detach?: boolean;
                message?: {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: string } & {
                                content?: (...)[];
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                };
                resume?: {
                    respond?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: string } & {
                            content?: (...)[];
                        };
                    }[];
                    restart?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }[];
                };
            },
            options?: BidiActionRunOptions<
                {
                    artifact?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    };
                    customPatch?: {
                        from?: string;
                        op: "replace"
                        | "add"
                        | "remove"
                        | "copy"
                        | "move"
                        | "test";
                        path: string;
                        value?: any;
                    }[];
                    modelChunk?: {
                        aggregated?: boolean;
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        custom?: unknown;
                        index?: number;
                        role?: "user"
                        | "model"
                        | "tool"
                        | "system";
                    };
                    turnEnd?: {
                        finishReason?: | "length"
                        | "stop"
                        | "failed"
                        | "other"
                        | "unknown"
                        | "interrupted"
                        | "blocked"
                        | "aborted"
                        | "detached";
                        snapshotId?: string;
                    };
                },
                {
                    detach?: boolean;
                    message?: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    };
                    resume?: {
                        respond?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }[];
                        restart?: {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }[];
                    };
                },
                {
                    sessionId?: string;
                    snapshotId?: string;
                    state?: {
                        artifacts?: {
                            metadata?: Record<string, any>;
                            name?: string;
                            parts: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        }[];
                        custom?: any;
                        messages?: {
                            content: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "model" | "tool" | "system";
                        }[];
                        sessionId?: string;
                    };
                },
            >,
        ): Promise<
            {
                artifacts?: {
                    metadata?: Record<string, any>;
                    name?: string;
                    parts: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                }[];
                error?: { details?: any; message: string; status?: string };
                finishReason?:
                    | "length"
                    | "stop"
                    | "failed"
                    | "other"
                    | "unknown"
                    | "interrupted"
                    | "blocked"
                    | "aborted"
                    | "detached";
                message?: {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: string } & {
                                content?: (...)[];
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                };
                sessionId?: string;
                snapshotId?: string;
                state?: {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media: { contentType?: ...; url: ... };
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: (...) & (...);
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource: { uri: ... };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                    }[];
                    custom?: any;
                    messages?: {
                        content: (
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media: { contentType?: ...; url: ... };
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: (...) & (...);
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<(...), (...)>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: (...)
                                | (...);
                                data?: unknown;
                                media?: undefined;
                                metadata?: (...) | (...);
                                reasoning?: undefined;
                                resource: { uri: ... };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    }[];
                    sessionId?: string;
                };
            },
        >;
    }

    Type Parameters

    • State = unknown

    Hierarchy (View Summary)

    • Parameters

      • Optionalinput: {
            detach?: boolean;
            message?: {
                content: (
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text: string;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media: { contentType?: string; url: string };
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: string } & {
                            content?: (...)[];
                        };
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom: Record<string, any>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning: string;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource: { uri: string };
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                )[];
                metadata?: Record<string, unknown>;
                role: "user" | "model" | "tool" | "system";
            };
            resume?: {
                respond?: {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest?: undefined;
                    toolResponse: { name: string; output?: unknown; ref?: string } & {
                        content?: (...)[];
                    };
                }[];
                restart?: {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest: {
                        input?: unknown;
                        name: string;
                        partial?: boolean;
                        ref?: string;
                    };
                    toolResponse?: undefined;
                }[];
            };
        }
      • Optionaloptions: BidiActionRunOptions<
            {
                artifact?: {
                    metadata?: Record<string, any>;
                    name?: string;
                    parts: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                };
                customPatch?: {
                    from?: string;
                    op: "replace"
                    | "add"
                    | "remove"
                    | "copy"
                    | "move"
                    | "test";
                    path: string;
                    value?: any;
                }[];
                modelChunk?: {
                    aggregated?: boolean;
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    custom?: unknown;
                    index?: number;
                    role?: "user"
                    | "model"
                    | "tool"
                    | "system";
                };
                turnEnd?: {
                    finishReason?: | "length"
                    | "stop"
                    | "failed"
                    | "other"
                    | "unknown"
                    | "interrupted"
                    | "blocked"
                    | "aborted"
                    | "detached";
                    snapshotId?: string;
                };
            },
            {
                detach?: boolean;
                message?: {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                };
                resume?: {
                    respond?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                            content?: (...) | (...);
                        };
                    }[];
                    restart?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }[];
                };
            },
            {
                sessionId?: string;
                snapshotId?: string;
                state?: {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                        )[];
                    }[];
                    custom?: any;
                    messages?: {
                        content: (
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    }[];
                    sessionId?: string;
                };
            },
        >

      Returns Promise<
          {
              artifacts?: {
                  metadata?: Record<string, any>;
                  name?: string;
                  parts: (
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text: string;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media: { contentType?: string; url: string };
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest: {
                              input?: unknown;
                              name: string;
                              partial?: boolean;
                              ref?: string;
                          };
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                              content?: (...) | (...);
                          };
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom: Record<string, any>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning: string;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource: { uri: string };
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                  )[];
              }[];
              error?: { details?: any; message: string; status?: string };
              finishReason?:
                  | "length"
                  | "stop"
                  | "failed"
                  | "other"
                  | "unknown"
                  | "interrupted"
                  | "blocked"
                  | "aborted"
                  | "detached";
              message?: {
                  content: (
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text: string;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media: { contentType?: string; url: string };
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest: {
                              input?: unknown;
                              name: string;
                              partial?: boolean;
                              ref?: string;
                          };
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse: { name: string; output?: unknown; ref?: string } & {
                              content?: (...)[];
                          };
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom: Record<string, any>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning: string;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                      | {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource: { uri: string };
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse?: undefined;
                      }
                  )[];
                  metadata?: Record<string, unknown>;
                  role: "user" | "model" | "tool" | "system";
              };
              sessionId?: string;
              snapshotId?: string;
              state?: {
                  artifacts?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media: { contentType?: ...; url: ... };
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: (...) & (...);
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource: { uri: ... };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  }[];
                  custom?: any;
                  messages?: {
                      content: (
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media: { contentType?: ...; url: ... };
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: (...) & (...);
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: (...)
                              | (...);
                              data?: unknown;
                              media?: undefined;
                              metadata?: (...) | (...);
                              reasoning?: undefined;
                              resource: { uri: ... };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      metadata?: Record<string, unknown>;
                      role: "user" | "model" | "tool" | "system";
                  }[];
                  sessionId?: string;
              };
          },
      >

    Index

    Properties

    abortAgentAction: Action<
        z.ZodObject<
            { snapshotId: z.ZodString },
            "strip",
            z.ZodTypeAny,
            { snapshotId: string },
            { snapshotId: string },
        >,
        z.ZodObject<
            {
                snapshotId: z.ZodString;
                status: z.ZodOptional<
                    z.ZodEnum<["pending", "completed", "aborted", "failed", "expired"]>,
                >;
            },
            "strip",
            z.ZodTypeAny,
            {
                snapshotId: string;
                status?: "failed"
                | "completed"
                | "pending"
                | "expired"
                | "aborted";
            },
            {
                snapshotId: string;
                status?: "failed"
                | "completed"
                | "pending"
                | "expired"
                | "aborted";
            },
        >,
    >
    getSnapshotDataAction: GetSnapshotDataAction<State>

    Methods

    • Aborts a running snapshot. Requires a server store.

      Parameters

      Returns Promise<"failed" | "completed" | "pending" | "expired" | "aborted" | undefined>

    • Reads a snapshot without starting a chat. Requires a server store. Accepts a snapshotId string, or a lookup object ({ snapshotId } / { sessionId }).

      Parameters

      • lookup: string | SnapshotLookup

      Returns Promise<SessionSnapshot<State> | undefined>

    • Parameters

      • opts: GetSnapshotDataInput

      Returns Promise<SessionSnapshot<State> | undefined>

    • Loads a server snapshot and returns a chat with history restored. Accepts either a snapshotId (an exact snapshot) or a sessionId (the session's latest snapshot).

      Parameters

      • opts: SnapshotLookup

      Returns Promise<AgentChat<State>>

    • Parameters

      • Optionalinput: {
            detach?: boolean;
            message?: {
                content: (
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text: string;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media: { contentType?: string; url: string };
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: string } & {
                            content?: (...)[];
                        };
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom: Record<string, any>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning: string;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource: { uri: string };
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                )[];
                metadata?: Record<string, unknown>;
                role: "user" | "model" | "tool" | "system";
            };
            resume?: {
                respond?: {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest?: undefined;
                    toolResponse: { name: string; output?: unknown; ref?: string } & {
                        content?: (...)[];
                    };
                }[];
                restart?: {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest: {
                        input?: unknown;
                        name: string;
                        partial?: boolean;
                        ref?: string;
                    };
                    toolResponse?: undefined;
                }[];
            };
        }
      • Optionaloptions: BidiActionRunOptions<
            {
                artifact?: {
                    metadata?: Record<string, any>;
                    name?: string;
                    parts: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                };
                customPatch?: {
                    from?: string;
                    op: "replace"
                    | "add"
                    | "remove"
                    | "copy"
                    | "move"
                    | "test";
                    path: string;
                    value?: any;
                }[];
                modelChunk?: {
                    aggregated?: boolean;
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    custom?: unknown;
                    index?: number;
                    role?: "user"
                    | "model"
                    | "tool"
                    | "system";
                };
                turnEnd?: {
                    finishReason?: | "length"
                    | "stop"
                    | "failed"
                    | "other"
                    | "unknown"
                    | "interrupted"
                    | "blocked"
                    | "aborted"
                    | "detached";
                    snapshotId?: string;
                };
            },
            {
                detach?: boolean;
                message?: {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                };
                resume?: {
                    respond?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                            content?: (...) | (...);
                        };
                    }[];
                    restart?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }[];
                };
            },
            {
                sessionId?: string;
                snapshotId?: string;
                state?: {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                        )[];
                    }[];
                    custom?: any;
                    messages?: {
                        content: (
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    }[];
                    sessionId?: string;
                };
            },
        >

      Returns Promise<
          ActionResult<
              {
                  artifacts?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media: { contentType?: (...) | (...); url: string };
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: (...) | (...) | (...);
                                  ref?: (...) | (...);
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                  content?: ...;
                              };
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  }[];
                  error?: { details?: any; message: string; status?: string };
                  finishReason?:
                      | "length"
                      | "stop"
                      | "failed"
                      | "other"
                      | "unknown"
                      | "interrupted"
                      | "blocked"
                      | "aborted"
                      | "detached";
                  message?: {
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      metadata?: Record<string, unknown>;
                      role: "user" | "model" | "tool" | "system";
                  };
                  sessionId?: string;
                  snapshotId?: string;
                  state?: {
                      artifacts?: {
                          metadata?: Record<string, any>;
                          name?: string;
                          parts: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                      }[];
                      custom?: any;
                      messages?: {
                          content: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                          metadata?: Record<string, unknown>;
                          role: "user" | "model" | "tool" | "system";
                      }[];
                      sessionId?: string;
                  };
              },
          >,
      >

    • Parameters

      • Optionalinput: {
            detach?: boolean;
            message?: {
                content: (
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text: string;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media: { contentType?: string; url: string };
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: string } & {
                            content?: (...)[];
                        };
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom: Record<string, any>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning: string;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource: { uri: string };
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                )[];
                metadata?: Record<string, unknown>;
                role: "user" | "model" | "tool" | "system";
            };
            resume?: {
                respond?: {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest?: undefined;
                    toolResponse: { name: string; output?: unknown; ref?: string } & {
                        content?: (...)[];
                    };
                }[];
                restart?: {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest: {
                        input?: unknown;
                        name: string;
                        partial?: boolean;
                        ref?: string;
                    };
                    toolResponse?: undefined;
                }[];
            };
        }
      • Optionalopts: BidiActionRunOptions<
            {
                artifact?: {
                    metadata?: Record<string, any>;
                    name?: string;
                    parts: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                };
                customPatch?: {
                    from?: string;
                    op: "replace"
                    | "add"
                    | "remove"
                    | "copy"
                    | "move"
                    | "test";
                    path: string;
                    value?: any;
                }[];
                modelChunk?: {
                    aggregated?: boolean;
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    custom?: unknown;
                    index?: number;
                    role?: "user"
                    | "model"
                    | "tool"
                    | "system";
                };
                turnEnd?: {
                    finishReason?: | "length"
                    | "stop"
                    | "failed"
                    | "other"
                    | "unknown"
                    | "interrupted"
                    | "blocked"
                    | "aborted"
                    | "detached";
                    snapshotId?: string;
                };
            },
            {
                detach?: boolean;
                message?: {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                };
                resume?: {
                    respond?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                            content?: (...) | (...);
                        };
                    }[];
                    restart?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }[];
                };
            },
            {
                sessionId?: string;
                snapshotId?: string;
                state?: {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                        )[];
                    }[];
                    custom?: any;
                    messages?: {
                        content: (
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    }[];
                    sessionId?: string;
                };
            },
        >

      Returns StreamingResponse<
          z.ZodObject<
              {
                  artifacts: z.ZodOptional<
                      z.ZodArray<
                          z.ZodObject<
                              {
                                  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                  name: z.ZodOptional<z.ZodString>;
                                  parts: z.ZodArray<
                                      z.ZodUnion<
                                          [
                                              z.ZodObject<(...), (...), (...), (...), (...)>,
                                              z.ZodObject<(...), (...), (...), (...), (...)>,
                                              z.ZodObject<(...), (...), (...), (...), (...)>,
                                          ],
                                      >,
                                      "many",
                                  >;
                              },
                              "strip",
                              z.ZodTypeAny,
                              {
                                  metadata?: Record<string, any>;
                                  name?: string;
                                  parts: (
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text: string;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media: { contentType?: ...; url: ... };
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse: (...) & (...);
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom: Record<(...), (...)>;
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning: string;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource: { uri: ... };
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                  )[];
                              },
                              {
                                  metadata?: Record<string, any>;
                                  name?: string;
                                  parts: (
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text: string;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media: { contentType?: ...; url: ... };
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse: (...) & (...);
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom: Record<(...), (...)>;
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning: string;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource: { uri: ... };
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                  )[];
                              },
                          >,
                          "many",
                      >,
                  >;
                  error: z.ZodOptional<
                      z.ZodObject<
                          {
                              details: z.ZodOptional<z.ZodAny>;
                              message: z.ZodString;
                              status: z.ZodOptional<z.ZodString>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          { details?: any; message: string; status?: string },
                          { details?: any; message: string; status?: string },
                      >,
                  >;
                  finishReason: z.ZodOptional<
                      z.ZodEnum<
                          [
                              "stop",
                              "length",
                              "blocked",
                              "interrupted",
                              "other",
                              "unknown",
                              "aborted",
                              "detached",
                              "failed",
                          ],
                      >,
                  >;
                  message: z.ZodOptional<
                      z.ZodObject<
                          {
                              content: z.ZodArray<
                                  z.ZodUnion<
                                      [
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                      ],
                                  >,
                                  "many",
                              >;
                              metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                              role: z.ZodEnum<["system", "user", "model", "tool"]>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              metadata?: Record<string, unknown>;
                              role: "user" | "model" | "tool" | "system";
                          },
                          {
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              metadata?: Record<string, unknown>;
                              role: "user" | "model" | "tool" | "system";
                          },
                      >,
                  >;
                  sessionId: z.ZodOptional<z.ZodString>;
                  snapshotId: z.ZodOptional<z.ZodString>;
                  state: z.ZodOptional<
                      z.ZodObject<
                          {
                              artifacts: z.ZodOptional<
                                  z.ZodArray<
                                      z.ZodObject<
                                          {
                                              metadata: z.ZodOptional<(...)>;
                                              name: z.ZodOptional<(...)>;
                                              parts: z.ZodArray<(...), (...)>;
                                          },
                                          "strip",
                                          z.ZodTypeAny,
                                          { metadata?: (...)
                                          | (...); name?: (...) | (...); parts: (...)[] },
                                          { metadata?: (...) | (...); name?: (...) | (...); parts: (...)[] },
                                      >,
                                      "many",
                                  >,
                              >;
                              custom: z.ZodOptional<z.ZodAny>;
                              messages: z.ZodOptional<
                                  z.ZodArray<
                                      z.ZodObject<
                                          {
                                              content: z.ZodArray<(...), (...)>;
                                              metadata: z.ZodOptional<(...)>;
                                              role: z.ZodEnum<(...)>;
                                          },
                                          "strip",
                                          z.ZodTypeAny,
                                          {
                                              content: (...)[];
                                              metadata?: (...) | (...);
                                              role: (...) | (...) | (...) | (...);
                                          },
                                          {
                                              content: (...)[];
                                              metadata?: (...) | (...);
                                              role: (...) | (...) | (...) | (...);
                                          },
                                      >,
                                      "many",
                                  >,
                              >;
                              sessionId: z.ZodOptional<z.ZodString>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              artifacts?: {
                                  metadata?: Record<(...), (...)>;
                                  name?: string;
                                  parts: (
                                      (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                  )[];
                              }[];
                              custom?: any;
                              messages?: {
                                  content: (
                                      (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                  )[];
                                  metadata?: Record<(...), (...)>;
                                  role: "user" | "model" | "tool" | "system";
                              }[];
                              sessionId?: string;
                          },
                          {
                              artifacts?: {
                                  metadata?: Record<(...), (...)>;
                                  name?: string;
                                  parts: (
                                      (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                  )[];
                              }[];
                              custom?: any;
                              messages?: {
                                  content: (
                                      (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                  )[];
                                  metadata?: Record<(...), (...)>;
                                  role: "user" | "model" | "tool" | "system";
                              }[];
                              sessionId?: string;
                          },
                      >,
                  >;
              },
              "strip",
              z.ZodTypeAny,
              {
                  artifacts?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media: { contentType?: (...) | (...); url: string };
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: (...) | (...) | (...);
                                  ref?: (...) | (...);
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                  content?: ...;
                              };
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  }[];
                  error?: { details?: any; message: string; status?: string };
                  finishReason?:
                      | "length"
                      | "stop"
                      | "failed"
                      | "other"
                      | "unknown"
                      | "interrupted"
                      | "blocked"
                      | "aborted"
                      | "detached";
                  message?: {
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      metadata?: Record<string, unknown>;
                      role: "user" | "model" | "tool" | "system";
                  };
                  sessionId?: string;
                  snapshotId?: string;
                  state?: {
                      artifacts?: {
                          metadata?: Record<string, any>;
                          name?: string;
                          parts: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                      }[];
                      custom?: any;
                      messages?: {
                          content: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                          metadata?: Record<string, unknown>;
                          role: "user" | "model" | "tool" | "system";
                      }[];
                      sessionId?: string;
                  };
              },
              {
                  artifacts?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media: { contentType?: (...) | (...); url: string };
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: (...) | (...) | (...);
                                  ref?: (...) | (...);
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                  content?: ...;
                              };
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  }[];
                  error?: { details?: any; message: string; status?: string };
                  finishReason?:
                      | "length"
                      | "stop"
                      | "failed"
                      | "other"
                      | "unknown"
                      | "interrupted"
                      | "blocked"
                      | "aborted"
                      | "detached";
                  message?: {
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      metadata?: Record<string, unknown>;
                      role: "user" | "model" | "tool" | "system";
                  };
                  sessionId?: string;
                  snapshotId?: string;
                  state?: {
                      artifacts?: {
                          metadata?: Record<string, any>;
                          name?: string;
                          parts: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                      }[];
                      custom?: any;
                      messages?: {
                          content: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                          metadata?: Record<string, unknown>;
                          role: "user" | "model" | "tool" | "system";
                      }[];
                      sessionId?: string;
                  };
              },
          >,
          z.ZodObject<
              {
                  artifact: z.ZodOptional<
                      z.ZodObject<
                          {
                              metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                              name: z.ZodOptional<z.ZodString>;
                              parts: z.ZodArray<
                                  z.ZodUnion<
                                      [
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                      ],
                                  >,
                                  "many",
                              >;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              metadata?: Record<string, any>;
                              name?: string;
                              parts: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                          },
                          {
                              metadata?: Record<string, any>;
                              name?: string;
                              parts: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                          },
                      >,
                  >;
                  customPatch: z.ZodOptional<
                      z.ZodArray<
                          z.ZodObject<
                              {
                                  from: z.ZodOptional<z.ZodString>;
                                  op: z.ZodEnum<["add", "remove", "replace", "move", "copy", "test"]>;
                                  path: z.ZodString;
                                  value: z.ZodOptional<z.ZodAny>;
                              },
                              "strip",
                              z.ZodTypeAny,
                              {
                                  from?: string;
                                  op: "replace"
                                  | "add"
                                  | "remove"
                                  | "copy"
                                  | "move"
                                  | "test";
                                  path: string;
                                  value?: any;
                              },
                              {
                                  from?: string;
                                  op: "replace"
                                  | "add"
                                  | "remove"
                                  | "copy"
                                  | "move"
                                  | "test";
                                  path: string;
                                  value?: any;
                              },
                          >,
                          "many",
                      >,
                  >;
                  modelChunk: z.ZodOptional<
                      z.ZodObject<
                          {
                              aggregated: z.ZodOptional<z.ZodBoolean>;
                              content: z.ZodArray<
                                  z.ZodUnion<
                                      [
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                      ],
                                  >,
                                  "many",
                              >;
                              custom: z.ZodOptional<z.ZodUnknown>;
                              index: z.ZodOptional<z.ZodNumber>;
                              role: z.ZodOptional<z.ZodEnum<["system", "user", "model", "tool"]>>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              aggregated?: boolean;
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              custom?: unknown;
                              index?: number;
                              role?: "user"
                              | "model"
                              | "tool"
                              | "system";
                          },
                          {
                              aggregated?: boolean;
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              custom?: unknown;
                              index?: number;
                              role?: "user"
                              | "model"
                              | "tool"
                              | "system";
                          },
                      >,
                  >;
                  turnEnd: z.ZodOptional<
                      z.ZodObject<
                          {
                              finishReason: z.ZodOptional<
                                  z.ZodEnum<
                                      [
                                          "stop",
                                          "length",
                                          "blocked",
                                          "interrupted",
                                          "other",
                                          "unknown",
                                          "aborted",
                                          "detached",
                                          "failed",
                                      ],
                                  >,
                              >;
                              snapshotId: z.ZodOptional<z.ZodString>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              finishReason?: | "length"
                              | "stop"
                              | "failed"
                              | "other"
                              | "unknown"
                              | "interrupted"
                              | "blocked"
                              | "aborted"
                              | "detached";
                              snapshotId?: string;
                          },
                          {
                              finishReason?: | "length"
                              | "stop"
                              | "failed"
                              | "other"
                              | "unknown"
                              | "interrupted"
                              | "blocked"
                              | "aborted"
                              | "detached";
                              snapshotId?: string;
                          },
                      >,
                  >;
              },
              "strip",
              z.ZodTypeAny,
              {
                  artifact?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  };
                  customPatch?: {
                      from?: string;
                      op: "replace"
                      | "add"
                      | "remove"
                      | "copy"
                      | "move"
                      | "test";
                      path: string;
                      value?: any;
                  }[];
                  modelChunk?: {
                      aggregated?: boolean;
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      custom?: unknown;
                      index?: number;
                      role?: "user"
                      | "model"
                      | "tool"
                      | "system";
                  };
                  turnEnd?: {
                      finishReason?: | "length"
                      | "stop"
                      | "failed"
                      | "other"
                      | "unknown"
                      | "interrupted"
                      | "blocked"
                      | "aborted"
                      | "detached";
                      snapshotId?: string;
                  };
              },
              {
                  artifact?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  };
                  customPatch?: {
                      from?: string;
                      op: "replace"
                      | "add"
                      | "remove"
                      | "copy"
                      | "move"
                      | "test";
                      path: string;
                      value?: any;
                  }[];
                  modelChunk?: {
                      aggregated?: boolean;
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      custom?: unknown;
                      index?: number;
                      role?: "user"
                      | "model"
                      | "tool"
                      | "system";
                  };
                  turnEnd?: {
                      finishReason?: | "length"
                      | "stop"
                      | "failed"
                      | "other"
                      | "unknown"
                      | "interrupted"
                      | "blocked"
                      | "aborted"
                      | "detached";
                      snapshotId?: string;
                  };
              },
          >,
      >

    • Parameters

      • Optionalinit: {
            sessionId?: string;
            snapshotId?: string;
            state?: {
                artifacts?: {
                    metadata?: Record<string, any>;
                    name?: string;
                    parts: (
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media: { contentType?: ...; url: ... };
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: (...) & (...);
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<(...), (...)>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource: { uri: ... };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                }[];
                custom?: any;
                messages?: {
                    content: (
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media: { contentType?: ...; url: ... };
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: (...) & (...);
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<(...), (...)>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: (...)
                            | (...);
                            data?: unknown;
                            media?: undefined;
                            metadata?: (...) | (...);
                            reasoning?: undefined;
                            resource: { uri: ... };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                }[];
                sessionId?: string;
            };
        }
      • Optionalopts: BidiActionRunOptions<
            {
                artifact?: {
                    metadata?: Record<string, any>;
                    name?: string;
                    parts: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                };
                customPatch?: {
                    from?: string;
                    op: "replace"
                    | "add"
                    | "remove"
                    | "copy"
                    | "move"
                    | "test";
                    path: string;
                    value?: any;
                }[];
                modelChunk?: {
                    aggregated?: boolean;
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    custom?: unknown;
                    index?: number;
                    role?: "user"
                    | "model"
                    | "tool"
                    | "system";
                };
                turnEnd?: {
                    finishReason?: | "length"
                    | "stop"
                    | "failed"
                    | "other"
                    | "unknown"
                    | "interrupted"
                    | "blocked"
                    | "aborted"
                    | "detached";
                    snapshotId?: string;
                };
            },
            {
                detach?: boolean;
                message?: {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                };
                resume?: {
                    respond?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                            content?: (...) | (...);
                        };
                    }[];
                    restart?: {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }[];
                };
            },
            {
                sessionId?: string;
                snapshotId?: string;
                state?: {
                    artifacts?: {
                        metadata?: Record<string, any>;
                        name?: string;
                        parts: (
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                        )[];
                    }[];
                    custom?: any;
                    messages?: {
                        content: (
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "model" | "tool" | "system";
                    }[];
                    sessionId?: string;
                };
            },
        >

      Returns BidiStreamingResponse<
          z.ZodObject<
              {
                  artifacts: z.ZodOptional<
                      z.ZodArray<
                          z.ZodObject<
                              {
                                  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                  name: z.ZodOptional<z.ZodString>;
                                  parts: z.ZodArray<
                                      z.ZodUnion<
                                          [
                                              z.ZodObject<(...), (...), (...), (...), (...)>,
                                              z.ZodObject<(...), (...), (...), (...), (...)>,
                                              z.ZodObject<(...), (...), (...), (...), (...)>,
                                          ],
                                      >,
                                      "many",
                                  >;
                              },
                              "strip",
                              z.ZodTypeAny,
                              {
                                  metadata?: Record<string, any>;
                                  name?: string;
                                  parts: (
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text: string;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media: { contentType?: ...; url: ... };
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse: (...) & (...);
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom: Record<(...), (...)>;
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning: string;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource: { uri: ... };
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                  )[];
                              },
                              {
                                  metadata?: Record<string, any>;
                                  name?: string;
                                  parts: (
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text: string;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media: { contentType?: ...; url: ... };
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse: (...) & (...);
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom: Record<(...), (...)>;
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning: string;
                                          resource?: undefined;
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                      | {
                                          custom?: (...)
                                          | (...);
                                          data?: unknown;
                                          media?: undefined;
                                          metadata?: (...) | (...);
                                          reasoning?: undefined;
                                          resource: { uri: ... };
                                          text?: undefined;
                                          toolRequest?: undefined;
                                          toolResponse?: undefined;
                                      }
                                  )[];
                              },
                          >,
                          "many",
                      >,
                  >;
                  error: z.ZodOptional<
                      z.ZodObject<
                          {
                              details: z.ZodOptional<z.ZodAny>;
                              message: z.ZodString;
                              status: z.ZodOptional<z.ZodString>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          { details?: any; message: string; status?: string },
                          { details?: any; message: string; status?: string },
                      >,
                  >;
                  finishReason: z.ZodOptional<
                      z.ZodEnum<
                          [
                              "stop",
                              "length",
                              "blocked",
                              "interrupted",
                              "other",
                              "unknown",
                              "aborted",
                              "detached",
                              "failed",
                          ],
                      >,
                  >;
                  message: z.ZodOptional<
                      z.ZodObject<
                          {
                              content: z.ZodArray<
                                  z.ZodUnion<
                                      [
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                      ],
                                  >,
                                  "many",
                              >;
                              metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                              role: z.ZodEnum<["system", "user", "model", "tool"]>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              metadata?: Record<string, unknown>;
                              role: "user" | "model" | "tool" | "system";
                          },
                          {
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              metadata?: Record<string, unknown>;
                              role: "user" | "model" | "tool" | "system";
                          },
                      >,
                  >;
                  sessionId: z.ZodOptional<z.ZodString>;
                  snapshotId: z.ZodOptional<z.ZodString>;
                  state: z.ZodOptional<
                      z.ZodObject<
                          {
                              artifacts: z.ZodOptional<
                                  z.ZodArray<
                                      z.ZodObject<
                                          {
                                              metadata: z.ZodOptional<(...)>;
                                              name: z.ZodOptional<(...)>;
                                              parts: z.ZodArray<(...), (...)>;
                                          },
                                          "strip",
                                          z.ZodTypeAny,
                                          { metadata?: (...)
                                          | (...); name?: (...) | (...); parts: (...)[] },
                                          { metadata?: (...) | (...); name?: (...) | (...); parts: (...)[] },
                                      >,
                                      "many",
                                  >,
                              >;
                              custom: z.ZodOptional<z.ZodAny>;
                              messages: z.ZodOptional<
                                  z.ZodArray<
                                      z.ZodObject<
                                          {
                                              content: z.ZodArray<(...), (...)>;
                                              metadata: z.ZodOptional<(...)>;
                                              role: z.ZodEnum<(...)>;
                                          },
                                          "strip",
                                          z.ZodTypeAny,
                                          {
                                              content: (...)[];
                                              metadata?: (...) | (...);
                                              role: (...) | (...) | (...) | (...);
                                          },
                                          {
                                              content: (...)[];
                                              metadata?: (...) | (...);
                                              role: (...) | (...) | (...) | (...);
                                          },
                                      >,
                                      "many",
                                  >,
                              >;
                              sessionId: z.ZodOptional<z.ZodString>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              artifacts?: {
                                  metadata?: Record<(...), (...)>;
                                  name?: string;
                                  parts: (
                                      (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                  )[];
                              }[];
                              custom?: any;
                              messages?: {
                                  content: (
                                      (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                  )[];
                                  metadata?: Record<(...), (...)>;
                                  role: "user" | "model" | "tool" | "system";
                              }[];
                              sessionId?: string;
                          },
                          {
                              artifacts?: {
                                  metadata?: Record<(...), (...)>;
                                  name?: string;
                                  parts: (
                                      (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                  )[];
                              }[];
                              custom?: any;
                              messages?: {
                                  content: (
                                      (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                  )[];
                                  metadata?: Record<(...), (...)>;
                                  role: "user" | "model" | "tool" | "system";
                              }[];
                              sessionId?: string;
                          },
                      >,
                  >;
              },
              "strip",
              z.ZodTypeAny,
              {
                  artifacts?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media: { contentType?: (...) | (...); url: string };
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: (...) | (...) | (...);
                                  ref?: (...) | (...);
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                  content?: ...;
                              };
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  }[];
                  error?: { details?: any; message: string; status?: string };
                  finishReason?:
                      | "length"
                      | "stop"
                      | "failed"
                      | "other"
                      | "unknown"
                      | "interrupted"
                      | "blocked"
                      | "aborted"
                      | "detached";
                  message?: {
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      metadata?: Record<string, unknown>;
                      role: "user" | "model" | "tool" | "system";
                  };
                  sessionId?: string;
                  snapshotId?: string;
                  state?: {
                      artifacts?: {
                          metadata?: Record<string, any>;
                          name?: string;
                          parts: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                      }[];
                      custom?: any;
                      messages?: {
                          content: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                          metadata?: Record<string, unknown>;
                          role: "user" | "model" | "tool" | "system";
                      }[];
                      sessionId?: string;
                  };
              },
              {
                  artifacts?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media: { contentType?: (...) | (...); url: string };
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: (...) | (...) | (...);
                                  ref?: (...) | (...);
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                  content?: ...;
                              };
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<(...), (...)>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<(...), (...)>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  }[];
                  error?: { details?: any; message: string; status?: string };
                  finishReason?:
                      | "length"
                      | "stop"
                      | "failed"
                      | "other"
                      | "unknown"
                      | "interrupted"
                      | "blocked"
                      | "aborted"
                      | "detached";
                  message?: {
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      metadata?: Record<string, unknown>;
                      role: "user" | "model" | "tool" | "system";
                  };
                  sessionId?: string;
                  snapshotId?: string;
                  state?: {
                      artifacts?: {
                          metadata?: Record<string, any>;
                          name?: string;
                          parts: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                      }[];
                      custom?: any;
                      messages?: {
                          content: (
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning: ...;
                                  resource?: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                              | {
                                  custom?: ...;
                                  data?: ...;
                                  media?: ...;
                                  metadata?: ...;
                                  reasoning?: ...;
                                  resource: ...;
                                  text?: ...;
                                  toolRequest?: ...;
                                  toolResponse?: ...;
                              }
                          )[];
                          metadata?: Record<string, unknown>;
                          role: "user" | "model" | "tool" | "system";
                      }[];
                      sessionId?: string;
                  };
              },
          >,
          z.ZodObject<
              {
                  artifact: z.ZodOptional<
                      z.ZodObject<
                          {
                              metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                              name: z.ZodOptional<z.ZodString>;
                              parts: z.ZodArray<
                                  z.ZodUnion<
                                      [
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                      ],
                                  >,
                                  "many",
                              >;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              metadata?: Record<string, any>;
                              name?: string;
                              parts: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                          },
                          {
                              metadata?: Record<string, any>;
                              name?: string;
                              parts: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                          },
                      >,
                  >;
                  customPatch: z.ZodOptional<
                      z.ZodArray<
                          z.ZodObject<
                              {
                                  from: z.ZodOptional<z.ZodString>;
                                  op: z.ZodEnum<["add", "remove", "replace", "move", "copy", "test"]>;
                                  path: z.ZodString;
                                  value: z.ZodOptional<z.ZodAny>;
                              },
                              "strip",
                              z.ZodTypeAny,
                              {
                                  from?: string;
                                  op: "replace"
                                  | "add"
                                  | "remove"
                                  | "copy"
                                  | "move"
                                  | "test";
                                  path: string;
                                  value?: any;
                              },
                              {
                                  from?: string;
                                  op: "replace"
                                  | "add"
                                  | "remove"
                                  | "copy"
                                  | "move"
                                  | "test";
                                  path: string;
                                  value?: any;
                              },
                          >,
                          "many",
                      >,
                  >;
                  modelChunk: z.ZodOptional<
                      z.ZodObject<
                          {
                              aggregated: z.ZodOptional<z.ZodBoolean>;
                              content: z.ZodArray<
                                  z.ZodUnion<
                                      [
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                      ],
                                  >,
                                  "many",
                              >;
                              custom: z.ZodOptional<z.ZodUnknown>;
                              index: z.ZodOptional<z.ZodNumber>;
                              role: z.ZodOptional<z.ZodEnum<["system", "user", "model", "tool"]>>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              aggregated?: boolean;
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              custom?: unknown;
                              index?: number;
                              role?: "user"
                              | "model"
                              | "tool"
                              | "system";
                          },
                          {
                              aggregated?: boolean;
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              custom?: unknown;
                              index?: number;
                              role?: "user"
                              | "model"
                              | "tool"
                              | "system";
                          },
                      >,
                  >;
                  turnEnd: z.ZodOptional<
                      z.ZodObject<
                          {
                              finishReason: z.ZodOptional<
                                  z.ZodEnum<
                                      [
                                          "stop",
                                          "length",
                                          "blocked",
                                          "interrupted",
                                          "other",
                                          "unknown",
                                          "aborted",
                                          "detached",
                                          "failed",
                                      ],
                                  >,
                              >;
                              snapshotId: z.ZodOptional<z.ZodString>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              finishReason?: | "length"
                              | "stop"
                              | "failed"
                              | "other"
                              | "unknown"
                              | "interrupted"
                              | "blocked"
                              | "aborted"
                              | "detached";
                              snapshotId?: string;
                          },
                          {
                              finishReason?: | "length"
                              | "stop"
                              | "failed"
                              | "other"
                              | "unknown"
                              | "interrupted"
                              | "blocked"
                              | "aborted"
                              | "detached";
                              snapshotId?: string;
                          },
                      >,
                  >;
              },
              "strip",
              z.ZodTypeAny,
              {
                  artifact?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  };
                  customPatch?: {
                      from?: string;
                      op: "replace"
                      | "add"
                      | "remove"
                      | "copy"
                      | "move"
                      | "test";
                      path: string;
                      value?: any;
                  }[];
                  modelChunk?: {
                      aggregated?: boolean;
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      custom?: unknown;
                      index?: number;
                      role?: "user"
                      | "model"
                      | "tool"
                      | "system";
                  };
                  turnEnd?: {
                      finishReason?: | "length"
                      | "stop"
                      | "failed"
                      | "other"
                      | "unknown"
                      | "interrupted"
                      | "blocked"
                      | "aborted"
                      | "detached";
                      snapshotId?: string;
                  };
              },
              {
                  artifact?: {
                      metadata?: Record<string, any>;
                      name?: string;
                      parts: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                  };
                  customPatch?: {
                      from?: string;
                      op: "replace"
                      | "add"
                      | "remove"
                      | "copy"
                      | "move"
                      | "test";
                      path: string;
                      value?: any;
                  }[];
                  modelChunk?: {
                      aggregated?: boolean;
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      custom?: unknown;
                      index?: number;
                      role?: "user"
                      | "model"
                      | "tool"
                      | "system";
                  };
                  turnEnd?: {
                      finishReason?: | "length"
                      | "stop"
                      | "failed"
                      | "other"
                      | "unknown"
                      | "interrupted"
                      | "blocked"
                      | "aborted"
                      | "detached";
                      snapshotId?: string;
                  };
              },
          >,
          z.ZodObject<
              {
                  detach: z.ZodOptional<z.ZodBoolean>;
                  message: z.ZodOptional<
                      z.ZodObject<
                          {
                              content: z.ZodArray<
                                  z.ZodUnion<
                                      [
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest?: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                          z.ZodObject<
                                              (...) & (...),
                                              "strip",
                                              z.ZodTypeAny,
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                              {
                                                  custom?: ...;
                                                  data?: ...;
                                                  media?: ...;
                                                  metadata?: ...;
                                                  reasoning?: ...;
                                                  resource?: ...;
                                                  text?: ...;
                                                  toolRequest: ...;
                                                  toolResponse?: ...;
                                              },
                                          >,
                                      ],
                                  >,
                                  "many",
                              >;
                              metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
                              role: z.ZodEnum<["system", "user", "model", "tool"]>;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              metadata?: Record<string, unknown>;
                              role: "user" | "model" | "tool" | "system";
                          },
                          {
                              content: (
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text: string;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media: { contentType?: (...) | (...); url: string };
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest: {
                                          input?: unknown;
                                          name: string;
                                          partial?: (...) | (...) | (...);
                                          ref?: (...) | (...);
                                      };
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                          content?: ...;
                                      };
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom: Record<string, any>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning: string;
                                      resource?: undefined;
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                                  | {
                                      custom?: Record<(...), (...)>;
                                      data?: unknown;
                                      media?: undefined;
                                      metadata?: Record<(...), (...)>;
                                      reasoning?: undefined;
                                      resource: { uri: string };
                                      text?: undefined;
                                      toolRequest?: undefined;
                                      toolResponse?: undefined;
                                  }
                              )[];
                              metadata?: Record<string, unknown>;
                              role: "user" | "model" | "tool" | "system";
                          },
                      >,
                  >;
                  resume: z.ZodOptional<
                      z.ZodObject<
                          {
                              respond: z.ZodOptional<
                                  z.ZodArray<
                                      z.ZodObject<
                                          {
                                              custom: ...;
                                              data: ...;
                                              media: ...;
                                              metadata: ...;
                                              reasoning: ...;
                                              resource: ...;
                                              text: ...;
                                              toolRequest: ...;
                                          } & { toolResponse: ... },
                                          "strip",
                                          z.ZodTypeAny,
                                          {
                                              custom?: (...) | (...);
                                              data?: unknown;
                                              media?: undefined;
                                              metadata?: (...) | (...);
                                              reasoning?: undefined;
                                              resource?: undefined;
                                              text?: undefined;
                                              toolRequest?: undefined;
                                              toolResponse: (...) & (...);
                                          },
                                          {
                                              custom?: (...)
                                              | (...);
                                              data?: unknown;
                                              media?: undefined;
                                              metadata?: (...) | (...);
                                              reasoning?: undefined;
                                              resource?: undefined;
                                              text?: undefined;
                                              toolRequest?: undefined;
                                              toolResponse: (...) & (...);
                                          },
                                      >,
                                      "many",
                                  >,
                              >;
                              restart: z.ZodOptional<
                                  z.ZodArray<
                                      z.ZodObject<
                                          {
                                              custom: ...;
                                              data: ...;
                                              media: ...;
                                              metadata: ...;
                                              reasoning: ...;
                                              resource: ...;
                                              text: ...;
                                              toolResponse: ...;
                                          } & { toolRequest: ... },
                                          "strip",
                                          z.ZodTypeAny,
                                          {
                                              custom?: (...) | (...);
                                              data?: unknown;
                                              media?: undefined;
                                              metadata?: (...) | (...);
                                              reasoning?: undefined;
                                              resource?: undefined;
                                              text?: undefined;
                                              toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                              toolResponse?: undefined;
                                          },
                                          {
                                              custom?: (...)
                                              | (...);
                                              data?: unknown;
                                              media?: undefined;
                                              metadata?: (...) | (...);
                                              reasoning?: undefined;
                                              resource?: undefined;
                                              text?: undefined;
                                              toolRequest: { input?: ...; name: ...; partial?: ...; ref?: ... };
                                              toolResponse?: undefined;
                                          },
                                      >,
                                      "many",
                                  >,
                              >;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              respond?: {
                                  custom?: Record<(...), (...)>;
                                  data?: unknown;
                                  media?: undefined;
                                  metadata?: Record<(...), (...)>;
                                  reasoning?: undefined;
                                  resource?: undefined;
                                  text?: undefined;
                                  toolRequest?: undefined;
                                  toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                      content?: ...;
                                  };
                              }[];
                              restart?: {
                                  custom?: Record<(...), (...)>;
                                  data?: unknown;
                                  media?: undefined;
                                  metadata?: Record<(...), (...)>;
                                  reasoning?: undefined;
                                  resource?: undefined;
                                  text?: undefined;
                                  toolRequest: {
                                      input?: unknown;
                                      name: string;
                                      partial?: (...) | (...) | (...);
                                      ref?: (...) | (...);
                                  };
                                  toolResponse?: undefined;
                              }[];
                          },
                          {
                              respond?: {
                                  custom?: Record<(...), (...)>;
                                  data?: unknown;
                                  media?: undefined;
                                  metadata?: Record<(...), (...)>;
                                  reasoning?: undefined;
                                  resource?: undefined;
                                  text?: undefined;
                                  toolRequest?: undefined;
                                  toolResponse: { name: ...; output?: ...; ref?: ... } & {
                                      content?: ...;
                                  };
                              }[];
                              restart?: {
                                  custom?: Record<(...), (...)>;
                                  data?: unknown;
                                  media?: undefined;
                                  metadata?: Record<(...), (...)>;
                                  reasoning?: undefined;
                                  resource?: undefined;
                                  text?: undefined;
                                  toolRequest: {
                                      input?: unknown;
                                      name: string;
                                      partial?: (...) | (...) | (...);
                                      ref?: (...) | (...);
                                  };
                                  toolResponse?: undefined;
                              }[];
                          },
                      >,
                  >;
              },
              "strip",
              z.ZodTypeAny,
              {
                  detach?: boolean;
                  message?: {
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      metadata?: Record<string, unknown>;
                      role: "user" | "model" | "tool" | "system";
                  };
                  resume?: {
                      respond?: {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                              content?: (...) | (...);
                          };
                      }[];
                      restart?: {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest: {
                              input?: unknown;
                              name: string;
                              partial?: boolean;
                              ref?: string;
                          };
                          toolResponse?: undefined;
                      }[];
                  };
              },
              {
                  detach?: boolean;
                  message?: {
                      content: (
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text: string;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media: { contentType?: string; url: string };
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest: {
                                  input?: unknown;
                                  name: string;
                                  partial?: boolean;
                                  ref?: string;
                              };
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                  content?: (...) | (...);
                              };
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom: Record<string, any>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning: string;
                              resource?: undefined;
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                          | {
                              custom?: Record<string, unknown>;
                              data?: unknown;
                              media?: undefined;
                              metadata?: Record<string, unknown>;
                              reasoning?: undefined;
                              resource: { uri: string };
                              text?: undefined;
                              toolRequest?: undefined;
                              toolResponse?: undefined;
                          }
                      )[];
                      metadata?: Record<string, unknown>;
                      role: "user" | "model" | "tool" | "system";
                  };
                  resume?: {
                      respond?: {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest?: undefined;
                          toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                              content?: (...) | (...);
                          };
                      }[];
                      restart?: {
                          custom?: Record<string, unknown>;
                          data?: unknown;
                          media?: undefined;
                          metadata?: Record<string, unknown>;
                          reasoning?: undefined;
                          resource?: undefined;
                          text?: undefined;
                          toolRequest: {
                              input?: unknown;
                              name: string;
                              partial?: boolean;
                              ref?: string;
                          };
                          toolResponse?: undefined;
                      }[];
                  };
              },
          >,
      >