import { z } from 'zod/v3';

declare const TRANSACTION_ID_FIELD = "_xact_id";
declare const OBJECT_DELETE_FIELD = "_object_delete";
declare const CREATED_FIELD = "created";
declare const ID_FIELD = "id";
declare const IS_MERGE_FIELD = "_is_merge";
declare const MERGE_PATHS_FIELD = "_merge_paths";
declare const ARRAY_DELETE_FIELD = "_array_delete";
declare const AUDIT_SOURCE_FIELD = "_audit_source";
declare const AUDIT_METADATA_FIELD = "_audit_metadata";
declare const VALID_SOURCES: readonly ["app", "api", "external"];
type Source = (typeof VALID_SOURCES)[number];
declare const PARENT_ID_FIELD = "_parent_id";
declare const ASYNC_SCORING_CONTROL_FIELD = "_async_scoring_control";
declare const SKIP_ASYNC_SCORING_FIELD = "_skip_async_scoring";
declare const OBJECT_ID_KEYS: readonly ["experiment_id", "dataset_id", "prompt_session_id", "project_id", "log_id", "function_data"];
type TransactionId = string;

declare const AsyncScoringControl: z.ZodUnion<[z.ZodObject<{
    kind: z.ZodLiteral<"score_update">;
    token: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    kind: "score_update";
    token?: string | undefined;
}, {
    kind: "score_update";
    token?: string | undefined;
}>, z.ZodObject<{
    kind: z.ZodLiteral<"state_override">;
    state: z.ZodUnion<[z.ZodObject<{
        status: z.ZodLiteral<"enabled">;
        token: z.ZodString;
        function_ids: z.ZodArray<z.ZodUnknown, "many">;
        skip_logging: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        status: "enabled";
        token: string;
        function_ids: unknown[];
        skip_logging?: boolean | null | undefined;
    }, {
        status: "enabled";
        token: string;
        function_ids: unknown[];
        skip_logging?: boolean | null | undefined;
    }>, z.ZodObject<{
        status: z.ZodLiteral<"disabled">;
    }, "strip", z.ZodTypeAny, {
        status: "disabled";
    }, {
        status: "disabled";
    }>, z.ZodNull, z.ZodNull]>;
}, "strip", z.ZodTypeAny, {
    kind: "state_override";
    state: {
        status: "enabled";
        token: string;
        function_ids: unknown[];
        skip_logging?: boolean | null | undefined;
    } | {
        status: "disabled";
    } | null;
}, {
    kind: "state_override";
    state: {
        status: "enabled";
        token: string;
        function_ids: unknown[];
        skip_logging?: boolean | null | undefined;
    } | {
        status: "disabled";
    } | null;
}>, z.ZodObject<{
    kind: z.ZodLiteral<"state_force_reselect">;
}, "strip", z.ZodTypeAny, {
    kind: "state_force_reselect";
}, {
    kind: "state_force_reselect";
}>, z.ZodObject<{
    kind: z.ZodLiteral<"state_enabled_force_rescore">;
}, "strip", z.ZodTypeAny, {
    kind: "state_enabled_force_rescore";
}, {
    kind: "state_enabled_force_rescore";
}>, z.ZodObject<{
    kind: z.ZodLiteral<"add_triggered_functions">;
    triggered_function_ids: z.ZodArray<z.ZodUnknown, "many">;
}, "strip", z.ZodTypeAny, {
    kind: "add_triggered_functions";
    triggered_function_ids: unknown[];
}, {
    kind: "add_triggered_functions";
    triggered_function_ids: unknown[];
}>, z.ZodObject<{
    kind: z.ZodLiteral<"complete_triggered_functions">;
    function_ids: z.ZodArray<z.ZodUnknown, "many">;
    triggered_xact_id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    function_ids: unknown[];
    kind: "complete_triggered_functions";
    triggered_xact_id: string;
}, {
    function_ids: unknown[];
    kind: "complete_triggered_functions";
    triggered_xact_id: string;
}>]>;
type AsyncScoringControlType = z.infer<typeof AsyncScoringControl>;
declare const GitMetadataSettings: z.ZodObject<{
    collect: z.ZodEnum<["all", "none", "some"]>;
    fields: z.ZodOptional<z.ZodArray<z.ZodEnum<["commit", "branch", "tag", "dirty", "author_name", "author_email", "commit_message", "commit_time", "git_diff"]>, "many">>;
}, "strip", z.ZodTypeAny, {
    collect: "some" | "none" | "all";
    fields?: ("dirty" | "commit" | "branch" | "tag" | "author_name" | "author_email" | "commit_message" | "commit_time" | "git_diff")[] | undefined;
}, {
    collect: "some" | "none" | "all";
    fields?: ("dirty" | "commit" | "branch" | "tag" | "author_name" | "author_email" | "commit_message" | "commit_time" | "git_diff")[] | undefined;
}>;
type GitMetadataSettingsType = z.infer<typeof GitMetadataSettings>;
declare const InvokeFunction: z.ZodIntersection<z.ZodUnion<[z.ZodObject<{
    function_id: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    function_id: string;
    version?: string | undefined;
}, {
    function_id: string;
    version?: string | undefined;
}>, z.ZodObject<{
    project_name: z.ZodString;
    slug: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    slug: string;
    project_name: string;
    version?: string | undefined;
}, {
    slug: string;
    project_name: string;
    version?: string | undefined;
}>, z.ZodObject<{
    global_function: z.ZodString;
}, "strip", z.ZodTypeAny, {
    global_function: string;
}, {
    global_function: string;
}>, z.ZodObject<{
    prompt_session_id: z.ZodString;
    prompt_session_function_id: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    prompt_session_id: string;
    prompt_session_function_id: string;
    version?: string | undefined;
}, {
    prompt_session_id: string;
    prompt_session_function_id: string;
    version?: string | undefined;
}>, z.ZodObject<{
    inline_context: z.ZodObject<{
        runtime: z.ZodEnum<["node", "python"]>;
        version: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        runtime: "node" | "python";
        version: string;
    }, {
        runtime: "node" | "python";
        version: string;
    }>;
    code: z.ZodString;
    name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    code: string;
    inline_context: {
        runtime: "node" | "python";
        version: string;
    };
    name?: string | null | undefined;
}, {
    code: string;
    inline_context: {
        runtime: "node" | "python";
        version: string;
    };
    name?: string | null | undefined;
}>, z.ZodObject<{
    inline_prompt: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"completion">;
            content: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "completion";
            content: string;
        }, {
            type: "completion";
            content: string;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"chat">;
            messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"system">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, z.ZodObject<{
                    image_url: z.ZodObject<{
                        url: z.ZodString;
                        detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                    }, "strip", z.ZodTypeAny, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }>;
                    type: z.ZodLiteral<"image_url">;
                }, "strip", z.ZodTypeAny, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }>]>, "many">]>;
                role: z.ZodLiteral<"user">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            }, {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"assistant">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">, z.ZodNull]>>;
                function_call: z.ZodOptional<z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>>;
                name: z.ZodOptional<z.ZodString>;
                tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    function: z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>;
                    type: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }>, "many">>;
                reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    content: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    content?: string | undefined;
                }, {
                    id?: string | undefined;
                    content?: string | undefined;
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            }, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"tool">;
                tool_call_id: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            }, {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                name: z.ZodString;
                role: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                role: "function";
                name: string;
                content: string | null;
            }, {
                role: "function";
                name: string;
                content: string | null;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"developer">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"model">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                role: "model";
                content?: string | null | undefined;
            }, {
                role: "model";
                content?: string | null | undefined;
            }>]>, "many">;
            tools: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }>, z.ZodNull]>>;
        options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            model: z.ZodOptional<z.ZodString>;
            params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>]>>;
            position: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }, {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }>, z.ZodNull]>>;
        parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"llm_classifier">;
            use_cot: z.ZodBoolean;
            choice_scores: z.ZodRecord<z.ZodString, z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        }, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        }>, z.ZodNull]>>;
        tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"function">;
            id: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            id: string;
            type: "function";
        }, {
            id: string;
            type: "function";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"global">;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "global";
            name: string;
        }, {
            type: "global";
            name: string;
        }>]>, "many">, z.ZodNull]>>;
        origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            prompt_id: z.ZodOptional<z.ZodString>;
            project_id: z.ZodOptional<z.ZodString>;
            prompt_version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }>, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "completion";
            content: string;
        } | {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        } | null | undefined;
        tool_functions?: ({
            id: string;
            type: "function";
        } | {
            type: "global";
            name: string;
        })[] | null | undefined;
    }, {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "completion";
            content: string;
        } | {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        } | null | undefined;
        tool_functions?: ({
            id: string;
            type: "function";
        } | {
            type: "global";
            name: string;
        })[] | null | undefined;
    }>>;
    inline_function: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
    function_type: z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool"]>>;
    name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    inline_function: {} & {
        [k: string]: unknown;
    };
    name?: string | null | undefined;
    function_type?: "tool" | "task" | "scorer" | "llm" | undefined;
    inline_prompt?: {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "completion";
            content: string;
        } | {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        } | null | undefined;
        tool_functions?: ({
            id: string;
            type: "function";
        } | {
            type: "global";
            name: string;
        })[] | null | undefined;
    } | undefined;
}, {
    inline_function: {} & {
        [k: string]: unknown;
    };
    name?: string | null | undefined;
    function_type?: "tool" | "task" | "scorer" | "llm" | undefined;
    inline_prompt?: {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "completion";
            content: string;
        } | {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        } | null | undefined;
        tool_functions?: ({
            id: string;
            type: "function";
        } | {
            type: "global";
            name: string;
        })[] | null | undefined;
    } | undefined;
}>, z.ZodObject<{
    inline_prompt: z.ZodObject<{
        prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"completion">;
            content: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "completion";
            content: string;
        }, {
            type: "completion";
            content: string;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"chat">;
            messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"system">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, z.ZodObject<{
                    image_url: z.ZodObject<{
                        url: z.ZodString;
                        detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                    }, "strip", z.ZodTypeAny, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }>;
                    type: z.ZodLiteral<"image_url">;
                }, "strip", z.ZodTypeAny, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }>]>, "many">]>;
                role: z.ZodLiteral<"user">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            }, {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"assistant">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">, z.ZodNull]>>;
                function_call: z.ZodOptional<z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>>;
                name: z.ZodOptional<z.ZodString>;
                tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    function: z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>;
                    type: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }>, "many">>;
                reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    content: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    content?: string | undefined;
                }, {
                    id?: string | undefined;
                    content?: string | undefined;
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            }, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"tool">;
                tool_call_id: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            }, {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                name: z.ZodString;
                role: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                role: "function";
                name: string;
                content: string | null;
            }, {
                role: "function";
                name: string;
                content: string | null;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"developer">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"model">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                role: "model";
                content?: string | null | undefined;
            }, {
                role: "model";
                content?: string | null | undefined;
            }>]>, "many">;
            tools: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }>, z.ZodNull]>>;
        options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            model: z.ZodOptional<z.ZodString>;
            params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>]>>;
            position: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }, {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }>, z.ZodNull]>>;
        parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"llm_classifier">;
            use_cot: z.ZodBoolean;
            choice_scores: z.ZodRecord<z.ZodString, z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        }, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        }>, z.ZodNull]>>;
        tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"function">;
            id: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            id: string;
            type: "function";
        }, {
            id: string;
            type: "function";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"global">;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "global";
            name: string;
        }, {
            type: "global";
            name: string;
        }>]>, "many">, z.ZodNull]>>;
        origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            prompt_id: z.ZodOptional<z.ZodString>;
            project_id: z.ZodOptional<z.ZodString>;
            prompt_version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }>, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "completion";
            content: string;
        } | {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        } | null | undefined;
        tool_functions?: ({
            id: string;
            type: "function";
        } | {
            type: "global";
            name: string;
        })[] | null | undefined;
    }, {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "completion";
            content: string;
        } | {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        } | null | undefined;
        tool_functions?: ({
            id: string;
            type: "function";
        } | {
            type: "global";
            name: string;
        })[] | null | undefined;
    }>;
    function_type: z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool"]>>;
    name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    inline_prompt: {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "completion";
            content: string;
        } | {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        } | null | undefined;
        tool_functions?: ({
            id: string;
            type: "function";
        } | {
            type: "global";
            name: string;
        })[] | null | undefined;
    };
    name?: string | null | undefined;
    function_type?: "tool" | "task" | "scorer" | "llm" | undefined;
}, {
    inline_prompt: {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "completion";
            content: string;
        } | {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    id: string;
                    type: "function";
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores: Record<string, number>;
        } | null | undefined;
        tool_functions?: ({
            id: string;
            type: "function";
        } | {
            type: "global";
            name: string;
        })[] | null | undefined;
    };
    name?: string | null | undefined;
    function_type?: "tool" | "task" | "scorer" | "llm" | undefined;
}>]>, z.ZodObject<{
    input: z.ZodOptional<z.ZodUnknown>;
    expected: z.ZodOptional<z.ZodUnknown>;
    metadata: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodNull]>>;
    tags: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
    messages: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"system">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, z.ZodObject<{
            image_url: z.ZodObject<{
                url: z.ZodString;
                detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
            }, "strip", z.ZodTypeAny, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }>;
            type: z.ZodLiteral<"image_url">;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }>]>, "many">]>;
        role: z.ZodLiteral<"user">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        })[];
        name?: string | undefined;
    }, {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        })[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">, z.ZodNull]>>;
        function_call: z.ZodOptional<z.ZodObject<{
            arguments: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            arguments: string;
        }, {
            name: string;
            arguments: string;
        }>>;
        name: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            function: z.ZodObject<{
                arguments: z.ZodString;
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                arguments: string;
            }, {
                name: string;
                arguments: string;
            }>;
            type: z.ZodLiteral<"function">;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            };
            id: string;
            type: "function";
        }, {
            function: {
                name: string;
                arguments: string;
            };
            id: string;
            type: "function";
        }>, "many">>;
        reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            content: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            content?: string | undefined;
        }, {
            id?: string | undefined;
            content?: string | undefined;
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            id: string;
            type: "function";
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
    }, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            id: string;
            type: "function";
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"tool">;
        tool_call_id: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    }, {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
        name: z.ZodString;
        role: z.ZodLiteral<"function">;
    }, "strip", z.ZodTypeAny, {
        role: "function";
        name: string;
        content: string | null;
    }, {
        role: "function";
        name: string;
        content: string | null;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"developer">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"model">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        role: "model";
        content?: string | null | undefined;
    }, {
        role: "model";
        content?: string | null | undefined;
    }>]>, "many">>;
    parent: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        object_type: z.ZodEnum<["project_logs", "experiment", "playground_logs"]>;
        object_id: z.ZodString;
        row_ids: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            id: z.ZodString;
            span_id: z.ZodString;
            root_span_id: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            id: string;
            span_id: string;
            root_span_id: string;
        }, {
            id: string;
            span_id: string;
            root_span_id: string;
        }>, z.ZodNull]>>;
        propagated_event: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        object_type: "experiment" | "project_logs" | "playground_logs";
        object_id: string;
        row_ids?: {
            id: string;
            span_id: string;
            root_span_id: string;
        } | null | undefined;
        propagated_event?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    }, {
        object_type: "experiment" | "project_logs" | "playground_logs";
        object_id: string;
        row_ids?: {
            id: string;
            span_id: string;
            root_span_id: string;
        } | null | undefined;
        propagated_event?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    }>, z.ZodString]>>;
    stream: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
    mode: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["auto", "parallel"]>, z.ZodNull]>>;
    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    expected?: unknown;
    metadata?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    strict?: boolean | null | undefined;
    input?: unknown;
    tags?: string[] | null | undefined;
    messages?: ({
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            id: string;
            type: "function";
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[] | undefined;
    parent?: string | {
        object_type: "experiment" | "project_logs" | "playground_logs";
        object_id: string;
        row_ids?: {
            id: string;
            span_id: string;
            root_span_id: string;
        } | null | undefined;
        propagated_event?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    } | undefined;
    stream?: boolean | null | undefined;
    mode?: "auto" | "parallel" | null | undefined;
}, {
    expected?: unknown;
    metadata?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    strict?: boolean | null | undefined;
    input?: unknown;
    tags?: string[] | null | undefined;
    messages?: ({
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            id: string;
            type: "function";
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[] | undefined;
    parent?: string | {
        object_type: "experiment" | "project_logs" | "playground_logs";
        object_id: string;
        row_ids?: {
            id: string;
            span_id: string;
            root_span_id: string;
        } | null | undefined;
        propagated_event?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    } | undefined;
    stream?: boolean | null | undefined;
    mode?: "auto" | "parallel" | null | undefined;
}>>;
type InvokeFunctionType = z.infer<typeof InvokeFunction>;
declare const ObjectReference: z.ZodObject<{
    object_type: z.ZodEnum<["project_logs", "experiment", "dataset", "prompt", "function", "prompt_session"]>;
    object_id: z.ZodString;
    id: z.ZodString;
    _xact_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    created: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    id: string;
    object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
    object_id: string;
    _xact_id?: string | null | undefined;
    created?: string | null | undefined;
}, {
    id: string;
    object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
    object_id: string;
    _xact_id?: string | null | undefined;
    created?: string | null | undefined;
}>;
type ObjectReferenceType = z.infer<typeof ObjectReference>;

type IdField = {
    id: string;
};
type InputField = {
    input: unknown;
};
type OtherExperimentLogFields = {
    output: unknown;
    expected: unknown;
    error: unknown;
    tags: string[];
    scores: Record<string, number | null>;
    classifications?: Record<string, {
        id: string;
        label?: string;
    }[]>;
    metadata: Record<string, unknown>;
    metrics: Record<string, unknown>;
    datasetRecordId: string;
    origin: ObjectReferenceType;
    span_attributes: Record<string, unknown>;
    [ASYNC_SCORING_CONTROL_FIELD]: AsyncScoringControlType;
    [MERGE_PATHS_FIELD]: string[][];
    [SKIP_ASYNC_SCORING_FIELD]: boolean;
};
type ExperimentLogPartialArgs = Partial<OtherExperimentLogFields> & Partial<InputField>;
type ExperimentLogFullArgs = Partial<Omit<OtherExperimentLogFields, "output" | "scores">> & Required<Pick<OtherExperimentLogFields, "output" | "scores">> & Partial<InputField> & Partial<IdField>;
type LogFeedbackFullArgs = IdField & Partial<Omit<OtherExperimentLogFields, "output" | "metrics" | "datasetRecordId"> & {
    comment: string;
    source: Source;
}>;
interface ParentExperimentIds {
    experiment_id: string;
}
interface ParentProjectLogIds {
    project_id: string;
    log_id: "g";
}
interface ParentPlaygroundLogIds {
    prompt_session_id: string;
    log_id: "x";
}
type LogCommentFullArgs = IdField & {
    created: string;
    origin: {
        id: string;
    };
    comment: {
        text: string;
    };
    [AUDIT_SOURCE_FIELD]: Source;
    [AUDIT_METADATA_FIELD]?: Record<string, unknown>;
} & (ParentExperimentIds | ParentProjectLogIds);
type SanitizedExperimentLogPartialArgs = Partial<OtherExperimentLogFields> & Partial<InputField>;
type ExperimentEvent = Partial<InputField> & Partial<OtherExperimentLogFields> & {
    id: string;
    span_id?: string;
    root_span_id?: string;
    experiment_id: string;
    [IS_MERGE_FIELD]: boolean;
} & Partial<{
    created: string;
    span_parents: string[];
    span_attributes: Record<string, unknown>;
    context: Record<string, unknown>;
    [AUDIT_SOURCE_FIELD]: Source;
    [AUDIT_METADATA_FIELD]?: Record<string, unknown>;
}>;
type DatasetEvent = {
    input?: unknown;
    tags?: string[];
    metadata?: unknown;
    created?: string;
    origin?: ObjectReferenceType;
    id: string;
    dataset_id: string;
} & ({
    expected?: unknown;
} | {
    output?: unknown;
});
type LoggingEvent = Omit<ExperimentEvent, "experiment_id"> & {
    project_id: string;
    log_id: "g";
};
type PlaygroundLogEvent = Omit<ExperimentEvent, "experiment_id"> & {
    prompt_session_id: string;
    log_id: "x";
};
type CommentEvent = IdField & {
    created: string;
    origin: {
        id: string;
    };
    comment: {
        text: string;
    };
    [AUDIT_SOURCE_FIELD]: Source;
    [AUDIT_METADATA_FIELD]?: Record<string, unknown>;
} & (ParentExperimentIds | ParentProjectLogIds | ParentPlaygroundLogIds);
type BackgroundLogEvent = ExperimentEvent | DatasetEvent | LoggingEvent | PlaygroundLogEvent | CommentEvent;
declare const DEFAULT_IS_LEGACY_DATASET = false;
interface LegacyDatasetRecord {
    id: string;
    input: any;
    output: any;
    metadata: any;
}
interface NewDatasetRecord {
    id: string;
    input: any;
    expected: any;
    tags: any;
    metadata: any;
}
type DatasetRecord<IsLegacyDataset extends boolean = typeof DEFAULT_IS_LEGACY_DATASET> = IsLegacyDataset extends true ? LegacyDatasetRecord : NewDatasetRecord;
type AnyDatasetRecord = DatasetRecord<boolean>;
declare function ensureDatasetRecord<IsLegacyDataset extends boolean = typeof DEFAULT_IS_LEGACY_DATASET>(r: AnyDatasetRecord, legacy: IsLegacyDataset): DatasetRecord<IsLegacyDataset>;
declare function ensureLegacyDatasetRecord(r: AnyDatasetRecord): DatasetRecord<true>;
declare function ensureNewDatasetRecord(r: AnyDatasetRecord): DatasetRecord<false>;

declare enum SpanObjectTypeV3 {
    EXPERIMENT = 1,
    PROJECT_LOGS = 2,
    PLAYGROUND_LOGS = 3
}
declare const spanObjectTypeV3EnumSchema: z.ZodNativeEnum<typeof SpanObjectTypeV3>;
declare function spanObjectTypeV3ToTypedString(objectType: SpanObjectTypeV3): "experiment" | "project_logs" | "playground_logs";
declare function spanObjectTypeV3ToString(objectType: SpanObjectTypeV3): string;
declare const spanComponentsV3Schema: z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
    object_type: z.ZodNativeEnum<typeof SpanObjectTypeV3>;
    propagated_event: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
}, "strip", z.ZodTypeAny, {
    object_type: SpanObjectTypeV3;
    propagated_event?: Record<string, unknown> | null | undefined;
}, {
    object_type: SpanObjectTypeV3;
    propagated_event?: Record<string, unknown> | null | undefined;
}>, z.ZodUnion<[z.ZodObject<{
    object_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    compute_object_metadata_args: z.ZodOptional<z.ZodNull>;
}, "strip", z.ZodTypeAny, {
    object_id?: string | null | undefined;
    compute_object_metadata_args?: null | undefined;
}, {
    object_id?: string | null | undefined;
    compute_object_metadata_args?: null | undefined;
}>, z.ZodObject<{
    object_id: z.ZodOptional<z.ZodNull>;
    compute_object_metadata_args: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
    compute_object_metadata_args: Record<string, unknown>;
    object_id?: null | undefined;
}, {
    compute_object_metadata_args: Record<string, unknown>;
    object_id?: null | undefined;
}>]>>, z.ZodUnion<[z.ZodObject<{
    row_id: z.ZodString;
    span_id: z.ZodString;
    root_span_id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    span_id: string;
    root_span_id: string;
    row_id: string;
}, {
    span_id: string;
    root_span_id: string;
    row_id: string;
}>, z.ZodObject<{
    row_id: z.ZodOptional<z.ZodNull>;
    span_id: z.ZodOptional<z.ZodNull>;
    root_span_id: z.ZodOptional<z.ZodNull>;
}, "strip", z.ZodTypeAny, {
    span_id?: null | undefined;
    root_span_id?: null | undefined;
    row_id?: null | undefined;
}, {
    span_id?: null | undefined;
    root_span_id?: null | undefined;
    row_id?: null | undefined;
}>]>>;
type SpanComponentsV3Data = z.infer<typeof spanComponentsV3Schema>;
declare class SpanComponentsV3 {
    data: SpanComponentsV3Data;
    constructor(data: SpanComponentsV3Data);
    toStr(): string;
    static fromStr(s: string): SpanComponentsV3;
    objectIdFields(): ParentExperimentIds | ParentProjectLogIds | ParentPlaygroundLogIds;
    export(): Promise<string>;
    private static fromJsonObj;
}

declare const BT_FOUND_EXISTING_HEADER = "x-bt-found-existing";
declare const BT_CURSOR_HEADER = "x-bt-cursor";
declare const BT_IMPERSONATE_USER = "x-bt-impersonate-user";
declare const BT_PARENT = "x-bt-parent";
declare function resolveParentHeader(header: string): SpanComponentsV3;

declare const MERGE_ROW_SKIP_FIELDS: readonly ["created", "span_id", "root_span_id", "span_parents", "_parent_id"];
type MergeRowSkipField = (typeof MERGE_ROW_SKIP_FIELDS)[number];
type MergeRowSkipFieldObj = {
    [K in MergeRowSkipField]?: unknown;
};
declare function mergeRowBatch<T extends {
    id: string;
    [IS_MERGE_FIELD]?: boolean | null;
} & MergeRowSkipFieldObj>(rows: T[]): T[];
declare function batchItems<T>(args: {
    items: T[];
    batchMaxNumItems?: number;
    batchMaxNumBytes?: number;
    getByteSize: (item: T) => number;
}): T[][];

/**
 * The result returned by a classifier function. Unlike `Score`, `id` is
 * required and the span will be recorded as a classifier span.
 */
interface Classification {
    /**
     * The name of this classification result. Used as the key in the
     * `classifications` log record. If omitted, defaults to the classifier
     * function's name.
     */
    name: string;
    /**
     * A machine-readable identifier for the classification outcome
     * (e.g. `"positive"`, `"negative"`, `"neutral"`). This value is stored
     * in the log and used for programmatic analysis.
     */
    id: string;
    /**
     * An optional human-readable display label for this outcome. If omitted,
     * defaults to `id`. Use this when you want a friendlier label in the UI
     * while keeping a stable `id` for programmatic use.
     */
    label?: string;
    /**
     * Optional arbitrary metadata to attach to this classification result.
     */
    metadata?: Record<string, unknown>;
}
/**
 * The serialized form of a classification stored in the `classifications` log record.
 */
interface ClassificationItem {
    id: string;
    label: string;
    metadata?: Record<string, unknown>;
}
interface Score {
    name: string;
    score: number | null;
    metadata?: Record<string, unknown>;
    /**
     * @deprecated
     */
    error?: unknown;
}
type ScorerArgs<Output, Extra> = {
    output: Output;
    expected?: Output;
} & Extra;
type Scorer<Output, Extra> = (args: ScorerArgs<Output, Extra>) => Score | Promise<Score>;

declare function deterministicReplacer(_key: string, value: any): any;
declare function constructJsonArray(items: string[]): string;

declare function mergeDictsWithPaths({ mergeInto, mergeFrom, mergePaths, }: {
    mergeInto: Record<string, unknown>;
    mergeFrom: Record<string, unknown>;
    mergePaths: string[][];
}): Record<string, unknown>;
declare function mergeDicts(mergeInto: Record<string, unknown>, mergeFrom: Record<string, unknown>): Record<string, unknown>;
declare function forEachMissingKey({ lhs, rhs, fn, }: {
    lhs: unknown;
    rhs: unknown;
    fn: (args: {
        lhs: Record<string, unknown>;
        k: string;
        v: unknown;
        path: string[];
    }) => void;
}): void;
declare function mapAt<K, V>(m: Map<K, V>, k: K): V;
declare function mapSetDefault<K, V>(m: Map<K, V>, k: K, _default: V): V;
declare function mapSetNotPresent<K, V>(m: Map<K, V>, k: K, v: V): Map<K, V>;
declare function recordFind<K extends string | number | symbol, V>(m: {
    [k in K]?: V;
}, k: K): V | undefined;
declare function recordAt<K extends string | number | symbol, V>(m: {
    [k in K]?: V;
}, k: K): V;
declare function recordSetDefault<K extends string | number | symbol, V>(m: {
    [k in K]?: V;
}, k: K, _default: V): V;
/**
 * @returns a typed array of the Record's keys
 */
declare function getRecordKeys<T extends Record<string | number | symbol, any>>(obj: T): Array<keyof T>;
/**
 * Get object value by providing a path to it as an array.
 * @example getObjValueByPath({ bar: { foo: "Hello, world!" } }, ["bar", "foo"]); // "Hello, world!"
 */
declare function getObjValueByPath(row: Record<string, unknown>, path: string[]): unknown;

declare function _urljoin(...parts: string[]): string;
declare function capitalize(s: string, sep?: string): string;
declare function lowercase(s: string, sep?: string): string;
declare function snakeToCamelCase(s: string): string;
declare function snakeToTitleCase(s: string): string;
declare function camelToSnakeCase(s: string): string;

/**
 * @example
 * isObject([1, 2, 3]) // false
 */
declare function isObject(value: unknown): value is {
    [key: string]: unknown;
};
declare function isArray(value: unknown): value is unknown[];
declare function isObjectOrArray(value: unknown): value is {
    [key: string]: unknown;
};
declare function isEmpty(a: unknown): a is null | undefined;
declare function notEmpty<T>(a: T | null | undefined): T;
declare function isNumber(a: unknown): a is number | bigint;
declare function isPromiseLike(value: unknown): value is PromiseLike<unknown>;

declare enum SpanObjectTypeV1 {
    EXPERIMENT = 1,
    PROJECT_LOGS = 2
}
declare class SpanRowIdsV1 {
    rowId: string;
    spanId: string;
    rootSpanId: string;
    constructor(args: {
        rowId: string;
        spanId: string;
        rootSpanId: string;
    });
    toObject(): {
        rowId: string;
        spanId: string;
        rootSpanId: string;
    };
}
declare class SpanComponentsV1 {
    objectType: SpanObjectTypeV1;
    objectId: string;
    rowIds: SpanRowIdsV1 | undefined;
    constructor(args: {
        objectType: SpanObjectTypeV1;
        objectId: string;
        rowIds?: SpanRowIdsV1;
    });
    toStr(): string;
    static fromStr(s: string): SpanComponentsV1;
    objectIdFields(): ParentExperimentIds | ParentProjectLogIds;
    toObject(): {
        objectType: SpanObjectTypeV1;
        objectId: string;
        rowIds: {
            rowId: string;
            spanId: string;
            rootSpanId: string;
        } | undefined;
    };
}

declare enum SpanObjectTypeV2 {
    EXPERIMENT = 1,
    PROJECT_LOGS = 2
}
declare class SpanRowIdsV2 {
    rowId: string;
    spanId: string;
    rootSpanId: string;
    constructor(args: {
        rowId: string;
        spanId: string;
        rootSpanId: string;
    });
    toObject(): {
        rowId: string;
        spanId: string;
        rootSpanId: string;
    };
}
declare class SpanComponentsV2 {
    objectType: SpanObjectTypeV2;
    objectId: string | undefined;
    computeObjectMetadataArgs: Record<string, any> | undefined;
    rowIds: SpanRowIdsV2 | undefined;
    constructor(args: {
        objectType: SpanObjectTypeV2;
        objectId?: string;
        computeObjectMetadataArgs?: Record<string, any>;
        rowIds?: SpanRowIdsV2;
    });
    toStr(): string;
    static fromStr(s: string): SpanComponentsV2;
    objectIdFields(): ParentExperimentIds | ParentProjectLogIds;
    toObject(): {
        objectType: SpanObjectTypeV2;
        objectId: string | undefined;
        computeObjectMetadataArgs: Record<string, any> | undefined;
        rowIds: {
            rowId: string;
            spanId: string;
            rootSpanId: string;
        } | undefined;
    };
}

declare const spanComponentsV4Schema: z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
    object_type: z.ZodNativeEnum<typeof SpanObjectTypeV3>;
    propagated_event: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
}, "strip", z.ZodTypeAny, {
    object_type: SpanObjectTypeV3;
    propagated_event?: Record<string, unknown> | null | undefined;
}, {
    object_type: SpanObjectTypeV3;
    propagated_event?: Record<string, unknown> | null | undefined;
}>, z.ZodUnion<[z.ZodObject<{
    object_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    compute_object_metadata_args: z.ZodOptional<z.ZodNull>;
}, "strip", z.ZodTypeAny, {
    object_id?: string | null | undefined;
    compute_object_metadata_args?: null | undefined;
}, {
    object_id?: string | null | undefined;
    compute_object_metadata_args?: null | undefined;
}>, z.ZodObject<{
    object_id: z.ZodOptional<z.ZodNull>;
    compute_object_metadata_args: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
    compute_object_metadata_args: Record<string, unknown>;
    object_id?: null | undefined;
}, {
    compute_object_metadata_args: Record<string, unknown>;
    object_id?: null | undefined;
}>]>>, z.ZodUnion<[z.ZodObject<{
    row_id: z.ZodString;
    span_id: z.ZodString;
    root_span_id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    span_id: string;
    root_span_id: string;
    row_id: string;
}, {
    span_id: string;
    root_span_id: string;
    row_id: string;
}>, z.ZodObject<{
    row_id: z.ZodOptional<z.ZodNull>;
    span_id: z.ZodOptional<z.ZodNull>;
    root_span_id: z.ZodOptional<z.ZodNull>;
}, "strip", z.ZodTypeAny, {
    span_id?: null | undefined;
    root_span_id?: null | undefined;
    row_id?: null | undefined;
}, {
    span_id?: null | undefined;
    root_span_id?: null | undefined;
    row_id?: null | undefined;
}>]>>;
type SpanComponentsV4Data = z.infer<typeof spanComponentsV4Schema>;
declare class SpanComponentsV4 {
    data: SpanComponentsV4Data;
    constructor(data: SpanComponentsV4Data);
    toStr(): string;
    static fromStr(s: string): SpanComponentsV4;
    objectIdFields(): ParentExperimentIds | ParentProjectLogIds | ParentPlaygroundLogIds;
    export(): Promise<string>;
    private static fromJsonObj;
}
declare function parseParent(parent: InvokeFunctionType["parent"]): string | undefined;
/**
 * Creates a propagatedEvent for scorer spans by merging the purpose into
 * any existing propagatedEvent from the parent span.
 *
 * @param parent - The parent span export string, or undefined if no parent
 * @returns A propagatedEvent with span_attributes.purpose set to "scorer",
 *          merged with any existing propagatedEvent from the parent
 */
declare function makeScorerPropagatedEvent(parent: string | undefined): Record<string, unknown>;

declare const spanTypeAttributeValues: readonly ["llm", "score", "function", "eval", "task", "tool", "automation", "facet", "preprocessor", "classifier", "review"];
declare enum SpanTypeAttribute {
    LLM = "llm",
    SCORE = "score",
    FUNCTION = "function",
    EVAL = "eval",
    TASK = "task",
    TOOL = "tool",
    AUTOMATION = "automation",
    FACET = "facet",
    PREPROCESSOR = "preprocessor",
    CLASSIFIER = "classifier",
    REVIEW = "review"
}
type SpanType = (typeof spanTypeAttributeValues)[number];
declare const spanPurposeAttributeValues: readonly ["scorer"];
type SpanPurpose = (typeof spanPurposeAttributeValues)[number];

declare function mergeGitMetadataSettings(s1: GitMetadataSettingsType, s2: GitMetadataSettingsType): GitMetadataSettingsType;

declare function prettifyXact(valueString: TransactionId): string;
declare function loadPrettyXact(encodedHex: string): TransactionId;

declare class ExtraFieldsError extends Error {
    readonly key: string;
    readonly path: string[];
    constructor(key: string, path: string[]);
}
declare function parseNoStrip<T extends z.ZodType>(schema: T, input: unknown): z.TypeOf<T>;
declare function objectNullish<T extends z.ZodRawShape, UnknownKeys extends z.UnknownKeysParam, Catchall extends z.ZodTypeAny>(object: z.ZodObject<T, UnknownKeys, Catchall>): z.ZodObject<{ [k in keyof T]: z.ZodOptional<z.ZodNullable<T[k]>>; }, UnknownKeys, Catchall, z.objectOutputType<{ [k in keyof T]: z.ZodOptional<z.ZodNullable<T[k]>>; }, Catchall, UnknownKeys>, z.objectInputType<{ [k in keyof T]: z.ZodOptional<z.ZodNullable<T[k]>>; }, Catchall, UnknownKeys>>;

declare function concatUint8Arrays(...arrays: Uint8Array[]): Uint8Array;
declare function uint8ArrayToBase64(uint8Array: Uint8Array): string;
declare function base64ToUint8Array(base64: string): Uint8Array;
declare function uint8ArrayToString(uint8Array: Uint8Array): string;
declare function stringToUint8Array(str: string): Uint8Array;

export { ARRAY_DELETE_FIELD, ASYNC_SCORING_CONTROL_FIELD, AUDIT_METADATA_FIELD, AUDIT_SOURCE_FIELD, type AnyDatasetRecord, BT_CURSOR_HEADER, BT_FOUND_EXISTING_HEADER, BT_IMPERSONATE_USER, BT_PARENT, type BackgroundLogEvent, CREATED_FIELD, type Classification, type ClassificationItem, type CommentEvent, DEFAULT_IS_LEGACY_DATASET, type DatasetEvent, type DatasetRecord, type ExperimentEvent, type ExperimentLogFullArgs, type ExperimentLogPartialArgs, ExtraFieldsError, ID_FIELD, IS_MERGE_FIELD, type IdField, type InputField, type LogCommentFullArgs, type LogFeedbackFullArgs, type LoggingEvent, MERGE_PATHS_FIELD, OBJECT_DELETE_FIELD, OBJECT_ID_KEYS, type OtherExperimentLogFields, PARENT_ID_FIELD, type ParentExperimentIds, type ParentPlaygroundLogIds, type ParentProjectLogIds, type PlaygroundLogEvent, SKIP_ASYNC_SCORING_FIELD, type SanitizedExperimentLogPartialArgs, type Score, type Scorer, type ScorerArgs, type Source, SpanComponentsV1, SpanComponentsV2, SpanComponentsV3, type SpanComponentsV3Data, SpanComponentsV4, type SpanComponentsV4Data, SpanObjectTypeV1, SpanObjectTypeV2, SpanObjectTypeV3, type SpanPurpose, SpanRowIdsV1, SpanRowIdsV2, type SpanType, SpanTypeAttribute, TRANSACTION_ID_FIELD, type TransactionId, VALID_SOURCES, _urljoin, base64ToUint8Array, batchItems, camelToSnakeCase, capitalize, concatUint8Arrays, constructJsonArray, deterministicReplacer, ensureDatasetRecord, ensureLegacyDatasetRecord, ensureNewDatasetRecord, forEachMissingKey, getObjValueByPath, getRecordKeys, isArray, isEmpty, isNumber, isObject, isObjectOrArray, isPromiseLike, loadPrettyXact, lowercase, makeScorerPropagatedEvent, mapAt, mapSetDefault, mapSetNotPresent, mergeDicts, mergeDictsWithPaths, mergeGitMetadataSettings, mergeRowBatch, notEmpty, objectNullish, parseNoStrip, parseParent, prettifyXact, recordAt, recordFind, recordSetDefault, resolveParentHeader, snakeToCamelCase, snakeToTitleCase, spanComponentsV3Schema, spanComponentsV4Schema, spanObjectTypeV3EnumSchema, spanObjectTypeV3ToString, spanObjectTypeV3ToTypedString, spanPurposeAttributeValues, spanTypeAttributeValues, stringToUint8Array, uint8ArrayToBase64, uint8ArrayToString };
