vercelAIMessageSchema: ZodDiscriminatedUnion<
    "role",
    [
        ZodObject<
            { content: ZodString; role: ZodLiteral<"system"> },
            "strip",
            ZodTypeAny,
            { content: string; role: "system" },
            { content: string; role: "system" },
        >,
        ZodObject<
            {
                content: ZodUnion<
                    [
                        ZodArray<
                            ZodUnion<
                                [
                                    ZodObject<
                                        { text: ...; type: ... },
                                        "strip",
                                        ZodTypeAny,
                                        { text: ...; type: ... },
                                        { text: ...; type: ... },
                                    >,
                                    ZodObject<
                                        { image: ...; mimeType: ...; type: ... },
                                        "strip",
                                        ZodTypeAny,
                                        { image: ...; mimeType?: ...; type: ... },
                                        { image: ...; mimeType?: ...; type: ... },
                                    >,
                                ],
                            >,
                            "many",
                        >,
                        ZodString,
                    ],
                >;
                role: ZodLiteral<"user">;
            },
            "strip",
            ZodTypeAny,
            {
                content: | string
                | (
                    | { text: string; type: "text" }
                    | { image: string; mimeType?: string; type: "image" }
                )[];
                role: "user";
            },
            {
                content: | string
                | (
                    | { text: string; type: "text" }
                    | { image: string; mimeType?: string; type: "image" }
                )[];
                role: "user";
            },
        >,
        ZodObject<
            {
                content: ZodUnion<
                    [
                        ZodArray<
                            ZodUnion<
                                [
                                    ZodObject<
                                        { text: ...; type: ... },
                                        "strip",
                                        ZodTypeAny,
                                        { text: ...; type: ... },
                                        { text: ...; type: ... },
                                    >,
                                    ZodObject<
                                        { args: ...; toolCallId: ...; toolName: ...; type: ... },
                                        "strip",
                                        ZodTypeAny,
                                        { args: ...; toolCallId: ...; toolName: ...; type: ... },
                                        { args: ...; toolCallId: ...; toolName: ...; type: ... },
                                    >,
                                ],
                            >,
                            "many",
                        >,
                        ZodString,
                    ],
                >;
                role: ZodLiteral<"assistant">;
            },
            "strip",
            ZodTypeAny,
            {
                content: | string
                | (
                    | { text: string; type: "text" }
                    | {
                        args: JSONLiteral;
                        toolCallId: string;
                        toolName: string;
                        type: "tool-call";
                    }
                )[];
                role: "assistant";
            },
            {
                content: | string
                | (
                    | { text: string; type: "text" }
                    | {
                        args: JSONLiteral;
                        toolCallId: string;
                        toolName: string;
                        type: "tool-call";
                    }
                )[];
                role: "assistant";
            },
        >,
        ZodObject<
            {
                content: ZodArray<
                    ZodObject<
                        {
                            result: ZodType<JSONLiteral, ZodTypeDef, JSONLiteral>;
                            toolCallId: ZodString;
                            toolName: ZodString;
                            type: ZodLiteral<"tool-result">;
                        },
                        "strip",
                        ZodTypeAny,
                        {
                            result: JSONLiteral;
                            toolCallId: string;
                            toolName: string;
                            type: "tool-result";
                        },
                        {
                            result: JSONLiteral;
                            toolCallId: string;
                            toolName: string;
                            type: "tool-result";
                        },
                    >,
                    "many",
                >;
                role: ZodLiteral<"tool">;
            },
            "strip",
            ZodTypeAny,
            {
                content: {
                    result: JSONLiteral;
                    toolCallId: string;
                    toolName: string;
                    type: "tool-result";
                }[];
                role: "tool";
            },
            {
                content: {
                    result: JSONLiteral;
                    toolCallId: string;
                    toolName: string;
                    type: "tool-result";
                }[];
                role: "tool";
            },
        >,
    ],
> = ...