phoenixToolDefinitionToOpenAI: ZodEffects<
    ZodObject<
        {
            function: ZodObject<
                {
                    description: ZodOptional<ZodString>;
                    name: ZodString;
                    parameters: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
                    strict: ZodOptional<ZodBoolean>;
                },
                "strip",
                ZodTypeAny,
                {
                    description?: string;
                    name: string;
                    parameters?: Record<string, unknown>;
                    strict?: boolean;
                },
                {
                    description?: string;
                    name: string;
                    parameters?: Record<string, unknown>;
                    strict?: boolean;
                },
            >;
            type: ZodLiteral<"function">;
        },
        "strip",
        ZodTypeAny,
        {
            function: {
                description?: string;
                name: string;
                parameters?: Record<string, unknown>;
                strict?: boolean;
            };
            type: "function";
        },
        {
            function: {
                description?: string;
                name: string;
                parameters?: Record<string, unknown>;
                strict?: boolean;
            };
            type: "function";
        },
    >,
    objectOutputType<
        {
            function: ZodObject<
                {
                    description: ZodOptional<ZodString>;
                    name: ZodString;
                    parameters: ZodObject<
                        {
                            additionalProperties: ZodOptional<ZodBoolean>;
                            properties: ZodRecord<ZodString, ZodUnion<[(...), (...)]>>;
                            required: ZodOptional<ZodArray<ZodString, "many">>;
                            type: ZodLiteral<"object">;
                        } & { strict: ZodOptional<ZodBoolean> },
                        "passthrough",
                        ZodTypeAny,
                        objectOutputType<
                            {
                                additionalProperties: ZodOptional<ZodBoolean>;
                                properties: ZodRecord<ZodString, ZodUnion<(...)>>;
                                required: ZodOptional<ZodArray<(...), (...)>>;
                                type: ZodLiteral<"object">;
                            } & { strict: ZodOptional<ZodBoolean> },
                            ZodTypeAny,
                            "passthrough",
                        >,
                        objectInputType<
                            {
                                additionalProperties: ZodOptional<ZodBoolean>;
                                properties: ZodRecord<ZodString, ZodUnion<(...)>>;
                                required: ZodOptional<ZodArray<(...), (...)>>;
                                type: ZodLiteral<"object">;
                            } & { strict: ZodOptional<ZodBoolean> },
                            ZodTypeAny,
                            "passthrough",
                        >,
                    >;
                },
                "passthrough",
                ZodTypeAny,
                objectOutputType<
                    {
                        description: ZodOptional<ZodString>;
                        name: ZodString;
                        parameters: ZodObject<
                            {
                                additionalProperties: ZodOptional<ZodBoolean>;
                                properties: ZodRecord<ZodString, ZodUnion<(...)>>;
                                required: ZodOptional<ZodArray<(...), (...)>>;
                                type: ZodLiteral<"object">;
                            } & { strict: ZodOptional<ZodBoolean> },
                            "passthrough",
                            ZodTypeAny,
                            objectOutputType<
                                {
                                    additionalProperties: ZodOptional<(...)>;
                                    properties: ZodRecord<(...), (...)>;
                                    required: ZodOptional<(...)>;
                                    type: ZodLiteral<(...)>;
                                } & { strict: ZodOptional<(...)> },
                                ZodTypeAny,
                                "passthrough",
                            >,
                            objectInputType<
                                {
                                    additionalProperties: ZodOptional<(...)>;
                                    properties: ZodRecord<(...), (...)>;
                                    required: ZodOptional<(...)>;
                                    type: ZodLiteral<(...)>;
                                } & { strict: ZodOptional<(...)> },
                                ZodTypeAny,
                                "passthrough",
                            >,
                        >;
                    },
                    ZodTypeAny,
                    "passthrough",
                >,
                objectInputType<
                    {
                        description: ZodOptional<ZodString>;
                        name: ZodString;
                        parameters: ZodObject<
                            {
                                additionalProperties: ZodOptional<ZodBoolean>;
                                properties: ZodRecord<ZodString, ZodUnion<(...)>>;
                                required: ZodOptional<ZodArray<(...), (...)>>;
                                type: ZodLiteral<"object">;
                            } & { strict: ZodOptional<ZodBoolean> },
                            "passthrough",
                            ZodTypeAny,
                            objectOutputType<
                                {
                                    additionalProperties: ZodOptional<(...)>;
                                    properties: ZodRecord<(...), (...)>;
                                    required: ZodOptional<(...)>;
                                    type: ZodLiteral<(...)>;
                                } & { strict: ZodOptional<(...)> },
                                ZodTypeAny,
                                "passthrough",
                            >,
                            objectInputType<
                                {
                                    additionalProperties: ZodOptional<(...)>;
                                    properties: ZodRecord<(...), (...)>;
                                    required: ZodOptional<(...)>;
                                    type: ZodLiteral<(...)>;
                                } & { strict: ZodOptional<(...)> },
                                ZodTypeAny,
                                "passthrough",
                            >,
                        >;
                    },
                    ZodTypeAny,
                    "passthrough",
                >,
            >;
            type: ZodLiteral<"function">;
        },
        ZodTypeAny,
        "passthrough",
    >,
    {
        function: {
            description?: string;
            name: string;
            parameters?: Record<string, unknown>;
            strict?: boolean;
        };
        type: "function";
    },
> = ...