openAIMessagesSchema: ZodArray<
    ZodDiscriminatedUnion<
        "role",
        [
            ZodObject<
                {
                    content: ZodUnion<
                        [
                            ZodArray<
                                ZodObject<
                                    { text: ZodString; type: ZodLiteral<(...)> },
                                    "strip",
                                    ZodTypeAny,
                                    { text: string; type: "text" },
                                    { text: string; type: "text" },
                                >,
                                "many",
                            >,
                            ZodString,
                        ],
                    >;
                    name: ZodOptional<ZodString>;
                    role: ZodLiteral<"assistant">;
                    tool_call_id: ZodOptional<ZodString>;
                    tool_calls: ZodOptional<
                        ZodArray<
                            ZodObject<
                                {
                                    function: ZodObject<
                                        { arguments: ...; name: ... },
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<(...), (...), (...)>,
                                        objectInputType<(...), (...), (...)>,
                                    >;
                                    id: ZodString;
                                    type: ZodEffects<ZodOptional<(...)>, "function", (...) | (...)>;
                                },
                                "strip",
                                ZodTypeAny,
                                {
                                    function: { arguments: ...; name: ... } & { [k: ...]: ... };
                                    id: string;
                                    type: "function";
                                },
                                {
                                    function: { arguments: ...; name: ... } & { [k: ...]: ... };
                                    id: string;
                                    type?: "function";
                                },
                            >,
                            "many",
                        >,
                    >;
                },
                "passthrough",
                ZodTypeAny,
                objectOutputType<
                    {
                        content: ZodUnion<
                            [
                                ZodArray<
                                    ZodObject<
                                        { text: ...; type: ... },
                                        "strip",
                                        ZodTypeAny,
                                        { text: ...; type: ... },
                                        { text: ...; type: ... },
                                    >,
                                    "many",
                                >,
                                ZodString,
                            ],
                        >;
                        name: ZodOptional<ZodString>;
                        role: ZodLiteral<"assistant">;
                        tool_call_id: ZodOptional<ZodString>;
                        tool_calls: ZodOptional<
                            ZodArray<
                                ZodObject<
                                    {
                                        function: ZodObject<(...), (...), (...), (...), (...)>;
                                        id: ZodString;
                                        type: ZodEffects<(...), (...), (...)>;
                                    },
                                    "strip",
                                    ZodTypeAny,
                                    { function: (...) & (...); id: string; type: "function" },
                                    { function: (...) & (...); id: string; type?: (...) | (...) },
                                >,
                                "many",
                            >,
                        >;
                    },
                    ZodTypeAny,
                    "passthrough",
                >,
                objectInputType<
                    {
                        content: ZodUnion<
                            [
                                ZodArray<
                                    ZodObject<
                                        { text: ...; type: ... },
                                        "strip",
                                        ZodTypeAny,
                                        { text: ...; type: ... },
                                        { text: ...; type: ... },
                                    >,
                                    "many",
                                >,
                                ZodString,
                            ],
                        >;
                        name: ZodOptional<ZodString>;
                        role: ZodLiteral<"assistant">;
                        tool_call_id: ZodOptional<ZodString>;
                        tool_calls: ZodOptional<
                            ZodArray<
                                ZodObject<
                                    {
                                        function: ZodObject<(...), (...), (...), (...), (...)>;
                                        id: ZodString;
                                        type: ZodEffects<(...), (...), (...)>;
                                    },
                                    "strip",
                                    ZodTypeAny,
                                    { function: (...) & (...); id: string; type: "function" },
                                    { function: (...) & (...); id: string; type?: (...) | (...) },
                                >,
                                "many",
                            >,
                        >;
                    },
                    ZodTypeAny,
                    "passthrough",
                >,
            >,
            ZodObject<
                {
                    content: ZodUnion<
                        [
                            ZodArray<
                                ZodObject<
                                    { text: ZodString; type: ZodLiteral<(...)> },
                                    "strip",
                                    ZodTypeAny,
                                    { text: string; type: "text" },
                                    { text: string; type: "text" },
                                >,
                                "many",
                            >,
                            ZodString,
                        ],
                    >;
                    role: ZodLiteral<"tool">;
                    tool_call_id: ZodString;
                },
                "passthrough",
                ZodTypeAny,
                objectOutputType<
                    {
                        content: ZodUnion<
                            [
                                ZodArray<
                                    ZodObject<
                                        { text: ...; type: ... },
                                        "strip",
                                        ZodTypeAny,
                                        { text: ...; type: ... },
                                        { text: ...; type: ... },
                                    >,
                                    "many",
                                >,
                                ZodString,
                            ],
                        >;
                        role: ZodLiteral<"tool">;
                        tool_call_id: ZodString;
                    },
                    ZodTypeAny,
                    "passthrough",
                >,
                objectInputType<
                    {
                        content: ZodUnion<
                            [
                                ZodArray<
                                    ZodObject<
                                        { text: ...; type: ... },
                                        "strip",
                                        ZodTypeAny,
                                        { text: ...; type: ... },
                                        { text: ...; type: ... },
                                    >,
                                    "many",
                                >,
                                ZodString,
                            ],
                        >;
                        role: ZodLiteral<"tool">;
                        tool_call_id: ZodString;
                    },
                    ZodTypeAny,
                    "passthrough",
                >,
            >,
            ZodObject<
                {
                    content: ZodNullable<ZodString>;
                    name: ZodString;
                    role: ZodLiteral<"function">;
                },
                "passthrough",
                ZodTypeAny,
                objectOutputType<
                    {
                        content: ZodNullable<ZodString>;
                        name: ZodString;
                        role: ZodLiteral<"function">;
                    },
                    ZodTypeAny,
                    "passthrough",
                >,
                objectInputType<
                    {
                        content: ZodNullable<ZodString>;
                        name: ZodString;
                        role: ZodLiteral<"function">;
                    },
                    ZodTypeAny,
                    "passthrough",
                >,
            >,
        ],
    >,
    "many",
> = ...